Claude Code Loop Engineering:让 AI 在你睡觉时继续干活

从「写一句提示词让 AI 回答」到「让 AI 围绕一个目标持续推进、检查结果、记录状态」,从 Prompt 到 Loop 的演进是这两年 AI 编程领域最值得理解的范式变化。但很多用过 Claude Code 的人都会产生同一个疑问:Claude Code 不是已经有 /goal 了吗,为什么还要专门讲 Loop?也有人会追问,Loop 加 Prompt 到底比自己写脚本、再配一个定时任务(cron)强在哪里?

X 网友评论截图:Claude Code 内置的 /goal 指令不就够用了吗

本文基于 X 博主 Raytar 的长文,把 Prompt、/goal、Loop 和定时任务四种方式的区别讲清楚:它们各自适合什么场景,又该在什么时候用哪一种。

Raytar 在 X 上发布的 Loop Engineering 教程推文:别再自己当 loop,让 Claude 在你睡觉时继续工作

一个例子,看清 Prompt 与 Loop 的差别

假设你让 Claude 写一页关于某个主题的 brief。这是个很简单的任务——Claude 很快就会写出一篇看起来干净、完整、自信的东西,底部还会附上一堆来源。

Claude 生成的一页 brief 示意:正文工整,底部附有一串看起来权威的来源链接

然后你去读那些来源。有些是假的。Claude 编出来了,但它自己完全不知道。它们看起来像真的——链接可能打不开,或者打开之后,页面根本没有支持 Claude 写下的那些说法。

这就是 Claude 最安静、也最危险的坑法:它不是大张旗鼓地出错,而是用一种非常自信的方式给你一个看似完整的答案。单次 prompt 很难抓住这种问题,因为在你真正打开链接之前,Claude 仍然会相信自己是对的。

现在换一种方式。不要只让 Claude「写一页 brief」,而是把它作为一个 loop 来跑。同样是写 brief,但你给它加一个可以衡量的标准:

每一个 claim 至少需要三个来源;每一个链接都必须能打开,并且页面内容必须真的支持这个 claim。

这时发生的事情就不一样了。Claude 会先写 brief,然后它会逐个打开链接。它会把死链扔掉,把看起来真实、但其实不支持论点的来源扔掉,再去找真正可用的替代来源;接着继续检查,直到页面上的每一个来源都能打开、每一个来源都真的支持对应论断,它才停下来。它不会觉得无聊,也不会跳过那些烦人的小检查。

一句话总结这里的变化:你不是让 Claude 回答一次,而是给了它一个可以自我检查、可以反复推进、直到完成才停下来的工作方式。

到底什么是 Loop

Loop 是一个小系统。它会替你一遍又一遍地提示 Claude,直到一件事完成。不管一个 loop 看起来有多复杂,本质上都是五个步骤:

  1. 找到工作。比如打开任务列表、失败的测试、未读邮件,或者某个文件夹里的文件。
  2. 做这件事。Claude 像你手动做一样,一次处理一个任务。
  3. 检查自己。第二轮检查会确认这件事是真的完成了、是正确的,而不是「生成出来了」而已。
  4. 记住。它会写下哪些事情已经完成,这样就不会重复做,也不会丢掉进度。
  5. 再来一轮。继续重复,直到没有剩余任务,或者需要停下来通知你。

写 prompt,是你在亲自做工作(Prompting is doing the work)。
设计 loop,是你在管理一个工人(Loop engineering is managing the worker)。
这就是差别。

这不就是定时任务吗?

Cron job 与 Loop 的对比示意:cron 每天按时运行固定脚本不思考,loop 内部有决策者会观察、决策、行动、检查

这是一个很自然的问题。答案是:不是。你的电脑当然早就可以每天早上 8 点自动运行同一件事——这叫 cron job,它比我们大多数人都老。Cron job 运行的是一个固定脚本,每天一样的步骤、一样的流程,不思考。

Loop 不一样。Loop 里面有一个决策者。Cron 运行脚本,Loop 运行 Claude:Claude 会看当前情况,选择下一步动作,执行它,检查结果,然后再决定接下来怎么办——继续、重试、撤回、停止。中间那个「判断」才是重点。一个脚本看到测试坏了,很难自己想出另一种修法;Claude 可以。这件事之所以现在才开始变得可行,是因为 Claude 和 ChatGPT 已经足够强,可以在任务中间做真正的判断。

跑 Loop 的两个内置命令

Claude Code 中 /goal 与 /loop 两种命令的对比示意:/goal 做到完成才停,/loop 按节奏重复监控

很多人最容易错的地方在这里:你不是在普通聊天里输入一句「请循环执行这个任务」,就算做了一个 loop。Claude Code 里已经有两个内置命令,你要选哪一个,取决于你要跑什么类型的 loop。

/goal:一直工作,直到完成

/goal 是那种「直到完成才停」的 loop,前面写 brief 的例子其实就是 /goal。你输入 /goal,然后描述什么叫「完成」。Claude 会一轮一轮地工作;每一轮之后,另一个 Claude 会悄悄检查:现在达到目标了吗?如果没有,它会告诉第一个 Claude 还差什么,工作继续。一旦目标达成,loop 就会自己停下来。

每一轮之后的自检,正是一个真正 loop 和一次性 prompt 的区别:普通 prompt 是生成一次然后希望它没问题,/goal 是做一轮、检查、没完成就继续,直到完成。所以,当一件事有明确终点时,用 /goal——一直工作,直到这件事为真。

/loop:按节奏重复执行

/loop 适合的不是「完成一堆东西」,而是「盯着某件事」。你告诉它多久检查一次、每次做什么,然后 Claude 会按节奏重新运行。例如:

/loop 30m check whether my live site is back up by loading the homepage.
The moment it returns a normal page, tell me and stop checking.

这里的 30m 意思是每 30 分钟一次:它会每 30 分钟加载一下网站首页,一旦页面恢复正常,就告诉你,然后停止检查。你也可以直接说得更自然一点,比如「every morning, triage my inbox(每天早上整理我的收件箱)」,Claude 会把它安排成一个定期任务。

可以这样区分:当任务有终点时用 /goal;当任务没有终点、只是需要按某个节奏持续检查时用 /loop。大多数强 loop,都会从 /goal 开始。这些都是 Claude Code 里比较新的功能,如果你看不到这些命令,更新 Claude Code 就会出现。

一份可以直接复制的 Loop Charter

小任务,一个一句话的 goal 就够了。但如果是更大的任务、有很多步骤,你最好交给 Claude 一份完整的 charter(工作章程),告诉它:工作在哪里、该怎么做、怎么检查自己、怎么记住进度、什么时候停止。

把下面这个模板里的方括号补完,然后粘到 Claude Code 里:

You are running as a loop, not answering one prompt. Here is your charter.

GOAL
[Describe the finished state in one or two sentences.
Be specific about what DONE looks like, and make it something you can measure.
Example: "Every product page in /pages has the new pricing and every link opens."]

WHERE THE WORK IS
[Tell Claude where to look.
Examples: "Scan the /pages folder for files with old pricing."
Or "Read TODO.md and treat each unchecked box as a task."
Or "Check my connected task board for items tagged ai."]

HOW TO WORK
- Do one item at a time. Finish it fully before starting the next.
- Match the patterns you find in existing files. Do not invent new ones.
- If an item needs a decision only I can make
  (spending money, deleting things, emailing a person),
  stop on that item, add it to a "needs me" list,
  and move to the next one.

HOW TO CHECK YOURSELF
After each item, prove it is done before you mark it done.
[Pick what fits:
"run the tests" /
"re-read the file and confirm it meets the goal" /
"open the link and confirm it loads."
Checking means evidence, not confidence.]
If the check fails, fix it and check again.
Three tries per item, then log it as blocked and move on.

HOW TO REMEMBER
Keep a file called LOOP-STATE.md.
After each item, write the item name, its status
(done / blocked / needs me), what you changed,
and anything the next run should know.
Read this file FIRST every run so you never redo finished work.

WHEN TO STOP
Stop when every item is done or logged as blocked,
or when you have finished [N] items this run.
Then give me a short report:
what got done, what is blocked, what needs my call.

Start by reading LOOP-STATE.md if it exists, then find the work.

这里最不起眼、但最重要的是状态文件 LOOP-STATE.md。它是这个 loop 里的安静英雄——没有它,每一次运行都像从零开始;有了它,loop 就能知道自己上次做到哪里了,哪些已经完成、哪些卡住、哪些需要你来决定。即使它是在定时任务里运行,也可以接着上一次的进度继续。

什么时候不要做 Loop

Loop 不是免费的,也不是所有任务都适合。开始之前,有三件事要诚实面对。

  • 一次性任务不需要 loop。如果你只是要一个单次答案,普通 prompt 更快。Loop 的设置成本,只有在任务重复、或者任务有很多部分时才值得。
  • loop 成本更高。一个会检查自己、会重试的 loop,通常会为每一个任务运行 Claude 好几次。如果你用的是 Claude 订阅计划,可能会更快碰到使用额度上限。
  • 模糊任务不适合 loop。比如「Think of a better product strategy(想一个更好的产品策略)」,这不是一个 loop。你得先把真正的目标想清楚——因为 loop 需要的是一个可以衡量的完成状态,如果你自己都说不清什么叫「完成」,Claude 也没办法可靠地循环下去。

四种方式,一张表看清取舍

把前文四种方式并排放在一起,取舍会更清楚。它们的差别本质上是「谁来决策、跑几次、有没有终点」:

方式 本质 跑几次 是否自我检查 典型场景
单次 Prompt 你亲自做一次 一次 无,生成完即结束 问一个问题、要一段文字
/goal 管理一个工人,做到完成 多轮,直到达成 有,每轮另一实例检查 有明确终点的多步任务(如写带可验证来源的 brief)
/loop 按节奏重复跑 持续,按间隔 有,每次执行后判断 无终点的监控(如网站恢复、收件箱整理)
定时任务(cron) 运行固定脚本,不思考 持续,按时间表 无,照流程执行 每天一样的固定步骤、确定性流程

一句话归纳:有明确终点用 /goal,要持续监控用 /loop,流程完全固定且可预测用 cron,只想问一次就用普通 Prompt。真正的 Loop Engineering,核心不是用某个命令,而是把一个模糊目标拆成「可衡量的完成标准 + 自我检查 + 进度记忆」三件事交给 AI。

这周就可以开始

找一个你一直手动重复做的任务,最好是那种有很多小步骤、很烦、但又可以检查结果的任务。把上面的 charter 粘进去,填好方括号,先跑一次,并且全程看着它做。等你信任它之后,再把它放到定时任务里。

第一次你醒来,发现某件事已经在夜里自己完成了,你就会停止一条条写 prompt。就像 Boris 一样。

不要再自己当 loop。
让 loop 替你提示 Claude。

Boris 在 X 上分享的推文:醒来时发现任务已经在夜里自己完成

返回博客列表

来源信息

本文基于微信公众号 Datawhale 发布的《教你让 Claude Code 在你睡觉时继续干活!》(作者:X 博主 Raytar)改写。原文围绕 Prompt、/goal、Loop 与定时任务的取舍展开,并提供了可直接复制的 Loop Charter 模板。点击下方链接可阅读原文。

阅读原文:教你让 Claude Code 在你睡觉时继续干活!(微信公众号 Datawhale / 作者 Raytar)