用 Stop Hook 继续循环任务
Self-Looping Stop Hook (Ralph Loop)
每轮结束后继续工作,遇到完成、阻塞或预算耗尽时明确退出。
以下示例与示意结果由本站编写,用于说明方法,不是模型实测结果。
使用场景
一个已存在的 Stop Hook 会在轮次结束后恢复本地修复任务。教学控制器有三轮预算和结构化状态,验收检查名为 regression-check。需要确认它根据证据结束,而不是一直追逐 Agent 自己输出的 DONE 字符串。
具体做法
在宿主控制器中定义继续与退出条件:complete 需要实际验收证据;blocked 记录缺少的必要输入;exhausted 表示预算耗尽。每轮更新状态和次数,控制器核对后才恢复或停止。退出时保留未决工作,不把停止、被阻或耗尽自动转换为完成。提示词只能描述契约,真正停止必须由外部机制执行。
反例
无论检查失败、输入缺失还是超过三轮,都让 Stop Hook 继续,直到 Agent 写 DONE 就宣布修复成功。
改进写法
按教学控制器契约读取结构化状态:regression-check 有匹配当前版本的通过记录才 complete;缺必要输入则 blocked 并写缺口;达到三轮仍未通过则 exhausted。只有仍在预算内且下一轮有可执行工作才恢复。退出保留尝试与未决项,不能凭 DONE 文本认定验收通过,也不让新会话重置轮数。
为什么这样改
任意完成字符串由被评估者生成,不能单独证明验收。结构化状态与外部检查把循环控制连到工作条件,使停止原因和任务结果分开可核对。
如何验证
教学模拟三条路径:检查通过→complete;输入缺失→blocked;三轮失败→exhausted。后两者都结束当前自动恢复并保留未完成,而不是完整成功。
检查实际控制器不会超预算,假写 DONE 但验收失败不会放行。本篇未配置真实 Hook。
适用边界
需要宿主支持且确实实现控制逻辑,提示词不能强制自身停止。三轮和状态名是教学约定,风险操作仍受授权边界;来源未确认,不能把 Ralph 名称当能力证明。
原文与版本
暂未找到可链接的原文。本文示例由本站编写,用来说明方法。
如何收录这些方法