AI Agent 生产化:那些文档里不会告诉你的坑
跑通一个 demo 花了两小时。上线到生产环境,花了两个月。
这不是夸张。是每个做 AI Agent 的开发者都会经历的真实路径。
文档里写的是:创建 Agent,绑定工具,调用 API,搞定。
文档里没写的是:对话历史膨胀到 100K tokens 怎么办?工具调用失败了怎么降级?怎么调试一个每次运行结果都不一样的 Agent?token 预算超了怎么砍?Agent 把数据库删了怎么追责?
这些坑,文档不写。但生产环境会教你。
这篇文章,聊五个生产化必须面对的问题。不是理论,是实战。

状态管理:对话历史膨胀的噩梦
Agent 和传统应用最大的区别是什么?状态。
传统应用是 stateless 的。每个请求独立处理,处理完就忘了。Agent 不是。Agent 有记忆,有上下文,有对话历史。
这带来一个问题:对话历史会无限膨胀。
用户和 Agent 聊了 50 轮。每轮平均 2000 tokens。100K tokens。一次调用的成本,从 $0.01 涨到 $1。延迟从 2 秒涨到 20 秒。
更糟的是,很多模型有上下文长度限制。128K、200K、1M。到了上限怎么办?
常见方案有三种:
方案一:滑动窗口。只保留最近 N 轮对话。简单粗暴,但 Agent 会”失忆”。用户说”刚才那个文件”,Agent 问”哪个文件?”
方案二:摘要压缩。定期把历史对话压缩成摘要。保留关键信息,丢弃细节。但摘要会丢失上下文,Agent 的理解会打折扣。
方案三:分层记忆。核心记忆(用户偏好、关键信息)永远保留,短期记忆(最近对话)滑动窗口,工作记忆(当前任务)动态加载。复杂,但最接近人类的工作方式。
我的建议:从滑动窗口开始,根据用户反馈逐步升级。不要一开始就搞复杂的记忆架构。80% 的场景,滑动窗口够用。
剩下的 20%,再加摘要或分层记忆。

错误处理:工具调用失败的降级策略
Agent 调用工具,失败了。怎么办?
这个问题听起来简单。实际是 Agent 生产化最头疼的问题之一。
因为工具调用失败不是异常,是常态。
API 超时、参数错误、权限不足、服务宕机、网络抖动……任何一个环节出问题,工具调用就会失败。
传统应用怎么处理错误?try-catch,返回错误码,让用户重试。
Agent 不行。Agent 要自己处理错误,自己决定下一步。
降级策略有几个层次:
第一层:重试。网络抖动?等 3 秒重试。最多重试 3 次。简单有效,解决 50% 的问题。
第二层:替代方案。搜索 API 挂了?用本地缓存。数据库连不上?读备份文件。给每个关键工具准备一个 fallback。
第三层:优雅降级。所有方案都失败了?告诉用户”这个功能暂时不可用”,而不是让 Agent 胡言乱语。
第四层:人工介入。关键操作(删数据、发邮件、付款)失败了?暂停,通知人工处理。不要让 Agent 自己决定。
我的建议:在 Agent 的 system prompt 里明确写清楚降级策略。比如:”如果搜索失败,使用本地缓存。如果缓存也没有,告诉用户暂时无法查询。”
Agent 需要明确的指令,不是模糊的期望。

可观测性:调试非确定性系统的艺术
传统应用怎么调试?看日志,看堆栈,定位 bug,修复。
Agent 怎么调试?同样的输入,每次输出都不一样。
这不是 bug。这是 LLM 的本质。非确定性。
但生产环境需要确定性。用户问同样的问题,期望得到同样的答案。至少是类似的答案。
怎么调试一个非确定性的系统?
第一,记录完整的 trace。每次 Agent 运行,记录:输入、输出、工具调用、token 消耗、延迟、错误。不是抽样,是全量。
第二,建立评估集。准备 100 个典型问题,每次改 prompt 或换模型,跑一遍评估集。看准确率、延迟、成本的变化。
第三,可视化 Agent 的思考过程。Agent 为什么做这个决定?调了哪些工具?看了哪些信息?把这些可视化,才能理解 Agent 的行为。
第四,设置告警。token 消耗突然翻倍?延迟突然变高?错误率突然上升?告警,别等用户投诉。
我的建议:用 LangSmith、LangFuse 或自建的 trace 系统。不要裸跑 Agent。没有可观测性的 Agent,就像没有日志的后端服务——出了问题只能猜。

成本控制:token 预算的分配艺术
Agent 跑了一个月。账单来了。$5000。
老板问:为什么这么贵?
你答:因为用户用得多了。
老板又问:那收入呢?
你答:……
这是每个 Agent 产品都会面临的问题:成本失控。
Agent 的成本主要是 token。输入 token + 输出 token + 工具调用的 token。一次复杂的 Agent 调用,可能消耗 10K-50K tokens。
按 GPT-5.4 的价格,$2.5/1M input tokens,$10/1M output tokens。一次调用 $0.03-$0.5。一天 1000 次调用,$30-$500。一个月,$900-$15000。
这不是小数目。
成本控制有几个手段:
第一,模型分层。简单问题用小模型(GPT-4o-mini、Qwen3-Turbo),复杂问题用大模型(GPT-5.4、Qwen3-Max)。80% 的问题,小模型够用。
第二,缓存。相同的问题,相同的回答。用语义缓存(semantic cache)命中历史回答,省掉一次 API 调用。
第三,预算限制。每个用户每天最多 $1。超了就降级到免费模型,或者暂停服务。
第四,优化 prompt。精简 system prompt,减少不必要的上下文。每省 1000 tokens,都是钱。
我的建议:从第一天就建立成本监控。按用户、按功能、按模型维度统计 token 消耗。发现异常,及时优化。
不要等账单来了才心疼。

安全边界:Agent 的权限控制
Agent 有工具调用能力。能读文件,能写文件,能调 API,能执行代码。
这意味着:Agent 能做的事,和用户一样多。
用户能删数据库,Agent 也能。用户能发邮件,Agent 也能。用户能转账,Agent 也能。
但用户有自己的判断。Agent 没有。
Agent 会犯错。会误解指令。会执行错误的操作。会被人 prompt injection 攻击。
权限控制有几个层次:
第一,最小权限原则。Agent 只给它必要的权限。只需要读文件?不给写权限。只需要查数据库?不给删权限。
第二,操作分级。读操作(查文件、查数据库)可以直接执行。写操作(改文件、发邮件)需要用户确认。危险操作(删数据、转账)必须人工审批。
第三,审计日志。Agent 做的每一个操作,都记录下来。谁、什么时候、做了什么、结果如何。出了问题,能追溯。
第四,sandbox 隔离。代码执行、文件操作,在隔离的环境里跑。不要给 Agent 直接访问生产环境的权限。
我的建议:把 Agent 当成一个实习生。给它明确的权限边界,关键操作需要审批,所有操作留痕。
信任,但要验证。
写在最后
AI Agent 的生产化,不是技术问题。是工程问题。
跑通 demo 很容易。但生产环境要面对的是:状态管理、错误处理、可观测性、成本控制、安全边界。
这些问题,文档不写。但生产环境会教你。
我的建议是:从小处开始,逐步迭代。
不要一开始就搞复杂的记忆架构、完善的降级策略、精细的成本控制。先用最简单的方案跑起来,根据用户反馈和实际数据,逐步优化。
Agent 生产化是一场马拉松,不是短跑。
跑得快不重要。跑得稳,才重要。
往期推荐
如果你也在关注 AI 行业的格局变化,欢迎关注我,持续追踪 AI 领域的深度分析。
夜雨聆风