Agent概述
Agent是 文心快码(Baidu Comate)的核心组成,能够独立完成复杂的编码任务、运行终端命令并编辑代码。
您可以在Comate 插件 或 Comate AI IDE,打开侧边栏直接和Agent进行对话,端到端完成编程任务。
Agent 的工作原理
一个 Agent 由四个组件组成:
- System Prompt:用于引导 Agent 行为的系统提示词
- System Reminder:用于在Agent执行过程中提供「就近注意力」,如Ask、Plan等Mode都是通过Reminder实现
- Tools:文件编辑、代码库搜索、终端执行、调用子代理、网络检索等各类工具
- User messages:你发出的 Prompt(提示词)和后续补充,用于指挥具体工作
Comate 的 Agent 会为我们支持的每个模型编排这些组件,并针对每个前沿模型专门调整 System Prompt 和 Tools。随着新模型的发布,你可以专注于构建软件,而由 Comate 负责处理所有模型相关的优化工作。
工具
工具是构建 Agent 的基础模块。它们用于搜索你的代码库和网络以查找相关信息、编辑文件、运行终端命令等。Agent 在单个任务中可发起的工具调用次数没有上限。
| 工具 | 说明 |
|---|---|
| 读取文件 | 读取文件内容,并将其包含在对话上下文中。 |
| 搜索文件或文件夹 | 按名称搜索文件、读取目录结构,并在文件中查找精确关键词或模式。 |
| 编辑文件 | 为文件提供编辑建议,并自动应用这些修改。 |
| 运行Shell命令 | 执行终端命令并查看输出。 |
| 语义搜索 | 在你的已索引代码库中执行语义搜索。按含义而不仅是精确匹配来查找代码。 |
| 网络检索 | 生成搜索语句并进行网页搜索。 |
| 网页读取 | 读取指定的URL,获取网页信息。 |
| 调用子代理 | 根据Query的识别调用子代理完成任务。 |
| 获取Skills | 根据类型和描述读取特定Skills。 |
| 问题澄清 | 在任务过程中提出澄清性问题。在等待你回复时,Agent 会继续读取文件、进行编辑或运行命令。一旦收到你的回答,就会立即将其纳入任务上下文。 |
消息压缩
随着对话变长,Comate 会自动为你生成摘要并管理上下文,以保持对话高效。
同时,你可以在对话中使用关泽Tokens消耗情况,超出一定范围手动触发内容总结,在对话变得过长时帮助你管理上下文,从而让你在不丢失重要信息的情况下继续高效工作。
Checkpoints
Checkpoint 是 Agent 针对你的代码库所做更改的自动快照,让你在需要时可以撤销修改。你可以在之前的请求中通过 Restore Checkpoint 按钮恢复,或在鼠标悬停到某条消息上时点击 + 按钮来恢复。
Checkpoint 会本地存储,并且独立于 Git。仅将它们用于撤销 Agent 的更改——持久的版本管理请使用 Git。
并行会话
Comate支持对话中的并行 Tab(多标签页),即支持并行执行多个 Agent 任务且同时展示。
你可以像浏览器标签页一样,为不同的任务创建多个独立的 Tab,每个 Tab 拥有自己的上下文、会话历史和模型状态,便于同时处理多个问题而不互相干扰。
模式
Comate内置了三种模式,以适配不同开发阶段和使用场景。每种模式下,智能体的决策策略、工具使用方式和输出形态都会有所不同。
| 模式 | 适用场景 | 能力 | 工具 |
|---|---|---|---|
| Agent | 复杂功能、重构 | 自主探索、多文件编辑 | 启用全部工具 |
| Ask | 学习、规划、提问 | 只读探索,无自动修改 | 仅启用搜索工具 |
| Plan | 需要规划的复杂功能 | 在执行前创建详细计划,并提出澄清性问题 | 启用全部工具 |
切换模式
- 在 Agent 中使用模式选择器下拉菜单
- 按下Shift+Tab进行快速切换
