Anthropic官方Loops 入门指南:让 Claude 学会自主循环工作

🔖
原文来源:Claude Blog — Getting started with loops · 作者:Delba de Oliveira、Michael Segner
每一次你按下回车键,其实都在启动一个「循环(Loop)」——Claude 收集上下文、执行操作、检查结果,必要时反复迭代,最终把答案交回给你。理解并善用这些循环,是驾驭 Agent 的关键一步。

本文将带你系统了解 Claude 的四种循环形态:Turn-based(回合制)Goal-based(目标驱动)Time-based(时间驱动)Proactive(主动式),并给出保证输出质量、控制 Token 消耗的实践建议。


一、回合制循环(Turn-based Loop)

  • 触发方式:一次用户 Prompt
  • 停止条件:Claude 判断任务完成,或需要额外上下文
  • 适用场景:一次性、非流程化的短任务
  • 优化方式:写更精确的 Prompt,并通过 Skills 强化「自我校验」环节,从而减少回合数

你发出的每一条 Prompt,都会开启一次由你亲自导航的手动循环:Claude 收集上下文 → 执行操作 → 自检 → 必要时重试 → 返回结果。我们称之为 Agentic Loop(智能体循环)

举个例子:让 Claude 做一个「点赞按钮」。它会读代码、写改动、跑测试,然后把它「自认为可行」的结果交给你。接下来你手动验证、再发出下一条 Prompt——这就是最典型的回合制循环。

关键改进点:把「验证」交给 Claude 自己。 你可以把自己平时做代码走查的步骤,写成一个 SKILL.md,让 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-based Loop):/goal

  • 触发方式:手动输入 Prompt,实时运行
  • 停止条件:达到目标 触及最大回合数
  • 适用场景:拥有明确、可验证退出标准的任务
  • 优化方式:给出清晰的完成标准,并显式设置回合上限,例如「最多试 5 次就停」

一次回合往往不够。对于复杂任务,Agent 需要空间去迭代。/goal 让你告诉 Claude 「什么才算完成」,而不是让它自己拍脑袋决定「差不多了就收工」。

每当 Claude 想停下来时,会有一个 评估模型 检查你设定的目标是否满足;不满足就继续,直到达标或达到你设定的回合上限。这就是为什么 「测试通过数」「分数阈值」这种可量化标准 特别有效。

示例

/goal get the homepage Lighthouse score to 90 or above, stop after 5 tries.

三、时间驱动循环(Time-based Loop):/loop/schedule

  • 触发方式:指定时间间隔
  • 停止条件:由你手动取消,或工作自然完成(如 PR 合并、队列清空)
  • 适用场景:周期性任务,或需要与外部系统交互的任务
  • 优化方式:调大间隔时间,或改为「事件驱动」而非「时间驱动」

有些 Agentic 工作是重复性的——任务不变,只有输入在变。例如:每天早上汇总一次 Slack 消息;又或者,任务依赖外部系统的状态——比如一个 PR 会不断收到评审意见、CI 可能失败——最简单的方式就是定时轮询并对变化作出反应

/loop 让某个 Prompt 按固定间隔重复运行:

/loop 5m check my PR, address review comments, and fix failing CI
⚠️ 注意/loop 运行在你自己的电脑上,关机即停止。想要在云端持续运行,可用 /schedule 将其做成一个 Routine(例行任务)。

四、主动式循环(Proactive Loop)

  • 触发方式:由事件或计划触发,全程无需人工介入
  • 停止条件:每个任务达成目标即退出;Routine 本身则运行至你关闭
  • 适用场景规则清晰、持续到来的重复工作流:Bug 上报、Issue 分类、依赖升级、迁移工作等
  • 优化方式:把常规任务路由给更小、更快的模型,把关键决策留给最强模型

结合上面这些「原子能力」,加上 Claude Code 的 Auto Mode(自动模式)Dynamic Workflows(动态工作流,研究预览版),你就可以搭出真正长时间运行的自主循环。

例如,一条处理「用户反馈」的自动化流水线可以这样组合:

  1. /schedule(研究预览版):定期检查是否有新的 Bug 上报
  2. /goal:定义「完成」的标准;配合 Skills 描述「如何验证」
  3. Dynamic Workflows:调度多个 Agent 分别做分类、修复、复核
  4. Auto Mode:让 Routine 全程无需审批地跑下去

组合起来的 Prompt 可能是这样:

/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 提供自我校验的手段:把「好」的标准编码进 Skills
  • 让文档触手可及:框架与库的官方文档往往包含最新最佳实践
  • 用第二个 Agent 做代码走查:新上下文的评审者立场更客观,不会被主 Agent 的推理路径带偏。可使用内置的 /code-review Skill,或 Github 上的 Code Review
💡
当某次结果不达标时,别只修这一个具体问题,试着把它沉淀成系统改进,让后续所有循环都能受益。

六、管理 Token 消耗:给循环画上边界

为了让循环不至于烧钱失控,请设定清晰的边界:

  • 为任务选择合适的循环原语与模型:小任务无需多 Agent 或多循环;有些任务用更便宜、更快的模型即可
  • 明确成功与停止条件:越具体,Claude 越能尽快到达(但不至于早停)
  • 大规模跑之前先做小样试点:Dynamic Workflows 可能会派生出上百个 Agent,先用一小部分数据估算成本
  • 确定性工作用脚本:跑脚本远比反复推理便宜。例如,一个「填表 Skill」可以内置脚本,让 Claude 每次直接调用,而不是重新推导代码
  • 不要让 Routine 跑得比必要的更频繁:把间隔与被监控对象的变化频率对齐
  • 随时复盘用量
    • /usage:按 Skills、Subagents、MCP 拆解近期用量
    • /goal(无参数):显示当前回合数与累计 Token 消耗
    • /workflows:查看每个 Agent 的 Token 使用,并可随时终止

七、四种循环速查表

循环类型你交给 Claude 的何时使用关键工具
Turn-based(回合制)验证环节探索、需边做边判断自定义验证 Skill
Goal-based(目标驱动)停止条件已知「完成」的样子/goal
Time-based(时间驱动)触发时机工作发生在你项目之外,按时间发生/loop/schedule
Proactive(主动式)整个 Prompt重复且定义清晰的工作以上全部 + Dynamic Workflows

八、如何开始?

🚀
从你现在的日常工作里挑一件事——你是那个瓶颈 的一件事——问自己:哪一环可以交出去?
  • 你能写出「验证的检查项」吗?
  • 「目标」是否足够清晰?
  • 这份工作是否按时间到来?

有了想法,就跑起来一次循环:观察它在哪里卡住、哪里做得过头,别怕迭代

更多内容可参见 Claude Code 官方文档:


原文作者:Delba de Oliveira、Michael Segner

如果这篇文章对你有帮助,欢迎点个赞 :)