195、企业级Agent落地最佳实践那天凌晨两点,值班手机把我震醒。生产环境一个客服Agent突然开始疯狂调用订单查询接口,QPS直接打满,下游CRM系统告警刷屏。我看了一眼日志,Agent在用户说完“我找不到我的订单”之后,陷入了工具调用死循环——它反复查询一个根本不存在的order_id,因为我们在prompt里告诉它“查询失败就重试”,它非常忠实地执行了重试,每次还换一个参数。那一刻我意识到,企业级Agent的问题从来不是“模型能不能理解”,而是“工程能不能兜底”。那次事故之后,我们花了三个月把Agent从demo变成生产系统,踩了无数坑。写这篇文章是怕你们重蹈覆辙,把这些实践记录下来,能救一个是一个。先说上下文管理。demo阶段你只管往system prompt里塞资料,反正模型有128K甚至1M窗口。但企业场景里,一次会话可能涉及多个知识库文档、历史工单、实时用户数据、工具返回的JSON。你全塞进去,第一个崩的不是模型,是成本——每轮对话都要把所有内容重新算一遍,费用呈线性暴涨。更麻烦的是,当上下文超过一定长度,模型对中间部分的注意力会下降,表现为“用户上一句话说了啥突然忘了”或者“工具返回的字段被篡改”。我们的做法是给上下文分层。固定层是系统提示词,只放角色、技能清单、安全边界,这层几乎不变。工作层放用户当前意图、最近几轮对话摘要、当前任务相关的知识片段。瞬态层放工具返回结果,用完即走,除非要跨轮引用,否则绝不保留。这个分层不是理论,是拿线上流量压出来的。我们用了一个简单的上下文管理器,每次调用LLM之前,先根据用户最近输入做一次意图分类,再从向量库检索相关文档,拼装成一个紧凑的prompt。最关键的优化是:工具返回结果必须做字段裁剪。