从 loops 开始
现在有很多人在讨论 Loop Engineering,或者说不再只是提示你的 coding agent,而是“设计 loops”。如果你花一些时间在 X 上试图弄清楚 loop 到底是什么,你会看到很多不同答案。
在 Claude Code 团队,我们把 loops 定义为:agents 反复执行工作周期,直到满足某个停止条件。我们会基于以下几个维度,把 loops 分成几类:
- 它们如何被触发
- 它们如何停止
- 使用的是哪一种 Claude Code primitive
- 每一种最适合哪类任务
本文会介绍主要的 loop 类型、各自适合的场景,以及如何在管理 token 使用的同时维持代码质量。并不是所有任务都需要复杂 loops;先从最简单的解决方案开始,只在适合的时候选择性使用这些模式。
Turn-based loops

- Triggered by:用户 prompt。
- Stop criteria:Claude 判断自己已经完成任务,或需要更多上下文。
- Best used for:不属于固定流程或固定日程的较短任务。
- Managed usage by:写出更具体的 prompts,并用 skills 改进验证流程,从而减少 turns 数量。
你发送的每个 prompt,都会启动一个由你来指挥每一轮的手动 loop。Claude 会收集上下文、采取行动、检查自己的工作、必要时重复,然后回复。我们把这称为 agentic loop。
例如,让 Claude 创建一个点赞按钮。它会读取你的代码、做出修改、运行测试,然后交付一个它认为可用的结果。接着你会手动检查这项工作,并写下下一个 prompt。
你可以把自己的手动检查步骤编码进 SKILL.md,从而改进验证步骤,让 Claude 能端到端地检查更多自己的工作。(关于这种自动化场景里如何在 skills、hooks 和 subagents 之间选择,可以阅读我们关于 steering Claude Code 的指南。)
这应当包含一些工具或 connectors,让 Claude 能够看见、测量或交互结果。检查越量化,Claude 就越容易自我验证。
例如,你可以在 SKILL.md 文件中这样写:
---
name: verify-frontend-change
description: Verify any UI change end-to-end before declaring it done.


