- 编写与维护技术文档
- 执行构建与测试流程
- 搜索和分析项目代码
- 调研技术问题或查询文档
- 运行脚本或系统命令
Agent 循环(Agentic Loop)
当你向 Coding Agent 提出一个任务时,它通常会在以下三个阶段之间循环工作:
这三个阶段并不是严格按顺序执行,而是在整个任务过程中不断交替出现。
在这个过程中,Coding Agent 会持续调用各种工具,例如:
- 搜索代码以理解项目结构
- 修改文件实现需求
- 运行测试验证修改结果
这个循环会根据任务类型进行动态调整。例如:
- Case 1:代码结构理解
- Case 2:Bug 修复
- Case 3:大型重构
如果只是询问代码结构,通常只需要完成上下文获取与代码阅读,不一定涉及修改和执行。
- 中断当前任务
- 提供新的上下文信息
- 指示它尝试新的解决思路
大模型(Model)
在 Coding Agent 架构中,大模型负责:
- 阅读代码并理解项目结构
- 推理代码逻辑
- 规划任务执行步骤
- 根据执行结果进行调整
工具(Tool)
如果没有工具,大模型只能生成文本。Coding Agent 的关键在于 工具系统(Tool) ,使模型能够执行实际操作。常见工具类型包括:
| 类别 | 能力 |
|---|---|
| 文件操作 | 读取文件、修改代码、创建新文件、重命名或调整结构 |
| 搜索 | 按模式查找文件、使用正则搜索内容、浏览代码库 |
| 命令执行 | 运行 Shell 命令、启动服务、运行测试、使用 Git |
| Web | 搜索网页、获取文档、查询错误信息 |
| 代码分析 | 查看类型错误、跳转定义、查找引用(需代码智能插件) |
扩展组件
内置工具只是基础能力。你可以通过以下方式扩展 Coding Agent 的能力:
- Skills:封装常见工作流程
- MCP:连接外部服务
- Hooks:自动化任务流程
- Subagents:将任务委托给子 Agent 执行
Coding Agent 可以访问的环境
当 Coding Agent 在某个项目中运行时,它通常可以访问以下信息:
项目代码
项目代码
- 当前目录中的所有代码文件
- 项目结构和配置
开发环境
开发环境
- 命令行工具
- 构建工具
- 包管理器
- Git
版本控制信息
版本控制信息
- 当前分支
- 未提交修改
- 最近提交记录
项目级配置文件
许多 Coding Agent 工具允许通过 项目级配置文件 提供额外上下文,例如:
- 项目规范
- 编码规则
- 常用命令
- 项目结构说明
| 工具 | 配置文件 |
|---|---|
| Claude Code | CLAUDE.md |
| Cursor | .cursor/rules |
| Cline | .cline/rules |
| Codex | AGENTS.md |
运行环境
Coding Agent 可以在不同环境中运行:
| 环境 | 代码执行位置 |
|---|---|
| 本地 | 用户机器 |
| 云端 | 云端虚拟机 |
| 远程控制 | 本地机器,由远程界面控制 |
会话与上下文管理
Coding Agent 在执行任务时需要维护上下文,包括:
- 对话历史
- 文件内容
- 命令输出
- 项目规则
- 删除旧的工具输出
- 总结历史对话
安全与权限控制
为了避免自动化操作带来风险,大多数 Coding Agent 都提供安全机制,例如:
- 变更回滚
- 权限控制
在修改文件前创建快照,允许恢复到之前状态。
高效使用 Coding Agent
以下实践可以提升 Coding Agent 的使用效果:
- 提供清晰任务:越具体的任务描述,成功率越高。
- 提供可验证目标:例如测试用例或期望输出。
- 复杂任务先规划:先让 Agent 分析代码并制定执行计划。
- 将任务委托给 Agent:提供目标与上下文,而不是逐条指令。