跳到主要内容 AI Agent 技术解析:定义、架构与主流框架实践 | 极客日志
Python AI 算法
AI Agent 技术解析:定义、架构与主流框架实践 AI Agent 是基于大语言模型(LLM)的自主智能体,具备感知、规划、行动及记忆能力。文章阐述了 Agent 的定义、核心组件(规划、记忆、工具使用、行动),对比了嵌入、副驾驶与智能体三种人机协同模式,并分析了软件架构从面向过程向面向目标的迁移。同时介绍了 AutoGPT、AutoGen、ChatDev 等主流框架,探讨了 Agent 在成为基础设施过程中的展望与技术挑战,如上下文限制、长期规划可靠性及成本问题。
未来是 Agent 的世界,AI Agent 正在以各种方式迅速进入我们的生活,将在未来几年内彻底改变我们的生活方式。
一、什么是 AI Agent (LLM Agent)
1.1 AI Agent 的定义 在 LLM 语境下,Agent 可以理解为某种能自主理解、规划决策、执行复杂任务的智能体。它使用大型语言模型(LLM)作为其核心计算引擎,使其能够进行对话、执行任务、推理并展现一定程度的自主性。简而言之,Agent 是一个具有复杂推理能力、记忆和执行任务手段的系统。
Agent 并非 ChatGPT 升级版,它不仅告诉你'如何做',更会帮你去做。如果 Copilot 是副驾驶,那么 Agent 就是主驾驶。
Agent:P(感知)—> P(规划)—>A(行动)
类似人类'做事情'的过程,Agent 的核心功能,可以归纳为三个步骤的循环:感知(Perception)、规划(Planning)和行动(Action)。
感知(Perception)是指 Agent 从环境中收集信息并从中提取相关知识的能力,规划(Planning)是指 Agent 为了某一目标而作出的决策过程,行动(Action)是指基于环境和规划做出的动作。
其中,Policy 是 Agent 做出 Action 的核心决策,而行动又通过观察(Observation)成为进一步 Perception 的前提和基础,形成自主的闭环学习过程。
这一过程就像马克思主义的'实践论':'认识从实践开始,经过实践得到了理论的认识,再回到实践中去。'Agent 也在知行合一中进化。
一个更完整的 Agent,一定是与环境充分交互的,它包括两部分——一是 Agent 的部分,二是环境的部分。此刻的 Agent 就如同物理世界中的'人类',物理世界就是人类的'外部环境'。
可以想象,人类与外部环境交互的过程:我们基于对这个世界的全部感知,推导出其隐藏的状态,并结合自己的记忆和对世界的知识理解,进而做出 Planning、决策和行动;而行动又会反作用于环境,给我们新的反馈,人类结合对反馈的观察,继而再做决策,以此循环往复。
Agent = LLM+Planning+Feedback+Tool use
其中,在做 Planning 的过程中,除了基于现在的状态,还有要记忆、经验,一些对过往的反思和总结,同时还有世界知识。
对比今天的 ChatGPT,它其实并非 Agent,而是一个通用的世界知识,即用来做 Planning 的知识源,它没有基于具体的环境状态,也没有 Memory,Experience 和 Reflection。
当然,ChatGPT 基于自身的知识可以做逻辑推理和一定的规划,也可以加向量数据库解决推理问题,加 Reflection 让过程更丰富,如此看来,可将 ChatGPT 这个端到端的黑盒子变得显性化一点儿——其实符号就是一个非常显性的系统,基于此可以定向纠错,定向提升。
对于 Feedback,Agent 基于 Action 得到正向的或试错的反馈、阶段性结果或奖励。Feedback 有多种形式,如果将与我们聊天的 ChatGPT 视为一个 Agent,我们在文本框中敲入的回复就是一种 Feedback,只不过是一种文本形式的 Feedback,此时我们对于 ChatGPT 来说,就是一种环境。RLHF 也是一种环境,一种极度简单的环境。
作为智能体,Agent 也可以借助外部工具扩展功能,使其能够处理更加复杂的任务。比如 LLM 使用天气 API 来获取天气预报信息。如果不调用外部工具,Action 和 Feedback 也可以直接通过学习 Policy,应对环境。
可见 Agent 是真正主动释放 LLM 潜能的关键。LLM 作为核心,Agent 为 LLM 提供了行动的主观能动性。
1.2 AI Agent 的主要组成部分 在 LLM 赋能的自主 agent 系统中 (LLM Agent),LLM 充当 agent 大脑的角色,并与若干关键组件协作。
子目标分解:agent 将大任务拆分为更小的可管理的子目标,使得可以有效处理复杂任务。
反思与完善:agent 对历史动作可以自我批评和自我反思,从错误中学习并在后续步骤里完善,从而改善最终结果的质量。
短期记忆:上下文学习即是利用模型的短期记忆学习
长期记忆:为 agent 提供保留和召回长期信息的能力,通常利用外部向量存储和检索实现
对模型权重丢失的信息,agent 学习调用外部 API 获取额外信息,包括当前信息、代码执行能力、专有信息源的访问等等
行动模块是智能体实际执行决定或响应的部分。面对不同的任务,智能体系统有一个完整的行动策略集,在决策时可以选择需要执行的行动,比如广为熟知的记忆检索、推理、学习、编程等。
二、AI Agent 的意义
2.1 人机协同模式 基于大模型的 Agent 不仅可以让每个人都有增强能力的专属智能助理,还将改变人机协同的模式,带来更为广泛的人机融合。生成式 AI 的智能革命演化至今,从人机协同呈现了三种模式:
(1)嵌入(embedding)模式 。用户通过与 AI 进行语言交流,使用提示词来设定目标,然后 AI 协助用户完成这些目标,比如普通用户向生成式 AI 输入提示词创作小说、音乐作品、3D 内容等。在这种模式下,AI 的作用相当于执行命令的工具,而人类担任决策者和指挥者的角色。
(2)副驾驶(Copilot)模式 。在这种模式下,人类和 AI 更像是合作伙伴,共同参与到工作流程中,各自发挥作用。AI 介入到工作流程中,从提供建议到协助完成流程的各个阶段。例如,在软件开发中,AI 可以为程序员编写代码、检测错误或优化性能提供帮助。人类和 AI 在这个过程中共同工作,互补彼此的能力。AI 更像是一个知识丰富的合作伙伴,而非单纯的工具。
实际上,2021 年微软在 GitHub 首次引入了 Copilot(副驾驶)的概念。GitHub Copilot 是一个辅助开发人员编写代码的 AI 服务。2023 年 5 月,微软在大模型的加持下,Copilot 迎来全面升级,推出 Dynamics 365 Copilot、Microsoft 365 Copilot 和 Power Platform Copilot 等,并提出'Copilot 是一种全新的工作方式'的理念。工作如此,生活也同样需要'Copilot','出门问问'创始人李志飞认为大模型的最好工作,是做人类的'Copilot'。
(3)智能体(Agent)模式 。人类设定目标和提供必要的资源(例如计算能力),然后 AI 独立地承担大部分工作,最后人类监督进程以及评估最终结果。这种模式下,AI 充分体现了智能体的互动性、自主性和适应性特征,接近于独立的行动者,而人类则更多地扮演监督者和评估者的角色。
从前文对智能体记忆、规划、行动和使用工具四个主要模块的功能分析来看,智能体模式相较于嵌入模式、副驾驶模式无疑更为高效,或将成为未来人机协同的主要模式。
基于 Agent 的人机协同模式,每个普通个体都有可能成为超级个体。超级个体是拥有自己的 AI 团队与自动化任务工作流,基于 Agent 与其他超级个体建立更为智能化与自动化的协作关系。现在业内不乏一人公司、超级个体的积极探索。
2.2 AI Agent 与软件开发 AI Agent 将使软件架构的范式从面向过程迁移到面向目标。现有的软件(包括 APP)通过一系列预定义的指令、逻辑、规则和启发式算法将流程固定下来,以满足软件运行结果符合用户的预期,即用户按照指令逻辑一步一步操作达成目标。这样一种面向过程的软件架构具有高可靠性、确定性。但是,这种面向目标的架构只能应用于垂直领域,而无法普遍应用到所有领域,因此标准化和定制化之间如何平衡也成为 SaaS 行业面对的难题之一。
AI Agent 范式将原本由人类主导的功能开发,逐渐迁移为以 AI 为主要驱动力。以大模型为技术基础设施,Agent 为核心产品形态,把传统软件预定义的指令、逻辑、规则和启发式算法的任务层级演变成目标导向的智能体自主生成。这样一来,原本的架构只能解决有限范围的任务,未来的架构则可以解决无限域的任务。未来的软件生态,不仅是最上层与所有人交互的媒介是 Agent,整个产业的发展,无论是底层技术,商业模式,中间组件,甚至是人们的生活习惯和行为都会围绕 Agent 来改变,这就是 Agent-Centric 时代的开启。
RPA 范式(Robotic Process Automation)与 APA 范式(Agentic Process Automation)的比较显示,后者更具灵活性。
三、常见 AI Agent 框架或者应用
3.1 AutoGPT 可以说是 LLM Agent 的鼻祖了。Auto-GPT 是一个实验性的开源应用程序,展示了 GPT-4 语言模型的能力。这个程序由 GPT-4 驱动,将 LLM'思想'连接在一起,以自主地实现您设置的任何目标。作为 GPT-4 完全自主运行的最早示例之一,Auto-GPT 突破了人工智能的极限,将 AI 进程推向新高度 – 自主人工智能。
3.2 AutoGen 微软发布的 AutoGen agent 是可定制的、可对话的,并能以各种模式运行,这些模式采用 LLM、人类输入和工具的组合。使用 AutoGen,开发人员还可以灵活定义 agent 交互行为。自然语言和计算机代码都可用于为不同的应用编程灵活的对话模式。AutoGen 可作为一个通用框架,构建具有不同复杂性和 LLM 能力的各种应用。实证研究证明了该框架在许多样本应用中的有效性,应用领域包括数学、编码、问答、运筹学、在线决策、娱乐等。
3.3 ChatDev 清华大学 NLP 实验室联合面壁智能等科研机构研发的一个大模型驱动的全流程自动化软件开发框架。ChatDev (Chat-powered Software Development)。ChatDev 拟作一个由多智能体协作运营的虚拟软件公司,在人类'用户'指定一个具体的任务需求后,不同角色的智能体将进行交互式协同,以生产一个完整软件(包括源代码、环境依赖说明书、用户手册等)。这一技术为软件开发自动化提供了新的可能性,支持快捷高效且经济实惠的软件制作,未来将有效地将部分人力从传统软件开发的繁重劳动中解放出来。
3.4 XAgent XAgent 是面壁智能联合清华大学 NLP 实验室共同研发开源的基于 LLM 的自主智能体,可以自动解决各种任务。它被设计为一个通用的智能体,可以应用于各种任务,终极目标是创建一个可以解决任何给定任务的超级智能体。换句话说,打造的是超级无敌的多边形战士,不是单独为某个任务设计的特定智能体。
3.5 GPT-engineer
3.6 HuggingGPT HuggingGPT 也是一个老牌的 AI Agent 项目了,主要思路为利用 LLM 的框架(例如 ChatGPT)来连接机器学习社区中的各种 AI 模型(例如 huggingface)来解决人工智能任务。
论文:HuggingGPT: Solving AI Tasks with ChatGPT and its Friends in Hugging Face
四、AI Agent 的展望与挑战
4.1 展望 AI Agent 是人工智能成为基础设施的重要推动力。回顾技术发展史,技术的尽头是成为基础设施,比如电力成为像空气一样不易被人们察觉,但是又必不可少的基础设施,还如云计算等。当然这个要经历以下三个阶段:创新与发展阶段–新技术被发明并开始应用;普及与应用阶段–随着技术成熟,它开始被广泛应用于各个领域,对社会和经济产生深远影响;基础设施阶段–当技术变得普及到几乎无处不在,它就转变成了一种基础设施,已经成为人们日常生活中不可或缺的一部分。几乎所有的人都认同,人工智能会成为未来社会的基础设施。而智能体正在促使人工智能基础设施化。这不仅得益于低成本的 Agent 软件生产优势,而且因为 Agent 能够适应不同的任务和环境,并能够学习和优化其性能,使得它可以被应用于广泛的领域,进而成为各个行业和社会活动的基础支撑。
Agent 下一步可能会朝着两个方向同时迭代。一是与人协助的智能体,通过执行各种任务来协助人类,侧重工具属性;二是拟人化方向的迭代,能够自主决策,具有长期记忆,具备一定的类人格特征,侧重于类人或超人属性。
4.2 挑战 从技术优化迭代和实现上来看,AI Agent 的发展也面临一些瓶颈。
技术方面,LLM 模型仍然不够强大,即使是最强大的 GPT4 在 AI Agent 应用时,仍然面临以下一些问题:
上下文长度有限 :上下文容量有限,限制了历史信息、详细说明、API 调用上下文和响应的包含。系统的设计必须适应这种有限的通信带宽,而从过去的错误中学习的自我反思等机制将从长或无限的上下文窗口中受益匪浅。尽管向量存储和检索可以提供对更大知识库的访问,但它们的表示能力不如充分关注那么强大。
长期规划和任务分解的挑战 :长期规划和有效探索解决方案空间仍然具有挑战性。LLM 在遇到意外错误时很难调整计划,这使得它们与人类相比(从试错中学习)不太稳健。
自然语言接口的可靠性 :当前的 Agent 系统依赖自然语言作为 LLM 与外部组件(例如内存和工具)之间的接口。然而,模型输出的可靠性值得怀疑,因为 LLM 可能会出现格式错误,并且偶尔会表现出叛逆行为(例如拒绝遵循指示)。因此,大部分 Agent 演示代码都专注于解析模型输出。
其次,太烧钱了,尤其是多智能体。斯坦福的虚拟小镇一个 Agent 一天需要消耗 20 美金价格的 token 数,因为其需要记忆和行动的思考量非常大。这一价格是比很多人类工作者更高的,需要后续 Agent 框架和 LLM 推理侧的双重优化。
还有就是现阶段在很多场景,使用 AI Agent 对比 Copilot 模式的最终效果,还看不到非常大的提升,或者说能覆盖增加成本的提升。大部分 AI Agent 技术还都是研究阶段。
最后,这些发展趋势预示着 AI Agent 可能面临诸如安全性与隐私性、伦理与责任、经济和社会就业影响等多方面的挑战。别的不说,对很多人的个人职业生涯的长期影响。
以 ChatGPT 的发布为分水岭,全球自由职业平台上的写作/编辑类从业者的数量和收入都进入了断崖式下跌的轨道。由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。但是具体到个人,只能说是:'最先掌握 AI 的人,将会比较晚掌握 AI 的人有竞争优势'。这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
相关免费在线工具 加密/解密文本 使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
RSA密钥对生成器 生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
Mermaid 预览与可视化编辑 基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
curl 转代码 解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
Base64 字符串编码/解码 将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
Base64 文件转换器 将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online