全新Agent框架,将知识图谱从知识获取来源直接升级为Agent编排引擎。
蚂蚁集团推出muAgent,兼容现有市面各类Agent框架,同时可实现复杂推理、在线协同、人工交互、知识即用四大核心差异技术功能。
这套框架目前在蚂蚁集团内多个复杂DevOps场景落地验证,同时可通过快速搭建的创新AI文本游戏“谁是卧底”游戏快速感受一下。
站在当前视角,LLM大模型能很好的解决通用单步任务(如SQL生成)、单步工具使用(如天气查询),但实际现实中的场景却是复杂多步骤的,尤其面向严谨专业私有领域,LLM只能给出泛泛而谈的答案(包括ChatGPT),面向C端体验用户可能问题不大,面向B/P端实际生产时却往往用处不大。
蚂蚁团队认为大模型就像才毕业的名校博士,具备优秀的基础素养,但却无法面向特定领域进一步学习,能够面向特定领域给出完善的任务规划决策。LLM能逐步协助人来解决问题或者Agent能实际解决问题,核心在于PLANNER推理能力。
不同领域专家核心竞争力在于行业的长久沉淀,面向专业领域复杂问题的处理经验
人面向专业复杂事务处理具备丰富的经验,人的经验从哪里来?两部分:
muAgent基于LLM+EKG(Eventic Knowledge Graph行业知识承载)驱动,协同MultiAgent、FunctionCall、CodeInterpreter等技术,通过画布式拖拽、轻文字编写,让大模型在人的经验指导下帮助你完成各类复杂多步任务。
为了实现复杂多步流程SOP(Standard Operating Procedure)自动化,先来看SOP的构成。拆开抽象,任何任务流SOP的推进本质由三部分组成“经验”+“工具”+“人物”,衔接LLM推理,实现整体三者的有机结合。
经验:面向特定专业领域,复杂任务是如何操作处理?流程步骤是什么?
工具:在流程推进中,周边工具的使用,使用什么工具?如何使用工具?
人物:在流程推进中,周边人物的咨询,找谁(人、智能体)?问什么?
为此,muAgent整体的架构大图如下,和业界Agent框架定义对标,包含Planner、Memory和ActionSpace三大核心模块,以及Diagnose的调试监控和Interface的产品界面。
为方便理解,接下来通过“谁是卧底”这一AI文本游戏串联整个流程的介绍。通过简易画布拖拽加上轻文字编写,即可实现这一游戏的快速体验。中间的流程即刚才提及的“经验”,下方深紫框即“工具”,上方浅篮框即“人物”。
面向不同行业、不同类型的工作流/SOP,该如何抽象统一,能够比较好地设计schema来存储经验知识?古语有云“授人以鱼不如授人以渔”,即应该设计存储“过程经验”,而非“结果经验”。相比存储状态结果,更应该告诉大模型如何来做一件事获得结果。例如相比于僵化的告知大模型今天天气如何,更合适的做法是教会大模型如何去查询天气。muAgent设计了“场景意图+事件流程+组织人物+统一工具”四大类节点,可满足不同场景所需的SOP经验承载。如下图所示。
由于任务流通常天然呈现为图或者树结构,因此muAgent采取图数据库来承载经验的存储。相比传统的RAG,或者微软的GraphRAG—-更多的是把知识图谱KG作为一个数据的来源—-muAgent直接把KG升级作为编排引擎。通过“拖拉式”“轻文字”编写实现特定领域复杂SOP的沉淀以及SOP的自动化。
有了经验的存储设计,就像有了人脑,接下来要解决知识的获取构建问题。muAgent提供两种经验构建能力。第一种是刚才提及的通过产品侧画布式轻文字编写;第二种是面向海量的存量文档,muAgent具备自动化抽取的能力,能将普通文本和流程图自动抽取转换为图谱结构。对于抽取的部分信息错误或者信息缺失,通过简易的编辑调试即可获取完善的SOP经验。
由于图谱的引擎设计自然继承了图谱的能力实现,在承载经验的同时,muAgent提供“经验拆分”和“经验合并”的能力。
经验拆分:
我们期望模型具备一定的泛化能力,而不是告诉什么回答什么(类似DiFY固定僵化的任务流,同时不同于AutoGPT纯随机发散的推理),举个例子,当沉淀了“杭州旅游行程规划”后,那么应该抽象出“旅游行程规划”,在面对“北京旅游行程规划”的Query问题时,也应该能很好的作答。再发散一点,抽象原子经验“酒店订购、车票订购、餐饮选择”,那么在面对“北京差旅行程规划”时也能利用好原子经验进行回答!类似于告诉人一个特定问题的解决思路的时候,他会举一反三,我们期望拥有原子经验的模型也具备这一能力。为此muAgent提供“经验拆分”,通过“现象-任务-判断-结论”这一四段论的形式,结合下一小节的推理能力,实现在人的经验指导下的发散推理。
经验合并:
一千个人读哈姆雷特有一千个看法,如同盲人摸象,录入承载的经验更像是一个抽象类的具象化,更好的做法是将不同共建的经验合并来提供事物本质的模样。以旅游车票订购为例,距离较远的人会沉淀经验“车票订购-飞机”,距离较近的会沉淀“车票订购-高铁”,本地游的会沉淀“车票订购-地铁”,将这几个经验对齐合并,才能完整的形成原子经验“车票订购”。
有了经验的知识存储,接下要解决知识的利用推理问题。推理方面muAgent整体包含两大模块:
意图识别:
面向多层意图,支持“顺序+直接”意图定位;面向不同问题,支持意图分类(执行OR咨询);面对模糊意图,支持反问用户以得到信息补充。
图谱推理:
基于用户沉淀经验,协同FuncCall,面向不同类型用户问题,多路推理(执行OR问答)。
在任务流/经验推进的过程中,避免不了和“人物”的交互。muAgent中对人物的构成整体上可以分为三类:“智能体”、“用户人”、“企业人”。在谁是卧底的场景中,我们已经感受到了“用户人”和“智能体”,在这统一做下介绍和说明。
什么是多Agent/MultiAgent框架?核心在于多Agent信息交互的实现。多Agent信息交互即多Agent讨论模式。
基于人类交流讨论的模式,muAgent抽象归纳出8种讨论模式,可同时满足不同场景信息隔离诉求(全部/部分/单独可见)。
这里又可以归结为两大类问题,信息通信(我能、应该看到什么信息?)和信息加工(我如何能更好的看到信息?),muAgent可通过属性的简单配置和边的链接来实现不同的场景需求。接下来,我们将通过谁是卧底的案例带大家整体认知下不同的信息通信模式。
信息通信
公开通知:座位分配环节每个人都知道对方的座位在哪,由主持人统一分配,同时不需要针对分配结果给出回复。muAgent通过任务节点-信息隔离属性的“公开”设置实现。
私下通知:单词分配环节每个人只知道自己分配到的单词,主持人统一分配且知道每个人的单词,针对分配单词不需要给出回复。muAgent通过任务节点-信息隔离属性的“私有”设置实现。
顺序发言:分享讨论环节,主持人根据分配座位号,以及现场存活的人员,制定接下来发言的顺序,然后实际发起每个人的分享(需回复),每个人知道其他人的回复。这里新增一个工具使用模式的设置,将在工具章节详细介绍。
信息加工
有了良好的信息通信的实现保障不同场景所需,接下来的问题就是怎么让人更好的看到信息。举个大家都会遇到的场景,突然被拉入一个群聊被艾特一个问题,需要从很长的历史长下文中梳理出我到底要干什么?那么有没有更好的方式,直接把上下文总结提炼好了从而一眼就能知道我要干什么?这就是信息加工模块存在的必要性。这里提供3种信息加工的模式(通过属性设置来实现),分别如下:
介绍完经验和人物,还剩流程推进中的最后一环-工具。先从工具使用方式出发来介绍。目前业界整体的工作可以归纳为3种思考使用方式:
以票选凶手环节为例,同步咨询不同的智能体,同时给出回复,避免不同智能体根据别人的信息输出来伪装自己的描述。
随着以ChatGPT为首的闭源模型和Qwen等开源模型的迅速发展,去年研究火热的垂类模型或者定制微调(LoRA)在不断的弱化,很可能训练了很久都不如外部新版本迭代来的效果好。但面向工具场景,muAgent主打预置插件/工具,相同的模型见过的工具(微调)肯定比没见过的模型效果好,尤其是企业内部复杂的API工具。为此,团队搭建了多Agent自动化数据构建链路,实现给定插件,自动化数据构建(Q+A),模型微调服务。保障在专业场景工具使用效果的准确性和稳定性。
基于上述的架构设计介绍,回看最开头提及的muAgent框架,相比现有市面各类Agent框架,四大核心差异体现在如下几个方面:
同时muAgent还提供调试运行功能。图谱编辑完成后,通过可视调试,能快速发现流程错误、进行修改优化。同时面向调试成功路径,可关联配置自动沉淀,从而减少模型交互/开销、加速推理流程;此外,在线运行中,muAgent提供全链路可视化监控,让排查和维护更加方便。
GitHub项目地址:
https://github.com/codefuse-ai/CodeFuse-muAgent
文章来自于微信公众号“量子位”,作者“muAgent团队”
【开源免费】n8n是一个可以自定义工作流的AI项目,它提供了200个工作节点来帮助用户实现工作流的编排。
项目地址:https://github.com/n8n-io/n8n
在线使用:https://n8n.io/(付费)
【开源免费】DB-GPT是一个AI原生数据应用开发框架,它提供开发多模型管理(SMMF)、Text2SQL效果优化、RAG框架以及优化、Multi-Agents框架协作、AWEL(智能体工作流编排)等多种技术能力,让围绕数据库构建大模型应用更简单、更方便。
项目地址:https://github.com/eosphoros-ai/DB-GPT?tab=readme-ov-file
【开源免费】VectorVein是一个不需要任何编程基础,任何人都能用的AI工作流编辑工具。你可以将复杂的工作分解成多个步骤,并通过VectorVein固定并让AI依次完成。VectorVein是字节coze的平替产品。
项目地址:https://github.com/AndersonBY/vector-vein?tab=readme-ov-file
在线使用:https://vectorvein.ai/(付费)
【开源免费】AutoGPT是一个允许用户创建和运行智能体的(AI Agents)项目。用户创建的智能体能够自动执行各种任务,从而让AI有步骤的去解决实际问题。
项目地址:https://github.com/Significant-Gravitas/AutoGPT
【开源免费】MetaGPT是一个“软件开发公司”的智能体项目,只需要输入一句话的老板需求,MetaGPT即可输出用户故事 / 竞品分析 / 需求 / 数据结构 / APIs / 文件等软件开发的相关内容。MetaGPT内置了各种AI角色,包括产品经理 / 架构师 / 项目经理 / 工程师,MetaGPT提供了一个精心调配的软件公司研发全过程的SOP。
项目地址:https://github.com/geekan/MetaGPT/blob/main/docs/README_CN.md
【开源免费】graphrag是微软推出的RAG项目,与传统的通过 RAG 方法使用向量相似性作为搜索技术不同,GraphRAG是使用知识图谱在推理复杂信息时大幅提高问答性能。
项目地址:https://github.com/microsoft/graphrag
【开源免费】Dify是最早一批实现RAG,Agent,模型管理等一站式AI开发的工具平台,并且项目方一直持续维护。其中在任务编排方面相对领先对手,可以帮助研发实现像字节扣子那样的功能。
项目地址:https://github.com/langgenius/dify
【开源免费】RAGFlow是和Dify类似的开源项目,该项目在大文件解析方面做的更出色,拓展编排方面相对弱一些。
项目地址:https://github.com/infiniflow/ragflow/tree/main
【开源免费】phidata是一个可以实现将数据转化成向量存储,并通过AI实现RAG功能的项目
项目地址:https://github.com/phidatahq/phidata
【开源免费】TaskingAI 是一个提供RAG,Agent,大模型管理等AI项目开发的工具平台,比LangChain更强大的中间件AI平台工具。
项目地址:https://github.com/TaskingAI/TaskingAI
【开源免费】XTuner 是一个高效、灵活、全能的轻量化大模型微调工具库。它帮助开发者提供一个简单易用的平台,可以对大语言模型(LLM)和多模态图文模型(VLM)进行预训练和轻量级微调。XTuner 支持多种微调算法,如 QLoRA、LoRA 和全量参数微调。
项目地址:https://github.com/InternLM/xtuner
【开源免费】LangGPT 是一个通过结构化和模板化的方法,编写高质量的AI提示词的开源项目。它可以让任何非专业的用户轻松创建高水平的提示词,进而高质量的帮助用户通过AI解决问题。
项目地址:https://github.com/langgptai/LangGPT/blob/main/README_zh.md
在线使用:https://kimi.moonshot.cn/kimiplus/conpg00t7lagbbsfqkq0