返回 FEED
AGENT2026-05-08

Long-Running Agent 需要的不只是 Ralph Loop

Jarrod Watts 花了几个月时间实测 Codex 的 /goal 功能,结论是:Ralph Loop 的原始形式(把同一个 prompt 循环跑)不够用。

他拆解了 Codex /goal 的实现原理,分析了它的三个核心缺陷,并给出了自己长期迭代出来的完整工作流。


Codex /goal 底层原理

Codex 的 /goal 功能基于 SQLite:

  • 创建一个 thread_goals 表,存储每个 goal 的 objective、id、status、token budget
  • 提供 get_goalupdate_goal 两个工具让 Agent 更新进度
  • 本质上是一个标准的 Ralph Loop(prompt 反复运行)+ 解决了 15 分钟需要人工确认的问题

问题不在实现,在架构。


三个核心缺陷

1. 歧义会累积(Ambiguity Compounds)

LLM 在 loop 中每次迭代的输出会成为下一次迭代的输入——这意味着歧义会随每次决策指数级放大

Agent 在完成一个任务时要做出无数个决策。在没有反馈的情况下,它做的决策可能和你的意图方向性不一致,然后所有后续工作都在这个错误方向上累积。

这和现实一样:如果你让别人建一个需求模糊的东西,你大概率拿不到你想象的结果。

2. 多角色系统优于单 Agent(Multi-Agent Mogging)

研究和实践都证明:orchestrator + subagent 架构比单个强 Agent 效果好

本质上是"水平扩展 token 消费"——不是让一个聪明的 Agent 花更多 token,而是让多个 Agent 协作花时间。

Jarrod 的实现:主 Agent 作为 orchestrator,每个任务分配一个实现者 + 一个审查者,两个 Agent 来回讨论直到都对质量满意。审查者的价值在于:它是用全新视角看这段代码的,不受之前上下文偏见影响。

Boris(Claude Code 创造者)很早就指出了这一点。

3. 跨上下文记忆(Cross-Context Memory)

Codex 的 loop 没有结构化的跨 context 记忆机制——每次开新 context,Agent 不知道之前做了什么决定。

Jarrod 的解法是在 planning phase 之后让 Agent 创建并维护四个文件:

  • GOAL.md:顶层目标
  • STANDARDS.md:不可妥协的代码质量标准
  • IMPLEMENT.md:工作流说明(多 Agent 审查、测试、验证等)
  • PROGRESS.md:持续更新的决策和进度日志

新 Agent 加入时读取这四个文件,快速对齐所有上下文。


Jarrod 的完整工作流

Phase 1:Setup Phase(关键前置环节)

在让 Agent 自由跑之前,投入大量时间做 rigorous clarification——类似 Matt Pocock 的"grill-me"skill。

具体动作:

  1. 用 interview skill 做严格的需求澄清
  2. 把 goal 拆解成 milestones(每个 milestone 是小而可完成的任务块)
  3. 这一步强制你自己想清楚"我到底要什么"

每一步几乎都会暴露你自己没考虑到的假设和细节。

这个步骤是整个流程中最最重要的环节——它修剪了决策树,把 Agent 之后会走的路限制在你想要的范围内。

Phase 2:带多 Agent 协作的 Long-Running Loop

  • 主 Agent(orchestrator)负责整体调度
  • 每个任务块分配实现者 + 审查者
  • 实现者完成 → 审查者 review → 来回修改 → 都满意后报告给 orchestrator
  • 配合 git worktrees 做并行工作

Phase 3:跨上下文记忆维护

每个 context window 结束后,更新 PROGRESS.md,新 Agent 加入时读取四个文件。


对比:Ralph Loop vs Jarrod's Workflow

维度Ralph LoopJarrod's Workflow
歧义处理无,在 loop 中累积Setup phase 前置澄清
架构单 AgentOrchestrator + Reviewer 多 Agent
跨上下文四个记忆文件强制维护
质量门控Reviewer Agent 双重确认

开源实现

Jarrod 把整套工作流做成了一个 SKILL.md,可以插入 Claude 或 Codex:

  • GitHub: jarrodwatts/long-running
  • 推荐搭配 GPT-5.5 xHigh + Codex App(内置 subagent 可视化)
  • 支持 git worktrees 并行化

和 Harness Engineering 的关系

这篇文章和 Martin Fowler 刚发布的 Harness Engineering 文章形成了有趣的互补:

  • Fowler 说的是框架:feedforward guides + feedback sensors + 人类掌舵
  • Jarrod 说的是具体实现:怎么在让 Agent 跑之前把 feedforward guides 建好(setup phase + 四文件记忆)

两者合在一起:setup phase = 建 harness,long-running loop = harness 在跑,reviewer = feedback sensor。