打开网易新闻 查看精彩图片

2024年Q3,OpenAI内部一个代号"Operator"的Agent项目被迫回炉。不是模型不够聪明,是代码库已经脏到47%的工程师每周花4小时以上处理"意外副作用"——Agent调用的工具链互相踩脚,日志像毛线团,没人敢动核心调度层。

这数据来自The New Stack对200+企业Agent工程的调研。更扎心的是,78%的团队承认自己的Agent系统"正在积累无法偿还的技术债",但业务压力让他们只能继续堆功能。

Agent工程的脏秘密:它不像传统软件那样"坏掉"

Agent工程的脏秘密:它不像传统软件那样"坏掉"

传统软件出bug,程序崩溃,日志报错,你定位修复。Agent出问题是另一种画风:它完成了任务,但路径诡异,副作用在三天后才显现,且无法复现。

Google DeepMind的工程师在2024年ICML工作坊上吐槽过一个案例:他们的科研Agent被设计去检索论文,某天突然开始给同事发邮件推荐自己的"发现"。追查发现,Agent把"输出到控制台"和"发送邮件"两个工具搞混了——因为两者的描述向量在嵌入空间里太近。没有报错,没有异常,只有一封封尴尬的邮件。

Agent的技术债是"沉默的复利"。它不阻止你上线,只是让每次迭代都像在沼泽里跑步。

The New Stack的调研显示,企业Agent系统的平均代码周转周期(从提交到生产)是传统微服务的2.3倍。不是测试慢,是没人说得清"这个改动会不会让Agent在某种边缘场景下突然换策略"。

工具链爆炸:每个Agent都是定制协议的黑洞

工具链爆炸:每个Agent都是定制协议的黑洞

2023年,LangChain(一个主流Agent框架)的集成工具数量从200个暴涨到600+。看起来很繁荣,实际是灾难。

每个工具都有自己的调用约定、鉴权方式、错误码设计。Agent要调用Salesforce查客户数据,再丢给Slack发通知,最后用内部API更新数据库——这三个工具的失败模式完全不同:Salesforce限流返回429,Slack可能静默丢弃,内部API偶尔200响应里包着错误JSON。

工程师被迫写大量"胶水代码"做容错。调研中一个受访团队描述他们的现状:核心Agent逻辑只占代码量的30%,剩下70%是"如果工具A超时怎么办""如果工具B返回格式变异怎么办"的防御性代码。这些代码很少被测试覆盖,因为"模拟所有工具故障组合的成本太高"。

Anthropic在2024年4月发布的Claude 3工具使用功能,试图用统一接口缓解这个问题。但企业反馈很分裂:小团队觉得省事了,大团队发现Claude的接口和他们已有的200+内部工具不兼容,迁移成本反而更高。

可观测性困局:你看见的是Agent的"述职报告",不是真相

可观测性困局:你看见的是Agent的"述职报告",不是真相

传统软件的可观测性是"发生了什么事"。Agent的可观测性是"它为什么觉得自己做的事是对的"。

OpenAI的前研究工程师在离职博客中写道:「我们训练Agent时最大的噩梦,不是它失败,是它成功但你不知道代价。它可能调用了12个API,其中3个是冗余的,2个触发了未记录的副作用,但最终任务完成了,指标漂亮,直到三个月后审计才发现数据泄露风险。」

The New Stack调研中,61%的团队承认"无法完整重建Agent的决策轨迹"。不是没打日志,是日志太多太杂,且Agent的中间推理步骤(Chain-of-Thought)往往不被持久化——出于延迟和成本考虑。

一个金融公司的案例:他们的交易合规Agent在某次审核中漏掉了一条违规记录。事后复盘发现,Agent的推理链里确实提到了这条记录,但认为"已被人工覆盖"——实际上那是另一个相似案件的备注。这个误判没有被任何监控捕获,因为系统只校验"最终输出是否包含关键词",不校验"推理过程是否合理"。

组织债务:谁对Agent的决策负责?

组织债务:谁对Agent的决策负责?

技术债的终极形态是组织层面的权责模糊。

传统系统出事故,找Owner,看代码,定责任。Agent系统出事故,产品线说是模型问题,模型团队说是提示工程没写好,提示工程师说是工具返回的数据脏,数据团队说是业务定义不清。

The New Stack的调研发现,拥有成熟Agent系统的公司中,83%设立了"AI产品经理"新角色,但67%的该角色受访者表示"实际权力不足以协调跨团队的技术债偿还"。

一个典型冲突:安全团队要求所有Agent调用必须经过人工审批沙盒,业务团队要求实时响应。最终妥协方案是"高风险操作人工审批",但"高风险"的定义权在技术债最重的遗留系统里,没人敢改——一改可能触发未知连锁反应。

这种僵局让Agent系统的迭代陷入"补丁模式":只在表面修,不敢动架构。调研中,平均Agent系统运行18个月后,核心调度代码的注释率从23%降到7%,因为"写注释的人离职了,新来的人不敢确认旧注释是否还准确"。

还债尝试:从"提示工程"到"Agent工程"的范式转移

还债尝试:从"提示工程"到"Agent工程"的范式转移

行业正在摸索解法,但远未统一。

LangChain团队在2024年推出了LangGraph,试图用状态机模型约束Agent的任意跳转,换取可预测性。反响两极:喜欢的人说"终于能画流程图了",反对的人说"这还叫Agent吗,就是规则引擎套壳"。

Google的Vertex AI Agent Builder走了另一条路:强制要求每个Agent声明"能力边界清单",超出边界必须人工确认。这降低了意外,但也限制了Agent的"涌现能力"——正是当初追捧Agent而非传统自动化的卖点。

更激进的尝试来自一些初创公司。CrewAI(一个开源多Agent框架)的创始人2024年在Hacker News上透露,他们正在实验"Agent间的契约测试":让每个Agent对外暴露形式化接口契约,其他Agent调用前必须验证。这借鉴了微服务的测试策略,但Agent的非确定性让契约验证本身成了难题。

The New Stack的调研结尾问了一个开放问题:「如果你的Agent系统明天必须交给另一个团队维护,你有多大信心?」平均得分4.2/10。最自信的团队来自一个意想不到的领域——游戏AI,因为他们"早就习惯了不可预测的智能体行为,有成熟的隔离和回滚机制"。

你的Agent系统,敢做同样的交接测试吗?