AI 智能体开发(四):性能优化、监控与生产边界
导读:Agent demo 能跑起来不难,难的是稳定、可控、可观测。你可以把这篇当成 Agent 生产优化流程来用:先控制任务边界,再优化成本、延迟和失败恢复。
系列文章导航
生产 Agent 先看这张表
| 风险 | 表现 | 优化方式 |
|---|---|---|
| 任务失控 | Agent 无限循环、重复调用工具 | 最大轮数、超时、人工接管 |
| 成本失控 | token 和工具调用暴涨 | 预算上限、缓存、任务拆分 |
| 上下文污染 | 多轮后忘记目标或引用旧信息 | 状态摘要、上下文裁剪 |
| 工具误用 | 调错 API、写错数据 | schema 校验、权限确认 |
| 难以排查 | 只看到最终失败 | trace、日志、步骤记录 |
| 质量不稳定 | 有时对有时错 | 测试集、评估指标、fallback |
优化的目标不是“让 Agent 更聪明”,而是让它在失败时可控、可解释、可恢复。
官方来源与核验规则
Agent 框架和模型能力变化很快,优先看 官方来源:
核验规则:
- 不用 demo 判断生产可用性;
- 每个工具调用都要有日志;
- 每个 Agent 任务都要有最大轮数;
- 高风险写操作必须人工确认;
- 上线前用真实任务集做回归测试。
性能优化公式
1 | Agent 可用性 = 任务成功率 + 可观测性 + 恢复能力 - 成本风险 - 权限风险 - 延迟 |
如果一个优化只让 demo 更快,但降低了可观测性或安全边界,就不是生产优化。
多 Agent 协作:少即是多
多 Agent 常见误区是角色越多越高级。实际生产中,多一个 Agent 就多一份上下文、成本和失败点。
适合多 Agent 的情况:
- 需要独立视角交叉审查;
- 任务天然分阶段;
- 每个 Agent 的输入输出边界清晰;
- 有汇总者和验收标准。
不适合:
- 简单问答;
- 单文件修改;
- 没有明确评估标准的开放任务。
推荐结构:
1 | Planner → Executor → Verifier → Human approval |
不要让每个 Agent 都自由发挥。
上下文管理
Agent 最常见的质量下降来自上下文失控:旧信息太多、工具结果太长、目标被冲淡。
优化方式:
- 每轮保留任务目标;
- 工具结果只保留摘要和关键字段;
- 长任务定期生成 state summary;
- 旧日志存外部系统,不全塞回 prompt;
- 对不同工具输出做结构化。
上下文裁剪 checklist:
| 内容 | 是否保留 |
|---|---|
| 当前目标 | 必须保留 |
| 用户约束 | 必须保留 |
| 最近工具错误 | 保留摘要 |
| 历史完整日志 | 外部存储 |
| 无关对话 | 删除 |
工具调用安全
工具是 Agent 的“手”。手越多,越要管权限。
| 工具类型 | 风险 | 建议 |
|---|---|---|
| 读文件 | 泄露敏感信息 | 限制目录 |
| 写文件 | 改坏项目 | diff + review |
| 数据库写入 | 数据损坏 | 测试库、事务、人工确认 |
| 网络请求 | 泄露上下文 | 白名单域名 |
| Shell 命令 | 破坏环境 | 命令 allowlist |
生产 Agent 不应该默认拥有全权限。权限要按任务逐步开放。
成本控制
Agent 成本比普通聊天更容易失控,因为它会多轮调用模型和工具。
控制策略:
- 最大轮数;
- 每轮 max tokens;
- 工具调用上限;
- 失败重试上限;
- 长上下文缓存;
- 低风险任务用低成本模型;
- 高风险任务升级模型并人工确认。
记录表:
| 指标 | 为什么看 |
|---|---|
| 每任务 tokens | 判断成本是否失控 |
| 工具调用次数 | 判断循环和低效 |
| 成功率 | 判断是否值得自动化 |
| 人工接管次数 | 判断边界是否清楚 |
| 平均延迟 | 判断用户体验 |
监控和日志
最少要记录:
- task id;
- user input 摘要;
- model;
- prompt tokens / output tokens;
- tool name;
- tool args 摘要;
- tool result 状态;
- error;
- final verdict;
- human approval。
不要记录敏感明文,例如 API Key、密码、客户隐私数据。日志要脱敏。
Human-in-the-loop
以下动作必须人工确认:
- 删除数据;
- 修改生产数据库;
- 发邮件/消息给外部用户;
- 付款、退款、下单;
- git push、部署、发布;
- 改安全策略。
Agent 适合做候选方案和草稿,不适合无确认执行高风险动作。
上线检查清单
- 有明确任务边界;
- 有最大轮数和超时;
- 有工具权限控制;
- 有日志和 trace;
- 有 fallback;
- 有人工确认;
- 有回归测试集;
- 有成本预算;
- 有回滚方案。
FAQ
Agent 性能优化优先看什么?
先看成功率和失败可恢复性,再看速度。快但不可控的 Agent 不适合生产。
多 Agent 一定比单 Agent 好吗?
不一定。多 Agent 更适合角色清楚、边界清楚、需要交叉审查的任务。否则会增加成本和复杂度。
怎么判断 Agent 可以上线?
至少要在真实任务集上稳定通过,且失败时能停止、解释、回滚或交给人处理。
总结
AI Agent 从 demo 到生产,关键不是写更多 prompt,而是建立控制系统:任务边界、工具权限、上下文管理、成本监控、日志、fallback 和人工确认。只有这些基础设施齐了,Agent 才能从“能跑”变成“可维护”。


