AI Engineering

循环驱动开发来了:Loop Engineering 真正改变的是工程师对 Agent 的控制方式

Loop Engineering 真正值得讨论的,不是“让 AI 多跑几轮”这么简单。它标志着 AI 编程从提示词时代进入编排时代:工程师不再只写一句 prompt 等答案,而是在 Agent 外面设计一个循环,让任务被领取、执行、检查、修正、再次执行,直到达到停止条件或者暴露出需要人类介入的问题。

这听上去像效率工具的自然进化,但它对软件工程的影响要更深。过去我们把软件看成确定性机器:需求明确,工程师设计结构,代码表达意图,测试验证行为。循环驱动开发把这个过程改造成半自治系统:代码不再只是人类意图的结果,也可能是多个 Agent 会话反复试错、局部修补、自我解释之后留下的沉积物。

这不是纯粹的好事,也不是纯粹的坏事。它会在移植、性能探索、批量修复、机械重构和长尾维护中释放巨大生产力;也可能在核心系统里制造过度防御、局部补丁、抽象污染和人类不可理解的代码层。关键问题不是要不要循环,而是什么任务允许循环、循环如何验收、什么时候必须停止。

Agent 内部循环和外部循环不是一回事

每个编码 Agent 内部本来就有循环:读文件、调用工具、编辑代码、运行测试、根据错误再修改。这个循环通常由模型自己驱动,直到它认为任务完成。Loop Engineering 讨论的是更外层的循环:一个编排层持续观察 Agent 的结果,决定是否继续同一会话、注入新指令、重启新上下文、换另一个 Agent,或者把任务退回队列。

差异在于控制权。内部循环容易被模型自己的完成感终止;外部循环可以把完成标准放在模型之外。比如测试是否全绿、性能是否提升到目标、diff 是否只触及允许范围、日志是否无新增错误、浏览器视觉是否符合预期。这些标准不是“模型觉得可以了”,而是系统性验收。

循环最擅长的,是人类不想重复但标准清楚的事

循环驱动开发在两类任务上特别强。第一类是目标明确、反馈机械的任务:代码迁移、依赖升级、lint 修复、测试补齐、接口适配、性能 benchmark 迭代。Agent 可以反复尝试,工具给出明确反馈,失败路径可以继续收敛。

第二类是搜索空间大但验收可量化的任务:性能优化、构建体积压缩、提示词评测、爬虫鲁棒性、UI 回归修复。人类未必知道最佳路径,但知道什么叫更好。循环可以在候选方案之间探索。

它不擅长的是标准本身含混、代码结构价值高、领域不变量复杂的任务。比如核心数据模型、权限系统、计费逻辑、长期架构边界。这里的问题不是 Agent 不会写代码,而是它很容易用局部防御替代强不变量,用更多 if/else 掩盖设计没有收敛。

真正危险的是“看起来更稳”的局部防御

很多模型面对异常状态时,会本能地添加保护:如果字段为空就跳过,如果格式不对就兼容,如果接口失败就 fallback,如果状态奇怪就继续。短期看,测试可能通过了;长期看,系统把本不该存在的状态合法化了。

优秀工程里的强不变量,常常来自拒绝表达错误状态:数据库约束、类型系统、协议边界、状态机、唯一入口、失败即停止。循环驱动的 Agent 如果没有被明确要求维护这些不变量,就会倾向于把问题局部消化。跑得越久,补丁越多,代码越像被一层层创可贴包住。

人类理解仍然是上线边界

“未来代码不需要人类理解”是一个诱人的说法,但至少在今天,它不适合作为生产系统的默认前提。只要系统还需要排障、审计、安全响应、合规解释、成本控制和团队交接,人类理解就仍然是上线边界。

循环可以生成代码,但不能替团队承担责任。一个可接受的循环输出,应该能回答:为什么这样改,哪些不变量被保留,哪些风险被排除,哪些测试覆盖了关键路径,哪些行为没有被改变。如果回答不了,就算测试暂时通过,也不应该直接进入核心代码。

Loop Engineering 的工程化用法

  1. 先定义停止条件:测试全绿只是最低标准,还要包括 diff 范围、性能目标、错误日志、回归截图、代码复杂度和人工审查点。
  2. 把任务分级:机械任务允许长循环,核心架构任务只允许短循环加人工复核。
  3. 限制循环预算:最多迭代几轮、最多花多少钱、最多改多少文件、失败后是否换模型或停机。
  4. 要求解释不变量:每轮关键修改后说明保持了哪些约束,而不是只说明修了什么报错。
  5. 保留可回滚性:循环必须在版本控制、测试快照和部署边界内运行。

结论:工程师的新工作不是写循环,而是给循环立法

Loop Engineering 会成为 AI 编程的重要方向,因为它把一次性生成变成了持续改进。但真正稀缺的能力不是让 Agent 多跑几次,而是设计循环的边界、反馈和责任链。

未来的软件团队里,工程师会越来越多地编写“工作系统”:任务如何进入队列,Agent 如何执行,什么信号代表失败,什么证据代表完成,什么时候必须停下来找人。循环会提高产能,但也会放大坏标准。能守住质量的团队,不是最敢放手的团队,而是最会定义循环规则的团队。