大模型时代的APP:AI Agent(智能体)
rs勿忘初心 2024-06-29 14:01:02 阅读 54
1、什么是Agent?
参考百度百科:智能体
智能体是人工智能领域中一个很重要的概念。任何独立的能够思考并可以同环境交互的实体都可以抽象为智能体。
Agent是一个英文单词,agent指能自主活动的软件或者硬件实体。在人工智能领域,中国科学界把其译为中文“智能体”。曾被译为“代理”、“代理者”、“智能主体”等,中国科学界已经趋向于把之翻译为:智能体,艾真体(蔡自兴2002年提出)。
1.1 历史背景
Agent(代理)一概念起源于哲学,描述了一种拥有欲望、信念、意图以及采取行动能力的实体。在人工智能领域,这一术语被赋予了一层新的含义:具有自主性、反应性、交互性等特征的智能“代理”。大型语言模型(LLMs)的出现为智能代理的进一步发展带来了希望。
长期以来,研究者们一直在追求与人类相当、乃至超越人类水平的通用人工智能(Artificial GeneralIntelligence,AGI)。在 1950 年代,Alan Turing 就将「智能」的概念扩展到了人工实体,并提出了著名的图灵测试。这些人工智能实体通常被称为—— Agent(代理)。
1.2 过往的AI Agent类型详细概述
符号型智能体:采用逻辑规则和符号表示来封装知识和促进推理过程,如1980年前后,出现 的医学诊断专家系统,模拟心理治疗程序等;反映型智能体:关注智能体与其环境之间的交互,强调快速和实时响应,缺乏复杂缺乏复杂 决策和规划能力;基于强化学习的智能体:关注如何让智能体通过与环境的交互进行学习。基于迁移学习和元学习的智能体:使智能体从少量样本中迅速推理出执行任务的最优策略。
1.3 大模型时代的Agent
如今的大模型赋予了AI Agent核心改变:
LLM给AI Agent底层提供了一个突破性技术方案:LLM带来了深度学习新范式,思维链和强大的自然语言理解能力有望让Agent 具备强大的学习能力和迁移能力,从而让创建广泛应用且实用的Agent成为可能。LLM的框架优势:过去等强化学习基于深度学习框架可让Agent学到技能,但Agent的泛化性较差,往往用于非常窄的特定领域,例如用在游戏或低维层面的控制或计划,标志性应用是围棋领域的AlphaGo。
当下大模型的参数量提升AI Agent的理解力和泛化能力,使其能更好地处理多种任务和上下文信息。这增强了AI代理的自然语言处理能力,从而提供更个性化、连贯的交互体验,是当下Agent的构建关键。
Agent系统组成:规划、记忆、行动、工具使用。
规划(Planning)
子目标分解:agent将大任务拆分为更小的可管理的子目标,使得可以有效处理复杂任务。反思与完善:agent对历史动作可以自我批评和自我反思,从错误中学习并在后续步骤里完善,从而改善最终结果的质量。记忆(Memory)
短期记忆:上下文学习即是利用模型的短期记忆学习长期记忆:为agent提供保留和召回长期信息的能力,通常利用外部向量存储和检索实现工具使用(Tool use)
对模型权重丢失的信息,agent学习调用外部API获取额外信息,包括当前信息、代码执行能力、专有信息源的访问等等行动(Action)
行动模块是智能体实际执行决定或响应的部分。面对不同的任务,智能体系统有一个完整的行动策略集,在决策时可以选择需要执行的行动,比如广为熟知的记忆检索、推理、学习、编程等。
2、为什么要用Agent?
生成式AI的智能革命演化至今,从人机协同呈现了三种模式:嵌入(embedding)模式、副驾驶(Copilot)模式、智能体(Agent)模式。简单说就是自动化水平逐步提高。
(1)嵌入(embedding)模式
用户通过与AI进行语言交流,使用提示词来设定目标,然后AI协助用户完成这些目标,比如普通用户向生成式AI输入提示词创作小说、音乐作品、3D内容等。在这种模式下,AI的作用相当于执行命令的工具,而人类担任决策者和指挥者的角色。
(2)副驾驶(Copilot)模式
在这种模式下,人类和AI更像是合作伙伴,共同参与到工作流程中,各自发挥作用。AI介入到工作流程中,从提供建议到协助完成流程的各个阶段。例如,在软件开发中,AI可以为程序员编写代码、检测错误或优化性能提供帮助。人类和AI在这个过程中共同工作,互补彼此的能力。AI更像是一个知识丰富的合作伙伴,而非单纯的工具。
(3)智能体(Agent)模式
人类设定目标和提供必要的资源(例如计算能力),然后AI独立地承担大部分工作,最后人类监督进程以及评估最终结果。这种模式下,AI充分体现了智能体的互动性、自主性和适应性特征,接近于独立的行动者,而人类则更多地扮演监督者和评估者的角色。
Copilot 与Agent最大的区别在于 “自主规划” 的能力:Copilot 的模式需要人的指挥;而Agent则是直接面对目标任务,具有自主记忆、推理、规划和执行的全自动能力,因此终极形态的AI Agent只需要用户的起始指令和结果的反馈,过程中并不需要人的介入。
Copilot 与Agent的混淆点在于对于“工作流”的“自动化”的区分:从完成效果看,工作可以人为地被无限拆分,部分“Copilot产品+自动化”可以完成单个工作单元的完全自动化。
3、Agent目前现状如何?
截止:2024年5月。
AI 与人类的协作程度可以和自动驾驶等级进行类比,Agent目前处于自动驾驶的L4级别,但像 L4 级别的自动驾驶还未真正实现一样,Agent的真正杀手级应用还在不确定的未来。
AI等级
(类比自动驾驶)
| 名称
| 交互特点
| 应用示例
|
L1
| Tool
| 人类完成所有工作,没有任何显性的 AI 辅助
| 目前绝大多数软件产品
|
L2
| Chatbot
| 人类完成绝大部分工作。
人类向 AI 了解信息,AI 提供信息和建议但不直接处理工作
| 初代ChatGPT
|
L3
| Copilot
| 人类和AI进行协作,工作量相当。
AI根据人类 Prompt 完成工作初稿,人类进行目标设定、修改调整,最后确认
| Microsoft 365 Copilot、Comate
|
L4
| Agent(Doing)
| AI 完成绝大部分工作,人类负责设定目标、提供资源和监督结果。
AI 完成任务拆分,工具选择,进度控制,实现目标后自主结束工作
| AutoGPT、XAgent等
|
L5
| Species
| 完全无需人类监督,AI 自主拆解目标、寻找资源、选择并使用工具、完成全部工作,人类只需给出目标
| 贾维斯(智能机器人)
|
4、常见LLM Agent框架或者应用
常见的LLM(Large Language Model,大型语言模型)Agent产品包括:AutoGPT、AutoGen、AgentGPT、BabyAGI等。下文指简单介绍下AutoGPT、AutoGen这两个,感兴趣的话可以自行查找学习。
4.1 AutoGPT
Auto-GPT是一个实验性的开源应用程序,展示了GPT-4语言模型的能力。这个程序由GPT-4驱动,将LLM“思想”连接在一起,以自主地实现您设置的任何目标。作为GPT-4完全自主运行的最早示例之一,Auto-GPT突破了人工智能的极限,将AI进程推向了新高度 -- 自主人工智能。
参考:https://github.com/Significant-Gravitas/AutoGPT
AutoGPT优势:
用于搜索和信息收集的互联网接入 / Internet access for searches and information gathering长期和短期内存管理 / Long-term and short-term memory management用于文本生成的 / GPT-4实例GPT-4 instances for text generation访问热门网站和平台 / Access to popular websites and platforms使用GPT-3.5进行文件存储和摘要 / File storage and summarization with GPT-3.5插件扩展性 / Extensibility with Plugins
4.2 AutoGen
微软发布的AutoGen agent是可定制的、可对话的,并能以各种模式运行,这些模式采用 LLM、人类输入和工具的组合。
使用 AutoGen,开发人员还可以灵活定义agent交互行为。自然语言和计算机代码都可用于为不同的应用编程灵活的对话模式。
AutoGen 可作为一个通用框架,构建具有不同复杂性和 LLM 能力的各种应用。实证研究证明了该框架在许多样本应用中的有效性,应用领域包括数学、编码、问答、运筹学、在线决策、娱乐等。详细参考:https://github.com/microsoft/autogen
AutoGen框架的优势主要体现在以下几个方面:
自动化生成代码:AutoGen框架的最大优势就是能够自动生成代码。这意味着开发者不再需要手动编写大量的代码,大大节省了开发时间,提高了工作效率。
提高代码质量:由于AutoGen框架能够自动生成高质量的代码,因此使用它编写的代码通常具有较高的质量。这有助于减少代码中的错误和漏洞,提高软件的稳定性和可靠性。
易于维护:AutoGen框架生成的代码结构清晰,易于理解和维护。这使得在后期对代码进行修改和升级时,开发者能够更快地找到问题所在,降低了维护成本。
跨平台支持:AutoGen框架通常具有良好的跨平台支持,可以在不同的操作系统和硬件平台上运行。这使得开发者能够更容易地将软件部署到各种环境中,提高了软件的通用性。
丰富的功能库:AutoGen框架通常具有丰富的功能库,涵盖了各种常见的功能需求。这使得开发者能够快速地实现所需的功能,无需从头开始编写代码。
社区支持:AutoGen框架通常拥有庞大的用户社区,开发者可以在社区中寻求帮助、分享经验和获取最新的技术动态。这有助于开发者更好地学习和掌握AutoGen框架,提高开发能力。
可定制性:AutoGen框架通常具有一定的可定制性,开发者可以根据自己的需求对框架进行定制和扩展。这使得AutoGen框架能够满足不同项目的特殊需求,提高了软件的灵活性。
良好的文档支持:AutoGen框架通常具有完善的文档支持,包括详细的使用说明、示例代码和API文档等。这有助于开发者更快地上手和使用AutoGen框架,提高开发效率。
5、国内相关平台或服务
中国当下的AI Agent市场已经迎来丰富的参与者,包括互联网大厂类、生成AI类、企服SaaS类、创业类、3C类等多类型企业,这些企业依据自身技术或行业know-how迅速切入市场,通过先手占据更好的生态占位;并且越来越多的企业正在进行产品打磨与场景探索。
• 随着这些先行者的商业价值逐步展现,中国的AI Agent的多样性将进一步丰富,企业数量将迎来爆发。
值得关注的国内互联网大厂产品示例:
百度【文心智能体平台】字节跳动【扣子Coze】
阿里云【钉钉】
6、AI Agent的展望与挑战
6.1 展望
AI Agent是人工智能成为基础设施的重要推动力。回顾技术发展史,技术的尽头是成为基础设施,比如电力成为像空气一样不易被人们察觉,但是又必不可少的基础设施,还如云计算等。
当然这个要经历以下三个阶段:
创新与发展阶段–新技术被发明并开始应用;普及与应用阶段–随着技术成熟,它开始被广泛应用于各个领域,对社会和经济产生深远影响;基础设施阶段–当技术变得普及到几乎无处不在,它就转变成了一种基础设施,已经成为人们日常生活中不可或缺的一部分。
几乎所有的人都认同,人工智能会成为未来社会的基础设施。而智能体正在促使人工智能基础设施化。这不仅得益于低成本的Agent软件生产优势,而且因为Agent能够适应不同的任务和环境,并能够学习和优化其性能,使得它可以被应用于广泛的领域,进而成为各个行业和社会活动的基础支撑。
Agent下一步可能会朝着两个方向同时迭代。一是与人协助的智能体,通过执行各种任务来协助人类,侧重工具属性;二是拟人化方向的迭代,能够自主决策,具有长期记忆,具备一定的类人格特征,侧重于类人或超人属性。
6.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可能面临诸如安全性与隐私性、伦理与责任、经济和社会就业影响等多方面的挑战。别的不说,对很多人的个人职业生涯的长期影响。
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。