AI Agent概念,AI Agent是什么(非常全面)
Agent 是一种能够自主规划、自行决策和自动执行任务的智能实体应用程序。与传统的人工智能相比,Agent 具备通过主动思考、调用工具,有计划地逐步完成用户设定目标的能力。
Agent 不是近年来才出现的概念,在大语言模型(Large Language Model,LLM)出现之前,Agent 实现的是其字面意思“代理”或“助理”的功能,作为工具被动地协助人类完成一些工作任务。
随着 ChatGPT 及同类型大语言模型产品的迅速发展,Agent 技术也在快速迭代,从通过多个角色对话的方式来解决用户问题的简单场景开始,逐步加强在长记忆、主动思考、任务分解、任务执行、工具调用等方面的能力,目前正在朝通用人工智能(Artificial General Intelligence,AGI)方向迈进。
在很多场景下,大语言模型也被称为 LLMs(Large Language Models),是指一类 LLM 服务。
亚马逊的 AWS 云服务网站中的 Agent 定义为:AI Agent 是一种软件程序,它可以与环境互动,收集数据,并利用数据执行自主任务,以实现人类预定的目标。AI Agent 会独立选择实现这些目标所需的最佳行动。
IBM 对 Agent 的定义则突出了其自主性和扩展性,将 Agent 定义成能够通过设计工作流程和利用可用工具,代表用户或其他系统自主执行任务的系统或程序。AI Agent 可以包含自然语言处理之外的广泛功能,包括决策、解决问题、与外部环境交互和执行操作。
Microsoft 则着重强调了 Agent 的使用场景和功能:Agent 为用户执行特定任务、回答问题并自动执行流程,具有较高的复杂性而且功能差异很大,从简单的聊天机器人到 Copilot,再到数字人或机器人系统形式的高级人工智能助手,可以自主运行复杂的工作流程。
Microsoft还阐述了Agent与大语言模型或基于规则的软硬件之间在自主性方面的重要区别,也明确了 Agent 具备规划(Planning)、工具使用(Tool usage)、感知(Perception)和记忆(Memory)等功能。
综合以上信息,笔者对 Agent 的定义总结如下:Agent(AI Agent)是一种人工智能应用,通过自主规划、工具调用、感知和记忆等功能,在大语言模型的支持下,代表或代理人类,自主决策,主动解决用户提出的任务。
Agent 的中文翻译是“代理”,代理这个词指代的职业、职位比较宽泛,有些图书或文章将 AI Agent 直译成“人工智能代理”,其主动性被弱化了。如果翻译成“助理”(Assistant),则会把 Agent 的应用场景缩小很多。目前比较通行的翻译是“智能体”,虽然未能表达出Agent代表人类的特点,但是说明了 Agent 是一个具有智能的独立个体,有一定的主动性。笔者的想法是将智能体简化为“智体”,智体与智能体表达的意思没有区别,但更有科技感和画面感。
Agent 不是近年来才出现的概念,在大语言模型(Large Language Model,LLM)出现之前,Agent 实现的是其字面意思“代理”或“助理”的功能,作为工具被动地协助人类完成一些工作任务。
随着 ChatGPT 及同类型大语言模型产品的迅速发展,Agent 技术也在快速迭代,从通过多个角色对话的方式来解决用户问题的简单场景开始,逐步加强在长记忆、主动思考、任务分解、任务执行、工具调用等方面的能力,目前正在朝通用人工智能(Artificial General Intelligence,AGI)方向迈进。
在很多场景下,大语言模型也被称为 LLMs(Large Language Models),是指一类 LLM 服务。
Agent的概念
在人工智能语境下,Agent 是 AI Agent 的简写。Agent 的概念与人工智能、主动服务于人类的软件、大语言模型等有关。亚马逊的 AWS 云服务网站中的 Agent 定义为:AI Agent 是一种软件程序,它可以与环境互动,收集数据,并利用数据执行自主任务,以实现人类预定的目标。AI Agent 会独立选择实现这些目标所需的最佳行动。
IBM 对 Agent 的定义则突出了其自主性和扩展性,将 Agent 定义成能够通过设计工作流程和利用可用工具,代表用户或其他系统自主执行任务的系统或程序。AI Agent 可以包含自然语言处理之外的广泛功能,包括决策、解决问题、与外部环境交互和执行操作。
Microsoft 则着重强调了 Agent 的使用场景和功能:Agent 为用户执行特定任务、回答问题并自动执行流程,具有较高的复杂性而且功能差异很大,从简单的聊天机器人到 Copilot,再到数字人或机器人系统形式的高级人工智能助手,可以自主运行复杂的工作流程。
Microsoft还阐述了Agent与大语言模型或基于规则的软硬件之间在自主性方面的重要区别,也明确了 Agent 具备规划(Planning)、工具使用(Tool usage)、感知(Perception)和记忆(Memory)等功能。
综合以上信息,笔者对 Agent 的定义总结如下:Agent(AI Agent)是一种人工智能应用,通过自主规划、工具调用、感知和记忆等功能,在大语言模型的支持下,代表或代理人类,自主决策,主动解决用户提出的任务。
Agent 的中文翻译是“代理”,代理这个词指代的职业、职位比较宽泛,有些图书或文章将 AI Agent 直译成“人工智能代理”,其主动性被弱化了。如果翻译成“助理”(Assistant),则会把 Agent 的应用场景缩小很多。目前比较通行的翻译是“智能体”,虽然未能表达出Agent代表人类的特点,但是说明了 Agent 是一个具有智能的独立个体,有一定的主动性。笔者的想法是将智能体简化为“智体”,智体与智能体表达的意思没有区别,但更有科技感和画面感。
常用的Agent开源技术
下表列出了一些常用的开源 Agent 应用、开发框架和运行平台。序号 | 名称 | 功能说明 |
---|---|---|
1 | AdaL | 自主进行数据标注的 Agent 框架 |
2 | Agent4Rec | 个性化电影推荐 Agent |
3 | AgentForge | 可扩展的 AGI 框架 |
4 | AgentGPT | 基于浏览器的 AutoGPT 无代码版本 |
5 | AgentPilot | 在桌面应用程序中构建、管理 Agent 并与之聊天 |
6 | GPT-4(未完全公开) | 基于GPT-3数据扩展,新增高质量合成数据与人类反馈样本 |
7 | AgentScope | 阿里巴巴开源的 Multi-Agent 框架,亮点是支持分布式框架,并且做了工程链路上的优化及监控 |
8 | HMM/CRF序列模型 | 具备序列标注能力,适用于结构预测 |
9 | 词向量模型(Word2Vec) | 词义分布表示,引入稠密向量空间 |
10 | DeepSeek-V2 | 中文网页、维基百科、新闻、新浪微博、代码等 |
11 | Mistral | The Pile、RefinedWeb、Books、StackExchange、HackerNews等 |
12 | Claude(Anthropic) | 高比例人类反馈训练数据、网页内容、对话语料 |
13 | ChatGLM3 | 中文互联网页面、百科、新闻、问答语料、GitHub 代码等 |
14 | PalM 2 | C4、Books、Wikipedia、科学语料(PubMed)、对话语料等 |
15 | Falcon | RefinedWeb、Books、Dialogues、Code、Multilingual Web数据 |
16 | Devika | 主动式 AI 软件工程师 |
17 | DevOpsGPT | AI 驱动的软件开发自动化解决方案 |
18 | dotagent | 在云端、个人计算机或移动设备上部署 Agent |
19 | e2b-dev/E2B | Agent的云端运行环境 |
20 | evo.ninja | 多功能通用型 Agent,使其角色适应并完成多种任务 |
21 | GeniA | AI 工程团队协作工具 |
22 | Godmode | AutoGPT 和 BabyAGI 同类产品 |
23 | GPT Discard | 提供针对 Discard 的集成 GPT 接口 |
24 | GPT Engineer | 根据提示词生成整个代码库 |
25 | GPT Migrate | 在不同框架 / 语言之间迁移代码库 |
26 | GPT Pilot | 从头开始编写一个完整的可扩展的应用程序 |
27 | GPT Researcher | 基于 GPT 的自主 Agent,可对任意给定主题进行在线综合研究 |
28 | Devika | 主动式 AI 软件工程师 |
29 | DevOpsGPT | AI 驱动的软件开发自动化解决方案 |
30 | dotagent | 在云端、个人计算机或移动设备上部署 Agent |
31 | e2b-dev/E2B | Agent 的云端运行环境 |
32 | evo.ninja | 多功能通用型 Agent,使其角色适应并完成多种任务 |
33 | GeniA | AI 工程团队协作工具 |
34 | Godmode | AutoGPT 和 BabyAGI 同类产品 |
35 | GPT Discard | 提供针对 Discard 的集成 GPT 接口 |
36 | GPT Engineer | 根据提示词生成整个代码库 |
37 | GPT Migrate | 在不同框架 / 语言之间迁移代码库 |
38 | GPT Pilot | 从头开始编写一个完整的可扩展的应用程序 |
39 | GPT Researcher | 基于 GPT 的自主 Agent,可对任意给定主题进行在线综合研究 |
40 | GPTswarm | 基于图形的 Agent 框架 |
41 | h2oGPT | 查询管理本地文档、图片、视频等文件的 RAG 应用 |
42 | JARVIS | 一个将 LLM 与 ML(机器学习)社区连接起来的系统 |
43 | LangChain | 构建情境感知推理应用程序的 Agent 开发框架 |
44 | LangGraph | 以图的形式弹性构建 Agent 的开发框架 |
45 | LlamaIndex | 基于 LLM 的数据应用开发框架 |
46 | MemGPT | 创建具有长期记忆和自定义工具的 Agent 应用 |
47 | MetaGPT | 返回设计、任务或仓库的 Agent 框架 |
48 | NLsOM | 以统一的符号语言轻松将 Agent 集成到系统中 |
49 | OpenAgents | 通用型 Multi-Agent 平台 |
50 | OpenAGI | 专注于研究与开发(R&D)领域的 Agent 平台 |
51 | Pezzo | 用于管理提示词等的开发工具包 |
52 | Databerry | 本地知识库问答系统,支持各种文件格式和数据库,允许离线安装和使用 |
25 | DB-GPT | AI 原生数据应用开发框架 |
26 | DemoGPT | 生成新应用程序演示的工具 |
27 | DevGPT | 虚拟开发者团队 |
54 | Vanna.AI | 基于 Python 的 AI SQL Agent,可根据特定数据进行训练 |
55 | Voyager | 用于 Minecraft 游戏的受 LLM 驱动的终身学习 Agent |
56 | Westworld simulation | 《西部世界》的 Multi-Agent 环境仿真库 |
57 | UFO | 面向 Windows 系统的 Agent,结合自然语言和视觉语言操作 Windows GUI |