Claude Code 中的循环工程

循环工程正在成为一种趋势,因为 AI 工具正在变得更加自主。

Claude Code 中的循环工程
AI模型价格对比 | AI工具导航 | ONNX模型库 | Vibe Coding教程 | PLC在线仿真器 | Tripo 3D | Meshy AI | ElevenLabs | KlingAI | ArtSpace | Phot.AI | InVideo

在过去的几年里,每个人都在谈论提示工程,原因很明显:如果你想从 AI 获得更好的结果,你需要编写更好的提示。当 AI 主要是需要人类输入的聊天界面时,这很有效。但自主 AI 代理的兴起改变了这一点。

像 Claude Code 这样的工具允许你构建几乎完全自主的 AI 代理,它们不需要在工作流程的每个步骤都进行人类输入。这就是为什么新方法不再只是编写更好的提示;新方法是为 AI 代理设计一个适当的循环

1、什么是循环工程?

循环工程是设计自动提示、指导、检查和重定向 AI 代理的系统的实践。

有趣的是,循环工程并不是一种全新的方法。在简单的基于提示的工作流程中,人类在循环中并驱动交互,帮助 AI 完成任务。

当涉及到 AI 代理时,唯一不同的是谁驱动交互:

你不再手动输入每个下一个指令,而是定义一个循环,让代理持续朝着目标前进。

换句话说,你告诉 AI 做什么,然后检查结果。

循环工程将部分责任转移到系统中。

2、为什么循环工程现在变得流行

循环工程正在成为一种趋势,因为 AI 工具正在变得更加自主。

Claude Code 就是一个很好的例子。它可以读取文件、编辑代码、运行命令、使用工具、检查输出,并根据所学继续工作。这使得它与只提供建议的传统聊天机器人非常不同。

3、代理循环的基本结构

一个好的循环有 6 个部分。

None

3.1 触发器

循环需要一个触发器

某些东西必须启动循环。这可能是用户请求、计划、GitHub 事件、构建失败、新问题、设计审查请求或 Claude Code 内的命令。

3.2 目标

目标告诉代理它试图完成什么。弱目标产生弱循环。

弱目标:"改进这个页面"

强目标:"更新此仪表板,直到它与设计参考匹配,通过可访问性检查,并且在 375px、768px 和 1440px 时没有布局问题"

3.3 上下文

代理需要访问正确的文件、设计系统规则、产品需求、研究笔记、示例和约束。没有上下文,循环将继续移动,但它可能会朝错误的方向移动。

3.4 工具

当 AI 可以采取行动时,代理循环变得有用。它可能读取文件、编辑代码、运行测试、截取屏幕截图、查询文档、检查设计系统、创建分支或调用外部服务。

3.5 验证

这是最重要的部分。

没有验证的循环只是盲目的自动化。

有验证的循环可以自我改进。

例如,在产品设计项目中,检查可以是测试套件、构建命令、代码检查器、屏幕截图比较、可访问性扫描、设计清单或第二个代理审查结果。

3.6 停止条件

循环需要一个清晰的"完成"定义。没有停止条件,代理可能会过早停止或工作太长时间。

4、Claude Code 版本的循环工程

Claude Code 已经通过代理循环工作:收集上下文、采取行动、验证结果,然后重复。

但最近的 Claude Code 功能使这个循环更加明确。

最重要的是 /goal

通过 /goal,你定义一个完成条件,Claude 将持续工作,直到满足该条件。每轮之后,评估器检查目标是否已满足。如果没有,Claude 继续。

None

通过这个命令,你不仅仅是在要求 Claude 做某事。你正在定义决定工作是否实际完成的循环。

5、4 种主要的循环类型

围绕 Claude Code 正在出现 4 种循环类型:

5.1 目标循环

目标循环持续工作,直到满足条件。

这最适合具有清晰结束状态的任务:

所有测试通过。
构建成功。
迁移完成。
问题队列为空。
设计与屏幕截图匹配。
可访问性报告没有严重问题。

当条件可验证时,目标循环效果最佳。

一个不好的目标循环:

让它变得更好。

一个更好的目标循环:

改进入门流程,直到表单没有验证错误,
所有必需的状态都已实现,并且该流程在浏览器中
从帐户创建到确认都能正常工作。

终点线越具体,循环越好。

5.2 计划循环

计划循环按间隔运行。

这对于重复检查事物很有用:

每 10 分钟检查一次部署是否已完成。
每天早上,审查超过 48 小时的未解决 PR。
每周五,总结新的设计系统更改。
每天,检查是否引入了可访问性回归。

在 Claude Code 中,/loop 和计划任务使这种模式更加明确。

计划循环之所以强大,是因为它们消除了你需要记住检查某事的需要(即,你不需要手动检查部署状态,你可以为此创建一个循环):

None

但如果它们运行太频繁或做太多,它们也可能变得昂贵。

5.3 钩子循环

钩子在代理生命周期的特定点自动运行。

例如,钩子可以在 Claude 编辑文件后、使用工具前或轮次即将结束时运行。

None

钩子循环是确定性循环工程的一个很好的例子。

例如,PostToolsUse 钩子可以说:

在结束轮次之前,验证构建。
如果验证失败,阻止停止并要求 Claude 继续。

5.4 多代理循环

多代理循环并行使用多个代理。

当工作可以分成独立部分时,这很有用。

例如:

一个代理调查前端影响。
一个代理调查后端影响。
一个代理审查测试。
一个代理检查可访问性。
一个代理总结实施计划。

这可能很强大,但这也是成本和复杂性迅速增加的地方。

多代理循环并非自动更好;当代理可以独立运行并返回紧凑的发现时,它们效果最佳。

6、产品设计师的实用循环框架

以下是我创建循环时使用的框架:

1. 触发器
什么启动了循环?
2. 目标
代理应该实现什么?
3. 上下文
它应该使用哪些文件、文档、规则、示例和约束?
4. 工具
代理可以读取、编辑、运行、检查或调用什么?
5. 工作者
谁做这项工作?
6. 验证者
谁或什么检查工作?
7. 状态
循环在哪里记住进度?
8. 防护栏
什么是禁区?
9. 停止条件
循环如何知道它已完成?
10. 升级
它什么时候应该询问人类?

这个框架防止了最常见的循环失败:给代理自由而没有结构。


原文链接: Loop Engineering in Claude Code

汇智网翻译整理,转载请标明出处