桃子桃子快讯
←返回首页
工具

Keel:为 AI 编码代理加上可验证的「完工证明」

开源工具 Keel 为 Claude Code、Codex 等 AI 编码代理加门禁与防篡改证据链,确保任务真正完成。

2026.09.26 · 周六约 4 分钟阅读

Hacker News 上近日出现一个名为「Keel」的开源工具(v0.10.1,Rust 实现,支持 macOS 与 Linux),定位是给 AI 编码代理加上「可验证的完工证明」。它并不替代 Claude Code、Codex、Copilot、Kiro 等代理本身,而是作为一层「门禁与记账」中间件:用户定义什么算「做完」,代理负责写代码,Keel 负责判定、检查并留下一条防篡改的证据链。

它要解决什么问题

项目页直接点出当前 AI 编码代理的痛点:写代码很强,但「不知道什么时候该停」。一次 PR 关闭时,团队其实很难回答几个问题——改动是否真的满足了原始需求?是谁在哪个环节点了通过?中途有没有人悄悄改过测试?Keel 把这些信息做成一条可离线验证的证据包,让审计、复核、合规都不再依赖口头承诺。

工作机制:五道门 + 证据链

Keel 的核心是一条「人—机—人」交替的循环:

  • G0 规范可证伪:每条验收标准都要有一个能「说不行」的测试;不能失败的规范也不能算通过。
  • G1 计划诚实:基于导入图计算改动的影响半径,并与计划声明的范围比对。
  • G2 工作合规且能编译:构建、lint、测试、行数预算、影响半径、漂移、基线棘轮一齐检查。
  • G2.5 测试审查:专门盯住被弱化的测试和新增的 mock。
  • G3 人工签发:最终需要人来签字放行。

每一步的审批和判定都被 hash 串成一条链。keel export 可以把规范、判定、确切 diff 打包成单文件,接收方 keel bundle verify 即可离线校验,不需要仓库、不需要网络、不需要账号。任何一个条目被改、删或重排,校验都会直接指出断裂位置。

主要使用场景

工具页列出了四类典型用户:

  • 个人开发者:用 keel spec、keel approve、keel run 三步把代理圈在「短链」上,build 与测试红了就回炉,绝不静默放行。
  • 审计/合规:一键导出可离线核验的证据包,适合交给第三方。
  • GitHub 团队:在 workflow 里加一行 daneb/keel@v0.10.1,未通过门禁的 PR 直接卡住;维护者可贴 keel:exempt 标签显式豁免,记录会保留该决定。
  • 平台团队 / CI:在 GitHub Actions 中用 daneb/keel/runtime@v0.10.1 把门禁跑在 gVisor 用户态内核里,证据由宿主写入而非代理写入,避免代理自己改自己的作业。

本地场景则配套一个名为 moor 的沙箱:每个项目一个隔离环境,禁止随意读写磁盘,互联网走白名单,证据由沙箱外的 Keel 落盘,代理无法事后覆盖。

几个值得留意的数字

项目方给出的自报数据(来源是其 README,未做第三方复核)包括:

  • 通过只喂代理「大纲与符号」而非整份文件,上下文消耗降低 14.6×,召回率保持 100%。
  • 自带 541 条测试,cargo clippy -D warnings 零告警。
  • 校验采用三态结果(pass / fail / blocked),运行不出来的检查用退出码 3 明确报「未能判定」,不会出现「静默通过」。
  • 记录与证明格式被冻结,只做向后兼容的追加式变更,今天写入的证据未来仍能验证。

安装方式很简单:cargo install keel-harness 即可拿到 keel 命令行,源代码托管在 GitHub(仓库路径 daneb/keel)。整体来看,Keel 不抢代理风头,而是把「AI 写的代码到底算不算完」这件原本靠人盯的事,搬到了一条可机器验证的流水线上。

信源