Agent 模式
Agent 模式具有自主决策、环境感知和工具使用能力。它可以利用项目搜索、文件编辑、终端访问和其他工具来高效执行编程任务。此外,您可以配置模型上下文协议(MCP)工具来进一步扩展 AI 编程助手的能力,使其更加符合开发工作流程。
Agent 模式与 Ask 模式的主要区别在于,Agent 模式可以自主应用更改,而无需您的持续确认。
核心功能
🏗️ 项目级更改
基于任务描述,Agent 模式可以自主分解任务并修改多个代码文件。通过多轮对话,可以实现代码优化或快照回滚,更高效地完成任务。
📋 计划制定
基于您的输入,Agent 模式可以为您制定分步计划供您审查。
🔍 自动环境感知
Agent 模式自动检测项目框架、技术栈、所需代码文件以及任务描述中的错误消息,无需手动添加项目上下文。
🛠️ 工具使用
Agent 模式自主使用各种内置工具,如文件读写、代码查询和错误排查。它还支持自动发现和使用 MCP 工具。
⚡ 命令执行
Agent 模式自主决定执行哪些命令,然后生成这些命令并在终端中运行。
Todo 计划制定
基于输入,Qoder 将生成一个计划来完成您的需求,并提供 Todo 列表供您审查。如果您想添加更多步骤,只需输入您的需求,Qoder 将为计划生成相应的 Todo。
在聊天底部,您可以查看每个任务的进度:
- 空圆圈 - 任务尚未开始
- 加载圆圈 - 任务正在进行中
- 复选框 - 任务已完成
编程工具
Qoder 为 Agent 模式提供了广泛的编程工具供其自主使用。这些工具支持文件搜索、文件读取、目录遍历、语义符号检索、文件修改、错误消息检索、命令执行等。Agent 模式还可以根据返回的结果规划下一步行动。
搜索工具
范围 | 描述 |
---|---|
代码库 | 用于代码库探索的代码搜索工具 |
文件 | 在项目中搜索文件 |
代码 | 在项目中搜索特定代码片段 |
目录 | 查看项目目录结构 |
网络 | 执行免费网络搜索,无需 API 密钥 |
网页内容 | 从网页检索内容 |
编辑工具
功能 | 描述 |
---|---|
修改文件 | 修改特定代码文件 |
查看文件 | 显示代码文件的内容 |
执行工具
功能 | 描述 |
---|---|
运行命令 | 在终端中执行命令 |
获取终端输出 | 检索先前运行命令的输出 |
问题检测工具
功能 | 描述 |
---|---|
获取代码问题 | 在项目中查找代码问题(在问题窗口中) |
命令执行
Agent 模式根据需求自主选择和运行命令。默认情况下,您必须在执行每个命令之前进行确认。
- 如果您点击 运行,Agent 模式将发送命令执行
- 如果您点击 取消,Agent 模式将跳过运行该命令,并根据您的指示继续下一步
对于在后台运行的任务,将出现"后台运行"指示器。Agent 模式继续处理其他任务,并在需要时返回检查输出。
您可以在 Qoder 设置 中设置自动命令执行的允许列表。点击用户图标或使用快捷键(⌘ ⇧ ,
(macOS)或 Ctrl + Shift + ,
(Windows)),选择 Qoder 设置,然后导航到 聊天。要添加多个命令,请用逗号分隔。
MCP 工具
如果配置了 MCP 工具,Agent 模式会自主决定是否调用 MCP 工具来完成任务。它会在继续之前要求您确认。点击 执行 确认,Agent 模式将调用 MCP 工具。返回的结果将用作下一步的上下文。
有关在 Qoder 中使用 MCP 的更多详细信息,请参阅 MCP。
使用场景
功能开发
"为用户系统添加密码重置功能,包括邮件发送和安全验证"
Agent 模式会:
- 分析现有用户系统结构
- 生成详细的实现计划
- 创建必要的 API 端点
- 实现前端界面
- 添加单元测试
- 更新文档
Bug 修复
"修复登录时的内存泄漏问题"
Agent 模式会:
- 分析相关代码
- 识别内存泄漏原因
- 制定修复方案
- 实施代码更改
- 运行测试验证
- 提供修复报告
代码重构
"将整个项目从 JavaScript 重构为 TypeScript"
Agent 模式会:
- 分析项目结构
- 制定迁移计划
- 逐步转换文件
- 添加类型定义
- 修复类型错误
- 更新配置文件
测试编写
"为所有 API 端点编写单元测试"
Agent 模式会:
- 扫描所有 API 端点
- 生成测试计划
- 编写测试用例
- 设置测试环境
- 运行测试验证
- 生成覆盖率报告
与 Ask 模式的比较
特性 | Ask 模式 | Agent 模式 |
---|---|---|
交互方式 | 问答对话 | 任务委托 |
代码修改 | 不修改 | 自主修改 |
工具使用 | 仅分析 | 完整工具集 |
命令执行 | 不执行 | 自主执行 |
适用场景 | 咨询学习 | 开发实现 |
确认需求 | 无需确认 | 可选确认 |
最佳实践
1. 清晰的任务描述
好的描述:
"创建一个 REST API 来管理博客文章,包括 CRUD 操作、用户认证和权限控制"
不够好的描述:
"做一个博客功能"
2. 提供足够的上下文
- 指定技术栈偏好
- 描述现有系统架构
- 说明特殊要求和约束
- 包含相关文件和目录
3. 合理的任务粒度
- 将大型任务分解为可管理的部分
- 每个任务专注于单一功能或目标
- 考虑任务之间的依赖关系
4. 及时反馈和调整
- 监控 Todo 列表的执行进度
- 根据需要调整任务要求
- 提供及时的反馈和指导
5. 充分利用工具能力
- 让 Agent 自主选择最佳工具
- 配置必要的 MCP 工具扩展
- 设置合理的命令执行权限
安全和控制
命令确认
- 默认情况下需要确认所有命令
- 可以配置受信任命令的白名单
- 危险操作会特别标记
文件修改控制
- 所有文件更改都有详细的差异视图
- 可以选择性接受或拒绝更改
- 支持撤销和回滚操作
权限管理
- 限制访问敏感文件和目录
- 控制网络访问和外部工具使用
- 提供详细的操作日志
Agent 模式是 Qoder 最强大的功能之一,它将 AI 从简单的助手转变为真正的编程合作伙伴,能够独立完成复杂的开发任务。