1概念
在计算机、人工智能专业技术领域,一般将Agent译为“智能体”,其定义是在一定的环境中体现出自治性、反应性、社会性、预动性、思辨性(慎思性)、认知性等一种或多种智能特征的软件或硬件实体。AI Agent则是指由LLM驱动的智能体。目前它还没有一个被广泛接受的定义,但我们可以把它描述成这样一个系统:利用LLM推理问题,能自行创建解决问题的计划,会借助一系列工具来执行计划。
简而言之,AI Agent是一个具有复杂推理能力、记忆力以及执行任务能力的系统,如下图所示:
AI Agent由以下核心组件构成:
中央协调模块,管理核心逻辑和智能体行为特点,能进行关键决策。我们需要在这里定义以下内容:
智能体的总体目标智能体要达成的总体目标和目的。
执行工具智能体可以使用的所有工具的简短列表(或“用户手册”)。
如何使用计划模块的解释说明详细说明不同计划模块的作用,以及在什么情况下使用。
相关记忆这是一个动态部分,填充与用户过往对话中最相关的内容。“相关性”是根据用户提出的问题判断的。
智能体个性(可选)如果要求LLM偏向于使用某些类型的工具,或者在最终响应里展现某些特点,则可以将所需个性描述清楚。
下图是一个求解用户问题“2024财年Q1与Q2之间,利润增长了多少?”的提示模板:
当把提示输入给LLM后,LLM做出的决策是需要使用搜索工具:
记忆模块扮演非常重要的作用,记录了智能体内部日志以及和用户交互历史。有2种类型的记忆模块:
短期记忆智能体尝试回答用户提出的单个问题而经历的思考和行动。通常就是提示工程中的上下文,超过上下文的限制后,LLM就会忘记之前输入的信息。
长期记忆用户和智能体交互相关的行为和想法,包含跨度数周或数月的对话记录。通常是一个外部的向量库,可以几乎无限地保留和快速取回历史信息。
记忆模块不仅需要基于语义相似性的检索。通常,综合评分由语义相似性、重要性、新近程度,以及其它特定指标构成。记忆模块用于检索特定信息。
工具集是定义明确的可执行工作流,智能体使用它们来执行任务。通常,工具集就是专门的第三方API。
例如,智能体可以使用RAG(检索增强生成)根据上下文生成答案;使用代码解释器(如Python脚本解释器)来编程求解复杂任务;使用API从互联网搜索信息;或者使用任何简单的API服务,如使用天气API获取天气预报、使用即时消息API收发消息。
复杂的问题,例如分析一组财务报表以回答上层业务问题,通常需要循序渐进的方法。对于由LLM驱动的智能体,计划能力本质是Prompt Engineering(提示工程)很多高级玩法的高级实践。可以通过使用两种技术的组合来应对复杂问题:
任务和问题分解
复合问题或推断信息需要某种形式的分解。例如这个问题“2024财年Q1与Q2之间,利润增长了多少?”
该问题可以分解为多个子问题:
“Q1的利润是多少?”
“Q2的利润是多少?”
“上述两项结果之间的差是多少?”
专门的AI Agent必须能主导这种分解,例如采用下面的提示模版:
当填入具体问题输入给LLM后,LLM会做出问题拆解结果的响应:
反思或批判
ReAct(推理和动作协同)、Reflexion(反思)、Chain of Thought(思维链)和Graph of Thought(思维图)等技术已成为基于批判或基于证据的提示框架。它们已被广泛用于提高LLM的推理能力和响应能力。这些技术还可用于优化智能体生成的执行计划。
例如LangChain智能体框架支持的ReAct,即Reason+Act模式,把复杂问题拆开,有些缺少的内容通过工具从外部获取,然后补充到问题回答里。
ReAct的提示模版一般包含这些内容的多次重复:
举例问题“除了Apple Remote之外,还有什么设备可以控制Apple Remote原生设计用来交互的程序?”
ReAct会按如下的步骤思考和行动:
这个过程如下图所示:
2挑战
基于LLM去构建Agent,目前也有一系列挑战 :
有限的上下文长度限制了对历史信息、详细指令、API调用上下文、API响应的容纳量。Agent的系统设计必须在有限的通信带宽中工作。与之矛盾的是,像“自我反思”这种机制若想要取得更好的效果,则需要更长甚至无限的上下文窗口。虽然向量存取能提供访问更大知识库的能力,但它的表现力并不像上下文内的注意力机制那么强大。
在针对长期历史做计划、有效地探索解决问题时,Agent还面临挑战。LLM在面对未知错误时,调整计划显得非常艰难。和人类从失败教训中学习相比,LLM还不够强大。
当前的Agent体系非常依赖使用自然语言作为LLM和外部组件(比如记忆和工具)的接口。然而,LLM本身的输出是存有疑虑的,LLM经常犯语法格式错误,也时常产生违抗表现(比如不遵照用户指令)。以致于很多Agent都在解析模型输出上花了很多功夫。
3展望
生成式AI的智能革命演化至今,人类与AI协同出现了三种模式:
在Agents(智能体)模式下人类设定目标和提供必要的资源,然后AI独立地承担大部分工作,最后人类监督进程以及评估最终结果。这种模式下,AI充分体现了智能体的互动性、自主性和适应性特征,接近于独立的行动者,而人类则更多地扮演监督者和评估者的角色。Agents模式相较于Embedding(嵌入)模式、Copilot(副驾驶)模式无疑更为高效,或将成为未来人机协同的主要模式。
AI Agent是人工智能成为基础设施的重要推动力。回顾技术发展史,技术的尽头是成为基础设施,比如电力成为像空气一样不易被人们察觉,但是又必不可少的基础设施,还如云计算等。几乎所有的人都认同,人工智能会成为未来社会的基础设施。而智能体正在促使人工智能基础设施化。AI Agent能够适应不同的任务和环境,并能够学习和优化其性能,使得它可以被应用于广泛的领域,进而成为各个行业和社会活动的基础支撑。
参考文献
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]