返回心得体会

企业级 AI Agent 落地的十二个坑:从 Demo 到生产的真实问题

企业级 AI Agent 落地的十二个坑:从 Demo 到生产的真实问题

阅读提要

本文讨论企业级 AI Agent 从演示走向生产时最容易踩的坑。重点不在于“哪个模型最好”,而在于组织责任、数据治理、知识库质量、工具权限、链路可视化和人机协同是否补齐。

  • 前半部分逐条评估十二个常见判断,并给出更可落地的修正方案。
  • 中间部分讨论模型分层、知识治理、多 Agent、消息队列和 RPA 的适用边界。
  • 最后给出更准确的企业级 Agent 架构和落地结论。

治理、权限、知识质量、审计、可观测性——这些才是 Agent 从 Demo 走向生产的关键。


总体判断

企业级 AI Agent 落地中常被提到的坑,大约八成是合理的,而且确实符合真实问题。

最大的优点是没有只讲 RAG、Prompt、工具调用,而是讲到了:

  • 责任与治理
  • 模型成本
  • 知识质量
  • 权限与审计
  • 可观测性
  • 存量系统兼容
  • 跨部门协作

NIST 的 AI 风险管理框架把治理、风险识别、评估和管理作为一整套体系;微软最新的企业 Agent 治理指南同样强调,Agent 既会访问数据也会执行操作,因此必须同时做到可治理、可观察和安全。

不过,有一些说法过于绝对,也有几个架构结论需要修正。下面逐条分析。


一、大厂做 Agent 最难的不是技术,而是组织

判断:方向正确,但表达过于绝对

更准确的说法:

大厂 Agent 落地的核心难点,是技术、业务、治理和组织协同组成的复杂系统,而组织问题往往比单点技术问题更难解决。

模型、RAG、工具调用这些技术问题通常可以由一个技术团队解决;但责任归属、业务流程变更、数据权限、跨部门预算、系统接入,需要多个团队共同决策。

可落地方案

项目启动时,不要先写代码,而是先形成一份 Agent 治理说明书

内容需要明确的问题
业务负责人谁对业务结果负责
技术负责人谁负责模型、流程和系统稳定性
数据负责人谁批准数据进入知识库
风险负责人谁决定哪些操作必须人工审核
运营负责人谁处理用户反馈和错误案例
停机机制出现重大问题时谁有权关闭 Agent

使用 RACI 责任矩阵:

  • Responsible:实际执行者
  • Accountable:最终责任人
  • Consulted:需要参与评审的人
  • Informed:需要被通知的人

最重要的是明确:Agent 可以建议什么、可以读取什么、可以执行什么、出了问题由谁处理。


二、Agent 出错了谁负责

判断:完全合理,这是生产落地的核心问题

企业最担心的不是模型偶尔答错,而是答错后直接触发真实业务操作:删除数据、修改订单、审批付款、发出正式邮件、调整生产参数、修改客户信息。

OWASP 将 Agent 权限过大、敏感信息泄露和提示注入列为大模型应用的重要风险。仅在 Prompt 中告诉 Agent"不要执行危险操作"并不构成安全控制。

解决方案:操作风险分级

级别类型示例处理策略
L0只读查询查询设备状态、检索知识、总结文档自动执行,做权限过滤
L1可撤销操作创建草稿、生成工单但不提交、填写表单但不确认自动执行,保留操作记录和撤销能力
L2有业务影响修改订单、发送正式邮件、提交审批必须经过用户确认或人工审核
L3不可逆/高风险付款、删除生产数据、修改设备关键参数双人审批、强身份验证,甚至禁止 Agent 直接执行

Human-in-the-loop 的本质不是所有步骤都人工审核,而是在高风险节点暂停流程,等待明确批准后再继续。现有 Agent 编排框架已支持暂停、保存状态和人工确认后恢复。


三、小公司先用顶尖模型,大厂做模型分层

判断:基本合理,但不能一概而论

先用强模型验证业务上限是很好的方法。项目早期最需要回答的是:这个场景到底能不能做好?假如一开始就使用能力较弱的便宜模型,效果不好时很难判断是场景不可行还是模型能力不足。

更合理的流程:

  1. 用强模型做效果基线
  2. 建立真实业务评测集
  3. 使用便宜模型复测
  4. 对比质量、成本、延迟
  5. 再决定是否分层或者降级

四、用一个 Agent 路由到不同模型

判断:模型路由合理,但路由器不一定应该是 Agent

这是需要重点修正的地方。路由层可以是:

  • 固定规则
  • 关键词和业务类型分类
  • 传统机器学习分类器
  • 小模型分类器
  • 专门训练的路由模型
  • 大模型判断器

并不一定需要做成一个能自主规划的 Agent。微软当前的模型路由方案使用的是专门训练的轻量机器学习模型,综合提示词、历史消息、工具定义和任务难度,在质量、成本和延迟之间做选择。

推荐的路由架构

第一层:业务规则 翻译、分类、格式转换 → 小模型 法务、复杂代码、决策分析 → 强模型 第二层:复杂度分类器 判断上下文长度、工具数量、推理深度 第三层:置信度判断 置信度不足 → 自动升级强模型 第四层:结果校验 格式失败、工具调用失败、低质量 → 重试或升级

关键机制:自动升级,而不是一次性路由

弱模型执行 校验通过 → 返回结果 校验失败 → 强模型重试

"路由准确率 92%"的问题

这个数字本身没有意义,除非明确:测试集有多少条、正确路由如何定义、不同类别是否平衡、错误路由造成多大质量下降、是否计算了总成本和最终任务成功率。

真正应该关注的指标:最终任务成功率、平均成本、P95 延迟和强模型调用比例


五、知识库是最被低估的问题

判断:非常合理

很多所谓的 RAG 问题实际上不是向量数据库或 Embedding 模型的问题,而是源数据本身存在问题:

  • 文档已经过期
  • 不同部门的规则互相矛盾
  • 文档没有负责人
  • 权限没有继承
  • 表格、图片和附件没有正确解析
  • 关键业务经验没有文档化
  • 检索到了内容,但内容本身是错的

RAG 的作用是帮助模型找到内容,它不能保证被找到的内容本身正确。企业 RAG 也不只有向量检索一种方案,还可能包含关键词检索、混合检索、语义排序、查询改写和 Agentic Retrieval。

知识治理的正确做法

每一个知识源至少要有以下元数据:

知识ID | 来源系统 | 业务部门 | 责任人 | 适用范围 权限级别 | 生效日期 | 失效日期 | 版本号 | 可信等级 | 最后更新时间

推荐流程:

原始知识源 格式解析与清洗 敏感信息识别 权限标签继承 版本和时效检查 切片与索引 检索评测 正式发布

"低分知识自动清理"需要修正

知识不应该因为访问热度低就自动删除。有些重要知识可能一年只使用一次:重大设备故障处理、安全事故应急流程、极端异常审批规则、法务和合规条款。

更稳妥的策略:

高分知识 → 正常检索 低分知识 → 降权 过期知识 → 隔离 存在冲突 → 人工复核 确认无效 → 下线但保留历史版本

应当是自动降权、自动预警、人工下线,而不是直接自动删除。


六、通过访谈把员工脑中的知识抽出来

判断:合理,但不能只做 FAQ

这种做法属于隐性知识显性化,企业确实需要做。但访谈出来的内容不能直接进入知识库,因为员工个人经验可能存在:主观判断、非正式操作、已经过期的习惯、与正式制度冲突、只适用于特殊场景。

正确流程

访谈业务专家 形成候选知识 业务负责人确认 与现有制度比对 标注适用条件和例外 形成FAQ、SOP或决策表 发布到知识库

复杂规则最好不要只写成自然语言 FAQ,而应转换为:决策表、规则树、流程图、结构化条件、可执行规则。这样比单纯依赖模型理解自然语言更稳定。


七、AI 生成代码必须有 Spec

判断:方向合理,但不应机械化

核心业务代码要求 Spec、测试和审核非常合理。但不是每一段 AI 生成的代码都需要单独写一份完整文档,否则文档成本可能超过开发成本。

更合理的分级

级别示例要求
普通代码页面样式、简单 DTO、转换函数类型约束、单元测试、代码审查
核心业务代码权限、订单、支付、设备控制输入输出契约、前置/后置条件、边界条件、异常策略、幂等性、权限要求、回滚策略、测试用例
高风险代码涉及资金或安全的核心逻辑人工评审、安全扫描、集成测试、灰度发布、审计记录

Spec 最好不是一大段纯文字,而是能进入工程流程的结构化产物:OpenAPI、JSON Schema、Pydantic Model、状态机定义、测试用例、验收标准。

"增加 Spec 后 Bug 降低 40%"只能作为团队内部案例,不能当作通用行业结论。


八、长流程应该使用多 Agent 架构

判断:只对了一半

流程长,不代表一定要多 Agent。

多数企业流程更适合:确定性工作流为骨架,Agent 只处理其中不确定的环节。

例如审批流程:

提交申请 → 规则校验 → Agent分析材料 → 人工审批 → 系统写入 → 通知结果

这里很多节点应该是普通代码、规则引擎或者状态机,不需要每一步都设计一个 Agent。

什么时候需要多 Agent

适合:

  • 不同任务需要完全不同的工具和上下文
  • 各模块需要独立部署和扩缩容
  • 权限边界不同
  • 团队责任边界不同
  • 子任务能够独立失败和重试

不适合:

  • 只是想把 Prompt 拆成几段
  • 流程高度固定
  • 每个 Agent 都需要共享全部上下文
  • Agent 之间频繁聊天
  • 任务本身非常简单

多 Agent 会引入额外的状态同步、上下文丢失、重复调用、死循环和调试成本。

更好的架构原则

工作流负责控制 Agent负责判断 工具负责执行 规则引擎负责确定性规则 人工负责高风险决策

即使采用 LangGraph 一类框架,真正重要的也不是"多 Agent"这个名称,而是状态持久化、可恢复执行、人工中断和明确的节点转换。


九、Agent 之间通过消息队列通信

判断:部分场景合理,但不应作为默认方案

消息队列适合:长时间任务、异步处理、高并发、不同服务独立部署、需要失败重试、需要削峰填谷。

但对于简单 Agent 流程,引入 RabbitMQ、Kafka 等消息系统可能增加不必要的复杂度。

使用消息队列时必须补齐

  • 全局任务 ID
  • Trace ID
  • 幂等键
  • 超时机制
  • 重试次数
  • 死信队列
  • 状态持久化
  • 消息顺序
  • 补偿和回滚机制

否则某个 Agent 重试后可能重复执行真实业务操作:重复创建订单、发送邮件、写入数据库、提交审批。


十、详细日志和链路可视化

判断:完全合理,而且是生产必需品

Agent 调试不能只记录最终答案,还需要知道:

用户输入 | Prompt版本 | 调用的模型 | 模型参数 检索查询 | 召回文档ID | 工具名称 | 工具参数 工具结果 | 路由选择 | 重试次数 | Token消耗 执行延迟 | 最终状态

企业 AI 可观测体系通常会同时记录质量评测、Token、延迟、错误率、工具调用和分布式调用链。OpenTelemetry 已为生成式 AI 的模型、工具、检索和工作流定义相关的追踪语义。

但需要注意:日志里不能无条件记录完整 Prompt、用户数据和工具结果。敏感信息必须脱敏,日志本身也要有访问权限和保存期限。


十一、所有 Agent 访问数据都经过数据网关

判断:合理,但一个网关还不够

数据网关或 AI Gateway 可以统一完成:身份认证、模型访问控制、Token 限额、敏感信息过滤、日志审计、模型切换、限流和熔断。

但还需要工具层权限控制。正确的链路:

用户身份 Agent身份 数据网关 业务系统权限 行级、字段级数据权限

Agent 不能因为获得了数据库工具就拥有整个数据库权限。应采用:

  • 最小权限
  • 临时凭证
  • 短期 Token
  • 工具白名单
  • 参数范围限制
  • 行级数据权限
  • 高风险操作二次确认

十二、用 RPA 连接没有 API 的老系统

判断:合理,是常见过渡方案,但不是理想终态

RPA 可以帮助 Agent 操作没有 API 的旧系统,但它比较脆弱:页面改版就可能失效、弹窗会打断流程、分辨率变化可能影响识别、执行速度慢、难以保证事务一致性、失败后的业务状态难恢复。

推荐顺序:

正式API 优先于 数据库视图或消息接口 优先于 适配器服务 优先于 RPA界面操作

RPA 最适合做临时桥接或低频、低风险流程。如果必须使用 RPA,应加入:操作前截图、操作后验证、页面状态检测、超时退出、幂等校验、失败转人工、全程录屏或审计日志。


这些数字不要直接当成普遍结论

原口播中的这些数据——路由准确率 92%、检索准确率从 60% 提高到 85%、加 Spec 后 Bug 降低 40%——都可能是真实的内部项目数据,但缺少以下定义:样本规模、评测方法、统计周期、指标定义、对照组、业务场景。

因此只能表达为:

在我们这个项目和内部评测集上,取得了相应改善。

不能表达成所有企业采用该方案都会获得同样效果。


更准确的企业级 Agent 架构

用户与身份认证 权限与安全网关 确定性工作流 / 状态机 模型路由与预算控制 Agent推理节点 ↙ ↓ ↘ 知识库 业务工具 人工审核 ↘ ↓ ↙ 结果校验与风险控制 业务系统执行 日志、Trace、评测、审计

最终结论

原口播的核心方向是对的,但需要把以下三种内容区分开:

  1. 行业共识:治理、权限、知识质量、审计、可观测性确实重要。
  2. 具体架构选择:模型路由、多 Agent、消息队列和 RPA 要根据场景选择。
  3. 内部项目数据:92%、85%、40% 等数字必须注明是内部案例,不能包装成通用规律。

最值得保留的一句话:

企业 Agent 落地不是单纯的大模型项目,而是一次业务流程、知识体系、权限体系和软件架构的联合改造。

最需要修改的一句话:

大厂流程长,所以必须采用多 Agent。

应该改成:

大厂复杂流程更适合以确定性工作流为骨架,在需要理解、判断和生成的节点引入 Agent;只有在职责、权限或部署边界明确时,才考虑多 Agent。


参考链接