q00/ouroboros · 2026 年收录
【开源自荐】Ouroboros:先把需求问清楚再让 AI 写代码的 Agent OS,顺便不让它「刷分」
Ouroboros 是一个开源的本地优先 Agent OS,核心主张是两件事:意图没想清楚之前,不让 AI 开始写代码;判分断言不进执行 agent 的 prompt,让它没法靠刷分过关。它坐在 Claude Code、Codex CLI
https://github.com/q00/ouroboros
被谁收录过
- [开源推荐] Ouroboros:一个不让 AI 看着答案写代码的 Agent OS 2026-08-09
- 【开源自荐】Ouroboros:先把需求问清楚再让 AI 写代码的 Agent OS,顺便不让它「刷分」 2026-08-09
投稿原文
项目地址:https://github.com/Q00/ouroboros
一句话介绍
Ouroboros 是一个开源的本地优先 Agent OS,核心主张是两件事:意图没想清楚之前,不让 AI 开始写代码;判分断言不进执行 agent 的 prompt,让它没法靠刷分过关。它坐在 Claude Code、Codex CLI 等 13 个编码运行时前面,把「写一句话就让 AI 开干」换成可复现的五段循环:苏格拉底式访谈 → 不可变规约 → 执行 → 自动验收 → 演化。
为什么做这个项目
AI 写不好代码,很多时候不是模型不够聪明,而是需求本身就是模糊的。
你说「做个任务管理 CLI」,它就自己猜数据模型、存储方式、优先级规则和 ID 生成策略。每一项都「不算错」,但都不是你想要的。等你 review 到第三个文件才发现方向不对,只能返工:写 prompt、被猜、返工,循环往复。
所以这个项目动的是输入侧:在意图足够清楚之前,不让它开始写代码。
和同类项目相比,最不一样的地方
现在「AI 编程工作流」类的项目不少。Ouroboros 把「什么时候可以开始写」和「什么时候可以停」都变成了数字,而不是感觉,并且认真处理了一个很少有人处理的问题:怎么防止 agent 学会刷分。
1. 访谈不靠「差不多了」结束,靠一个阈值
模糊度被量化成加权清晰度的反值:
Ambiguity = 1 - Σ(clarity_i × weight_i)
模糊度高于 0.2 会挡住规约生成——是挡住,不是锁死;绕过它的办法是显式传入强制(force),屏幕上一直摆着这个选项。演化循环那头,最近两代的本体相似度 ≥ 0.95 会判定收敛,但那不是唯一的出口——停滞、反复出现的同类反馈、以及 30 代预算耗尽同样会让循环停下来。两道数学关卡,README 里把背后的想法写成一句话:没想清楚之前不要写,没稳定之前不要停。
2. 评估三阶段递进,先便宜后贵
Mechanical(免费、确定性检查)→ Semantic → Multi-Model Consensus。能在第一层否掉的,绝不送去烧 LLM 判分的钱。
3. 不让 agent 看见判分标准
大多数框架会把验证命令和断言原样贴进 worker 的 prompt,动机很朴素:让它知道会被怎么检查。但 agent 一旦看得见断言,糊弄断言就永远比真正实现需求更省力。你以为在测能力,其实在测抄答案。
Ouroboros 的处理有两点:
- 两条泄露路径一起堵。正向路径不再渲染
verify_command/output_assertion。反向路径(失败原因里的断言repr()顺着重试 prompt 流回去)也用一个断言安全的提示构造器过滤掉,连命令输出那 2000 字符的尾巴都要过滤。堵住主路径、忘了日志尾巴,泄露口还是开着的。 - 不提供开关。「披露级别」的配置项被明确否决了。信息屏障一旦可以关掉,就会在某个赶进度的下午被关掉,而且没人会发现,因为分数看起来更好了。
那 agent 卡住了怎么办?给提示,不给答案。下一轮的指令是从这次会话实际做了什么重建的(工具调用轨迹、证据清单、验证器结论),而不是从断言里抄的。
4. 失败不是终点,但循环必须能停
被评估拒绝的结果会自动进入有预算上限的演化循环,下一代的力气集中在没通过的验收标准上(代码里把标准切成 active 和 frozen 两组)。但冻结是集中力气,不是保证已通过的不会再挂——另有回归检测器专门盯上一代通过、这一代却挂掉的标准。不冻结的循环会反复把做对的东西改坏,表现为分数在两代之间来回跳。循环自带震荡检测和等级回退检测,专门识破这种假收敛;预算耗尽才报 BLOCKED。
这部分的完整设计(含取舍和被否决的方案)写在 RFC #1917 里。
其他
- 支持 13 个运行时家族:Claude Code、Codex CLI、OpenCode、Gemini CLI、GitHub Copilot CLI、Kiro、Hermes、Pi、Zcode、Goose、GJC、Antigravity CLI、Grok Build CLI
- 本地优先,MIT 协议
- 中文 README:README.zh-CN.md
一行安装:
curl -fsSL https://raw.githubusercontent.com/Q00/ouroboros/main/scripts/install.sh | bash
装完后打开你的 AI 编码 agent,直接开始:
> ooo interview "I want to build a task management CLI"
它不会立刻写代码,而是先反问:数据存在哪里、命令边界到哪、任务 ID 怎么指定……这些答完了,才会生成规约并进入执行。
中文逐章指南
https://ouroboros.page/learn/zh/
安装、访谈、规约、执行、评估、演化、现有项目、故障排查、术语表、架构,一共 13 页,和英文版章节齐平。里面的每个数字都注了出处文件,你可以直接对着源码核。其中「故障排查」那章有 -32000 启动失败的处理,英文版目前还没有。