用途
agent-gate 是一个 MCP 服务器,用于为任何 AI 智能体工作流增加一个失败关闭的质量门禁和一个哈希链回执账本。它的核心目标是解决智能体系统中常见但隐蔽的失败:模型更新导致输出质量下降、变更悄悄破坏工作流、智能体在结果错误时仍宣称成功。agent-gate 把纪律转化为智能体必须实际通过的工具,而不是依赖更聪明的模型。
主要能力
- 失败关闭检查清单:一项检查只有被明确证明为真才算满足,缺少证明不等同于证明通过。
- 防篡改回执:每个决策以(决策、指标、值、结论)的形式记录,并链接进 sha256 链。编辑或删除任何历史回执都会使 verify_chain() 返回 false。诚实的日志由数据结构强制保证。
- 默认人工把关:默认 ship 门禁包含“任何不可逆或对外行为获得人工批准”这一必需检查项。智能体负责起草,人类负责批准。
- 默认 ship 门禁编码 Fleet Mode:包含 deterministic_checks_pass、independent_refute_review、no_secrets、human_gated_if_irreversible、honest_receipt_logged 五项检查。
- 标准库核心:agent_gate/gate.py(失败关闭检查清单)和 agent_gate/ledger.py(哈希链回执)为纯标准库实现,快速可读、快速可信任。agent_gate/server.py 是覆盖其上的薄 MCP 适配器,唯一运行时依赖为 mcp。
- 回执持久化:回执持久化到 ~/.agent-gate/receipts.jsonl,可通过 AGENT_GATE_LEDGER 覆盖。
使用方式
可以将 agent-gate 添加到 MCP 客户端(如 Claude Desktop 或 Claude Code)的配置中。配置后,智能体在告知用户任务完成前即可调用 verify_gate(...),用户也会获得一份防篡改的决策痕迹。
也可以不依赖 MCP 客户端直接使用:核心模块为纯标准库,测试覆盖 Python 3.11 至 3.13(参见 CI)。MCP 工具通过实际调用进行测试,而不仅是导入测试。
自行运行演示命令:
PYTHONPATH=. python3 examples/demo.py
适用场景
适用于需要智能体对自身产出质量负责的工作流,尤其是在以下情况:智能体可能“自批自改”而产出低质结果;需要审计智能体决策过程;需要防止回执被篡改;需要确保不可逆操作经过人工批准。
限制与说明
- MCP 适配层唯一运行时依赖为 mcp。
- 仓库自身践行高标准:CI 在 Python 3.11–3.13 上运行 pytest,行覆盖率低于阈值(当前 97%)会使构建失败;CodeQL 静态分析(security-extended)在每次推送、PR 及每周运行;所有 GitHub Action 固定到完整提交 SHA,由 Dependabot 保持更新;main 分支要求 CI 与 CodeQL 检查通过才能合并。
- 采用 MIT 许可。
- 由 Jeff Otterson(Jott2121)构建,源自 bow 与 Fleet Mode 的 gating 纪律。
- 同系列还有 rag-guard 和 agent-cost-attribution。
- 配套测量工具 sabot 是这一理念的测量侧:agent-gate 为工作流增加失败关闭门禁,sabot 在运行中的 LangGraph、CrewAI 和 AutoGen 管道中植入受控故障,测量此类门禁与审查阶段是否真正触发;在三种生产框架上的中位自检检测率为 16.7%,配有预注册规范、Apache-2.0 测试框架,并公开所有原始轨迹。