循环工程:循环入门
2026/7/18 22:28:20
使用 Claude Code 从简单的回合制提示过渡到自动化、目标导向和主动循环工作流的必读指南。
分类: Claude Code
与其为每个任务都手动向您的 AI 编码智能体发送提示词,循环工程允许您设计自主运行的智能体工作流。这份来自 Claude Code 团队的指南将解释如何定义智能体循环,并系统性地从基础的基于轮次的交互,过渡到基于目标、基于时间以及主动式的自动化。
定义智能体循环
在 Claude Code 团队,我们将循环定义为智能体重复工作周期,直至满足终止条件。
我们没有用相同的复杂度来处理每个任务,而是基于四个特定的维度对循环进行了分类:
- 它们是如何被触发的
- 它们是如何停止的
- 使用了哪种 Claude Code 原语(primitive)
- 最适合哪种任务类型
并非所有的开发任务都需要复杂的循环。我们建议从最简单的模式开始,并有选择地采用高级循环,以便在管理 token 消耗的同时保持代码质量。
要开始使用 Claude Code,您可以使用以下安装命令,或阅读官方文档:
irm https://claude.ai/install.ps1 | iex
兼容平台与集成:
四种循环原型
1. 基于轮次的循环
基于轮次的循环工作流图
- 触发方式: 用户提示词。
- 终止条件: Claude 判断其已完成任务或需要额外的上下文信息。
- 最适用于: 并非常规流程或计划任务的一部分的较短任务。
- 额度管理方式: 编写极具针对性的提示词,并利用技能(skills)改进验证过程,以减少总轮次。
您发送的每个提示词都会启动一个手动循环,由您指导其中的每一轮交互。Claude 收集上下文、执行操作、验证其工作、在必要时重复该过程,并最终将控制权交还给您。
例如,如果您让 Claude 创建一个点赞按钮,它将读取您的代码、进行修改、运行测试,并交付一个它认为可行的结果。然后您必须检查其工作并编写下一个提示词。
为了优化这一步,您可以将手动验证检查编码到 SKILL.md 文件中。这让 Claude 能够使用工具或连接器来查看、测量或与结果进行交互,从而端到端地自我验证其工作。定量检查能够产生最可靠的自我验证。(有关在不同自动化结构之间进行选择的更多细节,请阅读我们的 引导 Claude Code 指南。)
一个 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.
2. 基于目标的循环 (/goal)
基于目标的循环工作流图
- 触发方式: 实时手动提示词。
- 终止条件: 达成目标 或 达到最大轮次。
- 最适用于: 具有确定性、可验证退出标准的任务。
- 额度管理方式: 设置明确的完成标准和严格的轮次上限(例如,“尝试 5 次后停止”)。
复杂的任务往往需要多次迭代。与其强迫 Claude 去猜测结果是否“足够好”,不如使用 /goal 来精确定义成功的标准。
当启动 /goal 循环时,每当 Claude 试图结束任务,评估器模型都会检查您的条件。如果条件未满足,评估器会让智能体重新工作,直到达成目标或达到轮次限制。确定性的目标(例如通过测试套件或达到特定的性能评分)效果最好。
示例命令:
/goal get the homepage Lighthouse score to 90 or above, stop after 5 tries.
3. 基于时间的循环 (/loop 和 /schedule)
- 触发方式: 指定的时间间隔。
- 终止条件: 您手动取消,或者目标已解决(例如,PR 合并或队列排空)。
- 最适用于: 周期性维护任务,或与异步外部系统进行交互。
- 额度管理方式: 设置更长的轮询间隔,或切换为事件驱动的操作。
有些工作流是严格循环往复的,其中步骤保持不变,但输入会发生变化(例如,每天汇总 Slack 频道信息)。其他工作流则监控异步更新的外部系统,例如检查 CI 流水线失败情况或收到的 PR 评审。
您可以使用 /loop 在本地计算机上触发这些间隔任务:
/loop 5m check my PR, address review comments, and fix failing CI
因为 /loop 在本地运行,所以关闭终端时它会停止。若要在云端持续运行循环,您可以使用 /schedule 将提示词转换为例行程序(routine)。
4. 主动式循环
主动式循环工作流图
- 触发方式: 外部事件或定时任务(无需人类参与)。
- 终止条件: 单个任务在达成目标时退出;编排例行程序会无限期运行,直到被禁用。
- 最适用于: 持续且定义明确的工程任务流,例如问题会诊(triage)、安全迁移或依赖升级。
- 额度管理方式: 将处理例行程序路由到更小、更快的模型,同时将最强大的模型留给关键的决策判断。
通过组合 /schedule、/goal、自动模式(auto mode)、技能(skills)和动态工作流(dynamic workflows)(目前处于研究预览阶段)等原语,您可以构建完全自主、长期运行的工程智能体。
一个用于问题会诊和代码修复的自动化流水线可以将这些元素链接在一起:
/schedule检查新提交的缺陷(bug)。/goal和 技能(skills) 定义成功的解决标准和验证步骤。- 动态工作流(Dynamic workflows) 编排子智能体以并行方式隔离、修复和验证问题。
- 自动模式(Auto mode) 允许循环在无需手动授权的情况下执行工具并解决各个步骤。
示例统一提示词:
/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.
循环系统的最佳实践
保持代码质量
循环的输出质量取决于其运行的环境。为了优化性能:
- 保持代码库整洁: AI 模型通过模式匹配来编写代码。如果您的现有代码库具有一致的风格和规范,Claude 也会遵循它们。
- 建立自我验证协议: 使用技能(skills)文档化您团队中高质量工作的定义。
- 提供易于访问的文档: 确保工作区内可以轻松访问最新的 API 参考和框架文档。
- 引入二级评审员: 使用独立的模型实例进行代码评审。拥有干净上下文的评审员较不易受到确认偏误的影响。使用原生
/code-review技能,或为 GitHub 配置 代码评审(Code Review)。
系统性改进: 当循环失败或产生欠佳的结果时,不要只手动修补眼前的代码。请更新您的
SKILL.md规则或测试脚本,以防止此类错误再次发生。
管理 Token 消耗
运行持续的循环可能会迅速增加 token 消耗。请让您的系统保持高度受限:
- 选择合适的模型: 避免在简单的程序化任务中使用高级模型。将轻量级任务路由到更快、更便宜的变体。
- 定义精确的退出条件: 明确的限制可以帮助 Claude 找到并验证解决方案,而不会因为偏离路径而浪费轮次。
- 先进行试点修改: 动态工作流可能会衍生出数百个子智能体。在运行大型循环之前,先在隔离的分支或一小部分代码上测试修改。
- 使用确定性脚本: 尽可能对非生成式工作使用标准脚本。通过 MCP 服务器运行本地 shell 脚本,比要求 Claude 逐轮推理这些计算要便宜得多。
- 使日程计划与需求保持一致: 将轮询频率与实际的变化间隔相匹配(例如,不要每 5 分钟轮询一次每日构建的 API)。
- 监控遥测数据: 使用
/usage来分析技能、子智能体和 MCP 工具的消耗。运行不带参数的/goal会显示正在运行的 token 成本,而/workflows则显示子智能体的成本,并提供在中途终止它们的选项。
要进行更深入的了解,请查看您对模型和努力程度(effort level)的选择如何影响运行成本。
选择矩阵
| 循环类型 | 您交付的内容 | 何时使用 | 关键原语 |
|---|---|---|---|
| 基于轮次 | 验证步骤 | 探索概念、规划和手动迭代 | 自定义验证技能 |
| 基于目标 | 终止条件 | 具有明确、客观“完成”定义的任务 | /goal |
| 基于时间 | 触发器 | 由计划任务或外部环境触发的过程 | /loop, /schedule |
| 主动式 | 初始提示词 | 周期性、标准化的端到端流水线 | 所有原语 + 动态工作流 |
核心要点
- 循环是工作周期,会持续运行直到达到目标终止条件,从而将 AI 从被动的聊天提升为自动化的目标寻求。
- 确定性验证(使用
SKILL.md和测试套件)对于从/goal循环中获得可靠结果至关重要。 - 设置明确的迭代上限(例如
stop after 5 tries)以防止循环失控和运行时的 token 浪费。 - 系统设计决定输出质量。 当智能体犯错时,请将其视为您的指令、技能或验证脚本中的 bug,并修复系统本身而不仅仅是修复代码。
本文由 Delba de Oliveira 和 Michael Segner 撰写。
学习地图
阶段 1:手动回合制循环
- 理解智能体周期:了解 Claude 如何收集上下文、采取行动、检查其工作,并将控制权交还给您。
- 编写验证技能:创建
SKILL.md配置来定义自定义 UI 和后端质量检查,以便 Claude 能够验证其自身的工作。
阶段 2:基于目标的自动化
- 掌握
/goal命令:理解如何设置确定性的、可验证的成功标准,以确保智能体不偏离轨道。 - 配置循环限制:通过使用严格的“在尝试 X 次后停止”条件限制迭代次数,从而养成节省 Token 的习惯。
阶段 3:基于时间和主动式的循环
- 使用
/loop和/schedule实现自动化:构建例行程序,以便定期运行检查、监控 PR、解决失败的 CI 流水线或处理积压任务。 - 利用动态工作流:协调多个并行的子智能体,以自主研究解决方案、运行测试并进行对抗性代码审查。
动手实践——分步指南
-
安装 Claude Code:打开终端并运行标准初始化脚本,在本地设置 Claude Code:
irm https://claude.ai/install.ps1 | iex(在 macOS/Linux 上,请使用官方设置文档中说明的相应 curl 安装命令)。
-
起草自定义验证技能:在项目根目录下创建一个名为
SKILL.md的文件,并写入标准的测试检查指令:--- name: verify-build description: Verify that the codebase builds with zero console errors before finalizing work. --- # Verification Routine 1. Run npm run build. 2. Confirm there are no compilation errors or linter warnings. -
运行面向目标的命令:在仓库中执行 Claude Code,并输入一个带有硬性限制的目标以触发迭代:
/goal fix the failing test suites in /tests, stop after 5 tries -
设置本地自动监控:运行基于时间的间隔循环,以实时检查进度并修复新引入的问题:
/loop 5m run tests, analyze output, and fix any new failures
三大推荐资源
- 1Claude Code Official Documentation
The official documentation detailing setup, custom commands, loops, and agent configuration guidelines.
https://code.claude.com/docs/en/overview
- 2Claude Code Skills Guide
Official instructions on how to write custom SKILL.md guidelines to steer agent behaviors and verification checks.
https://code.claude.com/docs/en/skills
- 3Model Context Protocol (MCP) Quickstart
The official GitHub repository for setting up and understanding MCP tools which power external system integration inside agent loops.
https://github.com/modelcontextprotocol/quickstart
链接由 AI 推荐——使用前建议快速核实。