ReliabilityBench — Agent 生产可靠性三维评估:pass@1 高估 20-40%
Skill-ReliabilityBench-Agent-Reliability · 16-智能体工程
1. 解决的问题
ReliabilityBench 是首个系统性评估 LLM Agent 在生产级压力条件下可靠性的基准框架(arXiv 2601.06112,2026年1月)。它的核心贡献是把单维"能不能完成任务"扩展为三维 R(k, ε, λ) 可靠性曲面
2. 核心算法逻辑
ReliabilityBench 是首个系统性评估 LLM Agent 在生产级压力条件下可靠性的基准框架(arXiv 2601.06112,2026年1月)。它的核心贡献是把单维"能不能完成任务"扩展为三维 R(k, ε, λ) 可靠性曲面:
3. 业务应用场景
母婴跨境供应链 MAS(Multi-Agent System)在 staging 环境测试通过率达 95%,运营团队想上线,但历史经验表明生产环境与测试差距很大。需要一个量化上线决策的评估框架。
| 维度 | 供应链场景具体含义 | 阈值设定 | |------|-------------------|----------| | k=5 | 补货计算任务连续执行 5 次(周一至周五)的通过率 | pass@5 ≥ 0.85 才上线 | | ε=0.15 | 订单描述措辞变化("补货 100 件" vs "请求追加库存 100 unit") | 性能下降 ≤ 10% | | λ=rate_limit | ERP API 限流(早高峰期间调用频繁) | 降级后仍完成核心任务 |
- pass@5 = 0.91,ε=0.15 下性能保持 92%,rate_limit 故障下完成率 87% → ✅ 可上线 - 若 rate_limit 下降至 70% → ❌ 需先实现降级策略
4. 输入数据要求
请查看原始代码模板获取输入规格。
5. 输出结果
请查看原始代码模板获取输出规格。
6. 业务价值 / ROI
- ✅ 供应链 MAS 上线前可靠性 Gate-check
- ✅ 选品 Agent A/B 对比时的鲁棒性维度
- ✅ 客服 Agent 模型切换时的一致性验证
- ❌ 不适用于实验性探索阶段(过早引入会拖慢迭代)
- 实现难度:⭐⭐☆☆☆(框架简洁,核心逻辑清晰)
- 业务优先级:⭐⭐⭐⭐⭐(Agent 上线决策的必备工具,缺失会导致生产事故)
7. 代码模板
代码块数量:3 · 路径:未检测到
"""
ReliabilityBench: Agent 生产可靠性三维评估框架
参考: arXiv 2601.06112 | ReliabilityBench (2026)
R(k, ε, λ) 可靠性曲面: 一致性 × 鲁棒性 × 故障容忍
"""
from __future__ import annotations
import random
import time
from dataclasses import dataclass, field
from typing import Callable, Any
from enum import Enum
# ──────────────────────────────────────────────
# 数据类:配置与结果
# ──────────────────────────────────────────────
@dataclass
class ReliabilityConfig:
"""三维可靠性评估的超参配置"""
k_trials: int = 5 # 一致性维度:重复执行次数
epsilon_levels: list[float] = field(
default_factory=lambda: [0.0, 0.1, 0.2] # 鲁棒性维度:扰动幅度列表
)
lambda_levels: list[str] = field(
default_factory=lambda: ["none", "timeout", "rate_limit", "partial_response"] # 故障等级
)
pass_threshold: float = 0.85 # 通过率阈值
timeout_prob: float = 0.3 # 超时注入概率
rate_limit_prob: float = 0.4 # 限流注入概率
partial_response_prob: float = 0.2 # 部分响应注入概率
@dataclass
class EpisodeResult:
"""单次 Episode 执行结果"""
task: str
output: Any
success: bool
latency_ms: float
error: str | None = None
@dataclass
class ReliabilitySurface:
"""R(k, ε, λ) 三维可靠性曲面"""
consistency_score: float # pass@k 一致性分数
robustness_scores: dict[float, float] # ε → 鲁棒性分数
fault_tolerance_scores: dict[str, float] # λ → 故障容忍分数
overall_reliability: float # 综合可靠性得分
def to_report(self) -> str:
lines = [
"=== ReliabilityBench 可靠性曲面报告 ===",
f"一致性 (pass@k): {self.consistency_score:.3f}",
"",
"鲁棒性 (ε-perturbations):",
8. 论文来源
- 2601.06112