如何在 2026 年构建你的第一个 AI 循环
上个月,两位最顶级的 AI 工程师说了同一件事。
Peter Steinberger,OpenClaw 的作者,现在在 OpenAI:
“你不应该再手动给编程代理写提示词了。你应该设计循环,让循环去提示你的代理。”
Boris Cherny,Anthropic 的 Claude Code 负责人:
“我不再手动提示 Claude 了。我有循环在跑,它们提示 Claude,自己搞清楚该做什么。我的工作是写循环。”
大部分人看到这话的第一反应:这到底什么意思?
更重要的是:我该怎么建一个?
这篇文章就是告诉你怎么做的。
不讲空头理论,代码配着上下文一起给。真实步骤,真实命令,复制就能跑。
Slate 正在调度 GPT-5.6、Claude 和专门的子代理,并行处理一个真实的迁移任务。模型变聪明了。但更大的变化是,像 Slate 这样的工具终于能让这些模型持续保持忙碌,而不是等着人来提示。
写提示词。等。看输出。手动修。再写一个提示词。
你就是那个循环。
每一步都要经过你。AI 等着。你决定。AI 再等。
你一停,所有东西都停了。
2026 年跑得最快的那批人,不是在写更好的提示词。
他们在搭系统,让系统替自己写提示词。
杠杆点变了。
从敲提示词,变成了设计循环。
GPT-5.6 没有让循环变得不需要。
它让循环变得更有价值。
模型越强,让它闲在两次提示词之间,代价就越大。
在终端工作流里,GPT-5.6 明显更擅长这些:
→ 理解大型代码库
→ 保持实现的一致性
→ 跟踪多步骤计划
→ 从失败的尝试中恢复
→ 扮演严格的验证者
结果不是“提示词写得更好了”。
而是每个任务需要的人工干预更少了。
简单说:
提示词回答一次就停了。
循环会一直干,直到活儿真的干完。
不是生成一个答案就算完。
是达到一个验证过的结果。
每个正经的 AI 代理,底层都跑着同一个循环:
→ 发现 — 有什么需要做? → 执行 — 去做 → 验证 — 真的成了吗? → 迭代 — 没成?修了重来 → 停止 — 条件满足,或撞到硬上限
Claude Code.Cursor.Codex.
底层都是这个循环。
提示词和循环的区别不在于模型。
在于有没有东西检查结果,然后一直干到通过为止。
大多数循环死在这里。
一个循环只有在 4 个条件同时满足时,才对得起搭建成本。
少一个,循环的成本就比收益高。
- 任务会重复。至少每周一次。一次性任务,一个好的提示词就够了。
- 验证是自动化的。得有个东西能在你不在的时候判定不合格。测试。Lint。构建。类型检查。没有门槛 = 代理给自己改作业。
- 你的 token 预算扛得住浪费。循环每次迭代都会重新读全部上下文。它们重试、探索、烧 token,不管最终有没有产出。这是没人提的成本。
- “完成”是客观的。测试通过或不通过。构建能编译或不能。不是“看起来不错”。如果“完成”需要人的判断,就别自动化。
4 条全过 → 建循环。
任何一条不过 → 用提示词。
说实话:大多数开发者暂时还不需要重型循环。但每个人都能用的是一个简单循环。我们马上就搭一个。
Slate 就是为这个场景设计的 AI 编程代理 — 在你的终端里跑长时间、并行、多步骤的任务。
RandomLabs 开发的。第一个专门为群体调度设计的代理。
跟 Claude Code 或 Cursor 有什么不同:
→ 每一步自动选合适的模型。用 Claude 做规划,用另一个模型搜索,用 Codex 执行 — Slate 自己决定。 → 跨代码库同时跑多个并行子代理 → 跨多小时的长会话自己管理上下文 → 跟你一起工作 — 不只是替你干活
一行装好:
进到你的项目里,启动:
这会打开 Slate 的 TUI — 一个终端界面,你在里面给它任务,看它干活。
在 Slate 能对你的项目跑循环之前,它需要先理解你的代码库。
在项目根目录建一个 AGENTS.md 文件。这是 Slate 每次会话开始时读的上下文。
Slate 启动时自动读这个文件 — 不用每次会话贴一遍。
在 Slate 里添加你的工作区目录:
也可以用 @ 提及直接引用具体文件:
在项目根目录建一个 slate.json,控制 Slate 的行为。
各配置含义: → “*”: “allow” — Slate 可以读写文件,不用每次问你 → “bash”: “ask” — Slate 跑 shell 命令前会先问你(在你信任它之前保持开着) → 模型配置 — 搜索用便宜快速的模型,主推理用贵的大模型
如果你想在 CI 或自动化场景里零交互跑:
在建循环之前,先确保手动跑一次是靠谱的。
这是最容易被跳过的步骤。也是大多数循环在生产中失败的原因。
给 Slate 一个真实任务:
看 Slate 怎么干活。它会:
- 搜索你的文件
- 建立对架构的理解
- 起草 ARCH.md
- 在停下来之前,对照你的要求检查一遍
这已经是一个迷你循环了 — 它在完成前会检查自己的输出。
再试一个更长的任务:
Slate 给出一个计划。你在此基础上迭代:
批准计划。Slate 自主执行。
Skill 就是你不用每次会话都重新解释一遍项目的方法。
写一次。Slate 在每次相关运行时读它。
建目录结构:
写技能:
在 Slate 里列出可用技能:
手动激活一个:
或者 Slate 在判断某个技能跟当前任务相关时,会自动激活。
代理会忘事。
文件不会。
在项目根目录建 STATE.md:

在 AGENTS.md 里加上这段,让 Slate 每次会话开始时都读它:
没有状态:每次都从零开始。
有了状态:每次接着上次的继续,持续积累。
现在你有了:
→ 工作区搭好了(AGENTS.md) → 配置设好了(slate.json) → 手动跑通验证过了 → 写了一个技能(ci-triage) → 状态文件建好了(STATE.md)
该把它包成一个真正的循环了。
方案 A:队列文件循环(最简单)
建一个 loop.md:

跑起来:
Slate 读队列文件,把每个块当作一条排队的消息来执行。
方案 B:无头/CI 循环(自动化)
在 GitHub Action 或 cron job 里非交互运行:
在 GitHub Actions 工作流里:
现在每次 CI 失败都自动触发分诊循环。
不需要人,除非要上报。
对任何循环来说,最重要的结构性改进。
永远不要让同一个代理给自己改作业。
写修复的模型当裁判太宽容了。
在 Slate 里,你可以给不同角色设不同的模型:
然后在任务里让 Slate 自然地用上这个分工:

Slate 自动调度这些子代理。
搜索代理用快速便宜的模型。实现代理用更强的模型。验证者用一个严格的模型,看不到实现者的推理过程。
这种分工就是 Slate 能在一个任务上跑 5 个并行子代理的原因 — 每个专门化,每个相互隔离。
对于跑几小时甚至几天的任务,在你的任务提示词里用这个模式:

每天早上跑一次:
–continue 会接着最近一次会话继续,而不是从头开始。
每天一条路由。STATE.md 记录一切。
循环精准地停在上次停的地方。
在 slate.json 里加自定义斜杠命令,让你的循环一键触发:
现在在 Slate 里:
每条命令瞬间跑你预先写好的循环提示词。
循环 1:CI 失败分诊(就是上面搭的那个)
什么时候跑:每次 CI 失败 做什么:分类 → 修简单的 → 上报难的 → 开 PR 状态:STATE.md 门槛:测试通过 搭建时间:30 分钟
循环 2:晨报
什么时候跑:工作日早上 7 点(cron job) 做什么:扫描过去 24 小时的提交、PR 和未关闭的 issue → 写一份 5 条要点简报 → 发到 Slack
循环 3:依赖升级循环
什么时候跑:每周一 做什么:扫描过期的包 → 测试兼容性 → 给安全的升级开 PR
在排任何定时任务之前,先了解这些。
Ralph Wiggum 循环
代理在活儿只干了一半的时候就宣布完成。
提前退出。循环还在默默地花钱。
修法:用一个新的模型来检查硬停止条件。

目标漂移
在长会话里,早期的约束会慢慢消失。
第 3 条消息里的“永远别碰 src/billing/”,到第 47 条消息就没了。
修法:加一个 VISION.md,Slate 每次会话开始时重新读。
自我偏好
制作者给自己改作业。永远给自己打通过。
修法:验证子代理完全看不到制作者的推理过程。
明确告诉 Slate:

代理偷懒
循环在部分完成时就说“差不多了”。
尤其是在成功标准模糊的时候。
修法:只用客观的停止条件。

几个让 Slate 在实践中跟其他代理不一样的地方。
干活时排队消息
Slate 正在跑一个长任务。你突然想到一件重要的事。
按 Tab 把消息排队 — 它在当前任务跑完后才执行,不打断。

中途纠偏
如果 Slate 走错方向了,你不用停掉它:
用 /enter-mode-next 在 纠偏 / 排队 / 打断 三种模式间切换。直接跑 shell 命令
在 Slate 会话里直接跑命令,不用切到另一个终端:

Slate 读取输出,用在下一步行动里。
团队场景的服务器模式
把 Slate 跑成服务器,从多个终端连上去:
适合跟 Slate 结对编程,或在远程机器上跑。
跑你的第一个真正的循环之前:
排任何定时任务之前,每一项都打勾。
漏一项,循环要么静默失败,要么白烧你的钱。
当你理解了这个模式之后,瓶颈就从“怎么搭循环”变成了“下一个该搭什么循环”。
当你在同一个地方看到 20 个跑着的循环,你就不会再想一次性提示词了。
两个 builder 跑完全相同的循环,结果可以完全相反。
一个用它来加速自己已经深入理解的工作。
另一个用它来逃避理解工作本身。
循环不知道两者的区别。
你知道。
设计循环比写提示词更难 — 不是更简单。
重点不是工作变简单了。
是杠杆点变了。
去搭循环。
但要像一个打算继续当工程师的人那样搭。
不是像一个只负责按启动键的人。
新的 GPT-5.6 不会取代这个原则。如果有什么影响的话,反而是强化了它。
前沿不再是谁能写出最聪明的提示词。
而是谁能围绕越来越强的模型,设计出最好的系统。
循环是什么:
→ 提示词 = 问题。循环 = 工作。
→ 发现 → 执行 → 验证 → 迭代 → 停止
4 条件测试:
→ 任务重复 / 验证自动化 / 预算扛得住浪费 / 完成是客观的
5 个搭建步骤:
→ AGENTS.md → slate.json → 一次手动跑通 → SKILL.md → STATE.md
然后包起来:
→ loop.md 队列文件 或 CI 里的无头 slate run
失败模式:
→ Ralph Wiggum(提前退出)/ 目标漂移(忘了约束)/ 自我偏好(制作者 = 检查者)/ 代理偷懒(差不多了)
Slate 的优势:
→ 每步自动选模型 → 并行子代理带隔离 → 长会话管理 → 你的循环,你设计
→ 转发给你认识的每个 builder → 关注 @sairahul1 获取更多这类系统内容 → 收藏这篇 — 光是搭建清单就值得存一份
我写 AI、做产品、以及你睡觉时也在跑的系统。

本文由 YouMind 自动从 Markdown 转换排版。