Skip to content
Back/Harness Engineering

ralph — Lightweight Harness Framework

View in Graph
Updated 2026-05-02
2 min read
432 words

ralph — Lightweight Harness Framework

来源:@wayne_zhang0 + @hylarucoder (社区实践), 2026-04-12;Addy Osmani 系统梳理, 2026-04-28

核心观点

ralph loop(又称 Ralph Wiggum technique)是长时间运行 agent 的最小可用实现。 核心洞察:agent 本身是 amnesiac 的,但 filesystem 不是。状态存在磁盘上,每次迭代从磁盘读取足够上下文继续工作。

ralph loop 机制

Addy Osmani 总结的七步循环(参考实现为 bash 脚本):

  1. 从任务列表(prd.json 或等效文件)中选取下一个未完成任务
  2. 构建 prompt:任务 + 相关上下文 + 持久化笔记
  3. 调用 agent
  4. 运行测试或其他检查
  5. 将执行结果追加到 progress.txt
  6. 更新任务列表(完成 / 失败 / 阻塞)
  7. 回到步骤 1

文件系统的三种角色

文件 角色 类比
prd.json 计划 产品需求文档
progress.txt 实验笔记 实验室记录本
AGENTS.md 滚动规则手册 操作手册

"The agent itself is amnesiac, but the filesystem isn't."

Compound Product 扩展

Ryan Carson 的 Compound Product 将单循环扩展为多循环链:

  • 分析循环 — 读取日报,提取洞察
  • 规划循环 — 输出 PRD
  • 执行循环 — 编写代码

这大致是 Anthropic planner-generator-evaluator 三角色架构的开源等价物。

为什么有效

ralph loop 有效的原因与所有 production harness 相同:

  • 状态活在 agent 上下文之外
  • 每次迭代都是冷启动 + 状态注入
  • 测试/检查作为硬 gate

Google 和 Anthropic 产品化的正是同一模式——只是增加了 recoverability、security 和 observability。

社区实践

AGENTS/CLAUDE.md 原则章节

海拉鲁编程客 (@hylarucoder) 分享在 AGENTS/CLAUDE.md 中添加"原则章节"指挥 coding agent 的经验:

## 原则

1. **代码仓库是唯一的记录系统**
   - 不在 repo 里的知识对智能体不存在
   - 讨论、脑中决策、外部文档——如果影响开发,必须落地为 repo 内的 versioned 文件

与 CLAUDE.md 配合使用

ralph 的设计理念与 Karpathy 的 AGENTS/CLAUDE.md 模式高度契合:

  • 简单明确的规则优于复杂配置
  • 代码即文档
  • 版本控制即记忆

适用场景

  • 快速原型开发
  • 个人/小团队项目
  • 多小时或隔夜任务(在 worktree 中运行,笔记本合盖不中断)
  • 需要精细控制 agent 行为的场景

Addy Osmani 的判断:"This is the path most people should take, and it's where the most leverage is right now."

Codex /goal:进程内的目标导向循环(2026-05-03)

来源:Codex 推出 /goal 功能,不达目标,不罢休

OpenAI 在 Codex CLI 0.128.0 中加入 /goal 命令,提供了一种与 ralph loop 不同的目标维持机制。

核心差异

维度 ralph loop(社区实现) Codex /goal
状态维持 每轮冷启动,靠 git + 进度文件交接 进程内持续循环,目标跨轮次保持活跃
类比 接力赛,每一棒换新人 马拉松,累了暂停但不换人
持久化 文件系统(progress.txt SQLite 数据库(进程重启不丢失)
完成判定 测试通过或人工检查 内置完成审计协议 + 预算控制

Codex /goal 的防护机制

  • 零工具调用抑制:一轮中 Agent 未调用任何工具,系统自动停止循环
  • 预算控制:token 预算 + 时间上限,超限时注入提示要求总结进展
  • 完成审计协议:每次续跑要求模型将目标拆解为可交付物、建检查清单、检查真实文件/输出/测试结果
  • 模型只能标记完成,不能暂停:防止模型"偷懒"自行暂停

关系:ralph loop 是社区最小实现,Codex /goal 是产品化版本。两者共享同一核心洞察——状态活在 agent 上下文之外——但 Codex 增加了恢复能力、预算约束和完成审计。

与 Managed Agents 的对比

维度 ralph loop Claude Managed Agents / Google Agent Platform
基础设施 本地 bash + JSON 托管运行时 + 持久化 session + SLA
恢复能力 手动 checkpoint 自动 wake(sessionId) 恢复
安全性 依赖本地隔离 沙箱 + 凭证隔离
可观测性 progress.txt 结构化事件日志 + 监控
适用阶段 个人/小团队 生产级托管产品

关联

Sources

Synthesized from 3 sources
  • AI 简报 2026-04-12Supporting source listed by this page.Whole pagemediumbody
  • Addy Osmani — Long-running AgentsSupporting source listed by this page.Whole pagemediumbody
  • Codex 推出 _goal 功能,不达目标,不罢休Supporting source listed by this page.Whole pagemediumabsorb log

Evolution

1 event
  1. absorbed

    Derived from source material

    This page is currently synthesized from 3 sources.

    From AI 简报 2026-04-12, Addy Osmani — Long-running Agents, Codex 推出 _goal 功能,不达目标,不罢休To ralph — Lightweight Harness Framework
    Sources: raw/briefing/AI Briefing/2026-04-12.md · raw/to-learn/Long-running Agents - Addy Osmani.md · raw/to-learn/Codex 推出 _goal 功能,不达目标,不罢休.md

Linked from