Sabot 是一个研究和度量多智能体流水线自检机制有效性的开源项目。它并非一个生产工具,而是一个标准、测试框架和公开评分板的组合,用于回答一个具体问题:智能体流水线自身的检查能否捕获被植入的故障?
用途与目标 Sabot 旨在评估在基于 LangGraph、CrewAI 和 AutoGen/Magentic-One 等框架构建的多智能体流水线中,其内置的审查器(reviewer)、批评阶段(critic stage)和护栏回调(guardrail callback)对受控故障的检测、响应和恢复能力。项目通过向运行中的流水线植入故障,并评分流水线自身机制是否标记、处理或遗漏这些故障。
主要能力
- 故障植入与评分:在参考流水线中植入六类故障操作符(如工具返回错误值、交接改变、文档过期、跳过审查步骤、模型静默降级等),对每个故障给出三级判定:检测到(DETECTED)、响应(REACTED)、恢复(RECOVERED)。
- 硬性层级检测率:仅统计由框架自身表面记录并确定性地裁决的检测行为,构成核心的 Sabot 分数。
- 离线复现:无需 API 密钥、模型调用或虚拟环境,仓库中包含所有 2025 次运行的原始轨迹,可使用 Python 3.9+ 标准库脚本离线重新计算分数。
- 公开预注册规范:在评分运行前即公开规范、锚点和预测,负面结果也以同等显著度发布。
- 不确定性量化:通过重复聚类自助法为所有指标提供区间估计,并明确标注为五次重复的敏感性分析而非随机种子复现。
使用方式
- 离线复现:在
harness/scripts/下运行python scripts/score_by_operator.py --check可验证按操作符分类的表格;运行python scripts/score_strict.py可重新生成严格证据下限表。 - 运行测试框架:需 Python 3.11+ 及固定的框架虚拟环境(参见
harness/pyproject.toml和harness/scripts/setup_venvs.sh)。 - 所有原始轨迹和评分脚本均在仓库中发布,允许任何人独立验证结果。
适用场景
- 研究多智能体系统的自检与护栏机制的有效性。
- 对比不同智能体框架在故障检测方面的表现模式。
- 作为开发或评估智能体流水线时,理解审查器设计局限性的参考。
- 用于验证或复现项目发布的检测率、响应率和恢复率等指标。
限制与说明
- 结果基于特定审查器设计和单一流水线模型(gpt-5.6-terra),不代表框架排名或普遍规律。
- 发现主要集中于文本故障可被注意,而流程故障大多不被发现;注意到并不等于采取行动。
- 静默模型降级(O4)未显示出检测信号,其标记率与干净基线误报率相当。
- 硬性层级检测具有确定性设计,但软性层级依赖 LLM 评判器(kappa 0.767)。
- 项目明确声明其发布结果不随预期变化,负面结果同样公开。
- 关于项目收费标准、商业支持、具体安装步骤的更多细节,当前资料暂未提供。