最近技术圈很火的一个话题是,用设计循环机制来代替手动给Agent写提示词。但什么是loop,社交媒体上说法五花八门。Claude Code团队给出了个明确定义:循环就是Agent重复执行工作周期,直到满足特定的停止条件。他们按触发方式、停止条件、底层工具和适用任务,把循环分成了四类。 一、如何选择这些循环
①轮次循环(Turn-based loop)
触发方式:你的提示词
适用场景:不属于常规流程的短任务
怎么用好:写具体提示词,配合技能文件提升自我验证能力
你发的每条提示词都会启动一轮手动循环——Claude收集上下文、动手改、自己检查、需要就重复,最后给你反馈。比如让Claude做个点赞按钮,它读代码、改代码、跑测试,交出它认为没问题的东西,你再手动检查、写下一条提示词。
想让这一步更省心,可以把验证步骤写成SKILL.md技能文件,让Claude做端到端检查:启动开发服务器、点击验证、截图对比、看控制台报错、跑性能审计。检查越具体越量化,Claude自我验证越靠谱。
②目标循环(Goal-based loop)
触发方式:实时手动提示词
停止标准:达成目标,或到达最大轮次
适用场景:有明确验收标准的任务
怎么用好:设定具体完成标准和轮次上限,比如"尝试5次后停止"
用/goal定义完成标准,Claude就不用自己拿捏"差不多就行"。评估模型会在它每次想收工时对照你的条件检查,没达标就打回去继续干,直到满足目标或碰到轮次上限。
③时间循环(/loop和/schedule)
触发方式:固定的时间间隔
停止标准:你手动取消,或任务本身完成(比如PR已合并)
适用场景:周期性重复的工作,或需要跟外部系统交互的活儿
怎么用好:设置较长间隔,或改成基于事件触发而非固定时间
比如每天早上总结Slack消息,或者定期查PR的评审意见和CI状态。/loop 5m能定期重跑提示词,但跑在你自己电脑上,关掉就停了;想搬到云端常驻,用/schedule建一个例行程序。
例如:
④主动循环(Proactive loop)
触发方式:事件或计划任务,不需要你实时盯着
停止标准:每个任务达成目标就退出,例行程序本身一直跑到你关掉为止
适用场景:周期性且流程明确的活儿,比如Bug报告、问题分类、依赖升级
怎么用好:常规工作路由给更小更快的模型,需要判断力的部分交给最强模型
例如,为了处理收到的反馈,你可以使用:
*/schedule运行一个定期检查新报告的例行程序。
*/goal定义完成的标准,并使用技能文档记录如何验证。
*动态工作流来协调智能体,对每个报告进行分类、修复并评审修复结果。
*自动模式让例行程序在无需停止请求许可的情况下运行。
结合在一起,提示词可以写成:
/schedule每小时:检查project-feedback频道中的Bug报告。/goal:直到本次运行中发现的每个报告都经过分类、处理并回复才停止。在修复Bug时,使用工作流在三个并行工作树中探索三种解决方案,并让评审智能体进行对抗性审查。
四种基础组件,能跟自动模式、动态工作流组合成一套长期运行系统——比如/schedule定期查新反馈,/goal定完成标准,动态工作流协调多个智能体分类、修复、评审。
二、保证代码质量的几个要点
代码库保持干净,Claude会顺着已有模式走
给Claude验证自身工作的手段,写进技能文件
文档保持最新,方便Claude取用
用第二个没有偏见的智能体做代码评审
碰到没达标的结果,别只修那一个问题,把经验写进系统
三、管理Token消耗的几个要点
小任务别硬上多智能体,能用便宜模型就别用贵的
停止标准定清楚,Claude才能更快收敛
大规模跑之前先小范围试点
确定性的活儿用脚本,不靠推理
例行程序的时间间隔跟你观察对象变化的频率对上
想看用量:/usage按技能和子智能体查,/goal看轮次和token消耗,/workflows看每个智能体花销,随时能叫停
四种循环简单对照一下:
轮次循环放手的是验证步骤,适合还在探索或做决策的时候,靠自定义验证技能;
目标循环放手的是停止条件,适合明确知道完成标准的场景,靠/goal指令;
时间循环放手的是触发条件,适合工作在项目外部且有固定日程的情况,靠/loop、/schedule;
主动循环放手的是提示词本身,适合周期性且定义明确的工作,靠上述所有功能加动态工作流一起上。
想上手,先看看你现在卡在哪个环节——验证步骤能不能写清楚,目标够不够明确,工作是不是周期性的。想清楚了就跑起来,边跑边看哪里卡壳、哪里用力过猛,慢慢调整就是了。