1. 先搞清楚企业到底在为什么买单
很多团队一上来就讨论用LangChain还是Dify、用GPT-4还是Claude、要不要上多智能体,但真正该先回答的问题是:这个Agent到底替谁省了什么事?我见过太多项目死在“技术选型很先进,但业务方根本不用”这个环节上。
企业AI Agent的赋能,本质上不是买一个模型API接进系统就完事了。它更像是给一个岗位配了一个“数字实习生”——这个实习生需要理解业务上下文、能调用内部工具、知道什么该做什么不该做、出了问题能追溯。所以选型的第一刀,不是切技术栈,而是切场景类型。
1.1 三类场景对应三种完全不同的技术路线
我把企业里常见的Agent需求粗分成三类,每一类的技术选型和节奏差异极大:
| 场景类型 | 典型例子 | 核心诉求 | 技术重心 |
|---|---|---|---|
| 知识问答型 | 内部制度查询、产品手册问答 | 准确、可溯源、低幻觉 | RAG检索质量、知识库治理 |
| 流程执行型 | 自动生成周报、审批流转、工单分类 | 稳定、可编排、可审计 | Workflow编排、工具调用 |
| 决策辅助型 | 数据分析建议、风险预警、方案对比 | 推理深度、多源融合 | 多Agent协作、记忆框架 |
知识问答型的核心不是Agent有多“智能”,而是检索到的内容对不对。我踩过的一个坑是:团队花了两周调Prompt,结果发现80%的badcase是因为知识库里的文档本身就是过期的。这类场景的技术方案,重点应该放在文档切分策略、向量数据库选型(Milvus、Chroma、Qdrant各有适用面)、以及召回后的重排序上。
流程执行型则完全不同。它要求的是确定性——同样输入必须得到同样输出。这时候纯靠LLM的自由推理是靠不住的,必须用Workflow把步骤锁死。LangChain的Workflow编排、Dify的可视化流程、甚至直接用代码写状态机,都是可选路径。关键判断标准是:这个流程里有多少步骤是“必须按固定顺序执行”的,有多少是“需要模型判断分支”的。
决策辅助型最复杂,也是目前落地最少的。它需要Agent具备长期记忆、能跨会话保持上下文、还要能协调多个专业Agent。agent记忆框架的选型在这个场景下就变得关键——是用简单的对话历史窗口,还是上向量记忆+摘要压缩,还是引入专门的内存层,直接决定了Agent能不能“越用越懂业务”。
1.2 选型前必须回答的四个问题
在打开任何技术文档之前,我建议你先跟业务方一起把下面四个问题写清楚:
- 这个Agent的产出,谁来验收?是人看一眼就用,还是直接进下游系统?前者容错率高,可以用更激进的方案;后者必须加校验层。
- 错误代价有多大?答错一个内部制度问题 vs 自动发错一封客户邮件,风险等级完全不同。
- 数据边界在哪里?哪些数据能进模型上下文,哪些必须留在本地,这直接决定你是用云端API还是私有化部署。
- 迭代频率预期是多少?业务规则每周变 vs 半年不变,决定了你是要做重配置化还是可以硬编码。
这四个问题的答案,比任何技术对比表都更能帮你缩小选型范围。
2. 自建Agent和Workflow编排不是二选一
这是我在实际项目里见到分歧最大的地方。一派认为“Agent就应该自主决策,Workflow太死板”,另一派认为“企业场景要什么自主性,老老实实编排流程就行”。我的经验是:这两者不是对立关系,而是分层关系。
2.1 什么时候该用Workflow锁住流程
Workflow的本质是把确定性的部分固化下来。一个企业流程里,通常70%的步骤是固定的——先查什么、再调什么接口、最后输出什么格式。这些部分用Workflow编排,好处非常明显:
- 可测试:每个节点可以单独写单元测试,不用每次跑整个Agent
- 可审计:每一步的输入输出都有日志,出了问题能定位到具体节点
- 成本可控:固定步骤不需要反复调LLM,token消耗大幅下降
- 响应稳定:不会因为模型抽风导致流程卡死
我一般建议团队先把整个业务流程画成流程图,然后标记哪些节点是“规则明确的”,哪些是“需要判断的”。规则明确的全部用代码或Workflow节点实现,只有判断节点才交给LLM。
2.2 什么时候必须让Agent自主决策
有些场景确实没法提前穷举所有分支。比如客服场景里,用户可能问任何问题,你不可能把所有可能的对话路径都编排出来。这时候就需要Agent根据上下文自主决定调用哪个工具、查哪个知识库。
但即便是这种场景,我也不会让Agent完全自由。通常的做法是给Agent划定一个工具集和行动空间——它能调用的API是有限的,它能访问的数据是有权限控制的,它的输出格式是有模板约束的。这就像给实习生一个明确的职责范围,而不是让他随便翻公司所有文件。
2.3 混合架构的落地方式
实际项目里最稳的架构是外层Workflow + 内层Agent:
用户请求 → Workflow入口节点(参数校验、权限检查) → 路由节点(判断请求类型) → Agent节点(处理需要推理的部分) → 校验节点(格式检查、敏感词过滤) → 输出节点(格式化返回)这种架构下,Workflow负责“骨架”,Agent负责“肌肉”。骨架保证流程不跑偏,肌肉提供灵活性。LangChain的AgentExecutor可以嵌入到更大的编排流程里,Dify也支持在Workflow中调用Agent节点。
我踩过的一个坑:早期项目里让Agent直接对接用户输入,结果用户一句“忽略之前的指令”就能让Agent泄露系统Prompt。后来加了Workflow入口做输入清洗和意图识别,这类问题基本消失了。
3. 技术栈选型的真实决策树
市面上AI Agent相关的框架和平台太多了,LangChain、Dify、Spring AI、AutoGPT、CrewAI……每个都宣称能解决所有问题。但企业选型和开源项目尝鲜是两回事,你需要考虑团队技术栈、运维能力、长期维护成本。
3.1 先看团队现有技术栈
这是最容易被忽略但最重要的因素。如果你的团队是Java技术栈为主,那Spring AI + Spring Cloud的组合可能比Python系的LangChain更合适——虽然LangChain生态更丰富,但让Java团队维护Python服务,长期来看运维成本会吃掉开发效率的优势。
反过来,如果团队本来就是Python数据科学背景,那LangChain或LlamaIndex就是自然选择。Dify这类低代码平台适合业务人员参与编排的场景,但如果你的流程复杂到需要写自定义代码,低代码平台反而会成为瓶颈。
我整理了一个简单的决策参考:
| 团队背景 | 推荐路线 | 理由 |
|---|---|---|
| Java为主,企业级系统 | Spring AI + 自研编排层 | 复用现有微服务体系,运维统一 |
| Python为主,快速迭代 | LangChain/LlamaIndex + FastAPI | 生态成熟,社区案例多 |
| 业务人员主导,IT支持 | Dify/Coze类平台 | 可视化编排,降低参与门槛 |
| 有强AI研究团队 | 自研Agent框架 | 需要深度定制记忆、规划模块 |
3.2 向量数据库选型不能只看性能
知识库是大多数企业Agent的标配,向量数据库的选型直接影响检索质量和运维复杂度。Milvus、Chroma、Qdrant、Weaviate这几个主流选项,我在不同项目里都用过,说几个实际感受:
- Chroma:上手最快,适合原型验证和小规模知识库(几万条以内)。但生产环境要注意它的持久化和并发能力,我们有过数据量到十万级后查询变慢的经历。
- Milvus:功能最全,支持多种索引类型和分布式部署。但运维复杂度也最高,需要单独维护etcd、MinIO等组件。适合有专职运维团队的中大型企业。
- Qdrant:性能和易用性平衡得比较好,Rust写的,单机性能很强。过滤条件支持得也不错,适合中等规模场景。
- pgvector:如果你已经在用PostgreSQL,这是最省事的选择。不用额外维护一个数据库,虽然极致性能不如专用向量库,但大多数企业场景够用了。
我的建议是:除非数据量到千万级或者有特殊索引需求,否则优先考虑pgvector或Qdrant。少维护一个组件,就少一个半夜被叫起来修故障的理由。
3.3 消息队列在Agent系统里的角色
Agent系统里经常需要异步处理——比如用户提交一个分析请求,Agent需要调多个工具、查多个数据源,整个过程可能几十秒。这时候不能让用户HTTP连接一直等着,需要消息队列来做异步解耦。
Kafka、RabbitMQ、RocketMQ的选型对比网上很多,我说说在Agent场景下的实际考量:
- Kafka:吞吐量最大,适合日志采集和事件流场景。但如果只是做任务队列,它的延迟和运维成本偏高。
- RabbitMQ:路由灵活,延迟低,适合任务分发。但大量队列堆积时性能下降明显。
- RocketMQ:阿里系,事务消息支持好,适合需要保证消息可靠性的金融级场景。
Agent系统里,如果只是简单的任务异步化,RabbitMQ通常够用。如果涉及多Agent之间的消息通信、事件驱动架构,Kafka的持久化和回放能力更有优势。
4. 节奏控制:从POC到规模化推广的四个阶段
技术选型定了之后,更大的挑战是节奏。我见过太多项目要么卡在POC阶段出不来,要么一上来就全公司推广然后暴雷。企业AI Agent的落地,节奏感比技术方案更重要。
4.1 第一阶段:单点POC,验证核心假设
这个阶段的目标不是做一个完整的Agent,而是验证最核心的那个假设。比如:
- 假设“RAG能准确回答内部制度问题”——那就只做检索和问答,不做多轮对话、不做工具调用
- 假设“Agent能自动分类工单”——那就只做分类,不接工单系统,先离线跑一批历史数据看准确率
POC阶段最忌讳的是追求大而全。我建议时间盒控制在2-4周,参与人数不超过3人。成功的标准要提前定好,比如“在100条测试集上准确率超过85%”或者“人工处理时间减少50%”。
这个阶段的技术选型可以激进一些,用最顺手的框架快速搭原型。因为POC的目的是验证可行性,不是验证可维护性。
4.2 第二阶段:单部门试点,打磨工程化
POC验证通过后,进入单部门试点。这个阶段的核心任务从“能不能做”变成“能不能稳定用”。需要补的课包括:
- 错误处理:模型超时怎么办、工具调用失败怎么重试、输出格式不对怎么兜底
- 日志与可观测:每次调用的输入输出、token消耗、耗时都要记录,否则出了问题没法排查
- 权限控制:不同角色的用户能访问哪些数据、能调用哪些工具
- 反馈闭环:用户能不能对结果点赞点踩,这些反馈怎么回流到优化流程
这个阶段我建议选一个业务量大但风险可控的部门,比如内部IT支持或者HR咨询。即使用户体验有波动,也不会直接影响外部客户。
试点周期一般1-3个月,关键产出是一套可复用的工程模板——包括Prompt模板、工具封装规范、评测数据集、部署脚本。这套模板是后续规模化推广的基础。
4.3 第三阶段:多部门复制,解决个性化与标准化的矛盾
到了这个阶段,你会发现每个部门的需求都不一样。销售部门要查CRM数据,技术部门要查代码仓库,财务部门要查报表系统。如果每个部门都单独定制一套,维护成本会爆炸。
我的经验是采用**“核心引擎+配置化”**的策略:
- 核心引擎统一:Agent的推理框架、记忆管理、工具调用协议保持一致
- 配置化扩展:每个部门通过配置文件定义自己的知识库、工具集、Prompt模板
- 共享组件库:常用的工具(如数据库查询、文档检索、邮件发送)做成标准组件,各部门按需组合
这个阶段最大的坑是数据权限。A部门的Agent绝对不能访问B部门的数据,这需要在架构层面做好隔离,而不是靠Prompt里写“不要访问其他部门数据”。
4.4 第四阶段:规模化运营,建立持续优化机制
当Agent覆盖到一定规模后,重点就从建设转向运营。需要建立:
- 效果监控看板:各Agent的调用量、成功率、用户满意度、平均耗时
- 定期评测机制:每周或每月用标准测试集跑一遍,防止模型更新或知识库变更导致效果下降
- 成本核算:每个Agent的token消耗、API调用费用,算清楚ROI
- 迭代流程:用户反馈怎么收集、怎么排优先级、怎么上线验证
这个阶段最容易被忽视的是知识库的持续维护。很多团队上线后就不管了,结果半年后知识库里的内容过期,Agent开始胡言乱语。我建议指定专人负责知识库的更新和审核,把它当成一个产品来运营。
5. 那些只有踩过才知道的坑
5.1 Prompt不是越详细越好
新手容易犯的错误是把Prompt写得像说明书,恨不得把所有可能的情况都写进去。结果模型反而抓不住重点,或者因为指令太多而互相冲突。
我的经验是:Prompt要分层。系统级Prompt只写角色定位和核心约束,任务级Prompt写具体步骤,工具级Prompt写调用规范。每层只关注自己的事,不要混在一起。
另外,少用“不要做什么”的否定指令,多用“应该做什么”的正面指令。模型对否定指令的遵循度明显更低。
5.2 评测集比模型选择更重要
很多团队花大量时间对比不同模型的效果,却没有一套自己的评测集。结果是换了模型之后,只能靠感觉判断“好像好了一点”。
我的做法是:项目启动第一周就建评测集。从真实业务数据里抽100-200条,人工标注标准答案。每次改Prompt、换模型、调参数,都跑一遍评测集看指标变化。这套评测集是项目最宝贵的资产之一。
5.3 不要忽视非功能需求
功能跑通只是第一步。生产环境还要考虑:
- 并发:10个用户同时用和100个用户同时用,架构完全不同
- 超时:模型响应慢的时候,是等待还是降级
- 限流:防止某个用户大量调用导致成本失控
- 降级:模型服务不可用时,有没有兜底方案
这些在POC阶段可以不管,但试点阶段必须解决。
5.4 Agent的“记忆”需要精心设计
Agent记忆框架的选型不是越复杂越好。我见过团队一上来就上向量记忆+摘要压缩+实体抽取,结果调试困难,效果还不如简单的对话历史窗口。
我的建议是分阶段来:初期只用对话历史窗口(保留最近N轮),验证有效后再引入长期记忆。长期记忆也要区分“事实记忆”和“偏好记忆”,前者用向量检索,后者用结构化存储。
5.5 组织问题往往比技术问题更难解决
最后说一个非技术但极其重要的点:AI Agent的落地本质上是组织变革。它改变了工作流程、改变了岗位职责、甚至改变了绩效考核方式。如果业务方觉得“这东西是来替代我的”,那再好的技术也推不动。
我的经验是:早期就让业务方深度参与,让他们觉得这是“我们一起做的工具”,而不是“IT部门塞给我们的系统”。试点阶段选那些对新技术接受度高的团队,用他们的成功案例去影响其他人。
6. 一个可参考的90天落地路线图
如果你现在正要启动一个企业AI Agent项目,下面这个90天路线图可以作为一个起点:
第1-2周:场景筛选与假设定义
- 跟业务方一起列出所有候选场景
- 按“价值高、风险低、数据可得”三个维度打分
- 选出1-2个场景,明确核心假设和成功标准
第3-6周:POC开发与验证
- 搭建最小可行原型
- 准备评测集,跑基线数据
- 迭代Prompt和检索策略,直到达到预设标准
第7-10周:工程化改造
- 补充错误处理、日志、权限控制
- 部署到测试环境,邀请种子用户试用
- 收集反馈,修复明显问题
第11-12周:试点上线与复盘
- 正式在单部门上线
- 监控核心指标,建立日报机制
- 复盘POC到试点的经验,形成标准化文档
第13周及以后:规划推广节奏
- 根据试点结果决定是否推广
- 如果推广,确定下一批部门和优先级
- 建立持续运营机制
这个路线图的关键不是时间精确,而是每个阶段有明确的产出和决策点。如果POC阶段发现核心假设不成立,那就果断换场景,不要硬撑。如果试点阶段用户活跃度很低,那就先解决 adoption 问题,不要急着推广。
7. 关于模型选择的一点实际体会
最后聊一下模型选择。企业场景下,我通常建议不要绑定单一模型。原因很简单:模型更新太快了,今天效果最好的模型,三个月后可能就被超越了。而且不同任务对模型的要求不同——分类任务用小模型就够,复杂推理需要大模型。
实际做法是抽象一层模型路由:根据任务类型、成本预算、响应时间要求,动态选择模型。简单任务走小模型或本地模型,复杂任务走大模型。这样既控制成本,又保留灵活性。
另外,企业场景下数据安全是底线。如果涉及敏感数据,要么用私有化部署的模型,要么确保API调用符合数据合规要求。这个没有商量余地。
我在实际项目里的体会是:技术方案没有绝对的好坏,只有适不适合当前团队和当前阶段。与其追求“最先进”的方案,不如选一个团队能hold住、能持续迭代的方案。Agent这个东西,上线只是开始,后面的运营和优化才是真正的长跑。