这两年聊多智能体multi-agent市面上的讨论多数是从一段 Demo 开始几个 Agent 在对话里互相交接、自动拆分任务、最后生成一份漂亮报告。但我自己把这类系统接进真实业务之后最大的感受是Demo 阶段的 Agent 和工程化之后的 Agent几乎是两种物种。Demo 阶段你只需要证明“模型能干这件事”生产环境你却要回答“这件事是谁让它干的、为什么这么干、干到一半崩了怎么收场”。我见过太多项目第一个版本风风光光第二个版本上线后开始天天出事故Agent 互相踢皮球、重复调用同一个工具、把不该看的表读了出来、甚至因为上下文太长直接开始胡编。问题出在哪绝大多数不是模型不够聪明而是架构设计没有跟上治理体系完全缺位。这篇文章想聊的就是我从一个又一个项目里踩出来的那套方法从架构设计到治理体系怎么把一个“看起来很聪明”的多智能体系统变成“长期稳定可演进、出事能追溯”的工程系统。无论你是在做问数智能体、自动化运营助手还是更复杂的多角色协作平台这套思路都适用。1. 多智能体系统总在第二个版本翻车三种典型崩法先说结论多智能体系统翻车很少是因为某个模型能力不行而是系统在边界、状态、权限这三个维度上先天不足。我把最常见的崩溃形态总结成三种你可以对号入座。1.1 角色边界不清多智能体变成互相踢皮球的团队我见过一个典型的失败案例团队把一个客服流程拆成了意图识别 Agent、信息补齐 Agent、数据查询 Agent、报告生成 Agent。听起来分工明确但实际上线后发现意图识别 Agent 经常顺手纠正用户的措辞信息补齐 Agent 也会自作主张去查数据库数据查询 Agent 反过来会改写提问。为什么会这样因为大家写 Prompt 的时候每个角色的职责边界只存在于“这句提示词里”没有任何结构化的契约。LLM 对边界的理解是概率性的两个相近职责的 Prompt 稍微写得模糊一点行为就会重叠。正确做法是把每个智能体当成一个独立的工程模块有明确的输入输出协议、职责描述和能力边界。它对外暴露什么工具、接受什么格式、返回什么结构这些都要用体系去定义而不是靠“更长的 Prompt”去约束。1.2 状态没有进入系统模型再强也托不起无状态的企业应用这是多智能体系统最容易踩的坑也是最容易被忽略的。很多人把 Agent 的状态记忆全部放在 Prompt 里让模型记住“你已经做了什么、下一步该做什么”。短对话里没问题一旦任务链条变长上下文越堆越多模型要么漏掉关键信息要么被无关信息干扰。更致命的是这种状态无法被外部系统感知。任务执行到一半用户关掉页面重开之后 Agent 完全不记得自己做过什么或者某个 Agent 调用了写操作结果没有完整记录事后想审计根本无从下手。我的经验是状态必须外置到系统层而不是停留在模型的上下文里。用任务状态机来管理智能体的生命周期用持久化存储记录每一步执行结果。模型只是“决策引擎”它读到的状态来自系统它产生的决策也会回写到系统。这样整个系统才是可控的。1.3 上下文污染与工具调用失控上下文就是你的系统内存第三种崩法最隐蔽也最容易在长链路任务里爆发。为了让 Agent 更“全能”不少团队会一口气给它挂上十几个甚至几十个工具定义、向量库检索片段、业务规则文档、历史对话记录。结果模型在每次决策时都要在庞大的上下文里找重点推理变慢、成本飙升更重要的是——它开始频繁选错工具。我做过一个统计某个分析 Agent 在挂载 8 个工具的时候工具选型准确率接近95%当我把工具定义增加到 25 个之后准确率掉到 88% 左右。这不是模型变笨了是决策负担变重了。工具调用失控的另一个体现是循环调用Agent 拿到一个不合预期的结果后不停止、不上报反而反复重试同一个失败动作造成外部系统的重复变更和费用损耗。这些问题的共同根源在于你把它当成了一个“能听懂人话的模块”而不是一个“需要治理的子系统”。职责边界、状态管理、工具权限这三件事恰恰是架构设计和治理体系要回答的。2. 从场景反推架构四层协同而不是一个编排器打天下看过多智能体系统的人大概都有同感演示里一个漂亮的“编排器”好像什么都能干但真到落地时你需要的是一套分层清晰的架构而不是一个万能控制器。我习惯用四层结构来组织系统这里完整拆开讲。2.1 架构设计第一步从决策点出发而不是从框架出发很多人一上来就问用 LangGraph 还是用别的编排框架这问反了。你应该先问当前场景里哪些环节需要智能体做决策哪些环节其实是固定逻辑比如银行业务里的贷前审核检查客户名单命中规则是固定逻辑不需要模型决策而怎么解析客户的模糊描述、怎么判断要不要补充材料就是模型决策点。把这些决策点画出来架构自然就长出来了。我常用的判断标准是固定流程走代码弹性判断走模型。一个任务里 80% 是确定性流程只有 20% 需要模型发挥那架构上就应该保证模型只接触那 20%。多个智能体之间也一样先定义“谁在什么条件下可以决策什么”再决定要不要多智能体协作。很多场景其实一个 Agent 加一个流程引擎就够了硬拆多智能体只会引入更多不确定性。2.2 交互层与应用层平台入口、会话状态与任务路由交互层解决的是“用户怎么进入系统、系统怎么理解用户”。它包含用户界面、鉴权入口、会话管理、多模态输入解析等功能。应用层则承载具体的智能体服务。以问答系统为例用户可能只说一句“帮我查一下上个季度华东区的销售额”这个请求先由意图识别模块判断是查数还是生成报告还是只想了解业务定义不同意图进入完全不同的任务链。这一层真正要设计好的是任务路由。我通常维护一个“路由表”把意图、业务领域、目标智能体三者映射起来。把路由逻辑从模型里抽出来用配置维护这样加新场景不需要重新调 Prompt只需要加一条路由。2.3 执行与数据层把企业数据资产变成智能体可用的能力到这里架构开始触碰企业最核心的部分——数据。我在梳理企业数据架构设计方法的时候发现一个普遍问题大家把大量精力放在“怎么让 Agent 读懂文档”上却忽略了“怎么让 Agent 安全地访问数据资产”。如果 Agent 直接对接底层数据库会带来三类问题一是表结构复杂Agent 在几十张表之间做 JOIN 很容易选错二是权限难以控制Agent 一旦生成出越权的查询语句就很危险三是数据口径不统一同一个指标在不同表里可能算出来不一样。我强烈建议在 Agent 和数据之间加一层“语义层”或者“数据服务层”。把企业数据资产封装成有业务含义的能力。比如提供query_metric工具参数是指标编码、时间范围、维度Agent 不需要知道底层表长什么样只需要按指标消费。这其实跟企业数据架构设计方法里的思路完全一致先把数据资产抽象成服务再让上层应用消费。以下是一个工具注册表的典型结构{ tool_name: query_metric, description: 按指标编码查询经过口径校验的业务指标, endpoint: /api/metric/query, permission: read_only, parameters: [ {name: metric_code, type: string, required: true}, {name: start_date, type: date, required: true}, {name: end_date, type: date, required: true}, {name: dimensions, type: array, required: false} ], guard: 自动脱敏、强制行级权限过滤, audit: true }2.4 技术与基础设施层模型路由、缓存、并发与安全设施底层架构解决的是“跑得稳不稳、贵不贵、安不安全”。这部分包括模型网关、上下文缓存、并发控制、审计日志、失败重试、授权中心等。我特别想强调“上下文缓存”。智能体系统的大头成本往往不是 API 调用次数而是输入 token。尤其当你要把大量业务上下文塞进 Prompt 时每个请求都可能烧掉几千个 token。通过缓存系统提示词、缓存常见知识片段、压缩历史会话能省下非常可观的成本。安全设施方面要有一个独立的授权中心统一管理“身份-权限-工具”的映射关系。智能体本身的系统身份与用户身份要分开用户 A 查到的数据范围永远不能超过 A 的权限。这不是给 Prompt 加一句“你只能访问授权数据”就行的必须在技术底层做强制拦截。2.5 与四层架构协同方法的关系我之所以用“四层协同”来梳理是因为它跟我在业务规划里常用的业务架构、应用架构、数据架构、技术架构四层方法是对齐的。业务架构定义“业务上要达成什么目标”对应到多智能体系统就是“哪些业务环节可以用协作模式提升效率”应用架构定义“需要哪些服务能力”对应着“拆几个智能体、各自承担什么角色”数据架构定义“数据资产怎么组织”对应着“语义层、指标口径、数据权限”技术架构定义“底层基础设施怎么支撑”对应着“模型路由、网关、可观测性”。用这套对齐逻辑去审查系统你会发现很多“看起来技术很炫”的设计其实在业务和价值层面是空的。真正能落地的架构每一步都能在业务架构里找到归因。3. 治理体系靠提示词管不住的东西必须靠运行规则来管如果说架构决定了一个多智能体系统能跑多快治理体系决定的就是它能在没有人在场盯着的条件下跑多久。我给治理体系下的定义是通过结构化的运行规则约束智能体行为、控制风险、保障可审计性的一套机制。3.1 任务生命周期状态机把自由发挥锁进轨道让智能体自由发挥的结果就是不可控尤其是多智能体协作时你不知道任务到底在哪个环节卡住了。我后来坚持给每个任务建立状态机状态流转大致是这样状态含义可恢复动作created任务已创建尚未分配可取消routed已路由到目标智能体可重新路由executing智能体执行中可重试、可中止verifying结果校验中可退回重新生成completed任务完成可复盘、可归档failed任务失败可转人工处理有了状态机之后每个智能体在任何时刻都知道自己是“第几步”任何一次失败都能回到上游状态重新执行而不是整个链路推倒重来。这听起来简单但不少项目直到上线都还让 Agent 自己“记住”进度结果就是数据对不上。3.2 权限与授权最小权限和动作闸门在真实业务里智能体系统通常是无人工值守运行或仅少量人工监控。这意味着你不能把“写操作”当成一个没门槛的能力随便挂给 Agent。我给工具和能力的授权分了三类只读类查询指标、读取文档、访问知识库。默认允许但必须经过行级权限过滤。执行类发送通知、提交工单、触发流程。需要二次确认或至少落到强审计。变更类写入库表、修改配置、发起支付。原则上禁止 Agent 直接操作必须转人工。这个分级不是拍脑袋是来自一次实际事故一个运营 Agent 误把测试环境的配置同步到了线上虽然没有造成重大损失但事后排查花了整整一下午。从那以后我坚持所有变更类能力都加上“人工确认闸门”。Agent 可以提出变更建议但落库前的最后一步必须有人或审批流介入。3.3 数据治理指标口径、血缘与敏感策略多智能体系统的输出一旦涉及业务数据就绕不开数据治理。一个反例是某个 Agent 回答“本季度复购率是 23%”用户拿着这个数字去汇报但技术团队查了下发现它统计的是“注册用户复购率”而业务方理解的是“付费用户复购率”。口径不一致轻则一场误会重则决策失误。我在设计企业数据架构方案时把指标口径管理放在相当靠前的位置。落到多智能体系统上就是两个方面第一每个指标必须有唯一编码和口径说明。智能体只能引用指标数据资产列表里的指标不能自己在语义层里“发明”新指标。第二敏感数据要有明确的拦截策略。手机号、身份证、未公开经营数据等字段在 API 层就要做脱敏和掩码而不是等智能体输出之后再人工检查。你当然可以相信模型能遵循“不要输出敏感信息”的指令但治理体系从来不赌概率。3.4 追踪与评测可观测性和质量闭环多智能体系统本质上是一个分布式系统只不过节点从微服务变成了 Prompt 驱动的工作单元。既然是分布式系统就必须有全链路追踪。我要求每个任务从进入系统开始就带上唯一的 trace ID包含谁发起的、经过了哪些智能体、每个智能体调用了哪个工具、耗时多少、最终输出了什么、是否通过质量校验。这样哪怕用户反馈结果不对我也可以在十几分钟内还原当次执行链路。质量闭环则是另一层不能模型“输出完”任务就结束要有针对输出的校验器。例如查询类任务校验器检查 SQL 或者指标编码是否合法、结果集是否为空、置信度多高报告类任务校验器检查关键结论是否有数据支撑、是否存在幻觉风险。把这套逻辑做成自动化的 evaluator每次都记录评估结果这样系统到底是变好还是变差才有数据可看。4. 以“问数智能体”为例一次从架构到治理的完整落地理论讲再多不如拿一个常见场景串一遍。我以“问数智能体”为例完整演示架构设计和治理体系是怎么配合的。所谓问数智能体就是用户用自然语言问数据系统自动完成取数、分析、回答。4.1 场景与需求拆解先保证“问得清”问数智能体听起来简单实际上第一个要解决的问题是“用户根本问不精确”。业务人员习惯说“最近销售怎么样”这里的“销售”指订单金额还是签约金额“最近”是自然周还是自然月对比期是什么如果指望模型直接猜大概率会用一套漂亮的流程包装一个错误答案。所以架构第一个环节必须设计“澄清机制”当意图信息不足时智能体不能带着模糊假设直接查库而是要主动向用户追问。这看似少了一点“智能感”但它是保证准确率的底线。4.2 架构设计三个智能体加一道校验在这个系统里我没有搞复杂的网状协作只拆了三个职责清晰的智能体意图解析智能体理解用户问题提取业务实体、指标、时间条件。如果信息不足生成追问列表。数据查询智能体基于明确的查询条件调用语义层的数据服务获取查询结果。不负责猜测业务口径。结果解读智能体把查询结果转换为自然语言回答并生成图表或摘要。三个智能体之间靠一个结构化的“任务单”传递信息意图解析产出查询请求数据查询消耗请求并产出结果集结果解读基于结果集生成回答。最后一个关键模块是“SQL 校验器”。它不属于任何一个智能体而是一道独立的质量闸门检查查询是否在权限范围内、表结构是否匹配、是否存在明显漏过滤条件。校验不通过就直接拦截不会进入后续生成环节。这道闸门让整个系统的错误率大幅下降。4.3 治理设计每一次取数都有人负责治理设计在这个案例里是这样展开的第一数据权限从用户身份来。用户登录后拿到身份令牌数据查询工具强制注入行级权限过滤Agent 无论怎么生成查询条件都只能看到该用户权限范围内的数据。第二敏感字段自动拦截。电话号码、客户姓名等信息在结果返回前做掩码处理。即使 Agent 想输出完整信息最终返回的数据已经被治理层清洗过。第三全链路留痕。每一次查询都记录了“谁在什么时候问了什么、智能体做了什么决策、查询了什么指标、返回了什么结果”。这保证了审计场景下能完整还原。第四口径可追溯。回答里出现的每个指标都带有指标编码和口径说明用户可以展开查看“这个复购率是怎么定义的”避免口径认知偏差。这个项目的最终效果从产品角度看是一个更聪明的取数助手但系统内部它是一套有边界、有强调、有状态、有审计的治理机器。4.4 从案例中抽出的通用方法论做完这个案例我提炼出五条可以复用到其它多智能体场景的方法边界先行先把每个智能体的职责、输入、输出、权限边界定义清楚再写提示词。屏蔽细节不要让智能体直接面对底层数据表和复杂工具通过语义层和能力层隔离复杂度。强制状态任务进度放系统状态机不放模型上下文。独立校验智能体输出之后必须经过一道独立于模型的质量闸门而不是“让另一个 Agent 帮忙看看”。可审计留痕任何产出都查得到链路、找得到责任、还原得出中间过程。这套方法论不挑具体业务不管是做文档智能体、营销运营智能体还是客服协作智能体核心逻辑都是相通的。5. 落地过程中的四个大坑我们踩过希望你绕开最后分享几个我们在真实项目里踩过、而且踩得比较深的坑。这些坑在架构图里看不出来但每一个都能拖慢你半个月。5.1 坑一把 Agent 框架当核心忽略了业务闭环很多人会把某些编排框架套上“多智能体最佳实践”的外衣然后不知不觉被框架的底层假设带着走。有一段时间我们也追过一个新框架它的灵活度很高但灵活性同时意味着不确定性社区示例里的写法一变我们的系统就要跟着重构。后来我调整了思路核心是自己定义的协议而不是任何一家框架。我用一套简单的消息结构加状态机加工具契约来定义智能体之间的通信方式底层框架只是一个可以替换的执行器。这样即便未来换框架也只是换一层实现不会伤筋动骨。5.2 坑二把编排流程画成一张复杂拓扑多智能体系统天然带着“流程感”所以很多设计者会画出巨复杂的编排图节点之间密密麻麻全是箭头。问题在于图越复杂模型越难收敛每次执行都像是走迷宫。一个折中经验是用 SOP 模板取代固定流程图。你可以定义一个“标准任务执行路径”但具体在哪些节点需要额外分叉由运行时根据业务数据动态决定。典型场景下走主路径异常场景下才路由分支。这对稳定性和可维护性的收益非常大。5.3 坑三试图用提示词实现治理这是我最推崇的、也可能是最违反直觉的一条治理不能写在提示词里。如果治理体系最终呈现为一堆“你不能……你必须……”的 Prompt 句子那它其实不存在。模型可能大多数情况下会遵循但只要有一次不遵循系统就可能出问题。真正的治理体现在权限、状态、审计、校验这些“模型无法决定”的系统机制里。提示当你发现自己在用更长更严格的 Prompt 去强制行为时停下来想一想这件事能不能下沉到系统层。5.4 坑四只评估单点能力不评估协同链路很多项目调模型时只测“每个 Agent 单独表现好不好”但多智能体系统的复杂度主要出在协同链路上一个 Agent 输出的信息是否满足下一个 Agent 的输入预期、路由是否把任务送到正确的环节、总链路耗时是否可接受。我们后来建立了“端到端回归集”一份覆盖典型、异常、边界场景的测试集每次改动系统后都跑一遍全链路评估记录成功率、准确率、耗时、成本。没有这套回归机制你根本无法判断一次改动是优化还是倒退。最后说一点个人体会。多智能体系统工程本质上不是在“做模型”而是在“做团队管理”。你把每个 Agent 当成一个拥有有限权力、明确职责的成员把治理体系当成一套规章制度和审计机制很多设计决策会变得非常清晰。模型能力会持续升级框架也会不断换代但一套清晰的架构设计和一套扎实的治理体系是无论如何都值得长期投入的地基。
企业数字化 ERP 产品动态
相关推荐
资产分类分级与风险排查落地指南:让清单变成防控雷达 资产盘点清单做完了,是不是总觉得事情才刚开个头?上个月我刚帮一家制造企业把全量信息资产理了一遍,客户看着落地的台账问我:这表有了,后面到底该怎么用?我当时的回答很简单:资产梳理只是把家底… · 2026/9/26 8:43:10
SDL2 的 Native Client(NaCl)后端:从构建、部署到文件系统的完整实战指南 开发工具 【免费下载链接】lite A lightweight text editor written in Lua 项目地址: https://gitcode.com/gh_mirrors/li/lite 点击查看 免费下载 导读
本文以 SDL2 官方文档 README-nacl.md 为主体,系统讲解 SDL2 面向 Chrome Native Client&#x… · 2026/9/26 8:43:10
NodeGui QTreeWidgetSignals 信号接口完全指南:从 Qt 树控件事件到 Node.js 回调 桌面应用跨平台 【免费下载链接】nodegui A library for building cross-platform native desktop applications with Node.js and CSS 🚀. React NodeGui : https://react.nodegui.org and Vue NodeGui: https://vue.nodegui.org 项目地址: https://git… · 2026/9/26 10:22:03
AI编程“智能体”时代,程序员如何用TaoToken提效 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 10:22:03
E-Hentai Downloader:用户脚本实现画廊批量打包下载 1. 项目缘起与整体设计思路E-Hentai 作为一个老牌的同人志、画集与图库聚合站点,很多人在浏览时都会遇到同一个痛点:网页端一页一页翻着看还行,但一旦想把自己喜欢的画廊保存到本地慢慢看,手动右键另存为就变成了纯粹的体力活。一… · 2026/9/26 10:22:03
养虾之腾讯QClaw安装和使用:不支持离线模型,但能一键接入微信---AI大模型应用探索0014 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 10:22:03
技术博客创作全流程:从概念结构到安全合规的工程化实践 明白了,我会严格遵循你的全部要求:仅依据你提供的【项目标题】来创作博文,深挖核心技术点与行业背景,结构清晰、实操性强、经验优先,并确保安全合规。我已经准备好,现在请你输入具体内容(项目标… · 2026/9/26 10:21:57
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍 简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践 一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46