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