摘要
Loop engineering 是 2026 年 6 月前后在 AI 开发者社区,尤其是 AI 辅助编码圈里快速流行起来的一个新说法。它不是又一个提示词技巧,而是一个更高层级的工作方式转变:开发者不再亲自逐一输入提示,而是设计一个自治的循环系统,让代理(agent)根据高层目标自动迭代、执行、验证和自我修正,直到完成任务。
如果说 prompt engineering 的核心问题是“我该怎样问 AI”,context engineering 的核心问题是“我该给 AI 什么背景”,那么 loop engineering 的核心问题就是:
我该如何设计一个系统,让 AI 在目标、上下文、工具、反馈、约束和退出条件之间反复运转,并且越跑越接近可交付结果?
这件事在编程领域最先爆发,并不偶然。编程天然有文件系统、版本控制、测试、lint、构建、CI、日志、issue、PR、review 等可机器读取的反馈面。AI 不再只是“生成代码”,而是可以在一个工程环境里走完“理解代码库 -> 制定计划 -> 修改文件 -> 运行测试 -> 读取错误 -> 修复 -> 提交变更”的闭环。
为什么不是 Prompt Engineering 了
早期 AI 编程的主流姿势是提示词驱动。你告诉模型“帮我写一个函数”“帮我解释这段报错”“帮我重构这个文件”,模型返回一段答案。开发者把答案复制到编辑器里,手动运行测试,再把错误贴回去。这个流程本质上仍是人类在操作循环,AI 只是循环中的一个函数调用。
Agentic coding 工具改变了这个边界。以 Claude Code 为例,官方文档把它描述为一个能读取代码库、编辑文件、运行命令并接入开发工具的 agentic coding tool。它可以处理跨文件修改、运行测试、创建提交和 PR,还能通过 MCP、项目指令、skills、hooks、多个 agent 和定时任务接入更完整的工程环境。换句话说,AI 已经从“回答者”变成了“循环执行者”。
学术界也开始用更清晰的系统语言描述这件事。2026 年 4 月的技术报告《Dive into Claude Code》指出,Claude Code 这类系统的核心其实是一个简单 while-loop:调用模型、运行工具、再重复;真正复杂的部分在 loop 周围,包括权限系统、上下文压缩、扩展机制、子代理、会话存储等工程设施。这个判断非常关键:模型能力当然重要,但决定它能不能稳定工作的,往往是 loop 外围的工程设计。
所以,prompt engineering 没有消失,但它降级成了 loop engineering 的一个组件。一个成熟的 loop 里仍然需要好提示词,只是提示词不再单独承担全部责任。它要和状态管理、工具权限、测试反馈、上下文裁剪、失败恢复、成本控制共同工作。
Loop Engineering 的定义
我会把 loop engineering 定义为:
围绕 AI agent 的反复执行过程,设计目标、状态、上下文、工具、反馈、约束、评估和退出机制,使代理能根据高层目标自动迭代、执行、验证和自我修正,直到完成任务,并把过程控制在工程上可接受的范围内。
它关心的不是单次输出是否漂亮,而是整个循环是否可靠:
- 目标是否足够明确,能被 agent 拆成可执行步骤。
- 上下文是否足够完整,又不会把无关信息塞满窗口。
- 工具是否够用,并且有权限边界。
- 反馈是否机器可读,比如测试失败、lint 报错、截图差异、构建日志、review 结论。
- 状态是否可追踪,比如计划、todo、diff、会话记录、已验证项。
- 退出条件是否清楚,比如测试通过、PR 创建、人工验收通过、成本达到上限、连续失败次数过多。
- 失败后是否能恢复,比如回滚、换模型、缩小任务、重新规划、请求人工决策。
一个没有退出条件的 loop 只是自动化赌博;一个没有验证器的 loop 只是更快地产生幻觉;一个没有版本控制的 loop 只是更高效地制造不可解释的改动。
一个最小 Loop 长什么样
最小的 AI 编程 loop 可以写成这样:
| |
这看起来简单,但每一步都可以被工程化。
“读取项目上下文”不是把整个仓库塞给模型,而是读取 README、AGENTS.md、架构文档、相关文件、测试入口和近期 diff。“生成计划”不是写一份空泛列表,而是明确哪些文件要读、哪些行为要改、哪些验证命令能证明完成。“执行一个小步骤”意味着每次改动有边界,便于 review 和回滚。“运行验证命令”要优先使用项目已有测试,而不是让模型自称“逻辑正确”。“记录证据”则让人类接手时知道它到底验证了什么,没验证什么。
这就是 loop engineering 和“让 AI 自己一直跑”的区别:前者是在设计可控系统,后者只是把人工焦虑外包给模型。
2026 年为什么突然流行
Loop engineering 的流行,是几个趋势叠加后的结果。
第一,coding agent 的产品能力到了临界点。Claude Code、Codex、Cursor、Copilot、OpenCode 等工具都在从“补全和聊天”走向“多步任务执行”。当工具可以读文件、改文件、跑命令、接 CI、开 PR、使用浏览器和外部系统时,开发者自然开始思考:怎么让它们不只是响应,而是持续工作?
第二,开发者已经体验到“提示词驱动”的上限。Vibe coding 让原型开发变快,但也暴露出问题:上下文漂移、错误堆积、重复返工、测试缺失、代码质量不稳定。社区开始意识到,下一阶段的关键不是写出更玄学的 prompt,而是把 prompt 放进一个带验证和约束的工作流。
第三,社区出现了更激进的循环实践。Geoffrey Huntley 的 Ralph/Ralph Wiggum loop 就是典型例子:把 AI 的输出和错误不断反馈回自身,反复运行,直到软件接近正确结果。媒体报道里提到,他曾让 Claude 在一个 bash loop 中长时间运行来生成项目。这个案例有夸张、戏剧化的一面,但它确实抓住了 2026 年开发者讨论的核心问题:当 agent 可以连续运行很久时,真正稀缺的能力变成了如何设计循环、约束循环、审计循环。
第四,研究系统也开始把 loop、memory、skill 作为 agent harness 的基础部件。比如 GEMS 把 Agent Loop、Agent Memory、Agent Skill 作为多模态生成系统的三大组件;PARNESS 则强调不同研究场景需要不同形状的 workflow loop,而不是固定的线性管道。这说明“循环”不只是编码工具的 UI 现象,而是 agent 系统架构正在形成的共同抽象。
Loop 的七个部件
一个实用的工程 loop 通常有七个部件。
1. 目标:让 AI 知道什么叫完成
目标不是一句“优化这个项目”。好的目标应该包含结果、边界和验收方式。
差的目标:
| |
更好的目标:
| |
loop 能否可靠,很大程度取决于目标能否被验证。如果目标无法验证,AI 就只能用语言说服你。
2. 状态:让循环知道自己在哪里
状态包括当前计划、已完成步骤、失败记录、已读文件、关键决策、未验证风险。没有状态,loop 会反复探索同一片区域,或者在上下文压缩后忘记为什么做某个改动。
Agentic coding manifest 的研究也说明,CLAUDE.md 这类配置文件正在成为 agent 获取项目身份、操作规则和技术上下文的重要载体。它们把“每次都要手动解释”的内容变成持久状态,是 loop engineering 的地基之一。
3. 上下文:让模型看见必要事实
上下文不是越多越好。好的上下文应该分层:
- 项目级:架构、命令、编码规范、禁止事项。
- 任务级:需求、相关 issue、验收标准。
- 文件级:当前要修改的代码、测试、接口定义。
- 历史级:之前失败过什么、为什么放弃某条路线。
上下文工程和 loop engineering 在这里交汇。前者解决“给模型什么信息”,后者解决“在循环的哪个阶段给、给多少、何时更新、何时压缩”。
4. 工具:让 AI 能行动
没有工具的模型只能建议,有工具的 agent 才能执行。编程 loop 常见工具包括:
- 文件读写。
- 代码搜索。
- shell 命令。
- 测试和构建。
- git diff、commit、branch、PR。
- 浏览器或截图工具。
- issue、文档、日志、监控、数据库只读查询。
但工具不是越开放越好。能删除文件、推送代码、改数据库、访问生产凭证的工具,都必须有权限边界和人工确认。loop engineering 的重要工作之一,就是给 agent 配一套“足够完成任务,但不至于毁掉环境”的工具箱。
5. 反馈:让循环有客观信号
反馈是 loop 的燃料。没有反馈,agent 只是在自言自语。
最好的反馈是自动化、可重复、低歧义的:
- 单元测试、集成测试、端到端测试。
- 类型检查、lint、格式化检查。
- 构建结果。
- benchmark。
- 安全扫描。
- 页面截图对比。
- 日志中的异常栈。
- 人类 review 评论。
“测试失败 -> 读取错误 -> 修改 -> 再测试”是最经典的编程 loop。未来更强的 loop 会把产品指标、用户行为、性能数据、安全策略也接进来。但这会带来更高的风险,因为反馈信号越接近真实世界,错误行动的成本越高。
6. 约束:让 AI 不要乱跑
约束包括技术约束、行为约束和资源约束。
技术约束:保持兼容、不引入新依赖、不修改公共 API、不跨模块改动。
行为约束:先读再改、先计划再执行、不碰敏感文件、不要自动提交、不要删除数据。
资源约束:最多运行多少轮、最多消耗多少 token、最多改多少文件、连续失败几次就停。
很多失败的 AI 编程体验,不是模型不聪明,而是 loop 没有约束。agent 为了修一个小 bug,顺手重构半个项目;为了解一个测试失败,引入新框架;为了消除类型错误,把测试删了。这些都不是“智能不足”,而是控制面不足。
7. 退出:让循环知道何时停止
退出条件是 loop engineering 里最容易被忽视、但最重要的部分。
常见退出条件包括:
- 所有验收测试通过。
- 指定构建命令通过。
- diff 范围符合预期。
- PR 已创建并附带风险说明。
- 人工确认通过。
- 连续 N 次同类失败。
- 触达成本或时间上限。
- 发现需求矛盾,必须请求人类决策。
退出条件不是失败主义,而是工程成熟度。一个会停下来的 agent,比一个永远“继续尝试”的 agent 更值得信任。
从“人写提示词”到“人设计循环”
开发者角色正在变化。
过去,开发者像是在和模型聊天:提出问题、判断答案、复制代码、继续追问。
现在,开发者更像是在设计一个小型生产系统:定义任务入口,准备上下文,配置权限,指定验证器,观察运行日志,处理异常路径,最后 review 产物。
这并不意味着开发者不需要懂代码。恰恰相反,loop engineering 对工程判断的要求更高。因为 agent 可以更快地产生更多改动,开发者必须更清楚什么是好架构、什么是可接受风险、什么验证足以证明完成、什么情况下必须停机。
一个不懂工程的人也许能用 AI 做出 demo,但要让 AI 长期在真实代码库里可靠工作,必须有人设计 loop。
三种典型 Loop
1. 修 bug loop
适合错误可复现的场景。
| |
关键点是“复现命令”。没有复现命令,bug loop 很容易变成猜谜。
2. 功能开发 loop
适合边界清楚的小功能。
| |
关键点是把功能拆小。一次让 agent 做完整支付系统、权限系统、后台管理和 UI,很容易得到表面完整但内部松散的代码。更好的做法是让 loop 一次只推进一个可验证切片。
3. 重构 loop
适合已有测试较强的代码库。
| |
重构 loop 的第一原则是行为不变。没有测试基线时,不应该让 agent 大规模重构。否则它可能把“看起来更干净”误认为“确实更正确”。
如何搭建自己的 Loop Engineering 实践
可以从很小的地方开始,不需要一上来就做复杂 agent 平台。
第一步,在项目根目录写清楚 agent 规则。比如 AGENTS.md、CLAUDE.md 或工具对应的 rules 文件。内容包括项目结构、常用命令、编码规范、测试命令、禁止事项、提交规则。
第二步,把常见任务模板化。比如:
| |
第三步,为 loop 准备强反馈。没有测试就先补测试;没有 lint 就先接 lint;前端任务要接截图;性能任务要有 benchmark;文档任务要有链接检查或构建检查。
第四步,缩小权限。默认不要给 agent 无限制 shell、生产凭证、删除权限和自动 push 权限。先让它能读、能改、能测,再逐步开放更多能力。
第五步,要求它留下证据。每次完成任务,不只要“我做完了”,还要说明改了哪些文件、运行了什么命令、结果是什么、还有什么没验证。
第六步,定期复盘 loop 本身。哪些提示重复出现?哪些错误反复发生?哪些测试缺失导致 agent 误判?这些复盘结果应该进入项目规则、测试套件或自动化脚本,而不是永远靠人记住。
好 Loop 和坏 Loop 的区别
坏 loop 的典型特征:
- 目标很大,但没有验收标准。
- 每轮都让模型重新猜上下文。
- 没有测试,只有模型自评。
- 工具权限过大。
- 修改范围不受控。
- 失败后继续扩大改动。
- 没有成本、轮次和时间上限。
- 最后只给结论,不给证据。
好 loop 的典型特征:
- 目标小而清楚。
- 上下文从项目规则和相关文件中加载。
- 每步都有可运行验证。
- diff 可以被人类快速 review。
- 失败会收敛,而不是发散。
- 重要操作需要人工确认。
- 结束时有验证证据和剩余风险。
- 循环经验会沉淀到规则、测试或脚本里。
这也是为什么 loop engineering 不等于“开自动模式”。自动模式只是执行策略;loop engineering 是系统设计。
风险:AI 代码更快,也可能更快变坏
Loop engineering 的最大诱惑,是让人觉得“只要循环足够久,结果总会变好”。这只在反馈信号正确、目标稳定、工具可靠、搜索空间可控时成立。
如果反馈信号错误,loop 会优化错误目标。比如测试本身写错了,agent 会努力让错误测试通过。
如果目标模糊,loop 会不断补洞,最后做出一个谁都没真正要的系统。
如果上下文污染,loop 会把过时决策当成事实。
如果权限过大,loop 的一次误判可能造成不可逆损失。
如果成本不可见,loop 会把“省人工时间”变成“烧 token、烧 CI、烧 review 时间”。
所以成熟的 loop engineering 必须包含审计意识。你不是在雇一个永不疲倦的初级工程师,而是在运行一个会修改真实系统的自动化过程。自动化越强,证据链、权限边界和回滚能力越重要。
Loop Engineering 与未来的软件团队
未来的软件团队可能会形成新的分工。
产品或技术负责人定义目标和验收标准。
工程师设计 loop、维护规则、补齐测试、审查关键 diff。
Agent 执行大量重复但可验证的工作:迁移 API、补测试、修 lint、更新文档、跑基准、处理小 bug、生成 PR 草稿。
CI/CD 不再只是“代码提交后的检查”,而会变成 agent loop 的实时反馈器。
代码库里的文档、测试和规则,也不再只是给人看的材料,而是给 agent 读取和执行的操作系统。
这会带来一个反直觉结论:AI 越强,软件工程的基本功越重要。模块边界、测试质量、命令一致性、文档准确性、权限设计、日志可读性,这些过去看起来“啰嗦”的工程资产,会直接决定 agent 的生产力上限。
一份实用检查清单
在让 AI agent 开始一个 loop 前,可以问自己:
- 目标是否能用一句话说明完成状态?
- 是否有明确的不做范围?
- agent 需要读哪些项目规则和相关文件?
- 哪个命令能验证它做对了?
- 如果没有验证命令,是否应该先补测试?
- 它最多可以改多少文件?
- 哪些文件或命令禁止触碰?
- 连续失败几次必须停?
- 完成后需要输出哪些证据?
- 人类 review 的关注点是什么?
如果这些问题答不上来,就先不要开长 loop。先把任务缩小,把验证补上,把权限收紧。
结语
Loop engineering 的本质,是把 AI 编程从“会话技巧”升级为“系统工程”。
Prompt engineering 关注单次交互,context engineering 关注信息供给,loop engineering 关注一个自治过程如何在真实工程环境中持续接近目标。它不是让开发者退场,而是把开发者推到更高层的控制面:设计目标、约束、反馈和退出条件。
2026 年的 AI 编程社区之所以开始讨论 loop engineering,是因为大家已经越过了“AI 能不能写代码”的阶段,进入了“AI 如何在真实项目里长期可靠地工作”的阶段。
真正的分水岭不在于谁会写更漂亮的提示词,而在于谁能设计更可靠的循环。
参考资料
- Claude Code Overview
- Claude Code Common Workflows
- Dive into Claude Code: The Design Space of Today’s and Future AI Agent Systems
- On the Use of Agentic Coding Manifests: An Empirical Study of Claude Code
- GEMS: Agent-Native Multimodal Generation with Memory and Skills
- PARNESS: A Paper Harness for End-to-End Automated Scientific Research
- PC Gamer: Ralph Wiggum loop and autonomous coding
