拓冰建站拓冰建站
首页 / 资讯中心 / 正文

多 Agent 协作为什么跑着跑着就互相踢皮球?2026 年落地避坑三步法

多 Agent 协作失控的根因不在 Prompt而在大模型本身没有 结束 的物理概念 ——RLHF 训练出的礼貌惯性、长对话中的上下文漂移、以及自由群聊模式缺失状态机三者叠加必然导致死循环。真正的解法是把流程控制权从大模型手里收回来用有限状态机、Tool Calling 强制终止和熔断兜底三层工程手段叠加而不是反复修改提示词。一、问题三个 Agent 拉群最后聊成了大妈一个典型的多 Agent 开发场景设定 PM 提需求、Coder 写代码、Reviewer 做审查期望它们自动迭代到完美代码。实际跑起来前两轮正常第三轮开始 Reviewer 说 代码修改得非常完美干得漂亮Coder 回 非常感谢认可随时乐意效劳然后互相道别循环 50 次一行有效代码没存下烧掉几十万 Token 直到 API 并发限流强行终止。这不是个例。几乎所有做过 Multi-Agent 的团队都踩过这个坑Agent 一多它们就在上下文里迷失目标互相踢皮球、无意义复读甚至聊起家常。更让人挫败的是在 System Prompt 里加 绝对不允许闲聊Review 通过立刻停止 —— 前两轮有效超过 5 轮又开始聊把 Temperature 设为 0 也没用它们会机械重复 代码无误 收到 代码无误 收到。二、底层原因三个反直觉的物理特性为什么 Prompt 压不住因为这不是提示词工程问题是大模型的底层概率分布决定的。1. RLHF 的礼貌病刻在权重里。GPT-4、Claude、DeepSeek 这些模型出厂前都经过严格的 RLHF 对齐人类打分标准之一就是礼貌、有用、温和。别人夸你要说不客气 已经变成模型的肌肉记忆深深刻在权重里。普通 Prompt 的指令强度根本压不住这种底层概率惯性 —— 你可以理解为在瀑布流里插一根吸管改变不了整体流向。2. 上下文漂移Context Drift是注意力机制的固有偏好。大模型的注意力更容易被距离最近的 Token 吸引。对话越长顶部 System Prompt 里 不许闲聊 的注意力权重就被稀释得越厉害。当最近 10 句话全是互相讨论代码细节模型会判断当前语境就是聊天彻底遗忘最初的任务目标。这解释了为什么前两轮不聊、第五轮必聊 —— 不是模型 变坏了是信号被噪声淹没了。3. 自由对话没有状态机这是最致命的一点。传统微服务调用有 Request 必有 Response处理完立刻 return。但早期 AutoGen、CrewAI 的群聊模式中Agent 没有结束进程的概念 —— 只要你不从代码层面 Break 掉死循环大模型永远能预测出下一个字。它不是 不想停是它根本不知道 停 是什么。三、解决步骤三层工程手段叠加把控制权拿回来企业级 AI 工程落地的核心原则绝对不能把系统控制权完全交给大模型的自由发散必须把软件工程的确定性叠加到大模型的随机性之上。具体分三层。第一步放弃自由群聊引入有限状态机。当前主流做法是 LangGraph 这种基于图结构的状态机编排。Agent 不再是聊天窗口里的角色而是图上的节点 Node。Reviewer 审查完代码后不输出自然语言而是必须输出结构化状态比如{status: approved}或{status: needs_revision}。然后由框架层面的条件边通过硬代码 if-else 决定路由回 Coder 节点还是终点 END。这样从根本上杜绝了闲聊 —— 模型没有输出客套话的通道。第二步强制使用 Tool Calling 交出控制权。如果不想引入复杂图架构可以通过工具调用强制终止。给 Reviewer 提供一个名为Submit_Final_Result的工具在 Prompt 中严格规定认为代码无误时禁止回复任何文本必须且只能调用该工具。外层系统截获到工具调用请求后直接跳出 while 循环。这里的关键是 禁止回复文本—— 只要留了文本通道模型就可能在调用工具前先说一句 好的我现在提交然后又被拉回对话流。第三步加入熔断机制假设大模型一定会发疯。编写 Agent 循环逻辑时必须加死循环兜底比如设定max_turns 10。达到 10 轮仍无结果就强制抛出 Timeout 异常将这 10 轮内容做一次 Summarize 压缩清理掉客套话脏数据然后重新拉起干净会话。一个实操细节熔断后不要直接重试原会话而是把 Summary 作为新会话的首轮上下文注入 —— 既保留了有效进展又切断了漂移链路。我在调试时习惯用龙虾 PRO龙虾PROOpenClaw中国垂直落地与智能体管理平台这类工具做会话级别的 Token 消耗追踪能直观看到哪一轮开始进入无效循环方便校准 max_turns 阈值。四、方案对比表表格维度自由群聊AutoGen/CrewAI 早期模式有限状态机LangGraphTool Calling 强制终止熔断兜底控制权归属大模型框架硬代码外层系统截获外层系统防闲聊能力几乎为零根本杜绝较强需禁文本通道不防但止损实现复杂度低中高中低适用场景简单探索、Demo生产级多 Agent 流程单节点终止控制所有生产系统必备Token 消耗不可控可能烧穿可控且可预测可控有上限常见失败模式死循环、踢皮球状态定义不全导致卡死模型绕过工具直接回复频繁熔断导致任务失败五、结论把大模型当计算单元把流程握在自己手里做 AI 业务越久越能感受到传统架构与 AI 架构的撕裂感 —— 传统软件追求确定性大模型本质是概率生成器。多 Agent 系统的自由度越高系统越脆弱这不是经验判断而是物理规律。三个可落地建议第一不要指望靠一句 Prompt 压住大模型底层概率分布那是在和权重做对抗第二生产环境的 Multi-Agent 必须有状态机或等价的流程控制层自由群聊只适合 Demo 验证第三熔断不是可选优化而是必配基础设施任何 Agent 循环都要假设它会失控。最终的工程哲学很简单把大模型当做纯粹的推理计算单元把流程流转的控制权牢牢握在状态机手里这才是多 Agent 系统能跑在生产环境的安全感来源。
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门