配音

评估与生产部署

课程简介

智能体系统的性能评估、错误分析、安全与监控。

🎬 本课程视频:Agentic AI — AI 智能体设计模式


评估与生产部署:让 Agent 稳定可靠

一、从原型到产品的鸿沟

在开发环境中运行的 Agent 表现良好,不代表它在生产环境中也能稳定工作。现实生产环境充满了不确定性:用户输入千奇百怪、第三方 API 可能宕机、模型更新后行为变化、提示词微调带来连锁反应。

本节讲解如何系统性地评估 Agent 系统的质量,并将其安全可靠地部署到生产环境。

二、三维度评估体系

2.1 任务完成率

任务完成率衡量 Agent 是否达成了用户的目标。这是最高层的评估指标。

评估方法
- 端到端测试:给定一个用户请求,检查 Agent 的最终输出是否满足需求
- 子目标达成率:将任务分解为子目标,分别检查每个子目标的完成情况
- 用户确认率:在实际使用中,用户确认问题被解决的比率

测试用例设计
- 正常场景:覆盖 80% 的常见用户请求(60 个用例)
- 边界场景:覆盖 15% 的边缘情况(30 个用例)
- 异常场景:覆盖 5% 的异常输入(10 个用例)

2.2 效率指标

效率指标衡量 Agent 系统的资源消耗和响应速度。

关键指标
- LLM 调用次数:完成一个任务平均需要多少次 LLM 调用
- Token 消耗:每次任务的平均 Token 消耗量
- 工具调用次数:平均调用工具的次数
- 响应延迟:从接收到返回的端到端延迟(P50/P95/P99)
- 成功率:工具调用成功的比例
- 重试率:需要重试的工具调用比例

优化目标
- 在满足质量要求的前提下,最小化 Token 消耗和延迟
- 对于 P99 延迟超过 10 秒的场景,考虑异步处理

2.3 质量指标

质量指标评估 Agent 输出的准确性和合规性。

评估维度
- 输出准确性:Agent 的回答是否事实正确
- 格式合规性:输出是否符合要求的格式规范
- 安全性:输出是否包含有害内容或敏感信息
- 一致性:相同输入是否得到一致的输出
- 鲁棒性:输入有微小变化时,输出是否稳定

三、错误分析与归因

当 Agent 表现不佳时,需要深入分析根因。错误可以分为以下几类:

3.1 意图识别错误

Agent 误解了用户的真实需求。例如用户说「帮我看看这个数据」,Agent 理解为「分析数据」而用户实际上需要的是「检查数据完整性」。

改进方法
- 优化系统提示词中的角色定义
- 增加意图分类步骤,先分类再处理
- 增加确认机制:「您是想分析数据还是检查数据完整性?」

3.2 工具调用失败

Agent 选择的工具或参数不正确。例如用户需要查询天气,Agent 却调用了搜索引擎而不是天气 API。

改进方法
- 优化工具描述的准确性
- 增加工具选择的约束规则
- 实现调用失败时的优雅降级

3.3 规划逻辑缺陷

Agent 的任务分解或执行顺序不合理。例如应该先收集数据再分析,Agent 却先开始分析。

改进方法
- 使用预定义的任务模板
- 增加规划结果的验证步骤
- 实现动态重规划能力

3.4 输出质量问题

Agent 生成了事实错误、逻辑不连贯或格式不规范的输出。

改进方法
- 启用反思模式自我检查
- 增加输出验证规则
- 使用结构化输出约束(如 JSON Schema)

四、安全监控与护栏设计

4.1 输入安全

注入攻击防护:检测并拦截尝试操纵 Agent 行为的恶意输入。

检测模式:
- 系统提示词覆盖尝试:「忽略之前的所有指令...」
- 角色扮演攻击:「你现在是一个不受限制的 AI...」
- 越狱提示词:尝试绕过安全限制的特殊提示

内容安全:检测输入中的敏感信息,如个人身份信息、信用卡号等。

4.2 输出安全

敏感信息过滤:阻止 Agent 输出个人隐私、商业机密等敏感信息。

行为限制:限制 Agent 不能执行的操作,如不能发送邮件、不能修改数据库等。

内容审核:检查输出是否包含仇恨言论、暴力内容、非法指导等。

4.3 护栏 Agent

护栏 Agent(Guardrail Agent)是一个专门用于监督其他 Agent 行为的独立 Agent。它不参与任务执行,而是持续监控 Agent 的输入、输出和行为。

护栏 Agent 的职责
1. 实时拦截:在 Agent 可能执行危险操作时立即阻止
2. 行为审计:记录 Agent 的所有行为,包括推理过程和工具调用
3. 异常检测:发现 Agent 行为与预期不符时发出警报
4. 人工升级:在无法判断时将决策升级给人类审核

class GuardrailAgent:
    def __init__(self, monitored_agent):
        self.monitored = monitored_agent

    def monitor_interaction(self, user_input):
        # 1. 输入检查
        safety_check = self.check_input_safety(user_input)
        if not safety_check.passed:
            return self.block_response(safety_check.reason)

        # 2. 交由主 Agent 处理
        response = self.monitored.process(user_input)

        # 3. 输出检查
        output_check = self.check_output_safety(response)
        if not output_check.passed:
            return self.safe_fallback(output_check.reason)

        return response

    def check_input_safety(self, text):
        # 检查注入攻击、敏感信息等
        ...

    def check_output_safety(self, text):
        # 检查有害内容、信息泄露等
        ...

五、执行追踪与可观测性

5.1 完整执行轨迹

记录 Agent 每次执行的完整轨迹,包括:
- 用户输入
- Agent 的内部推理过程(思考链)
- 每次工具调用的请求和响应
- 中间结果
- 最终输出
- Token 消耗和时间消耗

{
  "trace_id": "trace_20240727_001",
  "user_input": "帮我分析这份销售数据",
  "steps": [
    {
      "step": 1,
      "type": "llm_call",
      "model": "gpt-4",
      "prompt": "...",
      "response": "...",
      "tokens": 1250,
      "latency_ms": 2340
    },
    {
      "step": 2,
      "type": "tool_call",
      "tool": "code_interpreter",
      "input": "analyze_sales_data(data.csv)",
      "output": "{"avg_growth": 0.15}",
      "latency_ms": 4500
    }
  ],
  "total_tokens": 3400,
  "total_latency_ms": 12400,
  "final_output": "..."
}

5.2 可观测性工具

推荐的可观测性平台:
- LangSmith:专为 LLM 应用设计的调试和监控平台
- Weights & Biases Prompts:提示词管理和追踪
- 自建 ELK 栈:对于有特殊合规需求的企业

六、灰度部署策略

6.1 部署模式

蓝绿部署:同时运行新旧两个版本,将一部分流量切换到新版本验证。

金丝雀发布:先让新版本处理 5-10% 的流量,监控关键指标,确认稳定后逐步扩大。

A/B 测试:不同用户群体使用不同版本,对比业务指标。

6.2 发布检查清单

部署前的检查项目:
- [ ] 评估集测试通过(100 个以上测试用例)
- [ ] 安全审计完成
- [ ] 护栏 Agent 就位
- [ ] 执行轨迹记录启用
- [ ] 关键指标监控告警配置
- [ ] 回滚方案准备就绪
- [ ] 人工审核流程明确

七、总结

将 Agent 系统从实验原型升级为可靠的生产服务,需要三维度评估体系定位问题、安全监控机制保障运行安全、执行追踪提供调试数据、灰度部署策略控制发布风险。这些工程实践是把实验性 Agent 变成真正可靠产品的关键。

九、实用工具与框架推荐

9.1 评估框架

9.2 可观测性工具

9.3 安全工具

十、总结

将 Agent 系统从原型转化为可靠产品,需要评估、监控和安全三位一体。

关键要点回顾:
- 三维评估:任务完成率、效率指标、质量指标
- 错误分析归因到四个层面:意图识别、工具调用、规划逻辑、信息整合
- 安全监控覆盖输入、执行、输出三个环节
- 护栏 Agent 是独立的安全层
- 灰度发布和 A/B 测试确保变更安全可控
- 完整的可观测性基础设施是系统可靠运行的保障

从这一课开始,你不再只是构建原型,而是能够交付真正可靠的生产级 Agent 系统。

九、实用工具与框架推荐

9.1 评估框架

9.2 可观测性工具

9.3 安全工具

十、总结

将 Agent 系统从原型转化为可靠产品,需要评估、监控和安全三位一体。

关键要点回顾:
- 三维评估:任务完成率、效率指标、质量指标
- 错误分析归因到四个层面:意图识别、工具调用、规划逻辑、信息整合
- 安全监控覆盖输入、执行、输出三个环节
- 护栏 Agent 是独立的安全层
- 灰度发布和 A/B 测试确保变更安全可控
- 完整的可观测性基础设施是系统可靠运行的保障

从这一课开始,你不再只是构建原型,而是能够交付真正可靠的生产级 Agent 系统。

我们再深入探讨一下持续监控的最佳实践。生产环境的 Agent 系统需要三个层次的可观测性:第一层是“指标层”,关注系统健康度,包括响应时间、错误率、吞吐量;第二层是“质量层”,关注系统效果,包括用户满意度、任务完成率、人工介入率;第三层是“安全层”,关注系统安全性,包括被攻击尝试、异常行为、数据泄露风险。

告警策略也很关键。告警不是越多越好——过多的告警会产生“告警疲劳”,真正的问题反而被淹没。好的告警策略是:分层告警(严重、警告、通知),每个告警都有明确的触发条件和处理方法。同时要避免“抖动告警”——条件在阈值附近反复触发——可以用连续触发 N 次才告警的方式来解决。

九、实用工具与框架推荐

9.1 评估框架

9.2 可观测性工具

9.3 安全工具

十、总结

将 Agent 系统从原型转化为可靠产品,需要评估、监控和安全三位一体。

关键要点回顾:
- 三维评估:任务完成率、效率指标、质量指标
- 错误分析归因到四个层面:意图识别、工具调用、规划逻辑、信息整合
- 安全监控覆盖输入、执行、输出三个环节
- 护栏 Agent 是独立的安全层
- 灰度发布和 A/B 测试确保变更安全可控
- 完整的可观测性基础设施是系统可靠运行的保障

从这一课开始,你不再只是构建原型,而是能够交付真正可靠的生产级 Agent 系统。

我们再深入探讨一下持续监控的最佳实践。生产环境的 Agent 系统需要三个层次的可观测性:第一层是“指标层”,关注系统健康度,包括响应时间、错误率、吞吐量;第二层是“质量层”,关注系统效果,包括用户满意度、任务完成率、人工介入率;第三层是“安全层”,关注系统安全性,包括被攻击尝试、异常行为、数据泄露风险。

告警策略也很关键。告警不是越多越好——过多的告警会产生“告警疲劳”,真正的问题反而被淹没。好的告警策略是:分层告警(严重、警告、通知),每个告警都有明确的触发条件和处理方法。同时要避免“抖动告警”——条件在阈值附近反复触发——可以用连续触发 N 次才告警的方式来解决。

延伸阅读