Miguok/fable-harness

GitHub: Miguok/fable-harness

Fable Harness 是一套注入 Claude Code 的行为协议,通过 OODA 循环、多方对抗性审查、模型路由和 TDD 验证门控,让 AI agent 在开发过程中始终保持严谨、可验证的工作流程。

Stars: 163 | Forks: 28

# Fable Harness **English**  ·  [繁體中文](README.zh-TW.md)  ·  [简体中文](README.zh-CN.md)  ·  [日本語](README.ja.md)  ·  [한국어](README.ko.md) ![版本: 1.0.1](https://img.shields.io/badge/version-1.0.1-blue.svg)   ![许可证: MIT](https://img.shields.io/badge/License-MIT-yellow.svg) ## 它是什么 Fable Harness 是一个小型套件——包含几个 hook、一个 skill 和一些子 agent——它会自动注入到每个 Claude Code 会话中。它不会教 Claude 新把戏。它只是确保 Claude 每次*遵循严谨的流程*:在回答之前收集证据,声明假设而不是猜测,在相信自己的重大结论之前先对其进行挑战,并展示真实的证据(而不仅仅是“在我看来不错”)来证明更改确实有效。 把它看作是一个行为底板,而不是一个框架。它不会规划你的 sprint 或运行你的 CI pipeline——它只是让 agent 在工作时保持诚实、谨慎和可验证。 ## 为什么需要它 这个套件提炼自 Fable(Anthropic 的 Fable 模型)的第二次公开发布——也就是该模型处理任务时那种谨慎、严谨的方式。这个套件没有将这种严谨性锁定在一个模型内部,而是将其提取为一个可重用的协议,并用它来强化围绕 Opus(以及其他 Claude 模型)的工作套件,这样无论当前是哪个模型在驱动,它们在一次又一次的会话中都能以同样严谨的方式运作。 坦白说它的局限性:hook 和 skill 只能移植*流程*(先观察、声明假设、交叉质询结论、要求验证证据)——而无法移植模型天生的判断力。但在实践中,agent 行为中“优秀”与“草率”之间的差距,大多数是因为跳过了流程,而不是缺乏判断力。这就是这个套件所要弥补的差距。 ## 工作原理 - **OODA 循环** —— 在回答之前,Claude 会收集证据(搜索/读取实际文件,绝不凭训练记忆猜测),大声说出它的假设,将任务转化为可验证的内容(“让它能工作”是远远不够的),然后进行微小的更改并逐一检查。 - **多方对抗性审查** —— 这是该套件的招牌动作。在相信一个重大结论(架构决策、根因诊断、任何可能影响生产环境的因素)之前,Claude 会*并行*派发三个独立的“反对派”子 agent,每个负责不同的工作:一个负责寻找逻辑漏洞的**质疑者**,一个负责寻找安全和失败风险的**红队**,以及一个负责寻找不必要过度工程的**简化者**。只有当这三个 agent 中多数“经受住”挑战时,该结论才会被信任。 - **模型路由** —— 推理、架构和根因工作留在当前驱动的模型上;编码和重构被路由到 Sonnet;批量文件处理、搜索和文本清理被路由到 Haiku。为任务分配合适大小的模型。 - **完成定义 (TDD)** —— 如果更改涉及实际逻辑,它需要一个自动化测试,以及修复前测试失败、修复后测试通过的证明。仅凭目测输出或随便加个 `console.log` 不能算作验证。 - **如实报告** —— 任何报告的第一句话必须是实际结果(而不是铺垫);失败被如实报告为失败,不会加以粉饰。 ## 包含内容 | 组件 | 文件 | 功能描述 | |---|---|---| | 行为协议 | `.claude/hooks/fable_protocol.md` + `inject_protocol.sh` | 在每次会话开始时注入 | | 每轮次提示 | `.claude/hooks/prompt_nudge.sh` | 在每条用户消息上注入的一行提醒 | | 验证门控 | `.claude/hooks/verify_gate.py` | 阻止 agent 在更改了代码却从未运行测试的情况下结束轮次(仅阻止一次——允许第二次尝试通过) | | 对抗性审查 | `.claude/skills/adversarial-review/` | 定义上述三方对手审查流程的 skill | | 反对派 agent | `.claude/agents/{skeptic,red-team,simplifier}.md` | 对抗性审查中使用的三个独立子 agent 角色 | | 模型路由 | `CLAUDE.md` | 上文描述的路由表 | | 套件检测器 | `scripts/detect_harness.py` | 只读检查,用于确认项目是否已有自己的开发套件(例如 harnessmith、Superpowers),以便 Fable 知道退居其次,仅守住底线 | | 治理文档 | `diagnostics.md`, `model_dispatch_rules.md`, `cognitive_rubrics.md`, `future_session_letter.md` | 已知的失败模式、子 agent 分发模板、何时该减速的规则,以及跨会话交接记录 | ## 快速开始 克隆此 repo,然后只需告诉你的 Claude Code:**“按照 INSTALL.md 安装 Fable Harness。”** Claude 会阅读指南并自行安全地进行安装(先备份,绝不覆盖你现有的设置)。有关具体操作细节,请参阅 [INSTALL.md](INSTALL.md)。 ## 版本控制 此套件遵循 [语义化版本控制](https://semver.org/) —— `MAJOR.MINOR.PATCH`,从 **1.0.0** 开始: - **MAJOR** —— 对协议契约的破坏性更改(移除或重命名 hook/skill/agent,或对协议注入方式或 agent 分发方式的不兼容更改),需要用户重新安装或更改其设置。 - **MINOR** —— 向后兼容的新增功能(新的 hook、skill、agent 或治理规则),现有安装可以继续与之协同工作。 - **PATCH** —— 向后兼容的修复或措辞更改(修复 hook 中的 bug、澄清规则、更正错别字)。 当前版本记录在 [VERSION](VERSION) 中;重要变更记录在 [CHANGELOG.md](CHANGELOG.md) 中。 ## 许可证 MIT —— 详见 [LICENSE](LICENSE)(翻译:[繁體中文](LICENSE.zh-TW))。
标签:AI智能体, Claude Code, Cutter, LLM提示工程, SOC Prime, 工作流, 开发工具, 逆向工具, 防御加固