Turn-based
你每轮发起下一步。Claude Code 完成一次行动后停下来汇报,是否继续由你判断。
turn-based、goal-based、time-based、proactive 四种循环不是四个口号,而是四种不同的控制权分配方式。真正能落地的关键,是把“怎么验收、失败后怎么重试、证据如何汇报”写进技能文件。
智能体循环的本质是反馈控制。 模型每次不是“写完就结束”,而是在上下文、行动、校验和修复之间往返。循环类型决定触发方式和停止条件,`SKILL.md` 决定每轮行动是否有可靠的自检边界。
如果任务需要你反复说“再跑一下测试、再看一下页面、再修一下评论”,那它就应该被写成 loop 或 skill,而不是留在人工提示里。
普通聊天像一次函数调用:输入 prompt,得到输出。Agent loop 更像一个控制系统:每轮都要读取状态、采取行动、观察反馈,并决定是否继续。
关键区别不在“模型有多聪明”,而在“谁触发下一轮、谁定义完成、失败证据能否自动把系统推回修复状态”。
Anthropic 的官方文章把 Claude Code 的循环实践分成四类:turn-based、goal-based、time-based 和 proactive。它们适合的任务、自动化程度和风险边界都不同。
你每轮发起下一步。Claude Code 完成一次行动后停下来汇报,是否继续由你判断。
你给出明确目标,系统反复尝试,直到 evaluator 判断成功,或达到轮次上限。
按时间间隔重复执行同一类任务。它关注“外部状态可能已经变化”,例如 CI、评论、队列或日报。
事件或计划触发完整工作流,智能体自行发现任务、执行、验证、升级和汇报。
四类 loop 不是互斥选项,而是自动化程度逐步上升的阶梯。越往右,越需要明确的权限、预算、停止条件和验收证据。
| 维度 | 低自动化 | 高自动化 |
|---|---|---|
| 触发权 | 人类逐轮触发 | 目标、时间或事件自动触发 |
| 判断权 | 人类看结果再决定 | evaluator、脚本、CI、指标和门禁判断 |
| 风险 | 速度慢,但误操作范围小 | 速度快,但需要更硬的权限和回滚策略 |
| 沉淀方式 | 提示词和聊天记录 | `SKILL.md`、validator、runbook 和自动化例程 |
不要先问“用哪种 loop 更高级”,而要先问“完成标准能否机器判断、外部状态是否会变化、失败后能否自动修复”。
| 任务形态 | 推荐 loop | 验收证据 | 注意事项 |
|---|---|---|---|
| 解释代码、梳理方案 | Turn-based | 引用文件、结论、风险清单 | 不要伪装成自动完成,保留人工判断空间。 |
| 修复测试失败 | Goal-based | 失败测试变绿、相关回归通过 | 设置轮次上限,防止为了过测试破坏真实逻辑。 |
| 等待 CI 或 PR 评论 | Time-based | CI 状态、评论线程、commit 结果 | 每轮都要避免重复提交和重复回复。 |
| 反馈初筛和自动派单 | Proactive | 分类结果、关联上下文、升级记录 | 必须定义权限、静默失败处理和人工升级条件。 |
| UI 变更自测 | Goal-based + Skill | 浏览器截图、console、交互路径、响应式检查 | 不要只用构建成功代替可见页面验收。 |
Skill 不是“更长的 prompt”。它更像团队 runbook:告诉智能体什么时候使用、必须读取什么上下文、怎么执行、怎么验证、失败后怎么修复,以及最终必须交付哪些证据。
端到端自检的目标不是让 agent 多跑命令,而是把“真实用户会不会成功”变成可观察证据。对前端、后端、数据任务、文档任务,证据形态不同,但结构相同。
下面的模板可以作为团队技能的起点。实际使用时,最重要的是把 validator 从自然语言变成具体命令、脚本、截图步骤或可判定阈值。
---
name: verify-change-end-to-end
description: Use when a code or documentation change must be verified through the real user-facing path before reporting completion.
---
# End-to-End Verification Skill
## When to use
Use this skill when the task changes behavior, UI, API contracts, data shape,
automation, deployment configuration, or user-facing documentation.
Do not report completion based only on file edits.
## Workflow
1. Read the user's request and identify the changed surface:
- UI page or workflow
- API endpoint or background job
- database migration or data import
- CLI command or automation
- documentation page or generated artifact
2. Define the acceptance evidence before editing:
- test command
- browser path and interaction
- API request and expected response
- database query
- log or metric check
- screenshot or rendered artifact
3. Make the smallest scoped change that can satisfy the acceptance evidence.
4. Run validators in this order:
- static checks, lint, typecheck, or schema validation
- unit or focused regression tests
- integration or browser checks for the changed path
- artifact inspection for screenshots, PDFs, docs, or generated output
5. If any validator fails:
- read the failure literally
- fix the root cause
- rerun the failed validator
- rerun any earlier validator that could be invalidated by the fix
6. Stop only when the acceptance evidence is satisfied, or when a true blocker
prevents further progress.
## Reporting
Final response must include:
- files changed
- validators run
- evidence observed
- known gaps or tests not run
- exact blocker, if blocked
Never say "done" without evidence.
loop 和 skill 的风险不是“模型不会做事”,而是“模型很会做事,但没有清晰边界”。下面这些反模式会让 agent 看起来高效,实际却不可靠。
| 反模式 | 表现 | 修正方式 |
|---|---|---|
| 目标不可判定 | “优化一下”“修到没问题”“体验更自然” | 改成明确阈值、断言、截图、错误消失或人工验收项。 |
| 只验最短路径 | 主流程过了,但权限、空状态、失败状态和历史数据没测 | 把异常路径写成 validator 或风险残留。 |
| 轮询无幂等 | time-based loop 重复发评论、重复提交、重复创建任务 | 记录已处理状态,检查现有结果后再行动。 |
| 权限过宽 | proactive loop 能直接改生产配置或大范围删除数据 | 限制工具、目录、分支、预算和人工审批点。 |
| 汇报无证据 | 最终回复只说“已完成”,没有命令、截图、日志或结果 | 把 Verification Report 写成 skill 的强制输出格式。 |
实战判断:能不能用 proactive loop,不取决于模型能力,而取决于你的门禁、权限、回滚、审计和升级路径是否已经写清楚。
本文基于 Claude Code 官方 loop 文章和 Skills 相关文档整理,并加入面向工程团队的落地模板。