AI应用落地关键AI Agent

admin 2024年10月8日13:50:33评论9 views字数 6095阅读20分19秒阅读模式

一、什么是Agent

1、用快思考与慢思考类比LLM的能力

据丹尼尔.卡尼曼的《思考,快与慢》,人类具备两套思维系统——系统 1 和系统 2,系统 1 擅长直觉和无意识的快思考,系统 2 擅长主动控制、有意识地逻辑思考。
首先,大模型或可具备“类人”的分析问题的能力,能理解、拆解甚至解决问题。其次,人与动物的重要差异之一在于擅长于制造和使用工具,大模型在其认知能力逐渐提升后,如果碰到其不擅长的能力圈(即人脑不擅长的领域),大模型有可能展现出作为“大脑”的使用工具的能力——寻找合适的工具去解决问题,而不是由大模型自己解决问题。

AI应用落地关键AI Agent

2、OpenAI对AI Agent的定义

2023 年 6 月 Open AI 应用研究负责人 Lilian Weng 发布 《LLM Powered Autonomous Agents》,并在文章中提出“Agent= 大型语言模型(LLMs)+规划(Planning)+记忆(Memory)+工具使用(Tools)”    

AI应用落地关键AI Agent

1)推理和行动能力, 即使用LLMs 理解、执行和复盘任务,包括将复杂任务拆分为更小的、 可控制的子任务以提升效率,并通过过往经验和错误进行调整以提升行动质量;

2)短期、长期的记忆能力:短期记忆即利用 Prompt 中的信息和上下文信息进行学习,长期记忆通常使用 外部向量存储和快速检索实现,使得 Agents 能够在更长的时间范围内保存和回忆(无限)信息;

3)调用外部 API 以使用“工具”的能力,比如浏览网页、打开应用程序、读写文件、支付费用甚至控制用户设备等。与传统的自动化工具相比,AI Agents 能够在陌生的、不可预测的新环境中进行工作。

4)在openai定义基础上,还应加上接受反馈能力。人类在处理复杂任务时,也需要与环境交互,我们的行动会作用于环境使之发生变化,环境会给我们反馈,我们结合对反馈的观察,继而再做决策。因此,Agent会基于做出Action得到正向的或试错的反馈、阶段性结果或奖励,然后做出下一轮的planning和action。

3、更广义的定义:

当前对 AI Agent 整体框架的设计基本上可以分为感知、定义、记忆、规划、行动五类模块

l感知模块,主要处理各类输入,解决智能体与环境交互的问题;    

l定义模块,主要包含了 Agent 的属性、目标等信息;

l记忆模块,包括短期记忆及长期记忆,用于面对复杂任务时提供历史策略等;

l规划模块,包括任务的分解、反思、推理推断、策略制定等,是 Agent 的大脑;

l行动模块,包括以文字、具身行动、工指令等多种形式输出结果。

二、AI能力的发展阶段

1、AI agent能力的三个阶段:

1)Embedding模式:基于人类问答,提供信息和建议(这是目前最多的LLM使用方式)
2)Copilot模式:基于人类目标,完成单任务/简单任务
3)Agent模式:基于人类目标,完成多任务、复杂任务/单任务的组合

AI应用落地关键AI Agent

AI应用落地关键AI Agent

2、chatgpt是典型的上述第(1)阶段的大模型能力表现。它并非是典型意义的agent,只能给用户提供通用世界知识

3、目前单任务场景已有一些应用:

如办公场景:大厂的 Microsoft 365 Copilot(以及新推出的个人版 Copilot Pro)和 Google Duet AI、主打轻文档 办公的 Notion AI、助力代码开发的 Copilot X 和数据分析处理的 Deepnote AI 等。常见功能包括起草文件、汇总内容、提供公式建议等,以侧边栏、对话框的形式帮助用户自动调用工作空间中的文件和信息并进行处理生成。

4、未来,AI Agent将从解决问题的执行环节进一步向思考如何解决问题的规划环节渗透。

期待Agent可以在工作场景可以做到:

1)连续执行:指的是大模型能够对用户的任务指令,进行任务拆解,分解为多个步骤,对步骤进行规划排序、连续执行    
2)完成复杂任务:目前大模型智能解决单个任务,或者简单少数多个任务,无法完成多个复杂任务。
3)多步骤规划:多步骤与连续密切相关,在大模型执行后续步骤的同时,能够对任务目标和前序任务随时保持记忆,步骤的规划执行能力要强。

三、AI Agent的落地情况

1、Agent案例——toC终端的的个人视觉+语音助手类:

传统的智能语音助手

以知识图谱、规则为核心。,其整体运行逻辑为:通过和“主人”的语言沟通,确立要完成的任务目标,并结合背景、个人信息、知识图谱等,给予主人反馈(可以是语言,也可以是行动)。具体而言,可以拆解为多个环节:人声识别、理解意图、对话管理、语音合成等,其内核有知识图谱给予支撑,外延有神经网络给予支持。

传统 AI Agent 仅可应付简单场景,智能化程度是核心问题。虽然不同公司在技术上存在差异化,但传统 AI Agent 整体智能化程度不高,仅可应付简单场景的使用——如响应查天气、上闹钟、听音乐、关灯等需求,稍微复杂的需求则很有可能使传统 AI Agent 在某个环节(识别、理解、判断均有可能)出现失误。    

AI应用落地关键AI Agent

大模型时代的升级版:

²Meta 将 Meta AI 嵌入 Ray-Ban Meta 智能眼镜,未来 AI Agent 和智能硬件结合值得关注。根据 Meta,用户戴上眼镜后,只需喊“Hey, Meta”,即可召唤 Meta AI 虚拟助手,免除了双手操作的烦恼。目前该智能眼镜正处于多模态能力测试(美国小范围测试)中,能够看到、听到周围发生的一切,用户可以要求 Meta AI 为拍摄照片增加说明、描述手持物体等;由 Bing部分支持的实时搜索也正在该智能眼镜上测试,可向其询问最新的比赛得分情况以及当地的景点、餐厅等信息。

²GPT-4o模型已经也开始具备 Agent 能力雏形    

AI应用落地关键AI Agent

2、大厂在agent领域的尝试:

AI应用落地关键AI Agent

lOpenai:创建GPTs

       GPTs 是为特定目的创建的 ChatGPT 的自定义版本,由 OpenAI于 2023 年 11 月推出。在构建方式上,GPTs 通过提供 Instructions、Expanded knowledge、Actions 三大能力,优化应用的个性化、垂直化、融合化能力。1)Instructions:用户可在Configure 界面手动补充希望 GPT 应用实现的个性化能力;2)Expanded knowledge:用户可在Configure 界面上传额外的文件作为应用的知识参考,打造符合垂直场景、具备专业知识的垂类应用;3)Actions:用户可额外添加 ChatGPT 与其它应用程序的连接,进一步实现模态融合与应用融合。此外在配置选项卡中还可以进行自定义操作,即可以通过提供有关端点、参数的详细信息以及模型应如何使用它的描述,实现对第三方 API 的调用。

l微软:AutoGen

微软发布的AutoGen agent是可定制的、可对话的,并能以各种模式运行,这些模式采用 LLM、人类输入和工具的组合。使用 AutoGen,开发人员还可以灵活定义agent交互行为。自然语言和计算机代码都可用于为不同的应用编程灵活的对话模式。AutoGen 可作为一个通用框架,构建具有不同复杂性和 LLM 能力的各种应用。实证研究证明了该框架在许多样本应用中的有效性,应用领域包括数学、编码、问答、运筹学、在线决策、娱乐等。

3、其他公司agent的案例

lAutoGPT:利用 LLM 逐步拆解任务,外挂插件提升能力

AutoGPT 具备 AI Agent 的雏形。AutoGPT 是一个构建在 GPT-4 基础上的开源 Python 应用程序,由视频游戏公司 Significant Gravitas Ltd 的创始人 Toran Bruce Richards 于 2023年 3 月 30 日推出,其功能包括从互联网收集信息、存储数据、通过实例生成文本、访问各种网站和平台以及使用 LLM 执行摘要的能力,常用于市场研究、网站创建、博客写作和创建播客。从所需工具看,构建 AutoGPT 需要 Python(程序)、OpenAI API 密钥(大模型)、Pinecone API 密钥(向量数据库产品)、Git(开放源码版本控制)、ElevenLabs API(可选语音相关模块)。    

AutoGPT 的能力范围仍然受到 Python 函数集能力边界的限制,在搜索网络、管理内存、与文件交互、执行代码和生成图像等具备较丰富可调用函数的领域效果较好,但对于更为复杂的任务处理能力有限。

AI应用落地关键AI Agent

lDevin利用 AI实现自主编程。

2024年3月AI初创公司Cognition发布AI软件工程师Devin, Devin 可以规划和执行需要数千个决策的复杂工程任务,可在每一步都回忆起相关的上下文, 随着时间的推移学习,并纠正错误,此外 Devin 还可以与用户积极协作,实时报告其进度,接受反馈,并根据需要与用户一起完成设计选择。

从 Devin 的任务实现方式看,主要分为几个步骤:1)理解用户意图,通过 LLM 等 NLP 技术分析用户的自然语言描述,提取关键功能和要求,将用户分解为任务清单;2)自主学习专业材料(如 API 文档、开源库、源码),掌握代码结构,LLM 技术可用于加强对专业材料的理解能力,代码结构的模式识别与匹配则可以通过机器学习模型强化;3)生成代码并根据用户的提示调 Bug。

研究人员在 SWE 基准上评估了 Devin, 要求代理解决 Django 和 scikit-learn 等开源项目中发现的现实 GitHub 问题。Devin 端到端 正确解决了 13.86%的问题,远远超过了之前 1.96%的最先进水平。Devin 没有得到帮助, 而所有其他模型在给出了要编辑的确切文件的条件下,以前最好的模型也只能解决 4.80% 的问题。    

四、Agent 的关键能力要素

1、记忆能力:

现有研究多数把记忆划分为短期记忆、长期记忆。

l短期记忆主要来自于上下文学习,受到 Transformer 的有限上下文窗口长度的限制。
l长期记忆对任务更为普遍,是对整个世界的宏观和抽象理解。这可以包括存储生产系统本身的过程记忆、存储关于世界的事实的语义记忆和存储代理过去行为序列的情节记忆。长期记忆则具备参数知识存储(模型训练)、非参数知识存储(外部搜索)的方式实现。
l对于超出上下文的长期记忆,学界有两条路线,一条是长上下文,就是把上下文支持到 100K 甚至无限大。另一条是 RAG 和信息压缩,就是把输入的信息总结整理之后再压缩存储,需要的时候只提取相关的记忆。
l长上下文路线,是一种简单的方案——依靠 scaling law算力足够便宜就行。缺点是目前成本依然太高。
lRAG 就是搜索相关的信息片段,再把搜索结果放到大模型的上下文里,让大模型基于搜索结果回答问题。    
l信息压缩就是总结,最简单的总结方法是文本总结,也就是把聊天记录用一小段话总结一下。更好的方法是用指令的方式去访问外部存储。还有一种方法是在模型层面上用 embedding 做总结。

2、规划能力:

规划是 AI Agent 能够解决复杂问题的关键,从功能看主要包括子目标分解、反思及提炼等。其核心能力还是来自于底层模型的推理能力。随着 LLM 技术的发展,通过微调或思维链(CoT)等技术对 AI Agent 进行干预,使 Agent 逐步提升了规划的效率。

l任务分解:思维链(CoT)将大任务转换为多个可管理的任务,并为模型思维过程的解释提供线索。思维树通过在每一步探索多种推理可能性来扩展 CoT。它首先将问题分解为多个思考步骤,并在每个步骤中生成多个想法,从而创建一个树状结构。
l反思提炼:ReAct 通过将动作空间扩展为特定任务的离散动作和语言空间的组合,将推理和动作整合在LLM中。前者使LLM能够与环境交互(例如使用维基百科搜索API),而后者则促使 LLM 生成自然语言的推理痕迹。Reflexion 是一个为代理提供动态记忆和自我反思能力以提高推理技能的框架。鼓励模型通过明确地向其提供一系列过去的输出来改进其自身的输出,每个输出都附有反馈。

利用 ReAct 方式发挥 LLM 推理能力。ReAct(Reasoning and Acting)指使用 LLM 以交错的方式生成推理轨迹和特定于任务的操作,从而实现两者之间的更大协同作用:推理轨迹帮助模型诱导、跟踪和更新行动计划以及处理异常,而操作允许它与外部源(例如知识库或环境)交互以收集更多信息。具体可通过为每个工具提供描述,让LLM 选择工具,或为 Agent 提供搜索工具、查找工具,让 LLM 与文档库交互。ReAct 方式能够将必要的知识提 供给 LLM 供其分析决策,避免其因使用超出训练过程中的数据进行逻辑分析时产生幻觉和 错误判断的情况。但从当前的实践看,ReAct 方式仍然存在对于复杂问题的解决能力有限、 成本相对不可控(LLM 拆解、循环任务的方式存在不确定性)、响应速度较 API 慢等局限性。    

3、行动能力:

从输出的形式看包括文本、对工具的使用、具身动作等。在工具使用方面,当前主要的落地方式是通过微调或预先设定的模型描述框架,让 Agent 调用对应的外部 API,从而实现对现成功能的使用或对特定信息的访问搜集。而通过元工具学习等方法,Agent 对于工具的使用能够在同类型的不同具体工具之前实现技能的迁移,未来随着模型能力的进一步提升,Agent 有望实现对工具的创建;随着具身智能技术的发展,Agent 有望对物理世界产生进一步的影响。

怎么让大模型学会自动按需使用各种工具呢?这里有两种观点。

l第一种观点认为,工具使用属于过程记忆,使用场景和条件不是语言可以明确描述的。工具本身的使用方法确实可以用语言描述清楚,这就是说明书,关键是何时使用何种工具。比如,GPT-4 经常算错数,它就需要知道在算数的时候调用计算器这个工具。这就需要使用 fine-tuning 方法告诉模型一些工具使用的样例,甚至在预训练时就加入。这种方案的主要缺点是工具更新复杂,要想更新工具就要重新做 fine-tuning。    
l第二种观点认为,工具使用可以用代码形式表达,因此属于代码生成能力。这样,就可以使用 RAG 方法匹配用户输入的文字,找到候选的工具集合,把工具的说明书像 ChatGPT 那样放进 prompt,然后就可以使用了。这种方案的主要缺点是依赖 RAG 的准确率。此外,如果工具是在输出过程中临时需要使用的,这种方法就不奏效。例如 GPT-4 算错数的例子,可能用户输入文字中并没有显式要求它算数,但解决问题的过程中需要算数,这时候它肯定就不知道应该调用计算器这个工具。
4、减少幻觉

减少幻觉本质上还是需要靠 scaling law,靠基础模型的进步。也有一些工程方法减少现有模型的幻觉。两种典型的方法:事实性校验和多次生成。

l事实性校验就是首先用大模型生成回答,然后用 RAG 的方法,用搜索引擎、向量数据库、倒排索引或者知识图谱找出与回答内容匹配的原始语料,然后将回答内容和原始语料送进大模型,让大模型判断回答与原始语料是否相符。

l多次生成是 SelfCheckGPT 这篇论文提出的,它的思想也很简单,就是多次生成同一问题的回答,然后把这些回答都放进大模型里,让大模型从中挑出最一致的那个。多次生成方法可以解决偶发的幻觉问题,但不能解决系统性偏差。    

AI应用落地关键AI AgentAI应用落地关键AI Agent

↑↑↑长按图片识别二维码关註↑↑↑

原文始发于微信公众号(全栈网络空间安全):AI应用落地关键AI Agent

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月8日13:50:33
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   AI应用落地关键AI Agenthttps://cn-sec.com/archives/3238824.html

发表评论

匿名网友 填写信息