多智能体(Multi-Agent)是由多个自主、独立的智能体(Agent)组成的系统。在这个系统中,每个智能体都能够感知环境、进行决策并执行任务,同时它们之间可以进行信息共享、任务协调以及协同行动,以实现整体的目标。
随着大型语言模型(LLM)的出现,以 LLM 为核心构建的 Agent 系统近期受到广泛关注。Agent 系统旨在利用 LLM 的归纳推理能力,为不同的 Agent 分配角色和任务信息,并配备相应的工具插件,以完成复杂的任务。
目前,更常见的框架主要集中在单 Agent 场景下。单 Agent 的核心在于 LLM 与工具的协同配合。LLM 根据用户任务的理解,推理出需要调用的工具,并根据调用结果向用户提供反馈。在任务完成过程中,Agent 可能需要与用户进行多轮交互。
与此同时,越来越多的 Agent 框架开始关注多 Agent 场景。为了完成任务,多 Agent 会为不同的 Agent 指定不同的角色,并通过 Agent 之间的协作来完成复杂的任务。与单 Agent 相比,在任务完成过程中,与用户的交互可能会减少一些。
为构建一个多 Agent 框架,主要组成部分包括:
多智能体的核心交互流程包括:
参考资料:
多智能体(Multi-Agent)是由多个自主、独立的智能体(Agent)组成的系统。在这个系统中,每个智能体都能够感知环境、进行决策并执行任务,同时它们之间可以进行信息共享、任务协调以及协同行动,以实现整体的目标。[heading2]关于Multi-Agent[content]随着大型语言模型(LLM)的出现,以LLM为核心构建的Agent系统近期受到了广泛关注。Agent系统旨在利用LLM的归纳推理能力,为不同的Agent分配角色和任务信息,并配备相应的工具插件,以完成复杂的任务。目前,更常见的框架主要集中在单Agent场景下。单Agent的核心在于LLM与工具的协同配合。LLM根据用户任务的理解,推理出需要调用的工具,并根据调用结果向用户提供反馈。在任务完成过程中,Agent可能需要与用户进行多轮交互。与此同时,越来越多的Agent框架开始关注多Agent场景。为了完成任务,多Agent会为不同的Agent指定不同的角色,并通过Agent之间的协作来完成复杂的任务。与单Agent相比,在任务完成过程中,与用户的交互可能会减少一些。[heading2]主要组成部分[content]为构建一个多Agent框架,我们需要思考相对于单Agent,框架中增加了哪些组件。环境(environment):所有Agent应该处于同一个环境中。环境中包含全局状态信息,Agent与环境之间存在信息的交互与更新。阶段(stage):为了完成复杂任务,现有多Agent框架通常采用SOP思想,将复杂任务分解为多个子任务。控制器(controller):控制器可以是LLM,也可以是预先定义好的规则。它主要负责环境在不同Agent和阶段之间的切换。记忆:在单Agent中,记忆只包括用户、LLM回应和工具调用结果等部分。而在多Agent框架中,由于Agent数量增多,导致消息数量增多。同时,每条消息可能需要记录发送方、接收方等字段。
其实只要看过官方文档的应该都能知道,大模型请求中,最大的两个变量:Messages和Tools。Messages里面放的是sys prompt,memory,user query;Tools里面放的是一些能力的Json Scheme;而这两者组合在一起,就形成整个完全的Prompt。所以Agent应用开发的本质是什么?动态Prompt拼接。通过工程化的手段,不断把业务需求转述成新的prompt。短期记忆:messages里的历史QA对;长期记忆:summary之后的本文,再塞回system prompt;RAG是啥?向量相似性检索,然后放在system prompt里或者通过tools触发检索Action:触发tool_calls标记,进入请求循环,拿模型生成的请求参数进行API request,再把结果返回给大模型进行交互;没有tool_calls标记了,循环结束。对应页面上就是对话一轮对话结束。Multi Agents是啥?把system prompt和tools换一换,A就变成B了。还有啥?没了呀,本质就是这些东西。当然,这也就是最基本的原理,想做深,做好,肯定还有很多坑需要踩。
1.控制器更新当前环境状态,选择下一时刻行动的Agent。2.Agent与环境交互,更新自身的记忆信息。3.Agent调用LLM,执行动作并获取输出消息。4.将输出消息更新到公共环境中。参考资料:《[multi-agent:多角色Agent协同合作,高效完成复杂任务](https://zhuanlan.zhihu.com/p/660045220)》《[多智能体Agent协同系统是什么](https://www.ai-indeed.com/encyclopedia/6125.html)》