Anthropic Claude Code团队详解Agent循环工程入门
DataHot 速览
Claude Code团队在官方博客中定义了agentic循环的概念,即智能体重复工作周期直至满足停止条件,并依据触发方式、停止条件、所用Claude Code原语和适用任务类型,将循环分为基于turn、目标驱动、基于时间和主动式等几类。文章提供了从turn-based循环逐步过渡到更复杂循环的实践指南,并讨论了在管理token消耗的同时保证代码质量的策略。作者强调并非所有任务都需要复杂循环,建议从最简单的方案开始,有选择地使用这些模式。
为什么值得关注:Agent循环设计是构建高效Data Agent的关键工程实践,来自Claude Code团队的官方定义与选型指南对数据领域的智能体开发有直接参考价值。
译文
AI 逐段翻译基于轮的循环

- :用户提示。停止条件
- :Claude 判断已完成任务或需要额外上下文。:克劳德判断它已完成任务或需要更多上下文。
- 最佳用途: 不属于常规流程或日程的较短任务。
- 用量管理: 编写具体提示,并使用技能改进验证,以减少轮数。
您发送的每个提示都会启动一个手动循环,由您指导每一轮。Claude 收集上下文、采取行动、检查工作、必要时重复,然后做出响应。我们称之为代理循环。
例如,让 Claude 创建一个点赞按钮。它读取您的代码、进行编辑、运行测试,然后交回它认为可行的内容。然后您手动检查工作,并编写下一个提示。
您可以通过将手动步骤编码为 SKILL.md 来改进验证步骤,以便 Claude 端到端地自查更多工作。(有关在这类自动化中如何选择技能、钩子和子代理,请参阅我们的指南:引导 Claude Code。)
这应包括工具或连接器,使 Claude 能够查看、 测量 或 交互结果。检查越量化,Claude 越容易自我验证。
例如,在您的 SKILL.md 文件中可以指定:
---
name: verify-frontend-change
description: Verify any UI change end-to-end before declaring it done.
---
# Verifying frontend changes
Never report a UI change as complete based on a successful edit alone. Verify it the way a human reviewer would:
1. Start the dev server and open the edited page in the browser.
2. Interact with the change directly. For a new control (button, input, toggle): click it, confirm the expected state change, and screenshot before/after.
3. Check the browser console: zero new errors or warnings.
4. Use the Chrome Devtools MCP, run a performance trace and audit Core Web Vitals.
If any step fails, fix the issue and rerun from step 1 — do not hand back partially verified work.
基于目标的循环 (/goal)

- 触发方式:实时手动提示。
- 停止条件:目标达成或达到最大轮数。
- 最佳用途: 具有可验证退出标准的任务。
- 用量管理: 设定具体的完成标准和明确的轮次上限,例如“尝试 5 次后停止”。
有时,单轮不够,尤其对于更复杂的任务。当代理能够迭代时,效果会更好。您可以通过 /goal 定义完成的样子,来延长 Claude 持续迭代的时间。
当您定义成功标准时,Claude 不需要自行判断什么是“足够好”并提前结束循环。每次 Claude 尝试停止时,评估器模型都会检查您的条件,并将其送回工作,直到目标达成或达到您定义的轮数。
这就是为什么确定性标准(如通过的测试数量或达到特定分数阈值)如此有效。
例如:
/goal get the homepage Lighthouse score to 90 or above, stop after 5 tries.基于时间的循环 (/loop 和 /schedule)
- 触发方式:指定的时间间隔。
- 停止条件:您取消它,或者工作完成(PR 合并,队列清空)。
- 最佳用途: 适合重复性工作,或与外部环境/系统交互。
- 用量管理: 设置较长间隔,或基于事件而非时间做出反应。
有些代理工作是重复性的:任务不变,只是输入变化。例如,每天早上汇总 Slack 消息。其他工作依赖外部系统,与其交互的一种简单方式是按间隔检查并对变化做出反应。例如,一个 PR 可能会收到代码审查或 CI 失败。
对于这些情况,您可以触发 Claude 使用 `/loop` 按间隔重新运行提示。例如:
/loop 5m check my PR, address review comments, and fix failing CI`/loop` 在您的计算机上运行,因此如果您关机,它会停止。您可以通过 `/schedule` 创建例程将循环移至云端。
主动循环

- 触发方式:事件或日程,无需实时人工参与。
- 停止条件:每个任务在目标达成时退出。例程本身一直运行直至您关闭。
- 最佳用途: 重复性的清晰工作流:错误报告、问题分类、迁移、依赖升级等。
- 用量管理: 将例程路由到较小、较快的模型,并使用最强大的模型进行判断。
上述原语以及 Claude Code 的其他功能,如自动模式 和 动态工作流 (研究预览)可以组合成一个用于长期运行的循环。
例如,要处理传入的反馈,您可以使用:
- `/schedule` (研究预览)运行检查新报告的例程
- `/goal` 定义完成的样子,以及技能 记录如何验证
- 动态工作流 编排代理来分类每个报告、修复并审查修复
- 自动模式 使例程无需停下请求许可即可运行
综合起来,提示可能如下所示:
/schedule every hour: check #project-feedback for bug reports. /goal: don't stop until every report found this run is triaged, actioned, and responded to. When fixing a bug, use a workflow to explore three solutions in parallel worktrees and have a judge adversarially review them.维护代码质量
循环输出的质量取决于其周围的系统。设计系统时:
- 保持代码库本身整洁:Claude 遵循代码库中已有的模式和约定。
- 给 Claude 一种验证自己工作的方式:通过技能 为您和团队编码什么是好的。
- 让文档易于访问: 框架和库的文档拥有最新的最佳实践。
- 使用第二个代理进行代码审查:具有新上下文的审查者偏见更少,不受主代理推理的影响。您可以使用内置的 `/code-review` 技能或 Code Review for Github。编写代码的循环需要检查它的循环 — 参见Anthropic 如何保障 AI 原生的 SDLC。
当单个结果不达标时,不要止步于修复单个问题,尝试将其编码以改进系统,惠及未来所有迭代。
管理令牌使用量
为管理令牌使用量,循环应有明确边界:
- 为工作选择合适的原语和模型: 较小的任务不需要多个代理或循环。某些任务可以使用更便宜、更快的模型。
- 定义明确的成功和停止标准: 明确完成的样子,以便 Claude 能更快(但不要太快)达成解决方案。
- 在大规模运行前试点: 动态工作流可以产生数百个代理。先在一小部分工作上测试用量。
- 对确定性工作使用脚本:运行脚本比逐步推理更便宜。例如,PDF 技能可以附带一个表单填充脚本,Claude 每次运行它,而不是重新推导代码。
- 不要比需要更频繁地运行例程: 将间隔与您监视对象的变化频率相匹配
- 审查用量: `/usage` 命令按技能、子代理和 MCP 细分近期用量;`/goal` 无参数显示到目前为止的轮数和令牌使用量;`/workflows` 显示每个代理的令牌使用量,您可以随时停止代理。
您的 模型和努力级别 的选择是影响循环成本的最大杠杆之一。
开始使用
总结:
| 循环 | 你移交 | 何时使用 | 选择 |
|---|---|---|---|
| 基于回合 | 检查 | 你在探索或决策 | 自定义验证技能 |
| 基于目标 | 停止条件 | 你知道完成的样子 | /goal |
| 基于时间 | 触发器 | 工作在项目外部按计划进行 | /loop、/schedule |
| 主动 | 提示 | 工作是重复且定义良好的 | 以上所有,以及动态工作流 |
要开始使用循环,看看你已经在做的工作。选择一个你成为瓶颈的任务,问自己可以移交哪一部分:你能编写验证检查吗?目标是否足够清晰?工作是否按计划到达?
一旦有了想法,运行循环,观察结果,比如它在哪卡住或过度扩展,不要害怕迭代它。
更多信息,阅读 Claude Code 文档关于 并行运行代理, 以及 循环、计划、目标和动态工作流 页面。要使你的检查跨会话可重复,参见 在 Claude Code 中使用技能构建验证循环。
本文由 Delba de Oliveira 和 Michael Segner 撰写
这篇内容对你有用吗?
反馈只用于改善内容筛选,不等同于收藏