← 文章 / AI技术
老陈的AI落地笔记 54分钟前 · 2026-09-15 02:02:05 · 1 阅读

企业上AIAgent,别上来就搞多Agent协作,先想清楚这三件事

最近很多人问我:企业要不要上AI Agent?怎么从单Agent切到多Agent协作?

我的建议是:别上来就搞多Agent。先把单Agent跑通,跑出真实数据,再决定要不要拆。我见过太多项目一上来就设计五六个Agent协作,最后发现每个Agent的回答质量都很差,协作的精度建立在个体的精度之上——个体不行,协作就是放大错误。

这篇文章讲我真实做过的一套企业级AI Agent架构——从单Agent到多Agent协作怎么演进,意图分类怎么设计,Router怎么兜底,Agent之间怎么分工。

第一件事:先想清楚你的Agent要处理哪几类问题

很多人做Agent的第一步是"我要做一个什么都能答的Agent"。这是最大的陷阱——什么都能答的Agent什么都答不好。

正确的第一步是按业务场景拆意图。我在WMS系统里做了五类意图:

意图处理方式为什么单独拆
库存查询不走RAG,查API取数实时数据不能从文档编
入库流程RAG检索入库SOP流程类问题需要检索操作手册
出库流程RAG检索出库SOP入库出库SOP不同,不能混检索
异常处理RAG+升级人工异常涉及账务风险,必须有人工兜底
通用问答纯RAG检索知识库兜底场景,不涉及操作和取数

为什么要拆意图? 两个原因:第一,库存查询不能靠RAG——RAG是检索文档不是查实时数据,用户问"还剩多少个",AI从文档里编一个数字,那就是一本正经的错误答案。第二,入库和出库的SOP混检索会串流程——用户问入库,AI把出库的步骤也讲了出来,用户照做就错操作了。

意图分类是Agent架构的第一道闸门,决定了问题走哪条处理链路。它不是"可选优化",是"不分类就别上线"。

第二件事:Router怎么做,怎么兜底

意图分类用LLM做Router——给它一个问题,判断走哪条链路。但比分类更重要的是兜底策略

我踩过一个坑:最初把置信度阈值定在0.7——低于0.7就转人工。跑了一周发现大量正常提问置信度也低于0.7,误转人工太多,运维团队抗议。

后来调到0.4,才平衡。置信度阈值必须用真实提问分布来标定,不能拍脑袋。 你用什么模型、你的问题分布是什么样,阈值就不同。别人的0.7到你这里可能就是0.4。

参数行业参考值我的实测值调优过程
Router置信度阈值0.70.40.7时正常提问也低于阈值,误转人工过多
意图样本配比3:2:2:2:12:2:2:1:3实测产线问题占比更高,配比按真实分布调
兜底策略无法识别转人工低于0.4转人工禁止硬答,硬答比转人工更危险

没有兜底的意图分类比没有分类更危险。 错误路由到库存查询Agent的流程问题,会得到一本正经的错误答案——因为库存查询Agent的Prompt里写死了"只回答库存数据",但它收到了一个流程问题,如果Prompt没防住,它就会用库存数据编一个流程回答出来。

每类意图配独立Agent System Prompt,明确回答边界。比如库存查询Agent的Prompt写死"只回答库存数据,不回答流程操作问题"——这是防串意图的最后一道防线。

第三件事:什么时候才该从单Agent切到多Agent

我见过太多项目一上来就设计五六个Agent协作,每个Agent负责一个意图。但真正的判断标准不是"有几个意图",而是"单Agent的回答质量是否已经到瓶颈"

演进路径应该是这样的:

阶段架构什么时候切
阶段一单Agent+意图Router起步阶段,跑通基础链路
阶段二多Agent+各自独立Prompt单Agent回答开始串意图,Prompt互相冲突时
阶段三多Agent+Agent间协作出现跨意图问题(如先查库存再走异常流程)

阶段一就够了的时候不要硬上阶段二。判断标准很简单:如果你把所有意图的Prompt塞进一个Agent,它回答某类问题时开始受其他意图Prompt干扰——这时候才该拆。如果没干扰,一个Agent配多个System Prompt切换就够了,不需要物理拆成多个Agent。

阶段二到阶段三的切换标准是:有没有跨意图的问题。比如用户先问"还有多少库存",得到答案后说"数量不对,我要报异常"——这需要库存查询Agent的结果传给异常处理Agent。如果大多数问题都是单意图的,不需要Agent间协作。

我真实的技术栈和架构

技术栈:.NET 9.0 + MAF(Microsoft Agent Framework)+ PostgreSQL + pgvector + DeepSeek + bge-m3 + SignalR。你用Python+LangChain或Java+Spring AI也一样,架构思路是通用的。

架构链路:

用户提问 → 意图分类Router(LLM判断走哪条链路)

├─ 库存查询 → 查询Agent → API取数 → 生成回复

├─ 入库/出库 → 流程Agent + RAG检索SOP文档

├─ 异常 → 异常Agent + RAG + 升级人工规则

└─ 通用问答 → 兜底Agent + 纯RAG检索

RAG链路:文档切片 → bge-m3向量化 → pgvector HNSW检索 → 上下文注入 → LLM生成(带原文来源标注)

为什么用SignalR:用户提问后AI回复需要时间,不能让前端一直转圈。SignalR做异步推送,用户先收到"正在查询",结果生成后实时推过去。这个体验细节决定了用户觉得"这个AI是不是可用"。

灰度发布:别直接上线

架构搭完了不要直接上线。先放给内部运维团队用两周,收集误分类案例回灌。灰度的核心目标是发现Router分错意图的场景——意图分错比回答差更致命,因为分错后走到错误的Agent,再好的Agent也答不对。

灰度期间重点盯三类问题:

· 误分类:流程问题被分到库存查询Agent

· 串意图:入库Agent回答了出库步骤

· 兜底失灵:置信度0.4以下的问题被硬答了而非转人工

这三类问题灰度期一定会出现。出现不是坏事——收集案例回灌才是灰度的价值。不上线灰度,这些问题会在真实用户身上发生,代价大十倍。


文末:把你的场景丢给我的AI专家

这篇文章讲的是通用架构思路。但你的业务场景、意图拆分方式、Router阈值、Agent Prompt设计——这些取决于你的具体情况。

我在WorkBuddy上做了一个"企业级 AI Agent 应用架构师"专家,专门帮企业设计Agent架构。你可以直接召唤它,把你的情况描述丢过去:

"我们想给内部系统做AI Agent,有库存查询、流程操作、异常处理三类场景,用.NET技术栈,从哪一步开始设计架构?"

它会按你的具体情况给方案——帮你判断意图怎么拆、Router怎么设计、什么时候该从单Agent切到多Agent、灰度怎么跑。

怎么召唤:打开WorkBuddy,在对话框输入 @企业级 AI Agent 应用架构师,直接问就行。



原始来源: 老陈的AI落地笔记

评论 (0)