Agent调研--19类Agent框架对比(中):https://developer.aliyun.com/article/1480811
- TaskWeaver
git:https://github.com/microsoft/TaskWeaver?tab=readme-ov-filedoc:https://microsoft.github.io/TaskWeaver/docs/overview
TaskWeaver,面向数据分析任务,通过编码片段解释用户请求,并以函数的形式有效协调各种插件来执行数据分析任务。TaskWeaver不仅仅是一个工具,更是一个复杂的系统,能够解释命令,将它们转换为代码,并精确地执行任务。
TaskWeaver的工作流程涉及几个关键组件和过程,以下是工作流程的概览。它由三个关键组件组成:规划器(Planner)、代码生成器(CG)和代码执行器(CE)。代码生成器和代码执行器由代码解释器(CI)组成。 论文里提到的后续的多agent方向探索,可以与autoGen结合
- 微软UFO
git:https://github.com/microsoft/UFO
UFO是面向Windows系统的Agent,结合自然语言和视觉操作Windows GUI
UFO(UI-Focused Agent)的工作原理基于先进的视觉语言模型技术,特别是GPT-Vision,以及一个独特的双代理框架,使其能够理解和执行Windows操作系统中的图形用户界面(GUI)任务。以下是UFO工作原理的详细解释:
- 双代理框架 双代理架构:UFO由两个主要代理组成,AppAgent和ActAgent,分别负责应用程序的选择与切换,以及在这些应用程序内执行具体动作。应用程序选择代理(AppAgent):负责决定为了完成用户请求需要启动或切换到哪个应用程序。它通过分析用户的自然语言指令和当前桌面的屏幕截图来做出选择。一旦确定了最适合的应用程序,AppAgent会制定一个全局计划来指导任务的执行。动作选择代理(ActAgent):一旦选择了应用程序,ActAgent就会在该应用程序中执行具体的操作,如点击按钮、输入文本等。ActAgent利用应用程序的屏幕截图和控件信息来决定下一步最合适的操作,并通过控制交互模块将这些操作转化为对应用程序控件的实际动作。
- 控制交互模块 UFO的控制交互模块是将代理识别的动作转换为应用程序中实际执行的关键组成部分。这个模块使UFO能够直接与应用程序的GUI元素进行交互,执行如点击、拖动、文本输入等操作,而无需人工干预。
- 多模态输入处理 UFO能够处理多种类型的输入,包括文本(用户的自然语言指令)和图像(应用程序的屏幕截图)。这使UFO能够理解当前GUI的状态、可用控件和它们的属性,从而做出准确的操作决策。
- 用户请求解析 当接收到用户的自然语言指令时,UFO首先解析这些指令,以确定用户的意图和所需完成的任务。然后,它将这个任务分解成一系列子任务或操作步骤,这些步骤被AppAgent和ActAgent按顺序执行。
- 应用程序间的无缝切换 如果完成用户请求需要多个应用程序的操作,UFO能够在这些应用程序之间无缝切换。它通过AppAgent来决定何时以及如何切换应用程序,并通过ActAgent在每个应用程序中执行具体的操作。
- 自然语言命令到GUI操作的映射 UFO的核心功能之一是将用户的自然语言命令映射到具体的GUI操作上。这一过程涉及到理解命令的意图,识别相关的GUI元素,以及生成和执行操作这些元素的动作。通过这种方式,UFO可以自动完成从文档编辑和信息提取到电子邮件撰写和发送等一系列复杂的任务,大大提高用户在Windows操作系统中工作的效率和便捷性。
- CrewAI
git: https://github.com/joaomdmoura/crewAI
site: https://www.crewai.com/基于langchain的Multi-agent框架 Crew 在 CrewAI 中是代理人、任务和过程相结合的容器层,是任务执行的实际场所。作为一个协同合作的环境,Crew 提供了代理人之间的交流、合作和按照规定过程执行任务的平台。通过 Crew 的设计,代理人能够更好地协作并以高效的方式完成任务。支持顺序结构和层级结构的agents。CrewAI的优点:与LangChain生态结合,CrewAI提供了 Autogen 对话代理的灵活性和 ChatDev 的结构化流程方法,但没有僵化。CrewAI 的流程设计为动态且适应性强,可无缝融入开发和生产工作流程。
- AgentScope
git: https://github.com/modelscope/agentscope/blob/main/README_ZH.md阿里开源的Multi-agent框架,亮点是支持分布式框架,并且做了工程链路上的优化及监控。
- Camel
git: https://github.com/camel-ai/camelsite: https://www.camel-ai.org早期Multi-Agent项目,实现agent间的一对一对话,文档较少,除了git和一个站点外没有找到太多有用信息。
Agent框架总结
单智能体= 大语言模型(LLM) + 观察(obs) + 思考(thought) + 行动(act) + 记忆(mem)
多智能体=智能体 + 环境 + SOP + 评审 + 通信 + 成本
多智能体优点:
- 多视角分析问题:虽然LLM可以扮演很多视角,但会随着system prompt或者前几轮的对话快速坍缩到某个具体的视角上;
- 复杂问题拆解:每个子agent负责解决特定领域的问题,降低对记忆和prompt长度的要求;
- 可操控性强:可以自主的选择需要的视角和人设;
- 开闭原则:通过增加子agent来扩展功能,新增功能无需修改之前的agent;
- (可能)更快的解决问题:解决单agent并发的问题;
缺点:
- 成本和耗时的增加;
- 交互更复杂、定制开发成本高;
- 简单的问题single Agent也能解决;
多智能体能解决的问题:
- 解决复杂问题;
- 生成多角色交互的剧情;
Multi-Agent并不是Agent框架的终态,Multi-Agent框架是当前有限的LLM能力背景下的产物,更多还是为了解决当前LLM的能力缺陷,通过LLM多次迭代、弥补一些显而易见的错误,不同框架间仍然存在着极高的学习和开发成本。随着LLM能力的提升,未来的Agent框架肯定会朝着更加的简单、易用的方向发展。
能做什么?
▐ 可能的方向
游戏场景(npc对话、游戏素材生产)、内容生产、私域助理、OS级别智能体、部分工作的提效
▐ Multi-Agent框架
多agent应该像人类的大脑一样,分工明确、又能一起协作,比如,大脑有负责视觉、味觉、触觉、行走、平衡,甚至控制四肢行走的区域都不一样。
参考MetaGPT和AutoGen生态最完善的两个Multi-Agent框架,可以从以下几个角度出发:
环境&通讯:Agent间的交互,消息传递、共同记忆、执行顺序,分布式agent,OS-agent
SOP:定义SOP,编排自定义Agent
评审:Agent健壮性保证,输入输出结果解析
成本:Agent间的资源分配
Proxy:自定义proxy,可编程、执行大小模型
▐ Single Agent框架
执行架构优化:论文数据支撑CoT to XoT,从一个thought一步act到一个thought多个act,从链式的思考方式到多维度思考;长期记忆的优化:具备个性化能力的agent,模拟人的回想过程,将长期记忆加入agent中;多模态能力建设:agent能观察到的不仅限于用户输入的问题,可以加入包括触觉、视觉、对周围环境的感知等;
自我思考能力:主动提出问题,自我优化;
- 其他
部署:Agent以及workflow的配置化及服务化,更长远的还需要考虑分布式部署监控:Multi-Agent可视化、能耗与成本监控RAG:解决语义孤立问题评测:agent评测、workflow评测、AgentBench训练语料:数据标记、数据回流业务选择:Copilot 还是 Agent ?Single Agent 还是Multi-Agent?
参考文献
1.什么是ai agent:https://www.breezedeus.com/article/ai-agent-part1#33ddb6413e094280aaa4ac82634d01d9
2.什么是ai agent part2:https://www.breezedeus.com/article/ai-agent-part2
3.ReAct: Synergizing Reasoning and Acting in Language Models:https://react-lm.github.io/
4.Plan-and-Execute Agents:https://blog.langchain.dev/planning-agents/
5.LLmCompiler:https://arxiv.org/abs/2312.04511?ref=blog.langchain.dev
6.agent:https://hub.baai.ac.cn/view/27683
7.TaskWeaver创建超级AI Agent:https://hub.baai.ac.cn/view/34799
8.For a Multi-Agent Framework, CrewAI has its Advantages Compared to AutoGen: https://levelup.gitconnected.com/for-a-multi-agent-framework-crewai-has-its-advantages-compared-to-autogen-a1df3ff66ed3
9.AgentScope: A Flexible yet Robust Multi-Agent Platform: https://arxiv.org/abs/2402.14034
10.Assisting in Writing Wikipedia-like Articles From Scratch with Large Language Models: https://arxiv.org/abs/2402.14207
11.Autogen的基本框架:https://limoncc.com/post/3271c9aecd8f7df1/
12.MetaGPT作者深度解析:https://www.bilibili.com/video/BV1Ru411V7XL/?spm_id_from=333.999.0.0&vd_source=b27d8b2549ee8e4b490115503ac81017
13.Agent产品设计:https://mp.weixin.qq.com/s/pbCg1KOXK63U9QY28yXpsw?poc_token=HHAx12Wjjn0BqZd4N-byo0-rjRmpjhjjl6yN6Bdz
14.Building the Future of Responsible AI: A Reference Architecture for Designing Large Language Model based Agents:https://arxiv.org/abs/2311.13148
16.《MetaGPT智能体开发入门》学习手册: https://deepwisdom.feishu.cn/wiki/BfS0wmk4piMXXIkHvn5czNT8nuh
团队介绍
我们是天猫技术-手猫智能策略-推荐工程团队,主要任务是为手机天猫APP用户提升推荐和AI的服务体验。我们专注于推荐和AI创新业务的研发,包括但不限于手机天猫的推荐引擎、推荐服务端、流量调控、智能UI的研发优化以及AI创新业务探索。结合最新的搜推技术、大语言模型和视觉模型,我们致力于为用户提供更好的推荐服务及AI体验,力求在不断探索和实践中为用户创造更多价值。