[控场AI]
· 5 分钟阅读· 2,695 字

3分钟看懂多智能体系统:从无状态模型到协作架构

3分钟看懂多智能体系统:从无状态模型到协作架构

大语言模型是无状态函数,智能体是围绕它的循环,多智能体靠职责隔离和MCP协议保障可靠协作。

本文从大语言模型的本质特性出发,系统梳理了智能体系统的设计逻辑。模型是无状态函数——既不记得上一次调用,也不掌握训练截止后的知识——这两个根本局限决定了整个架构的走向。智能体本质上是代码中的一个循环:构建提示词、让模型决策、执行工具、回填结果,循环往复。记忆系统与RAG看似不同,本质都是"把正确数据放进提示词"的数据检索问题。当单个智能体职责过重时,引入多智能体架构,由编排者分发任务,各子智能体职责单一、记忆隔离,从而把错误控制在局部。MCP协议则为生产环境中的智能体协作提供了标准化契约。实践上,应从单一智能体起步,只有测试证明必要时才扩展。

大语言模型本质上是一个函数——文字进去,文字出来。这个看似简单的描述,恰恰揭示了整个智能体系统设计的核心约束。理解这一点,是理解多智能体系统为何如此设计的起点。

大模型是一个无状态函数

要理解智能体,先要接受一个不太直观的事实:模型本身没有记忆。当你第二次调用模型时,它完全不知道第一次调用里发生了什么。两次调用之间,模型什么都不保存,它是无状态的。

这个特性决定了后续所有的架构设计。既然模型不记得任何东西,那么所有的"记忆"和"上下文"都必须由你的代码在每一次调用时重新提供。模型的能力边界清晰而固定,它不会主动延续任何状态,一切连续性都是外部工程构建出来的假象。

模型还有第二个局限:它的知识停在训练截止日期。训练完成之后发生的事情,模型一无所知。这也是为什么我们需要额外的机制来补足它的知识盲区。

第二,它的知识停在训练截止日期。

智能体:围绕模型的一个循环

既然模型只是一个无状态函数,那智能体又是什么?答案很朴素——智能体就是你代码里的一个循环。

这个循环的运作方式是:你的代码先构建提示词,提示词里包含了目标、记忆和可用的工具列表;然后把提示词交给模型,模型做出决定;如果模型决定调用某个工具,那么是你的代码去运行这个工具,再把结果放回提示词里;循环继续,直到模型给出最终答案。

这里有个容易被误解的关键点:模型从来不运行代码。它只是写出一个"我想调用某工具"的请求,真正执行的永远是外部代码。模型负责决策,代码负责行动,两者的职责边界非常清晰。

记忆与RAG:本质都是数据检索

模型的两个局限——会忘记对话、知识有截止日期——分别对应两个解决方案:记忆系统和RAG系统。但仔细观察会发现,这两者做的其实是同一件事:你的代码找到正确的数据,再把这些数据放进提示词。记忆和RAG本质上都是数据检索问题。

记忆系统的分层设计

记忆系统模仿人类记忆的结构,分为几个层次:

  • 工作记忆:保存当前对话,放在内存里,大约一小时后过期;
  • 情景记忆:保存带有时间戳的事件;
  • 语义记忆:保存事实以及它们之间的关系,通常用图结构来存储;
  • 感知记忆:保存图片和音频等多模态内容。

要从中找到一条相关记忆,系统会计算一个综合分数。其中相似度权重最大,时间新近度只占一小部分,再乘上一个重要性因子,范围大约在 0.8 到 1.2 之间。也就是说,重要性可以改变记忆的排序,但不能决定一条记忆是否被保留在内存中。

重要性能改变排序,但不能把一条记忆保存在内存里。

RAG的检索技巧

RAG 的一个实用思路是:先让模型写出一个"可能的答案",然后到这个答案附近去搜索。查询的切入点越多,能找到的相关文本块就越多,召回质量也越高。这种"假设性答案驱动检索"的做法,比直接用原始问题检索往往更有效。

RAG(Retrieval-Augmented Generation,检索增强生成)是解决模型知识截止问题的主流方案。其核心流程是:将外部文档切割成小块(chunk),转换为向量嵌入(embedding)并存入向量数据库;当用户提问时,将问题同样转为向量,通过余弦相似度等方式检索最相关的文本块,最后将这些文本块连同问题一起送入模型,模型基于检索到的实时内容生成回答。相比直接把所有文档塞进上下文,RAG 的优势在于可以处理超出上下文窗口限制的大型知识库,同时在检索精度够高的情况下显著降低模型幻觉的概率。向量嵌入的质量和检索策略的设计,是 RAG 系统效果好坏的关键变量。

从单智能体到多智能体协作

当一个智能体承担的任务太多、职责太杂时,合理的做法是把工作拆开,交给多个专职智能体。这就是多智能体系统的由来。

在这种架构里,**编排者(Orchestrator)**接收整体任务,然后把不同部分分发出去:一部分交给研究智能体,一部分交给写作智能体,一部分交给审查智能体。每个智能体只扮演一个角色,拥有一小组工具和自己的记忆范围。

编排者接收任务,分发给研究、写作、审查智能体。

这种设计的精髓在于隔离。共享记忆只有一个主人——编排者。这样一来,某个智能体产生的错误事实,就不会扩散传染给所有智能体,错误被控制在局部。职责单一、记忆隔离,是多智能体系统保持可靠性的关键。

生产环境中的契约:MCP

在真正的生产环境里,每个智能体都是一个独立的服务,而 MCP(Model Context Protocol)就是它们之间的契约。通过标准化的协议,不同智能体之间可以稳定地协作与通信,而不必依赖彼此的内部实现细节。

在生产环境里,每个智能体都是一个服务,MCP是它们之间的契约。

MCP(Model Context Protocol)是由 Anthropic 于 2024 年底提出并开源的开放协议,目标是统一 AI 模型与外部工具、数据源之间的接口规范。类比来看,MCP 之于 AI 智能体,类似于 USB-C 之于硬件设备——通过一套标准接口,让不同来源的工具和服务可以即插即用,而无需为每个模型单独定制连接方式。MCP 定义了三种核心原语:Resources(资源,供模型读取的数据)、Tools(工具,供模型调用的函数)和 Prompts(提示模板)。在多智能体系统中,各智能体以 MCP Server 的形式暴露自己的能力,编排者作为 MCP Client 统一调度,使得整个系统的扩展和替换更加模块化,避免了各智能体之间点对点硬耦合的维护噩梦。

一张图看懂完整图景

把所有概念串起来,整个多智能体系统的图景其实非常清晰:

  • 模型是一个无状态的函数;
  • 智能体是围绕模型的一个循环;
  • 记忆和 RAG 负责把正确的数据放进提示词;
  • 多个智能体协作,每个只负责一个角色。

最后一条实践建议尤为重要:从一个智能体开始。不要一上来就堆砌复杂的多智能体架构,只有当测试证明单个智能体确实无法胜任时,才去增加更多智能体。工程上的克制,往往比炫技式的复杂更有价值。

分享:

相关推荐