Agent-SRE 快速上手:5 分钟为你的 AI Agent 定义 SLO、错误预算与成本护栏

发布时间:2026/11/12 14:14:40

Agent-SRE 快速上手:5 分钟为你的 AI Agent 定义 SLO、错误预算与成本护栏 Agent-SRE 快速上手5 分钟为你的 AI Agent 定义 SLO、错误预算与成本护栏【免费下载链接】agent-governance-toolkitAI Agent Governance Toolkit — Policy enforcement, zero-trust identity, execution sandboxing, and reliability engineering for autonomous AI agents. Covers 10/10 OWASP Agentic Top 10.项目地址: https://gitcode.com/GitHub_Trending/ag/agent-governance-toolkit本文是 agent-governance-toolkit 生态中 Agent-SRE 模块的实战入门指南面向正在把 AI Agent 推向生产环境的开发者。你将在一篇文章内掌握三件事用 SLI/SLO/ErrorBudget 三个原语定义我的 Agent 到底可不可靠在 Agent 执行路径上埋点采集真实行为数据并用 CostGuard 为自主 Agent 加上防失控的成本护栏。读完即可照着示例代码为自己的 Agent 建立第一份可靠性契约。安装与前置条件Agent-SRE 是 Python 包官方文档给出的安装方式是一行命令pip install agent-sre如果你希望基于本仓库源码直接运行示例与测试仓库内的可运行示例 examples/quickstart.py 给出了源码安装方式cd agent-governance-python/agent-sre pip install -e .[dev] python examples/quickstart.py从 pyproject.toml 可以看到两点与运行环境直接相关的约束requires-python 3.11即要求 Python 3.11 及以上版本包版本为5.0.0其描述明确说明该 PyPI 发行版是一个重定向 stubpip install agent-sre实际会拉取agent-governance-toolkit-cli5.0.0,6.0作为运行时依赖完整的agent_sre源码树仍保留在本仓库src/下并在 CI 中通过pip install -e .[dev]持续测试验证。Agent 可靠性三原语SLI、SLO 与 Error Budget在动手写代码前先明确 Agent-SRE 的三大核心概念这也是文档正文的核心骨架SLIService Level Indicator服务等级指标——你测量什么。对 Agent 而言测量对象是成功率和幻觉率这类行为指标而不是基础设施的 CPU 使用率任务成功率Task Success Rate、单任务成本Cost Per Task、幻觉率Hallucination Rate是三个最常用的起点。SLOService Level Objective服务等级目标——你为某个指标设定的目标值例如任务成功率 ≥ 95%。Error Budget错误预算——在冻结发布之前系统允许承受多少失败。例如 5% 的错误预算意味着在统计窗口内允许 5% 的事件不达标。为什么 Agent 的可靠性度量与传统服务不同docs/concepts.md 给出了一张对照表传统服务崩溃会返回 HTTP 500一眼可见而 Agent 幻觉时常常看起来一切正常HTTP 200传统故障有堆栈可以回溯而 Agent 的错误答案没有堆栈可查传统服务重试通常有效Agent 重试可能得到同样的错误答案。结论是Agent 的可靠性问题是推理问题而非单纯的基础设施问题因此需要专属的 SLI 体系。定义你的第一个 SLO在代码里定义一个 Agent 的 SLO只需要组合指标与错误预算以下代码完整继承自 getting-started.mdfrom agent_sre import SLO, ErrorBudget from agent_sre.slo.indicators import TaskSuccessRate, CostPerTask, HallucinationRate # Define indicators success TaskSuccessRate(target0.95, window24h) cost CostPerTask(target_usd0.50, window24h) hallucination HallucinationRate(target0.05, window24h) # Combine into an SLO with error budget slo SLO( namemy-agent, indicators[success, cost, hallucination], error_budgetErrorBudget(total0.05), # 5% error budget )指标参数与默认值源码确认对照 src/agent_sre/slo/indicators.py上述三个内置 SLI 的构造参数与默认值如下SLI 类关键参数默认值说明TaskSuccessRatetarget/window0.995/30d记录任务完成情况返回窗口内累计成功率CostPerTasktarget_usd/window0.50/24h记录每次任务成本聚合为平均单任务成本HallucinationRatetarget/window0.05/24h由外部 judgeLLM 或人工打分后记录幻觉率越低越好window参数支持TimeWindow枚举中的五种取值1h、6h、24h、7d、30d分别对应 3600、21600、86400、604800、2592000 秒。每条测量都会附带timestampSLI 在聚合时只统计当前时间 - window窗口内的数据见SLI.values_in_window()的实现。SLO 构造参数的隐藏逻辑SLO构造函数src/agent_sre/slo/objectives.py支持name、indicators、error_budget、description、labels、alert_manager、agent_id等参数。有一个容易被忽略的细节如果你不传error_budget或传入total0SLO 会自动根据最严格指标的 target 推导错误预算——即error_budget.total 1.0 - min(sli.target for sli in indicators)。例如上面的示例中三个指标中最严格的是target0.95推导出的预算正好是 5%这与显式传入ErrorBudget(total0.05)等价。为你的 Agent 打点记录行为数据定义好 SLO 之后下一步是在 Agent 工作的每个关键节点插入记录调用。文档给出的最小埋点模式如下# After each task success.record_task(successTrue) cost.record_cost(cost_usd0.25) hallucination.record_evaluation(hallucinatedFalse) slo.record_event(goodTrue) # Check SLO health status slo.evaluate() # HEALTHY, WARNING, CRITICAL, or EXHAUSTED print(fStatus: {status.value}) print(fBudget remaining: {slo.error_budget.remaining_percent:.1f}%)埋点方法在源码中的对应实现TaskSuccessRate.record_task(success)维护累计任务数与成功数每次调用记录当前累计成功率作为一条 SLI 测量值CostPerTask.record_cost(cost_usd)累加总成本与任务数记录当前平均单任务成本HallucinationRate.record_evaluation(hallucinated, confidence1.0)记录幻觉判定结果并可将 judge 的置信度写入测量元数据metadata{confidence: ...}供后续校准分析使用SLI.record(value, metadata)基类方法每次记录时自动把target写入元数据SLIValue.is_good据此判断该测量是否达标compliance()则返回窗口内达标测量占比SLO.record_event(good)向错误预算追加一个好/坏事件并立即触发一次evaluate()状态评估见 objectives.pyErrorBudget.remaining_percent返回max(0, 1 - consumed/total) × 100%即剩余预算百分比。底层存储设计有界事件缓冲ErrorBudget的事件存储使用collections.deque(maxlen100_000)有界队列可通过max_events调整当缓冲写满时最旧事件被静默淘汰防止长运行 Agent 的内存无限增长。值得注意的是burn_rate()与事件时间戳基于time.monotonic()不受系统时钟跳变影响。理解 SLO 状态机与错误预算燃烧率SLO.evaluate()返回的状态在文档中列举了四种HEALTHY、WARNING、CRITICAL、EXHAUSTED实际上源码还定义了第五种UNKNOWN尚无任何指标数据时返回。判定优先级如下objectives.py错误预算耗尽 →EXHAUSTED存在 critical 级别燃烧率告警 →CRITICAL存在 warning 级别燃烧率告警 →WARNING所有指标都没有窗口内数据 →UNKNOWN否则 →HEALTHY。燃烧率Burn Rate的含义Burn rate衡量错误预算的消耗速度燃烧率为 1.0 意味着恰好按可持续速度消耗窗口结束时预算刚好用完燃烧率为 10.0 意味着预算将在 1/10 的窗口时间内耗尽——这通常意味着出了问题。ErrorBudget提供可配置的双阈值budget ErrorBudget( total0.05, # 5% error budget (95% reliability target) burn_rate_alert2.0, # Alert if burning 2x faster than sustainable burn_rate_critical10.0, # Page if burning 10x faster )burn_rate_alert默认2.0burn_rate_critical默认10.0firing_alerts()返回当前触发的告警列表内部以 24 小时为窗口计算燃烧率对应BurnRateAlert的window_seconds86400预算耗尽后执行的动作由ExhaustionAction枚举控制ALERT仅告警、FREEZE_DEPLOYMENTS冻结发布、CIRCUIT_BREAK打开熔断器、THROTTLE限流。此外SLO支持传入alert_manager来自agent_sre.alerts的AlertManager状态恶化或恢复时自动发出带去重键agent_id:slo_name的告警事件。添加成本护栏CostGuard 防失控自主 Agent 最容易出的事故之一就是成本失控。Agent-SRE 提供CostGuard作为三级预算防线任务级、Agent 日级、组织月级。以下代码继承自文档from agent_sre.cost.guard import CostGuard guard CostGuard( per_task_limit2.00, # Block tasks $2 per_agent_daily_limit50.0, # $50/day per agent org_monthly_budget1000.0, # $1000/month total ) # Before each task allowed, reason guard.check_task(my-agent, estimated_cost0.50) if not allowed: print(fBlocked: {reason})参数默认值与校验源码确认对照 src/agent_sre/cost/guard.pyCostGuard的完整参数如下参数默认值说明per_task_limit2.0单任务成本上限美元per_agent_daily_limit100.0单 Agent 每日上限org_monthly_budget5000.0组织月度总预算anomaly_detectionTrue是否启用成本异常检测Z-scoreauto_throttleTrue是否自动限流/熔断kill_switch_threshold0.95预算利用率达到该比例时执行 KILLalert_thresholds[0.50, 0.75, 0.90, 0.95]预算利用率阶梯告警阈值所有金额参数在构造时都会做有限性与非负校验拒绝 NaN/Inf/负数越界直接抛出ValueError避免产生半初始化对象。check_task 的判定顺序与并发注意点check_task(agent_id, estimated_cost)返回(allowed, reason)二元组判定顺序为_check_locked实现组织级 kill 开关 → Agent 被 kill → Agent 被限流 → 估算成本超单任务上限 → 超出日预算 → 超出组织月预算。任一条件不满足都会返回False与具体原因字符串。文档明确指出check_task是咨询性检查它不预留预算——两个并发调用方可能同时通过检查并共同超支。对于预算关键路径应改用check_and_charge(agent_id, task_id, cost_usd, breakdownNone)它在单把锁内原子地完成检查 记账返回(allowed, reason, alerts)只有allowedTrue时成本才被入账。record_cost()则是无条件记账并返回触发的告警适合只做事后统计的场景。自动限流与熔断当auto_throttleTrue时record_cost内部会持续跟踪预算利用率利用率 ≥ 85% → Agent 进入throttled状态后续check_task直接拒绝利用率 ≥kill_switch_threshold默认 95%→ Agent 被标记killed彻底停止放行组织月预算利用率跨过 kill 阈值 → 触发组织级 kill所有 Agent 的预算全部被标记为 killed这就是文档示例中org_monthly_budget的意义所在。reset_daily(agent_idNone)用于每日零点重置日预算、任务计数与限流/熔断状态调用方自行安排在每日开始时执行。异常检测基于最近 1000 条成本记录的 Z-scorez 2.0时产生 WARNING 级异常成本告警。一个可完整运行的示例把 SLO、成本与事件检测串起来仓库中的 examples/quickstart.py 把以上所有环节整合成一个约 100 行的完整模拟程序定义三个 SLI 与 SLO → 配置 CostGuard → 接入IncidentDetector→ 模拟 100 次任务 → 打印状态、燃烧率、指标达标情况与成本消耗并在错误预算耗尽时创建事故信号。其核心循环展示了推荐的埋点组合# Record into SLIs success_rate.record_task(successsucceeded) cost_per_task.record_cost(cost_usdcost) hallucination.record_evaluation(hallucinatedhallucinated) # Track cost (check before charging) allowed, reason guard.check_task(my-assistant, estimated_costcost) if allowed: guard.record_cost(my-assistant, ftask-{i}, cost) # Record into error budget slo.record_event(goodsucceeded and not hallucinated)运行后你会在终端看到SLO Status、Error Budget Left、Burn Rate (1h)、各指标 compliance 以及成本余量——这就是 Agent-SRE 对我的 Agent 可靠吗、贵吗、出问题了吗三个问题的直接回答。内置 SLI 全景不止三个指标除文档示例中的三个指标外indicators.py 内置的 SLI 类型还包括PolicyCompliance默认target1.0——度量 Agent 对治理策略的遵守率适合与 Agent-OS 的策略执行体系联动ToolCallAccuracy默认target0.999——度量工具调用选择正确率帮助区分是 Agent 推理错了还是工具本身坏了ResponseLatency默认target_ms5000percentile0.95——按分位数度量响应延迟current_value()返回窗口内的分位延迟值DelegationChainDepth默认max_depth3——度量委托作用域链深度越低越好CalibrationDeltaSLI默认target_delta0.05——追踪校准漂移即预测置信度与实际成功率之间的差距用于发现系统性过度自信或信心不足。所有内置类型统一注册在SLIRegistry中可按 Agent ID 注册实例并批量采集collect_all(agent_id)便于接入监控后台。进阶方向与后续阅读本文覆盖了 Agent-SRE 的入门闭环。继续深入可以从以下几个方面展开ConceptsAgent SLI 与传统基础设施指标的本质差异含 Agent 可靠性对照表与 Agent-SRE 全栈架构SLO 引擎、成本护栏、金丝雀发布、混沌引擎、回放引擎、事故检测器SLO Reference内置指标、YAML 化 SLO 规范、不同 Agent 类型的模板与目标取值建议包含支持继承的 YAML 配置slos/base.yaml与子级覆盖Integration Guide与 Agent-OS、AgentMesh 及 OpenTelemetry/Sentry 等可观测平台的集成方式通过TraceCapture记录策略检查、工具调用与信任握手的完整轨迹完整示例目录金丝雀模型升级、混沌测试、成本护栏、LangChain 监控与 SLO 告警等可运行脚本对应单元测试见 tests/unit如test_indicators.py、test_cost.py、test_objectives.py可据此验证各指标聚合与预算逻辑的边界行为。【免费下载链接】agent-governance-toolkitAI Agent Governance Toolkit — Policy enforcement, zero-trust identity, execution sandboxing, and reliability engineering for autonomous AI agents. Covers 10/10 OWASP Agentic Top 10.项目地址: https://gitcode.com/GitHub_Trending/ag/agent-governance-toolkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/28 3:31:05

AI+零代码重塑2026年中秋营销:完整路径解析

做了几年企业营销服务,我自己最深的感受是:节日营销这两年的打法变化,比过去十年的变化还要大。尤其是2026年中秋营销,市场人面对的不只是海报、文案和活动页,而是一整套从内容生产、用户触达到效果复盘的高频运转链路…

2026/11/12 14:11:12

平顶山中小施工企业负责人真实经历:收电工证套路详细介绍

平顶山中小施工企业负责人真实经历:收电工证套路详细介绍 你是不是也遇到过这样的情况?不知道去哪报名怕被中介坑,花了几千块最后拿的还是假证?这不是个例,我身边不少同行都踩过这个坑,甚至有人因此耽误了工程进度。…

2026/11/12 14:11:12

修空调用什么电工证 全国通用电工证怎么考

修空调用什么电工证 全国通用电工证怎么考 你是不是正在找空调维修工作,结果被告知必须有电工证才能上岗?别急,今天就带你搞清楚【修空调用什么电工证】这个问题,还有怎么考、怎么用、怎么续期,一文讲透, 全国通用 的电工证,怎么拿到手。…

2026/11/12 14:11:12

石工证是特种工证吗官方报名入口在哪

石工证是特种工证吗官方报名入口在哪 工地太忙根本没时间复习考试,你是不是也经常因为项目赶工期、现场任务紧,连报名考试的时间都挤不出来?特别是像石工证这类特种作业证书,关系到你的职业安全和未来发展,但很多人却不清楚它到底是不是特种工证,更别提…

2026/11/12 14:11:12

常德电工证可以买到吗?考前押题怎么用最靠谱?

常德电工证可以买到吗?考前押题怎么用最靠谱? 之前考的证在外省能不能转过来?这几乎是每个在外地打工的电工朋友最头疼的问题。特别是像你在信阳浉河区从事市政公用工程的朋友,常年奔波在各地项目上,证书能不能全国通用、能不能异地转接,直接影响到你能…

2026/11/12 14:06:12

现在的电工证能买吗报名入口与办理流程

电工证过期了不知道怎么复审延期?保姆级教程手把手教你搞定 证书过期了不知道怎么复审延期?很多人因为不了解流程,白白浪费了考证机会,甚至影响了工作发展。特别是现在的电工证能买吗这个问题,成了不少人的疑问,但真正的答案不是“能不能买”,而是“能…

2026/11/11 12:42:59

电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。…

2026/11/12 0:04:01

工地太忙根本没时间复习考试?学习电工证到哪里学通过率揭秘

工地太忙根本没时间复习考试?学习电工证到哪里学通过率揭秘 工地太忙根本没时间复习考试?你不是一个人。作为一名在南阳卧龙区干了七八年市政公用工程的电工,我深知这个问题的现实性。电工证不仅是工作的“入场券”,更是职业发展的“通行证”,但备考过程…

2026/11/12 0:04:01

双流电工证考别怕挂科!郑州报考避坑指南全攻略

双流电工证考别怕挂科!郑州报考避坑指南全攻略 实操考试心里没底怕挂科?双流电工证考在郑州报名,很多人因为不了解流程、准备不充分,白白浪费时间和金钱。作为三门峡应届工程类毕业生,我也曾经历过这样的焦虑。今天就从零开始,手把手教你如何避开郑州报…

2026/11/12 0:04:01

之前考的证在外省能不能转过来 怎么报名考电工证培训价格多少

之前考的证在外省能不能转过来 怎么报名考电工证培训价格多少 之前考的证在外省能不能转过来?这个问题确实让不少准备换城市工作的朋友犯了难,尤其像电工证这种实操性很强的证书,很多人担心跨省后证书能不能继续用。其实,只要符合相关流程,是可以顺利转…

2026/11/11 20:27:01

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/12 9:51:42

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑