Claude Code 循环功能入门指南

@ClaudeDevs
英语11小时前 · 2026年7月06日
2.1M
9.9K
1.1K
193
21.4K

TL;DR

Claude Code 团队将循环定义为一种在满足停止条件前持续运行的 Agent 周期,为自动化重复性编码任务提供了框架。

现在大家都在谈论为编码 Agent「设计循环」,而不是简单地给它提示。如果你花些时间在 X 上试图弄清楚「循环」到底是什么,你会看到多种不同的答案。

在 Claude Code 团队,我们将循环定义为 Agent 重复执行工作,直到满足停止条件的过程。我们根据以下几个方面对不同类型的循环进行分类:

  • 它们的触发方式
  • 它们的停止方式
  • 使用了哪种 Claude Code 原语
  • 每种循环最适合什么类型的任务

我们将介绍主要的循环类型、每种循环的使用场景,以及如何在管理 Token 用量的同时保持代码质量。并非所有任务都需要复杂的循环;从最简单的方案开始,并有选择地使用这些模式。

回合制循环

ClaudeDevs - inline image
  • 触发方式:用户提示。
  • 停止条件:Claude 判断任务已完成,或需要更多上下文。
  • 最佳用途:不属于常规流程或计划的较短任务。
  • 用量管理:编写具体的提示,并使用技能(Skills)改进验证步骤,以减少回合数。

你发送的每一个提示都会启动一个手动循环,由你指导每一步。Claude 收集上下文、执行操作、检查工作、必要时重复、然后回应。我们称之为 Agent 循环。

例如,让 Claude 创建一个点赞按钮。它会读取你的代码、进行编辑、运行测试,然后交回一个它 认为 可以工作的东西。然后,你需要手动检查工作,并编写下一个提示。

你可以通过将手动检查步骤编码为 SKILL.md 文件来改进验证步骤,这样 Claude 就可以端到端地检查自己更多的工作。这应包括允许 Claude 查看测量交互 结果的工具或连接器。检查越量化,Claude 就越容易进行自我验证。

例如,在你的 SKILL.md 文件中,你可以指定:

markdown
1---
2name: verify-frontend-change
3description: 在声明完成之前,端到端地验证任何 UI 变更。
4---
5
6# 验证前端变更
7不要仅基于成功编辑就报告 UI 变更为完成。应像人类审查者一样验证它:
8
91. 启动开发服务器,并在浏览器中打开已编辑的页面。
10
112. 直接与变更进行交互。对于新的控件(按钮、输入框、切换开关):点击它,确认预期的状态变化,并对变更前后进行截图。
12
133. 检查浏览器控制台:确保没有出现新的错误或警告。
14
154. 使用 Chrome Devtools MCP,运行性能追踪并审计核心网页指标。
16
17如果任何步骤失败,请修复问题并从步骤 1 重新开始——不要交回未完全验证的工作。

基于目标的循环 (/goal)

ClaudeDevs - inline image
  • 触发方式:实时手动提示。
  • 停止条件:达到目标 或 达到最大回合数。
  • 最佳用途:具有可验证退出标准的任务。
  • 用量管理:设定具体的完成标准和明确的回合上限,例如「尝试 5 次后停止」。

有时,单次回合是不够的,尤其是在处理更复杂的任务时。Agent 在能够迭代时表现更好。你可以通过定义「完成」的样子来扩展 Claude 持续迭代的时间,这需要使用 /goal

当你定义了成功标准后,Claude 就无需自行判断什么「足够好」而过早结束循环。每当 Claude 尝试停止时,一个评估模型会检查你的条件,并让它返回工作,直到满足目标或达到你定义的回合数。

这就是为什么确定性标准(例如通过的测试数量或达到特定分数阈值)如此有效。

例如:

bash
1/goal 让首页的 Lighthouse 得分达到 90 分或以上,尝试 5 次后停止。

基于时间的循环 (/loop 和 /schedule)

  • 触发方式:指定的时间间隔。
  • 停止条件:你取消它,或者工作完成(PR 合并、队列清空)。
  • 最佳用途:适用于重复性工作,或与外部环境/系统交互。
  • 用量管理:设置更长的时间间隔,或者基于事件而非时间来响应。

有些 Agent 工作是重复性的:任务保持不变,只有输入变化。例如,每天早上总结 Slack 消息。其他工作则依赖于外部系统,与之交互的一个简单方法是按时间间隔检查并响应变化。例如,一个可能收到代码审查或 CI 失败的 PR。

对于这些情况,你可以使用 \/loop`` 来触发 Claude 按时间间隔重新运行一个提示。例如:

bash
1/loop 5m 检查我的 PR,处理审查意见,并修复失败的 CI

\/loop` 在你的电脑上运行,所以如果你关闭电脑,它就会停止。你可以通过使用 \/schedule\` 创建例程来将循环移至云端。

主动式循环

ClaudeDevs - inline image
  • 触发方式:事件或计划安排,无需实时人工参与。
  • 停止条件:每个任务在达成目标后退出。例程本身会一直运行直到你关闭它。
  • 最佳用途:针对定义明确的重复性工作流:Bug 报告、问题分类、迁移、依赖升级等。
  • 用量管理:将例程路由到更小、更快的模型,并使用能力最强的模型进行判断决策。

上述原语,连同其他 Claude Code 功能如自动模式动态工作流(研究预览版),可以被组合成一个用于长期运行工作的循环。

例如,为了处理传入的反馈,你可以使用:

  1. `/schedule`(研究预览版)来运行一个检查新报告的例程
  2. `/goal` 来定义完成标准,并使用技能来记录如何验证它
  3. 动态工作流 来编排 Agent,对每个报告进行分类、修复并审查修复
  4. 自动模式 使例程无需停止请示即可运行

综合起来,一个提示可能如下所示:

bash
1/schedule 每小时:检查 project-feedback 频道中的 Bug 报告。/goal:不要停止,直到本次运行时发现的每个报告都被分类、处理并回复。修复 Bug 时,使用工作流在并行工作树中探索三个解决方案,并让一个评判者对立地审查它们。

保持代码质量

循环输出的质量取决于其周围的系统。在设计系统时:

  • 保持代码库本身整洁:Claude 会遵循你代码库中已有的模式和约定。
  • 让 Claude 能够验证自己的工作:通过技能为你和你的团队编码出「好的标准」。
  • 让文档易于访问:框架和库的文档应包含最新的最佳实践。
  • 使用第二个 Agent 进行代码审查:拥有新上下文的审查者偏见更少,且不受主 Agent 推理的影响。你可以使用内置的 /code-review 技能或 GitHub 的 代码审查 功能。

当个别结果未达到标准时,不要止步于修复单个问题,尝试将其编码化,以改进所有未来迭代的系统。

管理 Token 用量

为了管理 Token 用量,循环应有明确的界限:

  • 为任务选择合适的原语和模型:较小的任务不需要多个 Agent 或循环。有些任务可以使用更便宜、更快的模型。
  • 定义明确的成功和停止标准:具体说明完成的样子,以便 Claude 能更快地找到解决方案(但也不要太快)。
  • 在大规模运行前进行试点:动态工作流可能生成数百个 Agent。先在一小部分工作上评估用量。
  • 对确定性工作使用脚本:运行脚本比推理执行步骤更便宜。例如,一个 PDF 技能可以附带一个填写表单的脚本,让 Claude 每次运行它,而不是重新推导代码。
  • 不要比需要更频繁地运行例程:将时间间隔与你正在监控的事物的变化频率相匹配。
  • 审查用量/usage 命令按技能、子 Agent 和 MCP 细分最近用量;不带参数的 /goal 显示当前回合数和 Token 用量;/workflows 显示每个 Agent 的 Token 用量,你可以随时停止一个 Agent。

入门指南

总结如下:

循环类型

你交出的控制权

使用场景

推荐工具

回合制

检查

你在探索或做决策

自定义验证技能

基于目标

停止条件

你知道完成的样子

/goal

基于时间

触发条件

工作在你的项目外部按计划进行

/loop

,

/schedule

主动式

提示

工作是重复性的且定义明确

以上所有,以及动态工作流

要开始使用循环,请审视你已经在做的工作。选择一个你成为瓶颈的任务,并思考你可以交出哪一部分:你能编写验证检查吗?目标是否足够清晰?工作是否按计划到达?

一旦你有了想法,运行循环,观察结果(比如它在哪卡住或过度扩展),并且不要害怕迭代。

有关更多信息,请阅读关于并行运行 Agent 的 Claude Code 文档,以及关于 loopschedulegoal动态工作流的页面。

本文由 @delba_oliveira 撰写

一键保存

使用 YouMind AI 深度阅读爆款文章

保存原文、追问细节、总结观点,并在一个 AI 工作空间里把爆款文章沉淀成可复用笔记。

了解 YouMind
写给创作者

把你的 Markdown 变成干净的 𝕏 文章

图片上传、表格、代码块,往 𝕏 上手动重排太痛苦。YouMind 把整篇 Markdown 一键转成干净、可直接发布的 𝕏 文章草稿。

试试 Markdown 转 𝕏

更多可拆解样本

近期爆款文章

探索更多爆款文章