文章揭示生产级AI Agent落地的真实工程挑战:上下文有限注意力、Agent间通信、工具调用可靠性、安全边界和监控体系,指出模型本身很少是问题根源。
我们正身处 AI Agent 的时代,如今各类大会的讨论都围绕着画满机器人图标和连接箭头的幻灯片展开,"agentic"这个词也出现在了每一条新的产品路线图上。
如果你只在 Jupyter Notebook 上做过 demo,那看起来确实很简单——给模型一个目标,再塞给它几个 API 工具,然后让它跑起来就行了。但真正到生产环境时,情况就完全不同了。
在 Jupyter Notebook 里让 Agent 订一张机票,与部署一个能为四万名员工处理差旅且不超支、不泄露敏感数据的 Agent 之间,存在着巨大的鸿沟。教程往往只展示其中光鲜亮丽的部分,我们意识不到这道鸿沟有多宽。
下面我们简要聊聊五个真实的工程挑战,这些在将 Agent 系统投入生产时让我们措手不及。
当 Agent 给出一个糟糕的回答时,第一反应往往是责怪模型。但这通常是个错误的直觉。模型本身没问题,只是没有给它提供回答所需足的上下文。
现在的上下文窗口已经非常大了,但"大"不等于"无限注意力"。给更多信息不一定能让模型更聪明,实际上它反而容易分心。所以理想的解决方案是:为当前这个步骤筛选出最小的高信号信息集。
想象一下,你把几千个 token 塞进一个 prompt,比如上传整个产品目录。这不一定让你模型变聪明。除此之外,还有很多知识根本不会被记录下来——比如存在于资深员工脑子里的逻辑、埋在陈旧文档或 Slack 聊天记录里的信息,或者隐藏在不成文的例外规则中的内容,我们称之为部落知识(tribal knowledge)。这类上下文并不总是能转化成 prompt 放进窗口,因为某些知识可能以组织记忆的形式存在。
这时候通常会想到用 RAG,然后认为问题就解决了。RAG 和向量搜索确实帮助很大。但它也可能以格式优美的形式返回五个自信满满的无关文本块,而且如果你的 embedding 遗漏了语义细微差别,就会生成错误的输出。
向量搜索有很多外部因素在起作用。底层数据的新鲜度、检索质量以及文档排序方式,这些都至关重要。
举个例子,一个处理供应商异常的 Agent 一直推荐一条已经过期八个月的解决方案。旧的政策文档仍然被索引在向量数据库里,而且没有被移除。令人意外的是,它的排名仅仅比更新后的版本高一点点。模型并没有在幻觉。它只是抓取到了它认为是真相的过时信息。
构建正确的上下文应该被视为一种工程 discipline,而不是写 prompt 时的马后炮。因为你为构建上下文所提供的信息,与你放进 prompt 的内容同样重要。
在本地 demo 里,Mock API 每次都能正常工作。但在真实的生产环境中,可能会随机抛出 500 内部服务器错误、出现超时问题、在执行过程中变更 schema 或者触发速率限制。
构建一个生产就绪的工具执行封装器,要求的标准远高于测试执行。正如 OpenAI 在其构建 Agent 的实践指南中指出的那样,生产级 Agent 应该能够识别工作流何时完成。它应该在出现问题时能够自我纠正,如果是临时性故障就继续重试,并尽一切努力完成任务。如果无法解决,它应该停止执行并返回人工介入,同时在定义的边界内运行。这比测试运行时通过一个单元测试要高出好几个层次。
认证是另一个开发者经常忽视的复杂层。经常出现令牌在任务中途过期,或者范围受限的权限悄无声息地阻止了操作。例如,一个对日历只有"读取权限"的 Agent 可能会悄无声息地无法"创建事件",因为没有人授予它写入权限。Agent 甚至可能根本没有意识到写入没有发生。
Agent 系统的可靠性取决于其最不稳定的工具。要为处理工具故障分配开发时间,就像对待第三方微服务一样。
多 Agent 架构看起来很有吸引力——几个 AI Agent 协同工作让系统更强大。一个 Agent 负责规划,另一个负责研究,再下一个负责撰写,还有一个负责审查;感觉就像在组建一个团队。有时候它确实有帮助。
虽然理解 AI Agent 如何改变开发者工作流有助于澄清个体自动化在哪些地方增添了价值,但将多个 Agent 堆叠在一起会引入巨大的协调开销。
Anthropic 自己在其多 Agent 研究系统的阐述中提供了一个很好的现实检验。当把工作分配到并行的子 Agent 时,特别是在 broad 的研究任务上,准确度可能会有显著提升。但这有一个真实的代价:多 Agent 版本可能消耗单个对话交换 15 倍的 token。因此,并不是总是要用多个 Agent。只有当任务足够复杂、价值足够高,值得为之付费时,才应该明智地使用它们。
协调是另一个让团队陷入麻烦的障碍。当子 Agent 无法看到其同伴在做什么时,它们可能会愉快地重复任务。例如,Anthropic 分享了一个场景:一个子 Agent 调查了一个古老的供应链事件,而另外两个 Agent 则在重复做同一份关于当前供应链的研究。想象一下如果有十个 Agent 共享一个任务队列会发生什么;你可能会陷入某种软死锁,两个 Agent 卡在那里等待对方应该先交付的输出。
到目前为止,我们理解了原型 Agent 和企业级 AI Agent 之间存在差距——这种差距实际上不在于模型能力,而在于周围的工程 discipline。下面这张表帮助我们理解其中的差异。
引入更多 Agent 并不是一种策略。它是一种成本倍增器,有时候能买到准确度,有时候只是买来更高的账单和更困难的调试。
企业通常不会部署最聪明的 Agent。他们青睐的是值得信任的 Agent,即那些能够轻松解释、说明并提供轨迹的 Agent。随着能力提升,治理成为一个主要障碍。
斯坦福 HAI 的 2026 AI Index 给出了这些问题的量化数据。2025 年有记录的 AI 相关事件跃升至 362 起,而前一年是 233 起——这是一个真实的增长,而非噪音——与此同时 Agent 在现实世界任务上的表现也有了显著提升(在一个标准计算机任务基准上从大约 12% 跃升至约 66% 的成功率)。
随着 AI Agent 快速改进,组织在控制、监控和治理它们方面的提升速度却没有跟上。这就是为什么组织在关键操作中不信任 AI。
大多数组织专注于让 AI Agent 自主化,但更重要的是治理这一方面。公司真正需要建立坚实的机制,能够在清晰规则内追踪 AI 的操作,记录每一个重要决策,并配备严格的访问控制。
所以在这种情况下,我们需要谨慎行事:
企业不需要完全的自主性。它们需要的是可预测行为的部署——来自在特定 guardrails 下运行的 AI Agent。
分布式系统早就教会我们:如果看不见它,就无法管理它。这个教训同样适用于 Agent,但失败模式有些不同;Agent 不会简单地崩溃。它可能会悄无声息地交付一个看似合理但实际上完全跑偏的答案,而你甚至不会收到任何错误消息来提醒你。因此可观测性是关键,不是可以事后才考虑的东西。你需要对每一个输入、工具调用和决策进行详细追踪。它应该像在微服务网络中追踪请求一样被串联起来。没有这种程度的可见性,"为什么 Agent 做出了那个决策?"这个问题就成为了组织中没有人能真正回答的问题。
让我们深入了解运行 Agent 系统时需要考虑的一些因素:
从一开始就建立可观测性:在系统上线后试图诊断一个盲目的生产级多 Agent 系统,是软件工程中最痛苦的任务之一。
日志和追踪:追踪每一个步骤和使用的工具,全部关联到特定的任务 ID。
Prompt 和输出监控:发现性能下降或 prompt 输出 schema 的变化。
成本追踪:追踪每个任务及其子 Agent 的 token 使用量。
延迟:设置实际的响应时间限制,以提供一致的用户体验。
审计和检查工具:捕获完整的决策轨迹,使排查 Agent 行为变得更加容易。
构建企业级 AI Agent 最大的教训不在于 prompt,而在于围绕它们设计可靠的软件系统。
上述五个挑战没有一个是关于模型质量的。它们正是几十年来工程师一直在分布式系统中与之搏斗的完全相同的问题:数据缺失、依赖不可靠、团队协调混乱、安全问题,以及需要看清盒子内部正在发生什么。Agent 只是让这五个问题都变得更加有趣,因为做出决策的"代码"是一个语言模型,而不是传统的代码行。