Перейти к содержимому
Оригинал
宝玉· 宝玉·· 06.07.2026Избранное редакциейОценка ИИ80

Команда Claude Code разбирает четыре типа циклов ИИ-агентов и способы их применения

Оригинальный заголовок: 从零开始玩转循环 (Getting started with loops)

Краткий обзор ИИ

Команда Claude Code определяет цикл ИИ-агента как повторяющийся рабочий цикл, который выполняется до заданного условия остановки, и делит такие циклы на четыре типа — пошаговые, целевые, временные и проактивные — по четырём признакам: способу запуска, условию остановки, используемым базовым командам и типу задач.

Почему это важно

Команда Claude Code делит циклы на четыре типа — пошаговые, целевые, временные и проактивные — и описывает для каждого способ запуска, остановки и контроля токенов.

Полный текст

Полный текст на выбранном языке ожидает перевода. Пока показан оригинал.

从零开始玩转循环 (Getting started with loops)

最近大家都在热议“设计循环 (designing loops)”,而不是简单地给你的编程 AI 智能体 (AI Agent) 扔一条提示词 (prompt) 就完事。如果你在 X(原 Twitter)上花点时间,想搞清楚到底什么是“循环”,你会听到五花八门的答案。

在 Claude Code 团队,我们将“循环”定义为:AI 智能体不断重复执行工作周期,直到满足某个预设的停止条件。 为了方便理解,我们根据以下四个维度,对循环进行了分类:

  • 它是如何被触发的
  • 它是如何停止的
  • 它使用了哪种 Claude Code 基础指令 (primitive) (在这里指系统内置的基础命令或核心功能模块)
  • 哪种类型的任务最适合它

接下来,我们将带你了解这几种主要的循环类型、适用场景,以及如何在控制 token 消耗的同时,保证产出的代码质量。请记住,并不是所有任务都需要复杂的循环;建议从最简单的方案开始上手,然后根据实际情况灵活挑选这些模式。

回合制循环 (Turn-based loops)

回合制循环 (Turn-based loops):该节配图

  • 触发方式:用户输入提示词。
  • 停止条件:Claude 自行判断任务已经完成,或者它发现需要向你索要更多上下文信息。
  • 最佳适用场景:不属于常规流程或定时计划的、比较简短的任务。
  • 如何控制消耗:编写非常具体的提示词,并通过“技能 (Skills)”功能强化验证环节,从而减少来回交互的回合数。

你发送给 AI 的每一个提示词,其实都开启了一个由你手动主导的循环。在这个循环里,你指挥着每一个回合:Claude 收集上下文、采取行动、检查自己的工作,必要时重复这些动作,最后给你回复。我们称之为“智能体循环 (agentic loop)”。

举个例子:你让 Claude 做一个“点赞”按钮。它会阅读你的代码、进行修改、运行测试,然后把它认为没问题的成果交还给你。接着,你手动检查一遍它的工作,发现没问题或需要修改后,再写出下一条提示词。

其实,你可以把你自己手动检查的这些步骤,写进一个名为 SKILL.md 的文件里。这样一来,Claude 就能端到端地自行完成更多检查工作。在这个文件里,你应该提供各种工具或连接器,让 Claude 能够“看”到、衡量或与最终结果进行真实交互。验证的标准越量化、越具体,Claude 就越容易进行自我判断。

例如,你可以在 SKILL.md 文件中这样规定:

--- 
name: verify-frontend-change 
description: 在宣布完成之前,端到端验证任何 UI 更改。 
--- 

# 验证前端更改 (Verifying frontend changes) 
绝不能仅仅因为代码修改成功,就报告 UI 更改已完成。必须像人类代码审查员那样进行验证: 

1. 启动开发服务器 (dev server),并在浏览器中打开修改后的页面。 

2. 直接与更改后的内容交互。对于新增的控件(如按钮、输入框、开关):点击它,确认状态如预期般改变,并在操作前后截图。 

3. 检查浏览器控制台 (browser console):确保没有新增任何错误 (errors) 或警告 (warnings)。 

4. 使用 Chrome 开发者工具的 MCP **(Model Context Protocol,模型上下文协议,一种让 AI 连通外部工具和数据的标准标准)**,运行性能追踪,并审核网页核心性能指标 (Core Web Vitals)。

如果任何一个步骤失败,请修复问题并从步骤 1 重新开始 —— 绝对不要把只验证了一半的工作交回给我。

目标导向循环 (Goal-based loop /goal)

目标导向循环 (Goal-based loop /goal):该节配图

  • 触发方式:实时手动输入提示词。
  • 停止条件:目标达成,或者达到了设定的最大尝试回合数。
  • 最佳适用场景:具备可验证退出标准(能明确用客观数据判断对错)的任务。
  • 如何控制消耗:设定非常具体的完成标准和明确的回合数上限,例如“尝试 5 次后停止”。

有时候,仅仅交互一个回合是不够的,特别是在处理复杂任务时。当 AI 智能体能够不断试错、迭代时,它们往往表现得更好。你可以通过 /goal 指令定义“到底什么样才算做完”,从而让 Claude 有更长的时间去持续迭代。

当你明确定义了成功标准后,Claude 就不需要自己去瞎猜什么是“足够好”并过早地结束工作。每次 Claude 试图停下来交差时,背后的评估模型都会检查你的条件,如果不达标,它会被打回去继续干活,直到目标达成,或者达到了你设定的尝试次数上限。

这就是为什么确定性的标准(比如通过了多少个测试用例,或者达到了某个具体的分数门槛)会如此有效的原因。

例如:

# 将主页的 Lighthouse 网页性能跑分提高到 90 分或以上,尝试 5 次后停止。
/goal get the homepage Lighthouse score to 90 or above, stop after 5 tries.

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

  • 触发方式:设定的时间间隔。
  • 停止条件:你手动取消它,或者工作彻底完成了(比如代码被合并了,任务队列清空了)。
  • 最佳适用场景:周期性重复的工作,或者需要与外部环境、外部系统对接的任务。
  • 如何控制消耗:设置更长的时间间隔,或者改为基于事件触发(而不是单纯按时间盲目运行)。

有些 AI 智能体工作是周期性的:任务本身一成不变,只是输入的数据变了。比如,每天早上汇总 Slack 聊天记录。另一些工作则依赖外部系统,与外部系统对接最简单的方式,就是每隔一段时间去检查一次,并根据变化做出反应。例如,监控一个可能会收到代码审查意见、或者未能通过 CI (Continuous Integration,持续集成,用于自动测试和构建代码) 的 PR (Pull Request,代码拉取请求,即代码合并申请)。

对于这些场景,你可以使用 /loop 指令来触发 Claude,它会按照设定的时间间隔重复执行某条提示词。例如:

# 每 5 分钟检查一次我的 PR,处理最新的代码审查意见,并修复失败的持续集成测试。
/loop 5m check my PR, address review comments, and fix failing CI

需要注意的是,/loop 是在你本地电脑上运行的,所以一旦你关机或者退出,它就停止了。如果你想把循环搬到云端全天候运行,可以使用 /schedule 指令来创建一个云端的例行程序 (routine)。

主动式循环 (Proactive loops)

主动式循环 (Proactive loops):该节配图

  • 触发方式:事件触发或定时计划,全程无需人类实时参与。
  • 停止条件:每个子任务在达成其具体目标时退出。但整个例行程序本身会一直运行,直到你主动将它关闭。
  • 最佳适用场景:定义清晰、源源不断的重复性工作流:比如用户漏洞报告 (bug reports)、工单分诊处理 (issue triage)、数据迁移、代码依赖项升级等。
  • 如何控制消耗:将常规的、简单的流程分配给更小、更快的模型,把能力最强的大模型留给需要做复杂判断的环节。

上面提到的那些基础指令,结合 Claude Code 的其他进阶功能(比如自动模式 auto mode 和动态工作流 dynamic workflows,目前为研究预览版),可以被组合成一个处理长期复杂任务的“超级循环”。

例如,为了处理不断涌入的用户反馈,你可以这样搭配组合:

  1. 使用 /schedule(研究预览版)运行一个例行程序,定时检查有没有新的反馈报告。
  2. 使用 /goal 定义任务完成的最终目标,并利用技能 (skills) 记录下应该如何验证结果。
  3. 利用动态工作流 (Dynamic workflows) 来统筹多个 AI 智能体,让它们分别负责给报告分类、修复问题,以及审查代码。
  4. 开启自动模式 (Auto mode),这样整个流程就能全自动无缝运转,无需停下来等你点击确认。

把这些组合在一起,你的提示词可能会长这样:

# 每小时执行一次:检查 project-feedback 频道中的 bug 报告。目标:直到本次运行发现的所有报告都已被分类、处理并回复,才停止运行。在修复 bug 时,使用工作流在平行的工作区中探索三种不同的解决方案,并让一个专门作为“裁判”的模型对它们进行对抗性的严格审查。
/schedule every hour: check the project-feedback channel 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.

保持代码质量 (Maintaining code quality)

一个循环产出成果的质量,很大程度上取决于围绕它建立的外围系统。在设计这个系统时,请遵循以下原则:

  • 保持代码库本身的整洁:Claude 会不知不觉地模仿你代码库中已有的模式和规范。底子好,它写出来的代码就好。
  • 给 Claude 提供自我验证的方法:通过 技能文档 (Skills) 功能,把你和团队眼中的“优秀代码标准”写成规则,让它自己去对照。
  • 让文档触手可及:各种编程框架和代码库的官方文档里,都藏着最新、最好的实践经验。确保你的 AI 能够轻松访问这些资料。
  • 使用第二个智能体来进行代码审查:找一个没有被历史对话污染、拥有全新上下文的智能体来做代码审查。它的偏见更少,也不会被主干智能体的思路“带偏”。你可以使用内置的 /code-review 技能,或者针对 Github 的专用审查工具 (代码审查文档)。

当某一次执行的结果没达到你的标准时,千万别仅仅停留在“把这个 bug 修好”就完事了。 试着把这次踩坑的教训提炼出来,固化到你的规则里,从而在未来的无数次迭代中改善整个系统。

控制 Token 消耗 (Managing token usage)

为了有效控制 Token 消耗 (Token 是大语言模型处理文本的基本计费单位,类似按字数算钱),你的循环必须有清晰的边界:

  • 选择合适的指令和模型:杀鸡焉用牛刀。小任务根本不需要动用多个智能体或复杂的循环。很多任务用更便宜、更快的模型就能完美解决。
  • 定义明确的成功与停止标准:非常具体地描述出“完成”到底是个什么状态,这样 Claude 就能更快地找到答案(当然,也不能快到敷衍了事)。
  • 在大规模运行前先“试水”:动态工作流可能会一下子衍生出几百个智能体。在大规模部署前,请先切出一小块工作,测试一下实际的消耗量,心里有个底。
  • 用脚本处理确定性的工作:直接运行一段脚本,比让大模型一步步去逻辑推理要便宜得多。例如,处理 PDF 的技能可以直接内嵌一个填写表单的脚本,每次让 Claude 跑这个脚本就行,而不是每次都让它绞尽脑汁重新推导代码该怎么写。
  • 别把例行程序跑得太频繁:你监控的事物多久变一次,你的检查间隔就应该设为多长。不要让 AI 傻傻地每秒钟去刷新一个一天才更新一次的网页。
  • 定期查看消耗:输入 /usage 命令,它可以按技能、子智能体 (SubAgents) 和 MCP 详细拆解近期的消耗情况;直接输入不带参数的 /goal,可以查看目前跑了多少回合以及 Token 的消耗量;/workflows 会显示每个智能体的具体 Token 消耗,并且你可以在那里随时让某个智能体停下来。

开始你的探索之旅 (Getting started)

简单总结一下:

循环类型 (Loop) 你需要移交什么 (You hand off) 适用场景 (Use it when) 所需工具 (Reach for)
回合制 (Turn-based) 检查工作 (The check) 你正处于探索或决策阶段 自定义验证技能
目标导向 (Goal-based) 停止条件 (The stop condition) 你明确知道“完成”的标准是什么 /goal
基于时间 (Time-based) 触发器 (The trigger) 工作在你的项目之外按时间表发生 /loop, /schedule
主动式 (Proactive) 提示词 (The prompt) 循环往复且定义极其明确的工作 以上全部,外加动态工作流

想要开始尝试循环,不妨先审视一下你日常手头的工作。挑一个你总是成为效率“瓶颈”的任务,然后问问自己:我能把哪一部分交接给 AI? 我能写出自动验证的检查项吗?任务目标足够清晰吗?这项工作是不是定时发生的?

一旦你有了思路,就把循环跑起来!仔细观察结果,看看它在哪里卡壳了,或者在哪里用力过猛了,不要害怕去不断迭代和优化它。

欲了解更多进阶信息,请阅读 Claude Code 的官方文档:AI 智能体基础 ,以及 目标设定 (/goal)、例行程序 (/routines) 和 动态工作流 (workflows) 的相关专题页面。


Источник: 宝玉 · baoyu.io