什么是AI Agent?

发布于 2024-4-15 12:42
浏览
0收藏

1概念

在计算机、人工智能专业技术领域,一般将Agent译为“智能体”,其定义是在一定的环境中体现出自治性、反应性、社会性、预动性、思辨性(慎思性)、认知性等一种或多种智能特征的软件或硬件实体。AI Agent则是指由LLM驱动的智能体。目前它还没有一个被广泛接受的定义,但我们可以把它描述成这样一个系统:利用LLM推理问题,能自行创建解决问题的计划,会借助一系列工具来执行计划。

简而言之,AI Agent是一个具有复杂推理能力、记忆力以及执行任务能力的系统,如下图所示:

什么是AI Agent?-AI.x社区

AI Agent由以下核心组件构成:

  • 智能体核心

中央协调模块,管理核心逻辑和智能体行为特点,能进行关键决策。我们需要在这里定义以下内容:

智能体的总体目标智能体要达成的总体目标和目的。

执行工具智能体可以使用的所有工具的简短列表(或“用户手册”)。

如何使用计划模块的解释说明详细说明不同计划模块的作用,以及在什么情况下使用。

相关记忆这是一个动态部分,填充与用户过往对话中最相关的内容。“相关性”是根据用户提出的问题判断的。

智能体个性(可选)如果要求LLM偏向于使用某些类型的工具,或者在最终响应里展现某些特点,则可以将所需个性描述清楚。

下图是一个求解用户问题“2024财年Q1与Q2之间,利润增长了多少?”的提示模板:

什么是AI Agent?-AI.x社区

当把提示输入给LLM后,LLM做出的决策是需要使用搜索工具:

什么是AI Agent?-AI.x社区

  • 记忆模块

记忆模块扮演非常重要的作用,记录了智能体内部日志以及和用户交互历史。有2种类型的记忆模块:

短期记忆智能体尝试回答用户提出的单个问题而经历的思考和行动。通常就是提示工程中的上下文,超过上下文的限制后,LLM就会忘记之前输入的信息。

长期记忆用户和智能体交互相关的行为和想法,包含跨度数周或数月的对话记录。通常是一个外部的向量库,可以几乎无限地保留和快速取回历史信息。

记忆模块不仅需要基于语义相似性的检索。通常,综合评分由语义相似性、重要性、新近程度,以及其它特定指标构成。记忆模块用于检索特定信息。

  • 工具集

工具集是定义明确的可执行工作流,智能体使用它们来执行任务。通常,工具集就是专门的第三方API。

例如,智能体可以使用RAG(检索增强生成)根据上下文生成答案;使用代码解释器(如Python脚本解释器)来编程求解复杂任务;使用API从互联网搜索信息;或者使用任何简单的API服务,如使用天气API获取天气预报、使用即时消息API收发消息。

  • 计划模块

复杂的问题,例如分析一组财务报表以回答上层业务问题,通常需要循序渐进的方法。对于由LLM驱动的智能体,计划能力本质是Prompt Engineering(提示工程)很多高级玩法的高级实践。可以通过使用两种技术的组合来应对复杂问题:

任务和问题分解

复合问题或推断信息需要某种形式的分解。例如这个问题“2024财年Q1与Q2之间,利润增长了多少?”

该问题可以分解为多个子问题:

“Q1的利润是多少?”

“Q2的利润是多少?”

“上述两项结果之间的差是多少?”

专门的AI Agent必须能主导这种分解,例如采用下面的提示模版:

什么是AI Agent?-AI.x社区

当填入具体问题输入给LLM后,LLM会做出问题拆解结果的响应:

什么是AI Agent?-AI.x社区

反思或批判

ReAct(推理和动作协同)、Reflexion(反思)、Chain of Thought(思维链)和Graph of Thought(思维图)等技术已成为基于批判或基于证据的提示框架。它们已被广泛用于提高LLM的推理能力和响应能力。这些技术还可用于优化智能体生成的执行计划。

例如LangChain智能体框架支持的ReAct,即Reason+Act模式,把复杂问题拆开,有些缺少的内容通过工具从外部获取,然后补充到问题回答里。

ReAct的提示模版一般包含这些内容的多次重复:

什么是AI Agent?-AI.x社区

举例问题“除了Apple Remote之外,还有什么设备可以控制Apple Remote原生设计用来交互的程序?”

ReAct会按如下的步骤思考和行动:

  • 第1次思考:我需要找到Apple Remote原生设计用来交互的程序。第1次行动:去搜索引擎搜索【Apple Remote】。从而取得关于Apple Remote的介绍。
  • 第2次思考:在结果中找到Apple Remote原生设计用来控制Front Row程序,我需要查找Front Row的信息。第2次行动:搜索【Front Row】。搜索引擎返回没找到相关信息。
  • 第3次思考:我应该加上“软件”重新搜索。第3次行动:搜索【Front Row(软件)】。取得Front Row软件的介绍。
  • 第4次思考:在结果中发现关键信息:Front Row软件可以被Apple Remote或键盘多功能按键控制。第4次行动:完成,返回用户答案【键盘多功能按键】。

这个过程如下图所示:

什么是AI Agent?-AI.x社区

2挑战

基于LLM去构建Agent,目前也有一系列挑战 :

  • 有限的上下文长度​

有限的上下文长度限制了对历史信息、详细指令、API调用上下文、API响应的容纳量。Agent的系统设计必须在有限的通信带宽中工作。与之矛盾的是,像“自我反思”这种机制若想要取得更好的效果,则需要更长甚至无限的上下文窗口。虽然向量存取能提供访问更大知识库的能力,但它的表现力并不像上下文内的注意力机制那么强大。

  • 长期计划和任务拆解能力不足​

在针对长期历史做计划、有效地探索解决问题时,Agent还面临挑战。LLM在面对未知错误时,调整计划显得非常艰难。和人类从失败教训中学习相比,LLM还不够强大。

  • 自然语言接口不够可靠​

当前的Agent体系非常依赖使用自然语言作为LLM和外部组件(比如记忆和工具)的接口。然而,LLM本身的输出是存有疑虑的,LLM经常犯语法格式错误,也时常产生违抗表现(比如不遵照用户指令)。以致于很多Agent都在解析模型输出上花了很多功夫。

3展望

生成式AI的智能革命演化至今,人类与AI协同出现了三种模式:

什么是AI Agent?-AI.x社区

在Agents(智能体)模式下人类设定目标和提供必要的资源,然后AI独立地承担大部分工作,最后人类监督进程以及评估最终结果。这种模式下,AI充分体现了智能体的互动性、自主性和适应性特征,接近于独立的行动者,而人类则更多地扮演监督者和评估者的角色。Agents模式相较于Embedding(嵌入)模式、Copilot(副驾驶)模式无疑更为高效,或将成为未来人机协同的主要模式。

AI Agent是人工智能成为基础设施的重要推动力。回顾技术发展史,技术的尽头是成为基础设施,比如电力成为像空气一样不易被人们察觉,但是又必不可少的基础设施,还如云计算等。几乎所有的人都认同,人工智能会成为未来社会的基础设施。而智能体正在促使人工智能基础设施化。AI Agent能够适应不同的任务和环境,并能够学习和优化其性能,使得它可以被应用于广泛的领域,进而成为各个行业和社会活动的基础支撑。

参考文献

[1]https://arxiv.org/abs/2304.03442

[2] https://arxiv.org/abs/2210.03629

[3] https://lilianweng.github.io/posts/2023-06-23-agent/

[4] https://zhuanlan.zhihu.com/p/641322714

[5] https://developer.nvidia.com/blog/introduction-to-llm-agents/

[6] https://developer.nvidia.com/blog/building-your-first-llm-agent-application/

[7] https://zhuanlan.zhihu.com/p/676828569

[8] https://zhuanlan.zhihu.com/p/643799381

[9] https://zhuanlan.zhihu.com/p/676544930

[10] https://zhuanlan.zhihu.com/p/664281311

[11] https://python.langchain.com/docs/modules/agents/


收藏
回复
举报
回复
相关推荐