# Claude Code 官方循环工程入门指南
**作者**: 老金
**日期**: 2026-07-02T13:53:33.000Z
**来源**: [https://x.com/freeman1266/status/2072680077352218836](https://x.com/freeman1266/status/2072680077352218836)
---

> 原文:Getting started with loops | Claude by Anthropic
现在有很多关于"设计循环(loop)"而非提示编程智能体的讨论。如果你在 X 上花时间去探究循环到底是什么,你会找到多种不同的答案。
在 Claude Code 团队中,我们将循环定义为智能体重复执行工作周期直到满足停止条件。我们根据以下几个维度将循环分为不同类型:
- 如何触发
- 如何停止
- 使用哪个 Claude Code 原语
- 最适合什么类型的任务
我们将介绍主要的循环类型、何时使用每种类型,以及如何在管理 token 用量的同时保持代码质量。并非所有任务都需要复杂的循环;从最简单的方案开始,有选择地使用这些模式。
## 基于回合的循环(Turn-based loops)
- 触发方式:用户提示词。
- 停止条件:Claude 判断已完成任务或需要额外上下文。
- 最适用于:不属于常规流程或计划的较短任务。
- 管理用量方式:编写具体的提示词,并使用技能(skills)改进验证以减少回合数。
你发送的每个提示词都会启动一个手动循环,由你引导每个回合。Claude 收集上下文、执行操作、检查工作成果、必要时重复,然后回复。我们称之为智能体循环(agentic loop)。
例如,让 Claude 创建一个点赞按钮。它读取你的代码,进行编辑,运行测试,然后返回它认为可用的成果。然后你手动检查工作,编写下一个提示词。
你可以通过将手动步骤编码为 SKILL.md 来改进验证步骤,这样 Claude 就能端到端地检查更多自己的工作。这应该包括工具或连接器,让 Claude 能够看到、测量或交互结果。检查越量化,Claude 自我验证就越容易。
例如,在你的 SKILL.md 文件中可以这样指定:
```
---
name: verify-frontend-change
description: 在宣布完成之前端到端验证任何 UI 变更。
---
# 验证前端变更
永远不要仅凭成功的编辑就报告 UI 变更完成。要像人类审查者那样去验证:
1. 启动开发服务器并在浏览器中打开编辑过的页面。
2. 直接与变更交互。对于新控件(按钮、输入框、开关):点击它,确认预期的状态变化,并截取前后对比图。
3. 检查浏览器控制台:零新错误或警告。
4. 使用 Chrome Devtools MCP,运行性能追踪并审计 Core Web Vitals。
如果任何步骤失败,修复问题并从步骤 1 重新运行——不要返回只验证了一部分的工作。
```
## 基于目标的循环(Goal-based loop,/goal)
- 触发方式:实时手动提示词。
- 停止条件:目标达成或达到最大回合数。
- 最适用于:具有可验证退出条件的任务。
- 管理用量方式:设置具体的完成条件和明确的回合上限,"尝试 5 次后停止"。
有时,单个回合不够,尤其是对于更复杂的任务。智能体在能够迭代时表现更好。你可以通过用 /goal 定义"完成"的样子来延长 Claude 的迭代时间。
当你定义了成功标准后,Claude 不需要自行判断什么是"足够好"并提前结束循环。每次 Claude 试图停止时,一个评估器模型会检查你的条件,并将其送回继续工作,直到目标达成或达到你定义的回合数。
这就是确定性标准(如通过测试数量或超过某个分数阈值)如此有效的原因。
例如:
```
/goal 将首页 Lighthouse 分数提升到 90 或以上,尝试 5 次后停止。
```
## 基于时间的循环(Time-based loop,/loop 和 /schedule)
- 触发方式:指定的时间间隔。
- 停止条件:你取消它,或工作完成(PR 被合并、队列为空)。
- 最适用于:定期性工作,或与外部环境/系统的交互。
- 管理用量方式:设置更长的间隔,或基于事件而非时间进行响应。
一些智能体工作是定期的:任务保持不变,只有输入在变化。例如每天早上总结 Slack 消息。其他工作依赖外部系统,与之交互的简单方式是按间隔检查并对变化做出响应。例如,可能收到代码审查或 CI 失败的 PR。
对于这些情况,你可以使用 /loop 来触发 Claude 按间隔重复运行提示词。例如:
```
/loop 5m 检查我的 PR,处理审查意见,修复失败的 CI
```
/loop 在你的电脑上运行,所以如果你关机,它就停止了。你可以通过 /schedule 创建例程将循环移到云端。
## 主动式循环(Proactive loops)
- 触发方式:事件或计划,无需实时人工参与。
- 停止条件:每个任务在目标达成时退出。例程本身持续运行直到你关闭它。
- 最适用于:有明确定义的重复性工作流:Bug 报告、问题分诊、迁移、依赖升级等。
- 管理用量方式:将例程路由到更小更快的模型,将最强模型用于需要判断力的环节。
以上原语连同其他 Claude Code 功能如自动模式和动态工作流(研究预览)可以组合成一个长期运行的循环。
例如,要处理传入的反馈,你可以使用:
1. /schedule(研究预览)运行一个检查新报告的例程
2. /goal 定义完成的标准,使用技能记录如何验证
3. 动态工作流 编排智能体对每个报告进行分诊、修复和审查
4. 自动模式 让例程无需暂停请求许可即可运行
组合在一起,提示词可以是这样的:
```
/schedule every hour: 检查 #project-feedback 中的 Bug 报告。/goal: 在本次运行中发现的每个报告都完成分诊、处理和回复之前不要停止。修复 Bug 时,使用工作流在并行工作树中探索三种解决方案,并让一个裁判进行对抗性审查。
```
## 保持代码质量
循环输出的质量取决于它周围的系统。设计系统时:
- 保持代码库本身整洁:Claude 会遵循代码库中已有的模式和约定。
- 给 Claude 一种验证自身工作的方式:用 skills 编码对你和团队来说什么是好的。
- 让文档易于获取:框架和库的文档包含最新的最佳实践。
- 使用第二个智能体进行代码审查:拥有新鲜上下文的审查者偏见更少,不受主智能体推理的影响。你可以使用内置的 /code-review 技能或 Code Review(GitHub 版)。
当单个结果不符合标准时,不要止步于修复个别问题,尝试将其编码化以改进系统,使所有未来迭代受益。
## 管理 token 用量
为了管理 token 用量,循环应该有明确的边界:
- 为任务选择正确的原语和模型:较小的任务不需要多智能体或循环。某些任务可以使用更便宜更快的模型。
- 定义明确的成功和停止标准:具体说明完成的标准,让 Claude 能更快地得出解决方案(但不要太快)。
- 大规模运行前先试点:动态工作流可以生成数百个智能体。先在较小的工作切片上评估用量。
- 对确定性工作使用脚本:运行脚本比推理步骤更便宜。例如,一个 PDF 技能可以附带一个表单填写脚本,Claude 每次运行它,而不是重新推导代码。
- 不要以超过需要的频率运行例程:将间隔匹配到你监控对象的变化频率。
- 审查用量:/usage 命令按技能、子智能体和 MCP 分解近期用量,不带参数的 /goal 显示回合数和 token 用量,/workflows 显示每个智能体的 token 用量,你可以随时停止某个智能体。
## 开始使用
总结:
要开始使用循环,先看看你已经在做的工作。挑一个你是瓶颈的任务,问问哪个部分可以交出去:你能写验证检查吗?目标足够清晰吗?工作是否按计划到达?
一旦有了想法,运行循环,观察结果——哪里卡住了或过度延伸了——不要害怕对其进行迭代。
更多信息请阅读 Claude Code 文档中的并行运行智能体,以及 loop、schedule、goal 和动态工作流页面。
本文由 Delba de Oliveira 和 Michael Segner 撰写
## 相关链接
- [@freeman1266](https://x.com/freeman1266)
- [5.7K](https://x.com/freeman1266/status/2072680077352218836/analytics)
- [Getting started with loops | Claude by Anthropic](https://claude.com/blog/getting-started-with-loops)
- [skills](https://code.claude.com/docs/en/skills)
- [Code Review](https://code.claude.com/docs/en/code-review)
- [并行运行智能体](https://code.claude.com/docs/en/agents)
- [loop](https://code.claude.com/docs/en/goal)
- [schedule](https://code.claude.com/docs/en/routines)
- [goal](https://code.claude.com/docs/en/goal)
- [动态工作流](https://code.claude.com/docs/en/workflows#orchestrate-subagents-at-scale-with-dynamic-workflows)
- [Upgrade to Premium](https://x.com/i/premium_sign_up)
- [9:53 PM · Jul 2, 2026](https://x.com/freeman1266/status/2072680077352218836)
- [5,784 Views](https://x.com/freeman1266/status/2072680077352218836/analytics)
- [View quotes](https://x.com/freeman1266/status/2072680077352218836/quotes)
---
*导出时间: 2026/7/3 18:25:15*