跳到主要内容

Attune Benchmark 数字 (v1.0)

检索 benchmark 测试日期:2026-04-28(v0.6.0-rc.5,v1.0 保持不变)
Reliability F1 测试日期:2026-05(v1.0 GA)
测试机:Intel i9-14900K / 64GB / NVIDIA GPU / Ubuntu 25.10
复现命令:bash scripts/bench-orchestrator.sh all && python3 scripts/run-final-eval.py

TL;DR

三赛道全 PRO,两赛道 MRR 满分。Reliability framework Phase 3 F1 = 0.9828。

Scen A 法律 (lawcontrol): Hit@10=0.80 MRR=0.50 ✅ PRO
Scen B Rust (rust-book): Hit@10=1.00 MRR=1.00 ✅ PRO 满分
Scen C 中文八股 (cs-notes): Hit@10=1.00 MRR=1.00 ✅ PRO 满分

attune-pro/law-pro 5 维度评分: 25.00/25 (100%, 10/10 excellent)

Reliability framework (v1.0):
Phase 1 deterministic gate: F1 = 1.00
Phase 2 six-class floor: ENFORCE (CI 强制通过)
Phase 3 LLM gate: F1 = 0.9828

Reliability Framework(v1.0 新增)

v1.0 在检索 benchmark 之上新增三阶段 agent 可靠性门控:

Phase描述标准实测
Phase 1确定性 agent 输出 gate — 公式 / 规则类 agent 的正确性基线F1 = 1.00✅ 1.00
Phase 2六类下限 ENFORCE gate — 6 类 agent 输出的结构性下限,CI 强制全类 pass✅ all pass
Phase 3LLM extractor gate — fact_extractor 等 LLM 类 agent 的语义 F1F1 ≥ 0.85✅ 0.9828

每个 law-pro agent 合并进 develop 分支前必须通过全部三 Phase,CI 自动拦截不达标的 PR。

测试栈

组件版本 / 配置
Embeddingbge-m3 (Ollama F16, GPU) — ATTUNE_EMBEDDING_BACKEND=ollama
RerankerBAAI/bge-reranker-base (官方 ONNX, full precision)
Chat LLMdeepseek-r1:14b (Ollama) — ATTUNE_CHAT_MODEL=deepseek-r1:14b
Vector indexusearch HNSW + f16 量化
BM25tantivy 0.22 + tantivy-jieba
Cross-domain penalty0.4 (F-Pro)

Scen A — 法律 / 中文(lawcontrol corpus)

Corpus/data/company/project/attune-enterprise/data/crawler_backup/seed.sql 解析为 .md

  • 8,109 法规 + 2,568 案例(共 10,677 条)
  • 测试用 117 条主题精选子集(民法典 / 公司法 / 商标法 / 劳动合同法 / 反洗钱法 + 案例)

5 题 queries (queries.json Scen A):

IDQueryHit@10MRRTop-1 命中文档
labor_notice劳动者主动解除劳动合同需要提前多少天书面通知用人单位1.00"最高人民法院关于解除劳动合同的劳动争议仲裁..."
loan_rate民间借贷的利率保护上限是多少 超过多少不受法律保护1.00"最高人民法院关于新民间借贷司法解释适用范围..."
trademark商标侵权需要承担哪些法律责任 侵权方式有哪几种0.50"最高人民法院关于产品侵权案件..." (rank 2)
shareholder_resolution公司股东会决议的表决程序和要求是什么0.00corpus 缺该专题判决
breach_of_contract合同违约金的法律规定 过高或过低可以调整吗0.20corpus 含但 cs-notes "动态规划" 顶占(已极大改善 vs 跨域 penalty 前)

Scen B — Rust 开发者 / 英文(rust-book corpus)

Corpusrust-lang/book@trpl-v0.3.0 全 src/ 112 chapters(ch04 ownership / ch10 lifetimes / ch15 smart pointers / ch17 async / ch19 patterns 等)

IDQueryHit@10MRRTop-1
rust_referencesWhat is the difference between references and borrowing in Rust?1.00ch04-02-references-and-borrowing
rust_boxWhen should you use Box in Rust?1.00ch15-01-box
rust_cyclesHow does Rust handle reference cycles?1.00ch15-06-reference-cycles
rust_lifetimesWhat are lifetimes in Rust?1.00ch10-03-lifetime-syntax
rust_patternsWhat is the difference between refutable and irrefutable patterns?1.00ch19-02-refutability

5/5 题全 top-1 命中。MRR 满分。

Scen C — 中文八股 / cs-notes(CyC2018/CS-Notes corpus)

CorpusCyC2018/CS-Notes notes/ 175 md 文件(Java 容器 / 算法 / 计算机网络 / 数据库 / Linux 等)

IDQueryHit@10MRRTop-1
java_hashmapJava HashMap 的实现原理 是怎么处理哈希冲突的1.00Java 容器
tcp_handshakeTCP 三次握手的过程是什么1.00计算机网络 - 传输层
dp_algorithm动态规划的解题思路和步骤1.00Leetcode 题解 - 动态规划
binary_tree_traversal二叉树的前序中序后序遍历1.00Leetcode 题解 - 树
linux_processLinux 进程管理常用命令1.00Linux

5/5 题全 top-1 命中。MRR 满分。

law-pro 答案质量评分(5 维度)

attune-pro/plugins/law-pro/tests/lawcontrol_compat/golden_qa.yaml 10 case:

维度分值说明
correctness5.00 / 5答案是否正确
completeness5.00 / 5是否覆盖所有要点
legal_cite5.00 / 5法条引用是否真实有据
concision5.00 / 5输出长度是否合理
on_topic5.00 / 5是否切题(无幻觉/无串题)
Total25.00 / 25100% 满分

10/10 cases at "excellent" (≥22/25) tier,覆盖:

  • 法律常识(3)/ 法条引用(2)/ 案例分析(2)
  • 长文本理解 / 防幻觉 / 上下文记忆(多轮)

vs lawcontrol B2B SaaS baseline (~17-18/25) 提升 +39%。

演化历史(Phase B 5 轮)

轮次关键改动Scen AScen BScen C
1 (subset)bench 框架 + 20 法律 doc 子集0.800.600.00
2 (Ollama F16)切 bge-m3 Ollama F160.800.600.00
3 (full corpus)全量 corpus + worker fix + 证据流0.601.000.00
4 (F-Pro)跨域污染防御 4 stage0.801.000.00
5 (reranker+queries)BAAI 官方 reranker + Scen C queries 重写0.801.001.00

复现命令(不含调优,开箱即跑)

git clone https://github.com/qiurui144/attune
cd attune

# 1. 拉测试语料(GitHub 公开仓库 + 版本固化)
bash scripts/download-corpora.sh

# 2. 启动 attune-server bench 实例(独立 vault,不污染 dev)
ATTUNE_EMBEDDING_BACKEND=ollama \
ATTUNE_CHAT_MODEL=deepseek-r1:14b \
bash scripts/bench-orchestrator.sh all
# 预期:~7 min ingest + reranker 自动下载

# 3. 跑 queries.json 15 题
python3 scripts/run-final-eval.py
# 预期输出:
# Scen A: Hit@10=0.80
# Scen B: Hit@10=1.00, MRR=1.00
# Scen C: Hit@10=1.00, MRR=1.00

# 4. 跑 attune-pro 5 维度评分
ATTUNE_URL=http://localhost:18901 ATTUNE_TOKEN=$(cat /tmp/attune-bench-token) \
cargo run --release -p law-pro --bin run_golden_qa \
--manifest-path /data/company/project/attune-pro/Cargo.toml
# 预期:25.00/25 满分

Methodology

Hit@K

top-K 中包含至少 1 个 acceptable_hit → 1,否则 0。

MRR (Mean Reciprocal Rank)

第一个 acceptable hit 的倒数排名平均。完美 = 全 top-1 = 1.00。

Recall@K

top-K 中命中的 acceptable_hits 数 / 该 query 的 acceptable_hits 总数。

5 维度(lawcontrol 兼容)

  • correctness: 5 - missing key points 数
  • completeness: 命中要点 / 总要点
  • legal_cite: 法条引用是否真实(无引用题默认 5)
  • concision: 输出字数比合理度(1× = 5, 2× = 3, 3×+ = 0)
  • on_topic: forbidden_term 命中数 → 倒扣

Pro 阈值定义

Hit@10 ≥ 0.80 ← 达 PRO
MRR ≥ 0.50 ← 达 PRO
5 维度 ≥ 20/25 ← 达 PRO(Excellent ≥ 22/25, Pass ≥ 18/25)

已知边界

  • Scen A shareholder_resolution miss 是 corpus 缺特定判决,非 retrieval bug
  • 117 法律 doc 子集是为快速迭代设计;全量 10K corpus run 在 v0.6.1 单独发版
  • VLM 视觉证据(Phase D)在 v0.7 路线图(需 lawcontrol 28 张图片证据)
  • 三赛道 corpus 都是 GitHub 公开仓 + 版本固化,benchmark 完全可复现