# Binder Agent Eval

> 当需要在相同的阶段输入上评测 LLM agent 的结构化决策、或对比多个 provider 的决策质量时使用；对应 openbinder evaluate-agent（--provider/--compare/--case）与 openbinder provider doctor。典型触发语："用 mock provider 跑一遍 decision case 评测""对比一下几个 provider 在同一批 case 上的表现""先 doctor 一下 minimax 配置通不通"。同义场景：agent 评测、decision evaluation、visible/hidden 分层、泄露检查、provider 对比、冻结决策。

- Skill: `minimax-ai/binder-agent-eval` (Agent Skill)
- Install (CLI): `npx skillmds@latest add minimax-ai/binder-agent-eval`
- Raw SKILL.md: https://api.skillmd.com/api/skills/minimax-ai/binder-agent-eval/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: MiniMax AI (https://skillmd.com/u/minimax-ai)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/minimax-ai/binder-agent-eval

---


# binder-agent-eval：agent 决策评测与 provider 对比

## 目的

让 MiniMax、Claude、ReplayProvider、MockProvider 在**完全相同的阶段输入**上产出结构化 JSON 决策，然后按协议遵守、证据使用、编造信号、不确定性处理、与 recorded decision 的字段级一致、token 与成本逐项评分。它回答的是"研究决策能力"的可比性，不是蛋白模型能力——本仓库永远不评测也不重跑任何蛋白模型。

## 前置检查

1. case 文件就绪（如 `evals/decision-cases.json`）：每个 case 显式分 `visible`（可以进 prompt）与 `hidden`（仅评分侧：recorded decision、wet-lab 标签、final rank、每 case 唯一的 `TRAP-` 陷阱 token）。
2. 选 provider：
   - `mock` / `replay`：**完全离线**，不需要任何环境变量；replay 的决策直接取自 case 文件 hidden 半的 recorded decision（评分通道，永不进 prompt）；
   - `anthropic` / `minimax`：需要 `OPENBINDER_LLM_*` 环境变量与网络；配置缺失时 CLI 打印结构化 JSON 错误并 exit 2——**不设默认 endpoint/model/key**。MiniMax 的能力以 `provider doctor` 实测为准，不预设。
3. 联网 provider 先体检：`openbinder provider doctor --provider minimax [--json]`（配置完整性、可达性、模型接受度、JSON 输出、长 prompt、usage 上报、超时与错误结构；任何 fail 或缺配置 exit 2）。
4. 产物落盘：`output/binder-agent-eval/<slug>/<timestamp>/`。"evaluation plan complete" 是五个人工 stage gate 之一：评测方案（case 集、provider 名单、评分维度）先经 stage-gate 批准再跑。stage-gate 技能来自 openscience 插件；未安装时直接向用户确认评测方案后再跑即可。

## 1 · 泄露红线（先于一切）

- `build_request` 在类型层面不接收 hidden 参数；泄露守卫在**任何模型调用之前**扫描组装好的 prompt：TRAP token、recorded action/prose、wet-lab/rank JSON 片段，命中即 `LeakageError`，CLI **exit 3** 并打印泄露细节；
- exit 3 是红线事件：停止、报告、排查 prompt 组装链路，**不得**删掉陷阱 token 重跑来"通过"。

## 2 · 冻结先于评分

每个决策在读入任何 recorded decision 之前，先冻结到 `frozen/<case_id>__<provider>.json`（含 SHA-256 摘要）。评分永远针对冻结件，不接受"评分时再补一口"的决策。

## 3 · 执行评测

```bash
# 离线单 provider
openbinder evaluate-agent --provider mock --case evals/decision-cases.json --out output/binder-agent-eval/<slug>/<timestamp>/
# 多 provider 对比（逐provider顺序跑，合并一份报告）
openbinder evaluate-agent --compare replay,mock --case evals/decision-cases.json --out <dir>
```

- 启发式评分覆盖：JSON 合法性、协议违反、证据覆盖、不确定性承认（token 集 Jaccard）、编造信号、与 recorded decision 的字段级一致；**不可计算的 case 排除并披露数量，永不猜测**；
- 终止性非法输出记为 `invalid_output`，最多 2 次格式修复重试，不进入正式结果；越界 evidence ID 记为协议违反而非静默丢弃；
- 产物：`agent-comparison-report.md` + `agent-eval-results.json`，含固定的 Method-and-limitations 节、无墙钟时间——相同输入 byte-identical。

## 输出模板

```markdown
## 决策评测结果：<case 文件> × <provider 名单>

- 每 provider：case 数、invalid_output 数、各评分维度要点
- 冻结件：frozen/ 目录（SHA-256 已记录）
- 泄露守卫：通过（未命中任何 TRAP/recorded 片段）/ exit 3 红线详情
- 不可计算 case：<n 个，已排除并披露>
- 局限：复述报告中的 Method-and-limitations 要点（离线对照 ≠ 真实模型能力）
```

## 本技能不做什么

- 不评蛋白模型：评的是**研究决策**，不声称任何模型会设计 binder。
- 不泄露 hidden：任何把 hidden 内容带进 prompt 的做法都是红线，无例外。
- 不猜缺失配置：缺 env 就 exit 2，不造默认 key/endpoint。
- 不把 mock/replay 的对照结果表述成真实模型的能力结论。

## 收尾与下一步

- 报告每 provider 的评分要点、冻结件位置与不可计算 case 数；联网 provider 结果标注模型标签与成本。
- 下一步通常是 binder-ranking-audit 或 binder-report（把评测产物纳入最终报告束，内容归类为 `model-generated`）。

