当前位置: 首页 > news >正文

【项目实训个人博客】multi-agent调研(1)

随着LLM的涌现,以LLM为中枢构建的Agent系统在近期受到了广泛的关注。Agent系统旨在利用LLM的归纳推理能力,通过为不同的Agent分配角色与任务信息,并配备相应的工具插件,从而完成复杂的任务。

目前更常见的框架大多聚焦于single-agent的场景。single-agent的核心在于LLM与工具的配合。LLM通过理解用户的任务,推理出需要调用的工具,并基于调用结果给用户反馈。在完成任务的过程中,Agent可能与用户有多轮交互。下图即展示了一个主流的Agent执行流程。

与此同时,也有越来越多的Agent框架开始聚焦于multi-agent场景。为了完成任务,multi-agent会为不同的Agent赋予不同的角色定位,通过Agent之间的协同合作来完成复杂的任务。而在完成任务的过程中,相比于single-agent来说,与用户的交互会更少一些。

multi-agent的主要组件

为了构建一个multi-agent框架,我们需要思考相比于single-agent,框架中多了哪些组件。

      • environment:所有的agent应该处于同一个环境中。环境中包含了全局的状态信息,agent与环境之间存在信息的交互与更新。
      • stage:要完成一个复杂的任务,现有multi-agent框架往往采用SOP的思想,把复杂的任务分解成若干个子任务。对应到软件公司这个场景,"编写2048游戏"这个任务可以被分解为:编写prd,设计框架、写code,code review等子任务。
      • controller:controller可以是LLM,也可以是预先定义好的规则。它主要负责环境在不同agent和stage之间的切换。
      • memory:在single-agent中,记忆只包括了用户、LLM回应和工具调用结果这几个部分。而在multi-agent框架中,一方面由于agent数量的增多使得消息数量增多,另一方面,在每条消息中可能还需要对发送方、接收方等字段进行记录。

multi-agent的核心流程

multi-agent框架的核心交互流程可以概括如下:

  1. controller更新当前环境的状态,选择下一时刻行动的agentA。
  2. 将输出message更新到公共环境中。
  3. agentA调用LLM,基于指令执行动作,获取输出message。
  4. agentA t与环境交互,更新自身的memory信息。

相关文章:

  • DES密码系统的差分分析
  • DLNA 功能
  • LINUX427 冒险位 粘滞位 chmod 权限
  • 杭州小红书代运营公司-品融电商:专业赋能品牌社交增长
  • Leetcode837.新21点
  • OpenCV彩色图像分割
  • 突破常规:探索无 get 方法类设计的独特魅力
  • 互联网大厂Java面试实录:从Spring Boot到微服务架构的技术问答
  • 硬件工程师面试常见问题(9)
  • 使用 Cherry Studio 调用高德 MCP 服务
  • 【SpringMVC文件上传终极指南:从基础配置到云存储集成】
  • 一、对printk的使用记录
  • 北峰专业数字集群通信系统:构建消防指挥调度的智能化基石
  • 游戏遭遇DDoS攻击如何快速止损?实战防御策略与应急响应指南
  • 若依/RuoYi 内置功能
  • Java详解LeetCode 热题 100(02):LeetCode 49. 字母异位词分组(Group Anagrams)详解
  • 安卓屏播放语音失败,报错TextToSpeech: speak failed: not bound to TTS engine
  • 【C++】类和对象【中上】
  • 决策树相关案例
  • 常用的ADB命令分类汇总
  • 日中友好议员联盟代表团访问中国人民对外友好协会
  • 全球前瞻|王毅赴巴西出席金砖外长会,加拿大迎来“几十年来最重要大选”
  • 上海市委常委会传达学习总书记重要讲话精神,研究张江科学城建设等事项
  • 屋顶上的阳光与火光:战争如何改变了加沙的能源格局
  • 清华数字政府与治理研究院揭牌:服务数字政府建设需求
  • 可实时追踪血液中单个细胞的穿戴医疗设备问世