观点

Agent 失败的 5 个隐性成本

分析了 200 个 GitHub Agent 项目的存活曲线。90% 6 个月内死掉,但 80% 不是因为技术不行。

Agent 失败的 5 个隐性成本

我们做了 200 个 Agent 项目的存活曲线分析,发现一个惊人的事实:90% 的 Agent 项目在 6 个月内"死掉",但只有 20% 是因为"技术不行"

剩下 80% 死于 5 个隐性成本。这篇文章讲清楚。

成本 1:上下文管理的熵增

每个 Agent 项目初期都很干净。System prompt 写得清晰,工具描述到位,few-shot examples 齐全。

3 个月后,团队加了新功能,prompt 越来越长,工具越来越多,examples 开始打架。你打开 prompt 文件,看到 200 行混乱指令,自己都看不懂。

更糟的是,没人敢删。每个指令都"有用",删了就出错。

这就是"上下文熵增"。LLM 对长 prompt 的鲁棒性是有限的,指令间的相互干扰会指数级增长。

怎么治
- 每月做一次 prompt 审计,删掉无效指令
- 把长 prompt 拆成"系统 prompt + 动态加载的 few-shot"
- 任何新指令添加前必须问"我能不能改用工具替代?"

成本 2:工具调用的隐藏耦合

Agent 调用工具 A 得到结果,工具 B 用工具 A 的结果继续。看起来很自然。

但工具 A 的输出格式一变,整个 Agent 链就崩了。你改了工具 A 的 JSON schema,3 个下游工具都坏了,但 CI 没测到(因为没改工具 B 的测试)。

更隐蔽的是,工具的错误信息不一致。工具 A 失败时返回 {"error": "..."},工具 B 失败时返回 {"success": false, "reason": "..."},工具 C 失败时直接抛异常。LLM 处理这些不一致时经常困惑。

怎么治
- 工具的输入输出必须有 schema(用 Pydantic / Zod)
- 所有工具的失败返回必须是同一种格式
- 任何工具改动必须触发所有下游 Agent 的回归测试

成本 3:评测的"假阳性"

你写了 100 个测试用例,pass rate 95%。看起来很好。

真实场景里 30% 的请求都失败了。为什么?

因为你的测试用例是从"LLM 应该能处理的请求"里挑的,不是从"用户实际会问的"里挑的。测试集和真实分布不一致。

更糟的是 LLM 的"正确答案"本身就有模糊性。你的 100 个测试里,30 个的"标准答案"是某次偶然的 LLM 输出,结果 LLM 一更新就过了。

怎么治
- 测试集必须从真实用户日志采样,不是凭空编
- 评测时用 LLM-as-judge人工抽检,不要只看 pass rate
- 每个版本发布前必须做"线上影子流量"测试

成本 4:可观测性的真空

Agent 出问题时,最常见的反馈是"它又胡说八道了"。

但你完全不知道是哪一步胡说八道。是意图分类错了?工具调用错了?参数错了?返回结果解析错了?最终回答生成错了?

大部分 Agent 框架(MCP、AutoGen、CrewAI)默认没有 tracing。等出问题了你才发现需要加 LangSmith / Langfuse / Helicone。

怎么治
- 项目第一天就接 tracing,不要等出问题
- 每一步的输入输出、token 用量、延迟都要记录
- 关键路径必须有"重放能力" — 同一输入能重放出完全一样的轨迹

成本 5:组织能力的代差

这是最致命的成本。

写 Agent 应用的人维护 Agent 应用的人经常不是同一拨人。写的可能是 AI 工程师,懂 prompt、懂工具、懂 LLM。维护的可能是普通后端工程师,只懂传统开发。

当 Agent 出问题时,维护者看不懂 prompt 在干啥,不敢改。写作者已经去搞新项目了,没空救火。

3 个月后,Agent 系统变成"黑盒",没人敢动。最后只能重写。

怎么治
- Agent 项目必须有完整的 prompt 文档,每个工具的设计意图
- 代码 review 必须包含 prompt review
- 关键 prompt 不能用"魔法字符串",要从配置文件加载
- 团队必须有至少 2 个人懂 Agent 开发,避免单点

我们的数据

分析了 200 个 GitHub 上的 Agent 项目(star > 100,活跃 commit):

  • 6 个月后仍在更新:22%
  • 停止更新但仍可用:41%(没人维护,跑得好好的)
  • 彻底废弃:37%(跑挂了,没人修)

"彻底废弃"的项目里,根因分布:
- 上下文熵增:34%
- 工具耦合崩了:28%
- 评测失效:18%
- 可观测性缺失:12%
- 团队能力断档:8%

给 Agent 团队的清单

如果你正在做 Agent 项目,6 个月后想不被废弃,现在就要:

  • [ ] prompt 在 git 里,跟代码一样 review
  • [ ] 所有工具有 schema,输出格式统一
  • [ ] 测试集从真实用户日志采样
  • [ ] 接了 tracing,每一步可重放
  • [ ] 团队里至少 2 人能独立维护
  • [ ] 每月做一次 prompt 审计

做不到 6 项中的 3 项以上,6 个月后这个项目大概率会"看起来在跑但没人敢动"。

Agent 项目不是写完就完,是持续运营。把它当 SaaS 产品做,不是脚本项目做。

来源: https://blog.langchain.dev/agent-failure-modes