惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

小众软件
小众软件
A
About on SuperTechFans
博客园 - Franky
Engineering at Meta
Engineering at Meta
Recent Announcements
Recent Announcements
云风的 BLOG
云风的 BLOG
B
Blog
Microsoft Security Blog
Microsoft Security Blog
L
LangChain Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
U
Unit 42
Martin Fowler
Martin Fowler
Y
Y Combinator Blog
Stack Overflow Blog
Stack Overflow Blog
博客园 - 叶小钗
Vercel News
Vercel News
Apple Machine Learning Research
Apple Machine Learning Research
The Cloudflare Blog
Last Week in AI
Last Week in AI
腾讯CDC
Microsoft Azure Blog
Microsoft Azure Blog
爱范儿
爱范儿
V
V2EX
G
Google Developers Blog

人人都是产品经理

为什么你的产品找不到差异化?90%的失败都卡在第一步上(下) – 人人都是产品经理, 3年从30万到1300万用户、获2200万美元融资,这个AI教育产品用“抽卡”破解了获客难题 – 人人都是产品经理, 园区招商系统怎么做才能真正帮到去化?我加了这一个功能,推广链接转发400次阅读过万 – 人人都是产品经理, AI大事件:OpenAI发完网络安全模型又搞药物研发,小鹏汽车要抓”DeepSeek时刻” – 人人都是产品经理, 电商不是卖货,是一场更残酷的产品经理实战 – 人人都是产品经理, 没想到,活动营销又回来了! – 人人都是产品经理, 为何All-in海外KOC:一场关于AI时代窗口期的豪赌 – 人人都是产品经理, 重新理解企业的内部协作 – 人人都是产品经理, 苹果的 AI 战略到底是什么? – 人人都是产品经理, 医疗智能体·第2讲——合规护城河:等保、PIPL与HIPAA的架构实战 – 人人都是产品经理, 向量知识库五步法:从“答非所问”到“精准回复” – 人人都是产品经理, 鸿蒙PC三方库构建总指挥HPKBUILD(sha)库为例 – 人人都是产品经理, 何时该用LLM?AI产品经理的LLM设计指南 – 人人都是产品经理, 医疗信息领域的需求方、决策方、准入方以及关注点(二) – 人人都是产品经理, 即梦涨价:一场被误读的「傲慢」 – 人人都是产品经理, 面试AI PM必答题:Hermes和OpenClaw的区别,如何讲清楚业务价值 – 人人都是产品经理, AI的下一张船票:世界模型——AI产品经理必须理解的技术拐点 – 人人都是产品经理, 小红书做GEO,怎么让AI信你?记住这 3 个重要信息 – 人人都是产品经理, 5 家印度 AI 初创公司,看看印度 AI 再做什么 – 人人都是产品经理, AI项目跨团队协作:产品技术业务如何不打架 – 人人都是产品经理, Agentic Workflow(智能体工作流):让AI从”答案生成器”变成”数字员工” – 人人都是产品经理, lycium_plusplus 项目全景解读:OpenHarmony 三方库构建的“大管家” – 人人都是产品经理, 从爆单救火到前置履约:两套预采策略,把生鲜大促履约效率拉满 – 人人都是产品经理, 什么时候该补货?我用一轮数据做了一个决定 – 人人都是产品经理, 从“机械兜底”到“动态分流”:AI客服重复进线治理的4大底层逻辑 – 人人都是产品经理, 抖音拼效率,红书拼洞察 – 人人都是产品经理, 全民狂欢与退潮——为什么龙虾这波热潮冷却得如此之快? – 人人都是产品经理, Stripe押注!MPP重塑全球支付 – 人人都是产品经理, 小红书GEO:AI引用你的内容,不是因为你对,而是因为你看起来可信 – 人人都是产品经理, 前百度副总裁押注办公Agent,日韩付费爆发,Manus迎来强劲对手 – 人人都是产品经理,
拒绝“人工智障”:Multi-Agent系统的失控处理
击水三千 · 2025-12-24 · via 人人都是产品经理

Multi-Agent系统从Demo到生产的落差让人抓狂:明明测试时表现完美,上线后却频频翻车。本文揭秘Agent失控的深层原因——不是模型不够聪明,而是‘太有想法’导致偏差被放大。通过‘决策-工具-状态-兜底’四层治理框架,教你用工程化思维给AI装上护栏,让Multi-Agent真正实现稳定落地。

做过Multi-Agent落地的人都懂这种挫败感:Demo阶段的Agent简直是六边形战士,工具调用精准,对话聊得顺畅,任务完成又快又好。可一旦推去生产环境,立马“变脸”,要么卡在死循环里反复调用同一个接口,要么把售后退款的工具当成下单支付用,更离谱的是对着工具返回的几千行JSON发呆,最后输出一堆逻辑混乱的结果,被业务方吐槽“还不如人工,纯属人工智障”。

很多团队遇到这种问题,第一反应就是“模型不够聪明”,于是疯狂优化Prompt、升级大模型参数。但说实话,我们踩了无数坑后发现,Multi-Agent从Demo走向生产,最大的拦路虎根本不是“不够聪明”,而是“太有想法”导致的失控。大模型本身就有微小的概率性偏差,在多轮对话、工具调用的链式传导中,这点偏差会被无限放大,最后整个任务链条就崩了。

真正能破局的,不是追求“更聪明的模型”,而是用工程化的确定性,去约束大模型的概率性偏差。结合好几次落地实战的经验,我们总结出一套“决策-工具-状态-兜底”的治理思路,说白了就是给Agent装上“护栏”,帮它平稳度过生产落地这道关。

先把“做什么”和“怎么做”拆开来

很多Agent在生产环境掉链子,核心问题其实出在我们一开始的设计上,把“用户要啥”和“Agent具体咋干”一股脑丢给模型,没做任何拆分。大模型处理长上下文时注意力本来就容易发散,遇到复杂任务很容易跑偏。比如用户明明只是想“查下订单物流”,结果模型误判成“要修改订单信息”,直接就调用了写入类工具,麻烦就这么来了。

我们的解决办法是“把意图和执行拆成两步走”,不让模型自由发挥:

第一步先做意图识别,把好第一道关。别着急让模型调用工具,先用个轻量的分类模型,甚至简单的关键词规则,先把用户的核心意图定下来,是要“查询”“写入”“计算”,还是单纯“闲聊”。这步的关键是“窄化任务范围”,比如用户说“我的订单怎么还没到”,直接判定成“查询类-物流查询”,而不是模糊的“订单相关操作”,范围一窄,跑偏的概率就小多了。

第二步再做流程约束,刚性控制路径。只有当意图明确是“写入”“修改”这种高危操作时,才触发对应的专用Prompt分支;像查询、闲聊这种低风险意图,直接把所有写入类工具屏蔽掉。举个例子,用户意图是“查商品库存”,系统就自动把它转到“查询专用流程”,全程不暴露下单、退款这些工具接口,从流程上就把乱操作的可能掐死了。这步看着简单,但能拦住八成以上的低级错误。

工具给多了反而帮倒忙

还有个常见的误区,就是把所有工具一次性全塞给Agent。这不仅会消耗大量Token,增加模型的理解成本,还容易让模型在相似工具间混淆,比如“搜索订单”和“搜索商品”接口,描述稍微像一点,模型就可能调错。

工具层治理的核心思路很直接:最小权限+物理隔离,让Agent只在需要的场景下,看到需要的工具。具体我们是这么做的:

首先是工具分级+动态加载。给所有工具按风险等级分个类,写入、修改这类高危工具(比如退款申请、订单修改)默认藏起来,只有意图层确认进入对应的高危流程,而且通过权限校验后才显示;查询类工具(比如查物流、查库存)按需加载,不是对应的场景就自动隐藏。比如进入“售后退款”场景,系统就自动加载“退款申请”“退款进度查询”这两个工具,同时把下单支付、商品加购这些无关工具全屏蔽掉,眼不见心不烦。

然后是相似工具互斥,物理隔离风险。我们定义了“工具互斥组”,同一场景下只激活一组工具,其他互斥的工具直接屏蔽。比如“售后退款”和“下单支付”就是互斥场景,进入前者就自动把后者的所有工具藏起来。通过这种Schema层面的物理隔离,从根源上就杜绝了“退款场景下误调用支付接口”这种低级错误。

还有个小细节,就是对工具的Schema做清洗,降低模型的理解成本。别把后端庞大的API文档直接丢给模型,里面的代码注释、参数类型这些技术噪音要去掉,只保留核心信息:工具是干嘛的、需要哪些必填参数、返回的结果是什么意思。比如把“接口名:refund_apply;参数:userId(String,用户唯一标识)、orderId(String,订单号);返回:code(Int,状态码)、msg(String,描述)”,优化成“工具:发起退款申请;需要向用户确认两个信息:用户ID、订单号;调用后会返回退款是否成功的结果”。模型一看就懂,理解偏差自然就少了。

别让冗余信息“淹了”模型

很多人容易忽略一个隐形杀手,“上下文污染”。工具返回的几千行JSON、冗余的对话历史,会稀释模型的注意力,让它分不清重点,决策能力直接断崖式下跌。我见过最典型的情况:调用“订单查询”工具后,把返回的几百条订单明细原样塞进上下文,结果模型后续决策时,被无关的订单编号、创建时间带偏,本来该查物流,结果跑去查订单金额了。

状态层的核心就是给上下文“瘦身”,同时管好信息的“保质期”,让上下文始终保持“精简且有效”。具体分两步:

第一步是结果摘要。我们建了个中间件,专门对工具返回的结果做ETL处理,只提取对下一步决策有用的关键字段,生成结构化的摘要存入上下文。比如“订单查询”返回10个字段,我们只保留“订单号、状态(待发货)、预计送达时间”这3个核心信息,用自然语言总结成“当前订单号XXX,状态是待发货,预计XX月XX日送达”,直接替代原来的几千行JSON。模型不用在海量信息里找重点,决策效率和准确率都能提上来。

第二步是生命周期管理,用“计数器+有限状态机”避免死循环和跨阶段操作。计数器用来控制同类工具的调用次数,比如搜索类工具最多调用3次,超过这个阈值就强制触发“总结结果”或者“询问用户补充信息”,防止模型陷入“反复搜索同一个问题”的死循环;有限状态机则用来明确Agent的生命周期阶段,比如“信息收集”“方案生成”“执行确认”,每个阶段只允许做对应的操作。比如在“信息收集”阶段,只能调用查询工具,禁止直接执行写入操作;进入“执行确认”阶段后,就只能输出确认信息,不能再调用工具收集信息了,这样就避免了跨阶段的非法操作。

接受不完美,让Agent优雅降级

不管架构设计得再完善,大模型的幻觉率永远不可能降到0。比如突然输出重复内容、工具调用报错率激增,这些都是Agent“失智”的信号。这时候最忌讳的就是让它“硬撑着自动执行”,正确的做法是设计好优雅的降级路径,让它从“人工智障”回归“辅助智能”。

兜底层的核心是“置信度监控+人机协同(HITL)”,让系统能及时发现Agent“失智”,并主动把控制权交回来。具体分两步:

第一步先做熔断触发。实时监控两个核心指标,一个是工具调用情况,比如是否重复调用、报错率高不高;另一个是模型输出的置信度,通过Logprobs对数概率来判断。只要出现“连续3次调用同一个工具”“报错率超过50%”“Logprobs低于阈值”这些情况,系统就直接判定Agent“失智”,触发熔断。

第二步再做分级降级:轻度失智就转为“只读模式”,只输出建议不执行操作。比如原本要自动发起退款,降级后就改成“建议为用户发起退款,需要你确认后再执行”,保留决策建议但阻断自动操作;如果是严重失智,就直接抛出明确提示,把控制权交还给人工,比如输出“当前场景比较复杂,无法自动完成操作,请你人工确认后再继续”,避免因强行执行导致业务损失。

这里要强调下,兜底机制不是“失败的妥协”,反而是Multi-Agent从“炫技Demo”变成“实用工具”的关键。接受大模型的不完美,用人机协同弥补它的不足,系统才能更稳定。

用确定性对抗不确定性

很多人做Multi-Agent,总想着“让模型更聪明”,但生产落地的核心诉求其实是“稳定可控”。我们总结的这套“决策-工具-状态-兜底”的思路,本质上就是用工程化的确定性规则,去约束大模型的概率性偏差。我们不追求“零错误”,而是通过层层护栏,把错误控制在可接受的范围里,让Agent真正从“人工智障”变成“辅助智能”。

如果你的Multi-Agent也面临落地失控的问题,不妨从这四个维度逐一排查优化。先解决“不犯错”的问题,再去追求“更高效”,这才是生产落地的正确路径。

本文由 @击水三千 原创发布于人人都是产品经理。未经作者许可,禁止转载

题图来自Unsplash,基于CC0协议