把 AI Agent 跑在生产环境:可观测性、恢复与成本
围绕轨迹追踪、重试策略、检查点、人工接管和预算控制,搭建可运营的 Agent 生产系统。
从演示到生产,差的是运行系统
本地演示通常只关心 Agent 能否完成一次任务。生产环境关心的是:同时来一百个任务怎么办,工具超时后会不会重复写入,进程重启能否恢复,成本是否失控,用户什么时候应该接管。
要让 Agent 可运营,需要把每次运行视为一个有生命周期的作业,而不是一次长 HTTP 请求。作业有唯一运行 ID、状态、预算、检查点、事件流和最终产物。
追踪一条完整轨迹
传统应用只记录请求和响应,对 Agent 不够。一次运行包含多次模型调用和工具调用,需要统一的层级追踪:
run: 8f2c
plan: v3
model_call: decide-next-action
tool_call: query_orders
model_call: interpret-result
tool_call: create_report
validation: report-schema
每个节点记录开始时间、耗时、状态、输入输出大小、Token、工具结果码和重试次数。敏感正文可以存储在受控位置,追踪中只保留引用与摘要。
日志、指标和轨迹各有职责。日志解释单次事件;指标观察整体趋势;轨迹还原一次任务的因果链。三者通过运行 ID 关联。
监控真正影响用户的指标
模型接口成功率不等于任务成功率。生产仪表盘至少应包含:端到端任务成功率、完成与失败耗时分布、运行中和阻塞任务数、工具错误率、平均与高分位步骤数、人工接管率、单任务 Token 和外部 API 成本。
还要按任务类型、用户群、模型版本和工具版本切分。平均成功率正常,可能掩盖某个关键工作流已经全部失败。
告警应对应可行动问题。例如“某写工具业务拒绝率在十分钟内升高”比“模型输出变长”更容易处置。成本告警可以按运行、用户和日预算设置多级阈值。
超时、重试与幂等
模型调用、工具调用和整个任务都要有独立超时。一个工具卡住不能无限占用工作进程。超时后是否重试,取决于错误类别和操作语义。
限流、短暂网络错误可以指数退避并加入随机抖动;参数错误、权限拒绝和业务不允许不应重试。写操作只有在具备幂等键并能查询执行状态时才能安全重试。
重试预算应计入总预算。连续失败后进入降级或人工处理,而不是把队列拖垮。使用熔断器可以在外部服务大面积故障时快速失败,避免所有 Agent 同时重试形成放大效应。
检查点与恢复
长任务在每个重要工具调用后保存检查点,包括计划版本、当前步骤、已验证事实、产物引用、幂等键和剩余预算。检查点必须写入持久存储,并与运行事件处在一致顺序。
恢复时先确认外部世界。某个工单可能已经由人工处理,文件可能被修改,审批也可能过期。系统不能简单从旧对话的最后一句继续。
对于等待人工审批的任务,应该释放计算资源并进入 waiting_approval 状态。审批到达后重新加载状态和权限,而不是保持一个进程长时间挂起。
人工接管是正式路径
生产 Agent 不应把人工介入视为失败。权限不足、证据冲突、高风险动作和预算耗尽都可以触发接管。界面需要展示当前目标、已完成步骤、关键证据、拟执行动作和阻塞原因,让人不必重读全部轨迹。
人工可以批准、修改计划、提供缺失信息或终止任务。任何修改都写入事件流,并成为恢复后的新状态。Agent 不能假装没有看见人工决定。
接管率是重要指标。过高说明自动化价值不足;过低也可能是系统没有在应该求助时停下来。
成本控制要进入控制循环
成本不是月底才统计的报表。每次运行在开始前获得预算,控制器在每一步更新 Token、工具费用、运行时长和剩余调用次数。达到软阈值时可以压缩上下文、使用更便宜的模型或减少检索;达到硬阈值时停止并交付已有结果与限制说明。
模型路由应依据任务难度,而不是所有步骤都使用同一模型。分类、格式转换和简单摘要可以使用低成本路径;复杂规划或冲突判断再升级。缓存稳定系统指令和重复只读查询,也能显著减少消耗。
成本优化必须和质量评测一起进行。少一次关键验证虽然更便宜,却可能增加错误写入,最终业务成本更高。
灰度发布与回滚
模型、Prompt、工具描述和检索索引都属于版本化依赖。新版本先跑离线回归,再进行小流量影子运行;影子 Agent 不能执行真实写操作。指标稳定后逐步扩大流量。
每条运行记录版本组合,出现回归时可以定位并回滚。正在执行的长任务通常应固定在启动版本,避免中途更换规则造成状态不兼容。
发布前要演练模型服务不可用、MongoDB 重启、工具限流、队列积压和证书或凭据过期。只有系统在这些情况下能降级、恢复并给出真实状态,才算具备生产韧性。
上线检查清单
上线前确认:任务状态可持久化;写工具支持幂等;权限按运行隔离;所有调用可追踪;预算有硬上限;高风险动作可审批;失败可分类;任务可取消;人工能接管;版本能回滚;敏感数据不进入普通日志。
把 AI Agent 跑在生产环境,本质上是在运行一个不确定决策器驱动的分布式作业系统。模型能力决定上限,可靠的状态、可观测性和恢复机制决定它能否长期被信任。