概述
Agent 主循环
- 接收请求:读取你的输入,结合当前上下文(对话历史、项目说明、记忆)理解你想达成什么。
- 规划下一步:模型决定下一步应该做什么——是先读文件了解现状,还是搜索代码,还是直接修改,或是运行命令验证。
- 调用工具:Agent 通过工具执行具体动作,例如读取文件、编辑代码、执行 Shell 命令、搜索代码或检索网页。
- 观察结果:把工具返回的结果重新纳入上下文。
- 继续或结束:根据结果判断任务是否完成。没完成就回到第 2 步继续规划下一步;完成则给出总结。
你可以用 --max-turns 限制单次运行的最大对话轮数,避免在自动化场景中无限循环。
工具
- 文件类:读取、写入、编辑文件,浏览目录。
- 执行类:运行 Shell 命令。
- 搜索类:按内容搜索代码(Grep)、按文件名查找(Glob)。
- 信息类:Web 搜索、网页抓取。
权限
- allow:立即执行工具。
- ask:需要确认后才执行。
- deny:阻止这次调用。
ask 的处理方式不同:交互式终端会弹窗让你确认,非交互(Headless)模式会把 ask 转为拒绝,SDK 和 IDE 集成会把决策交给宿主程序。
权限模式、规则配置和目录信任的完整说明见 权限。
上下文
- 对话上下文:当前会话中的历史消息、工具调用和结果。随着对话进行,上下文会不断累积。
- 项目说明:
AGENTS.md、rules 等由你或团队维护的静态记忆,描述项目结构、开发规范和协作约定。 - 长期记忆:跨会话保留的信息,包括团队约定和可选的自动记忆。