Harness Engineering 的执行核心是一种叫做 Ralph Loop 的编排模式
AI—>概率模型
AI agent处理复杂任务—>没有一个足够好的环境、约束以及反馈机制
Ralph Loop—>让AI持续工作直到真正完成—>解决AI编程助手"半途而废"问题的创新方法—》通过Stop Hook 拦截机制,让AI在未完成任务时无法退出,
通过文件系统、测试结果和Git历史形成自我参照的迭代循环—>专注于可验证任务的持续迭代修正,不依赖LLM主观判断
痛点:AI编程助手为何总是"半途而废
在使用AI编程工具时,开发者经常遭遇以下困境:
过早退出:AI在它认为"足够好"时就停止工作,而非真正完成任务
单次提示脆弱:复杂任务无法通过一次提示完成,需要反复人工干预
重新提示成本高:每次手动重新引导都在浪费开发者时间
上下文断裂:绘画重启后,之前的所有进展和上下文全部丢失
问题本质:LLM的自我评估机制不靠谱—>它会在主观认为"完成"时退出,而非达到客观可验证的标准
解决思路:让 AI 持续工作直到真正完成
Claude Code 社区诞生了一种极简但有效的范式——Ralph Loop(也称 Ralph Wiggum Loop):
bash命令
while :; do
cat PROMPT.md | claude-code --continue
done
核心思想:同一个提示反复输入,让 AI 在文件系统和 Git 历史中看到自己之前的工作成果
Ralph Loop 让大语言模型持续迭代、自动运行直到任务完成,而不在典型“一次性提示 → 结束”循环中退出。这种范式已经被集成到主流 AI 编程工具和框架中,
被一些技术博主和开发者称作"AI 持续工作模式"
Ralph Loop 让 AI 代理持续迭代直到任务完成
核心三要素:
明确任务+完成条件:定义可验证的成功标准
Stop Hook阻止提前退出:未达标时强制继续
max-iterations安全阀:防止无限循环
— 安装插件
/plugin install ralph-wiggum@claude-plugins-official
— 运行循环任务
/ralph-loop “任务描述” --completion-promise “COMPLETE” --max-iterations 50
任务描述例子:“为当前项目添加单元测试 Completion criteria: - Tests passing (coverage > 80%) - Output COMPLETE”
Ralph Loop 概述
不是简单的一次性运行,而是持续迭代直到完成任务
循环使用同一个prompt,但外部状态(代码、测试输出、文件等)在每次迭代后发生改变
需要明确的完成条件(如输出特定关键字、测试通过等)和合理的最大迭代次数作为安全控制
常规智能体的一个核心痛点是"上下文腐烂(Context Rot)"—>随着对话轮次的增加,LLM 对早期指令的注意力和精确度会线性下降
Ralph 循环通过“刷新上下文”解决了这一问题:
每一轮循环都可视作一个全新对话,智能体不再从臃肿的历史记录中读取状态
智能体直接通过文件读取工具扫描当前的项目结构和日志文件
这种模式将"状态管理"从 LLM 的内存(Token 序列)转移到了硬盘(文件系统)
确保Agent执行任务是否正确—>观测性
一个完整的可观测性站包含三层数据:
LOGS—>日志 发生了什么事?记录每一步的行为与结果,用于事后溯源
OTLP METRICS—>指标 系统健康状况如何?延迟、错误率、吞吐量等数字化度量
OTLP TRACE—>链路追踪 一次请求从头到尾经过了哪些环节?完整的执行路径还原
这三层数据汇入向量存储库,供 Agent 自主查询。整个推理链路如下:
Query 查询→Correlate 关联分析→Reason 推理原因→Implement Change→Re-run 验证
目标是自主定位问题、自主修复、自主验证—>这个闭环就是 Feedback Loop,是 Harness Engineering 的重点。
这套可观测性架构直接驱动 Agent 的代码修改行为:Agent 读到指标异常,分析 trace 找到根因,生成 PR,重启应用,重跑 workload,直到验证通过
约束先于能力—>好的架构不依赖人的自觉,而是用工具强制执行
渐进式披露的思想参考模板
project/
├── AGENTS.md ← 地图,约 50-100 行,只做导航
├── ARCHITECTURE.md ← 系统全貌,组件间的依赖关系
├── docs/
│ ├── design-docs/ ← 为什么这样设计
│ └── core-beliefs.md ← 团队工程价值观
├── exec-plans/
│ ├── active/ ← 正在做什么
│ └── completed/
├── tech-debt-tracker.md
├── references/ ← 工具文档(为 LLM 裁剪的版本)
└── FRONTEND.md ← 端层实践切分文档
三个维度,一个闭环
编码—>执行环境—>Ralph Loop保证Agent在受控的单步循环中执行,每步可验证,可回滚
研究—>观测系统—>可观测性栈让Agent的行为透明化,支持自主定位和修复问题
设计—>规范框架—>文档结构和工程原则把约束写入系统,而非依赖认为记忆自觉
找出 Agent 缺哪方面的知识或工具,然后给他补上—>这是 Harness Engineering 的日常工作。不是调模型,而是完善 harness(挽具)本身.
3 个帖子 - 2 位参与者