Agent Error Budget — 双向错误预算:自主权随可靠性动态调整
Skill-Agent-Error-Budget · 16-智能体工程
causalexperimentmulti_agentpricing供应链与补货客服与VOCMAS与智能体工程定价与利润WF-A 智能补货WF-C 客服分诊WF-D 选品扫描WF-E Review监控WF-F 动态定价
实现难度⭐⭐☆☆☆
业务优先级⭐⭐⭐⭐⭐
业务视角
适用角色CTO / 技术负责人 · 产品经理 · 数据工程师
适用平台跨境运营 AI Agent 工程落地 · Amazon SP API + LLM 集成 · 多平台数据采集 Agent
什么情况下用想把 AI 集成到业务系统,但 LLM 稳定性差、幻觉问题、成本控制都是挑战;Agent 任务失败了不知道哪步出了问题
成功是什么样的AI Agent 在生产环境稳定运行,失败可追踪,成本可控,复杂任务完成率 >85%
业务痛点
1. 解决的问题
传统 SRE 错误预算是单向消耗品:违反 SLO 就消耗预算,预算耗尽就停止发布,恢复后窗口重置。Agent 双向错误预算在此基础上引入自主权预算(Autonomy Budget):好行为可以赢回预算,自主权随可靠性动态升降。
2. 核心算法逻辑
传统 SRE 错误预算是单向消耗品:违反 SLO 就消耗预算,预算耗尽就停止发布,恢复后窗口重置。Agent 双向错误预算在此基础上引入自主权预算(Autonomy Budget):好行为可以赢回预算,自主权随可靠性动态升降。
3. 业务应用场景
场景一:WF-D 选品 Agent 能力升级
新版选品算法(支持竞品价格实时对比)渐进发布:① Canary 5% → 监控 48h → Task SLI ≥99.9% + Judgment SLI ≥92% → Gate 通过 → ② 扩量 20% → 监控 72h → Gate 通过 → ③ 全量 100%。第 2 阶段发现 Judgment SLI 跌至 89%(新算法对某类目漏判),自动回滚至旧版,触发告警通知产品团队修复后重新发布。每阶段 SLO Gate 结果自动更新选品 Agent 的自主权水位。
场景二:WF-A 补货 Agent 混沌测试
4. 输入数据要求
请查看原始代码模板获取输入规格。
5. 输出结果
请查看原始代码模板获取输出规格。
6. 业务价值 / ROI
- ROI:能力升级不再盲目,预算烧尽自动限速而非人工介入;自主权与可靠性绑定,避免"偶尔正确的高风险 Agent"
- 难度:⭐⭐☆☆☆ | 优先级:⭐⭐⭐⭐⭐
7. 代码模板
代码块数量:1 · 路径:paper2skills-code/llm_agent_engineering/agent_error_budget
"""
Agent Error Budget — 双向自主权预算
来源:Microsoft agent-sre + SRE for Agents 2026
"""
from dataclasses import dataclass, field
from enum import Enum
from typing import List, Optional, Dict
class DeliveryStage(Enum):
CANARY = "canary" # 5% 流量
PARTIAL = "partial" # 20% 流量
FULL = "full" # 100% 全量
ROLLED_BACK = "rolled_back"
class ExperimentType(Enum):
LLM_PROVIDER_DOWN = "llm_provider_down"
INFERENCE_LOOP = "inference_loop"
PROMPT_INJECTION = "prompt_injection"
POLICY_BYPASS = "policy_bypass"
@dataclass
class AutonomyBudget:
agent_id: str
level: float = 5.0
good_behavior_reward: float = 0.1
bad_behavior_penalty: float = 0.5
def reward(self, reason: str = "") -> None:
self.level = min(10.0, self.level + self.good_behavior_reward)
def penalize(self, reason: str = "") -> None:
self.level = max(0.0, self.level - self.bad_behavior_penalty)
@property
def requires_human_review(self) -> bool:
return self.level < 3.0
@dataclass
class ErrorBudgetTracker:
slo_target: float
window_size: int
_events: List[bool] = field(default_factory=list)
@property
def allowed_failures(self) -> int:
return int(self.window_size * (1.0 - self.slo_target))
@property
def consumed_failures(self) -> int:
return sum(1 for e in self._events if not e)
@property
def remaining_budget(self) -> int:
return max(0, self.allowed_failures - self.consumed_failures)
@property
8. 论文来源
未自动抽取;请查看原始 Skill 卡片。