乐于分享
好东西不私藏

从 Prompt 到 Loop:AI 工具真正改变工作的地方,到底在哪

从 Prompt 到 Loop:AI 工具真正改变工作的地方,到底在哪

过去两年,大家都在研究 prompt。

怎么写更准,怎么写更像咒语,怎么让模型“一次就懂”。

但现在,很多真正把 AI 用进工作流的人,关注点已经变了。

他们不再只问“这句话怎么写”,而开始问一个更现实的问题:

这件事,能不能交给 AI 自己往下做?

做到哪一步该停,出了错怎么办,什么时候必须叫人回来拍板。

这就是最近越来越多人开始谈的东西:Loop Engineering


正文

这两年聊 AI,最容易聊偏的一件事,就是大家总把注意力放在 prompt 上。

仿佛只要提示词写得够巧,模型就会突然开窍,工作也会自动完成。

这想法不能说错,但确实只说对了一半。

因为模型能力已经变了。

它不只是会回答问题。它会读文档、会搜代码、会调工具、会写文件、会跑命令、会补测试,甚至还能把任务拆开,分给不同 agent 去做。

能力一变,工作方式就会跟着变。

所以现在更关键的问题,已经不是“这句话怎么问”,而是:

这件事,能不能交给 AI 连续做下去?

说得更直接一点,loop engineering 研究的不是提问技巧,而是怎么把一份工作设计成一个闭环。

这个闭环里,AI 不是只回你一句话,而是会按步骤往前推进:先理解任务,再看上下文,再动手,再验证,再修正,最后把结果交回来。

这就是它和 prompt engineering 的根本区别。

Prompt Engineering 更像单轮沟通。
Loop Engineering 更像流程编排。

前者在意的是一句话怎么写。
后者在意的是整件事怎么跑。

Loop 分层手绘配图

很多人到这里会再问一句:那 harness 又是什么?

我更愿意把这三个词拆成三层来看。

第一层是 prompt

它负责沟通。你要把目标、约束、输出格式说清楚。没有这一层,模型连方向都抓不住。

第二层是 harness

这个词经常容易被说得很玄,其实它更像模型外面那层执行骨架。工具调用、权限控制、沙箱、日志、测试、规则文件、检查点、回滚能力,这些基本都算 harness 的一部分。

没有 harness,模型顶多会说。

有了 harness,它才算有手有脚,也有护栏。

第三层才是 loop

它负责把整件事串起来:什么时候先侦察,什么时候执行,什么时候验证,什么时候停,什么时候交给别的 agent,什么时候必须把决定还给人。

所以这三者不是对立关系,也不是谁取代谁。

它们更像一套分层配合。

  • prompt 负责把话说清楚
  • harness 负责让系统跑起来,而且别乱跑
  • loop 负责把任务真正变成一个闭环

如果你只有 prompt,没有 loop,那更像聊天。
如果你有 harness,没有 loop,那只是工具箱。
如果你硬做一个 loop,但 prompt 和 harness 都很弱,结果通常也不会稳定。

真正好用的 agent 工作流,三层都得有。

这个时候,讲概念其实已经差不多了。更有用的是看一个具体例子。

举例说明

拿一个很常见的开发任务来说:给一个现有项目接入 GitHub OAuth 登录。

先配置好Harness

这件事不算大,但也绝对不是一句“帮我加个登录”就能稳稳做完的。

它至少会牵涉后端鉴权、前端入口、环境变量、回调地址、异常处理、测试,还有最后的人类 review。

如果只用 prompt,很多人的起手式会很简单:

“帮我加 GitHub OAuth 登录。”

模型当然能开始干。

但问题也马上来了。

它不知道你项目里有没有现成鉴权层,不知道测试怎么跑,不知道环境变量从哪注入,也不知道哪些目录不能动。

这就是为什么,loop engineering 的第一步,往往不是改代码,而是先把长期上下文固定下来,这里需要的就是harness来负责不让我们的代码跑偏,代码一致性,不至于这里请求用的是fetch,别的地方使用的axios。

在 Codex 里,你可以通过仓库里的 AGENTS.md 告诉它怎么理解代码库、该跑什么测试、遵守什么项目约定。OpenAI 官方介绍里也提到,Codex 的任务会在独立环境里执行,能读写文件,也能跑测试和命令。

在 Claude Code 里,这一层通常落在 CLAUDE.md。Anthropic 官方文档建议把代码风格、测试命令和工作流规则写进去。它还区分了 CLAUDE.md 这种建议性上下文,和 hooks 这种必须执行的确定性动作。

在 Cursor 里,这层更直接。.cursor/rulesAGENTS.md、skills、subagents 这些机制,本质上都在帮你做一件事:把默认规则提前塞进系统,而不是每次重新解释一遍。

侦察

接下来才是 loop 的第二步:先侦察,不急着写。

一个稳定的 loop,通常不会上来就改代码。

它会先让 agent 看清局面:项目里有没有现成鉴权中间件?OAuth 工具是否已经接过?前端登录页在哪?环境变量从哪里走?测试是 Jest、Vitest 还是 Playwright?

这一步特别适合拆给独立 agent。

在 Claude Code 里,官方文档很明确地建议用 subagent 去做代码探索和独立复查。

在 Cursor 里,subagent 也能用独立上下文去跑,甚至可以后台执行,不把主线程塞满。

在 Codex 里,思路也差不多,只不过它更像把侦察任务本身当成独立任务派出去,跑完再把日志和测试证据带回来。

所以一个更像样的 GitHub OAuth loop,通常不会是“直接做”,而是先分出发现阶段:

  • 一个 agent 查现有 auth 结构
  • 一个 agent 查前端登录入口和 UI 复用点
  • 一个 agent 查测试和环境配置

通过和AI的对话,来帮你梳理清楚目前项目的结构,技术方案,定义好任务的成功和失败,以及容错机制,比如设定如果三次不通过就跳到下一个任务,在progress.md中记录好进度。

最后的文档类似这样:

文档

先把地图画出来,再开始施工。

Loop 工作流手绘配图

执行

第三步才是执行,而且执行也不该只靠一个 agent 闷头干到底。

比如这个任务,完全可以拆成三段:

  • 一个 agent 只管后端登录流和回调
  • 一个 agent 只管前端入口和错误提示
  • 一个 agent 只管补测试和检查回归风险

你会发现,loop engineering 真正改变的,不是“AI 更聪明了”,而是你的任务不再只有一条单线程。

以前你更像在聊天框里来回拉扯。

现在你开始像在调度一个小团队。

当然,最容易被忽略,也是最重要的一步,还是验证。

这一步不能省。

很多人一说 agent,就容易想象成“它自己做完,我来收货”。

实际不是。一个没验证环节的 loop,很容易稳定地产出错结果,而且错得很勤快。

这时候 harness 的价值就体现出来了。

Codex 会给出终端日志和测试输出,方便你核验它到底做了什么。
Claude Code 有 checkpoints,可以在试错后回退,也可以再起一个 subagent 做独立复查。
Cursor 除了 checkpoints,还有 Bugbot 这种针对 PR diff 的审查流,必要时还能继续拉起 cloud agent 去修。

这时候就可以启动loop工程了。在Cursor或者Claude Code中,可以通过,意思就是3分支执行一次循环,来检查一下任务是否完成了,完成了就到下一个,直到测试通过,目标达成,完美交付。

/loop 3m 
loop excute

在Codex中可以设置goal来完成。

总之就是达到目的才停止任务。

一个完整的 loop,到这里至少应该回答清楚几件事:

  • 功能测试过没过
  • 类型检查过没过
  • 有没有超出任务范围的改动
  • 有没有安全和边界问题
  • 有没有必须由人类拍板的地方

注意,这不是对 AI 不信任。

恰恰相反。

正因为你开始把它当成真的执行者了,它才更应该进正式流程,而不是停留在“感觉差不多就行”。

说到这里,很多人其实会有点紧张。

是不是以后不会写 prompt 的人就掉队了?
是不是以后不会带 agent 的人就很危险?
是不是 AI 工作流一升级,普通人就更难跟上了?

我觉得没必要先把自己吓到。

因为 loop engineering 真正改变的,不是“人没用了”,而是“人做的那层事情变了”。

以前你可能更像操作员,一句一句盯着改。
以后你更像负责人,决定目标、约束、节奏、验收和风险边界。

别焦虑手绘配图

这其实不是一件坏事。

团队里真正稀缺的能力,从来都不只是写出一段代码,或者写出一句漂亮 prompt。

真正稀缺的,是这些东西:

  • 什么问题值得做
  • 怎么拆才不会失控
  • 哪些地方能自动化
  • 哪些地方必须人工接管
  • 什么时候该继续跑
  • 什么时候必须踩刹车

这些能力,本来就是人的长项。

所以别把 Loop Engineering 理解成一个必须立刻掌握的新名词,更别把它当成一种新的焦虑来源。

它更像是把你原本就熟悉的工程习惯,重新装回 AI 工作流里。

你以前会写规则、会分任务、会做 review、会设测试门槛。现在只是多了一个执行者,而这个执行者需要你把流程讲清楚。

说到底,变化不是“会不会提问”。

而是你能不能把一件工作说清楚、拆清楚、盯清楚、收清楚。

prompt 当然还重要。
harness 当然也重要。
但真正让 AI 开始像同事,而不是像聊天机器人,靠的是 loop。

这才是下半场。

这里以Cursor为例子,比如在

结尾

我们真正需要的,不是一个更会说话的 AI,而是一个真的能把事情做下去的系统。

参考链接

  • OpenAI:Introducing Codex[1]
  • Claude Code 官方文档[2]
  • Cursor Rules 官方文档[3]
  • Cursor Subagents 官方文档[4]
  • Cursor Bugbot 官方文档[5]

References

  1. OpenAI:Introducing Codex: https://openai.com/index/introducing-codex/
  2. Claude Code 官方文档: https://code.claude.com/docs/en/best-practices
  3. Cursor Rules 官方文档: https://cursor.com/docs/rules.md
  4. Cursor Subagents 官方文档: https://cursor.com/docs/subagents.md
  5. Cursor Bugbot 官方文档: https://cursor.com/docs/bugbot.md