云聚 AI Token Plan 满 199 减 35 元
AI编程 · 架构思考 · 技术人生
DigitalOcean 开发者云

Loop Engineering 是 Harness 的局部命名

云聚 AI Token Plan 满 199 减 35 元

最近一个词在 AI 圈被反复提起:Loop Engineering,循环工程。01Coder(小木头)做了一期视频把这件事讲了一遍,原视频在文末。我看完顺手对了一下自己手里这一年的笔记,想说一句直接点的:它没那么新,但 Boris Cherny 给出的「三阶段」很值得对号入座一次。

一条推开始的转变

6 月初,PSPDFKit 作者 Peter Steinberger 发了一条推:你不该再用提示词来驱动智能体写代码,你应该去设计那些循环来驱动智能体工作。几天之内冲到了百万浏览。差不多同一时间,Claude Code 团队的 Boris Cherny 把话说得更直白:他自己已经不用提示词驱动 Claude Code 了,他有一堆 loop 在跑,是这些 loop 在驱动 Claude Code 自己决定该干什么。后来 Addy Osmani 写了篇 Loop Engineering 把这波讨论收拢成了一个词。

阿里云 OPC 一人公司创业装备库

Boris 的描述里有个三阶段,按”我现在在哪儿”的视角对号入座,比抽象讨论 Loop Engineering 是什么有用:

  • 第一阶段:手动驾驶。你手写代码,模型给你 Tab 自动补全。早期用 Copilot/Cursor 的状态。
  • 第二阶段:并行手动。你同时开 5 个、10 个 Claude 会话,每个都在干活,但每次对话都是你亲手发起的。你成了一个调度员,在好几个窗口之间来回切。很多重度用户现在就在这个阶段,我自己大概率也在这里。
  • 第三阶段:你不再发起对话。你写了一个系统,让它自己去读你的仓库、读 issue、读 CI 的失败,自己决定该用什么提示词驱动模型工作。你从 loop 里打字的那个人,变成 loop 的作者。

Loop Engineering 就是第三阶段:不再亲手写每条提示词,而是去设计那个替你写提示词的系统。

一个 loop 是由什么搭起来的

Osmani 把一个典型的循环系统拆成了 5 块加 1 根脊柱。值得记一下,因为它让”loop”这个抽象的词落到了具体的零件上:

  • 心跳:自动触发器。定时任务到点自己跑,自己去发现有什么活要干,不需要你手动驱动。
  • Worktree:多个 agent 同时工作时,各自待在隔离的分支目录里,互不踩对方的文件。像两个工程师各开各的分支。
  • Skill:把项目的规则、规矩写进一个 skill 文件。写一次,每个 agent 每次都会读。
  • 连接器(MCP):靠 MCP 把 agent 接到真实工具上,比如 issue 系统、数据库、Slack。有了它,agent 才不只是出一句”这是修复方案”,而是真的去开 PR、更新 ticket、发通知。
  • 子 agent:把写代码和审代码拆开。写代码的模型给自己作业打分时有时太宽容,所以另开一个 agent 来挑刺。
  • 脊柱:记忆。一个 markdown 文件、一块 Linear 看板,都行。把做过什么、试过什么、还差什么记在对话之外。agent 会忘,持久化系统帮它记住。

拼起来,一次循环长这样:早上心跳触发任务,调度一个分诊的 skill 去读昨晚 CI 的失败和最近的提交,每个能处理的问题开一个独立的 worktree,子 agent 修复,另一个子 agent 对照 skill 和测试审查,连接器把 PR 开出来、把 ticket 更新掉。搞不定的丢进收件箱等你来看,状态文件实时记录这一切。明天接着跑。

Osmani 说:这一圈下来你只设计了一次,中间每一步你一条提示词都没有打。

/goal 和 /loop 是两种不同的触发器

视频里有段演示我觉得讲清楚了一个我之前没特别区分过的点:/goal/loop 这两个命令的差别。

/goal条件触发:你给它一个可以判定真假的目标,它自己一轮一轮跑,每轮结束判断目标到没到,没到再跑一轮,直到达成自动收工。

/loop时间触发:按时间表盲跑,到点把你给它的那段提示词再跑一遍。它并不判断完成没完成,它只负责准时执行。这正好对应 Osmani 说的”心跳”。

01Coder 自己做的演示是一个非编程的 loop:每天用一个叫 verysmallwoods-research 的工具拉过去 24 小时的 AI 资讯,挑出能写成深度文的,追加进 inbox.md,再用一个叫 topic-score 的子 agent 给每条打分。--schedule 参数定工作日每天早上 8 点跑。

我觉得这个例子比”自动修 bug”更值得普通人看,因为它戳破了一个误解:loop 不是程序员专属。它的本质是让一个长期进程替你做重复的脑力活,写代码只是其中一种。

它不是新东西

这件事的位置,我自己的判断是:Loop Engineering 是 Harness Engineering 在「循环编排 + 心跳触发」这两个维度上的局部命名,不算独立的新范式。

Harness Engineering 这个词去年下半年就在用了,是围绕 LLM 的工程学科:Prompt Engineering → Context Engineering → Harness Engineering 三个同心圆,最外层包前两层,再加工具编排、状态持久化、错误恢复、验证循环、安全执行、生命周期管理。Akshay 总结过 12 个组件,Garry Tan 提过 Thin Harness / Fat Skills 架构,Anthropic 自己也发过 Ralph Loop 模式。CMU/Yale 合作的那篇 71 页综述把它拆成了 ETCLOVG 七层:Execution、Tooling、Context、Lifecycle、Observability、Verification、Governance。

Loop Engineering 这个词覆盖的,主要是 Lifecycle(生命周期/编排)这一层里的循环模式,加上 Execution 层里的心跳触发器。其他几层——记忆、上下文、可观测性、验证、治理——视频里都顺手提了,但不是这个词的主战场。

这个对位有什么用?两个:

一是不要被”范式转移”四个字唬住。Boris 那条推的”不要再用提示词驱动智能体,要去设计循环”读起来像一次根本转变,但实际上提示词没有消失,它只是从你手敲的位置挪到了 skill 文件和 loop 描述里。LangChain 的 Vivek Trivedy 早就给出了 Agent = Model + Harness 的干净定义:不是模型的,就是 harness。Loop 是 harness 的一种组装方式,不是它的替代物。

二是不要把循环本身当成银弹。视频里 Osmani 自己也说,最危险的姿态是舒舒服服地接受 loop 拖出来的一切。Loop 越快交付你没亲手写、没亲眼看过的代码,仓库里的东西和你脑子里真正搞懂的东西,差距就越大。

Anthropic 有个出了名的 Ralph 循环(来自 Geoffrey Huntley),特点是「锲而不舍永不放弃」,不停执行。它有个著名的失败模式叫 overbaking——发酵过头:你让它修个小 bug,它会跑很久很久,最后自作主张加上一堆没人要的功能,甚至把本来能编译的代码改坏。无人盯着的 loop,也是无人盯着地在犯错。

我自己反复在 CLAUDE.md 里写过一句话:搭好 harness、蒸馏出 skill、让循环自己跑,人扶方向盘,不站流水线。「扶方向盘」是关键,不是放手。

4 条 ROI 测试

视频后半段引了一篇文章,标题不留情面:多数开发者其实还不需要 agent loop。给了 4 条判断标准,决定一件事值不值得做成 loop:

  1. 这个活每周以上都会重复。一次性的活不值得做这套搭建。
  2. 验证能自动化。测试、类型检查、linter 这些能自己把坏结果挡掉的,不用你肉眼省的。
  3. token 预算扛得住,甚至扛得住浪费。loop 会反复读取上下文、来回试探,这些都花 token 花钱,不管最后代码用没用上。
  4. agent 手里有资深工程师那套工具。日志、能浮现问题的环境、能把自己写的代码跑起来看哪里崩了。

四条都满足,loop 才划算。

这条清单值得贴在墙上。我把它和自己 CLAUDE.md 里那条「先把问题改写成可验证系统再让 agent 跑循环」对照了一下,发现验证(第 2 条)是最难也最不能让渡的。/loop 命令本身没有验证义务——它「只负责准时执行」。验证得你自己设计进 skill 里,设计进子 agent 里,设计进每一轮跑完之后的检查里。

ETCLOVG 七层里那两层永远不会消失:Verification(验证)Governance(治理)。模型再强,可验证性和可审计性是你必须握在手里的东西。Loop 让交付变快,不让验证变容易。

我会怎么用

回头看我自己的工作流,其实已经有一个准 loop 在跑——只是我没把它叫 loop:每天晚上我会过一遍当天的剪藏和工作日记,挑出值得长期沉淀的,扔进 /ingest/distill 管道,落到 wiki/sources/wiki/analysis/。这件事每周以上重复(条件 1 满足),结果可自动校验(lint 命令查孤岛/矛盾/过期,条件 2 满足),token 不算贵(条件 3 满足),agent 手里有完整文件系统和我整理过的 skill(条件 4 满足)。

四条都过。下一步是把这件事从「我每天主动跑」改成「一个 /loop 替我跑,我只看产物」。最小可验证版本应该长这样:

  • 心跳:每天晚上 22:00 触发一次。
  • Skill:复用现有的 /ingest/distill
  • 输入:当天 raw/wiki-clips/ 新增的剪藏 + 当天日记的标题列表。
  • 输出:候选清单追加进一个 inbox.md,子 agent 按”信号密度”打 1-3 分。
  • 验证:lint 跑一遍,孤岛/矛盾报警;超过 3 个矛盾则丢进收件箱等我看。
  • 记忆:状态文件记今天处理了多少条、跳过了多少条、为什么跳过。

这就是 Loop Engineering 在我自己工作流里的样子。它不需要我学新东西,它只是让我把已经在做的事情,从手动调度变成系统跑。

视频原片在上方。Boris 三阶段和 4 条 ROI 测试是其中我觉得最值得记的两件事。其他细节看视频更直观。


阿里云函数计算 一键部署 AI 大模型
赞(0)
未经允许不得转载:Toy's Tech Notes » Loop Engineering 是 Harness 的局部命名
ReClaude Claude Code 合租
阿里云函数计算 一键部署 AI 大模型

Claude Code 合租 · KYC 封号全托管

官方又涨价又 KYC,封号还得自己重新折腾?ReClaude 拼车了解一下——200 / 400 / 800 / 1600 四档随便挑,账号、风控、切换全平台托管,触发风控自动换号不计次。

上车 4 人车 400/月查看四档套餐