本文作者:
鲁为民博士:MoPaaS 创始人和CEO
人类一直试图打造一种可以自主完成预设目标的代理或实体,即智能体 (AI Agents 或 Agents),以协助人类完成各种各样繁琐的任务。多年来,智能体作为人工智能一个活跃的应用领域吸引人们不断地研究探索;虽然怎样回答“什么是智能体?”这样看似简单的问题一直困扰着大家,但是人们越来越意识到智能体和人工智能的发展是密不可分的。特别是最近大模型在人工智能应用领域的重大突破,更是让人们看到智能体新的发展机会。因此有必要在新的背景下系统地审视智能体这个领域。
在接下来的系列文章中,我们试图分别探讨大模型时代智能体的一些基本问题,比如,什么是智能体 (AI Agents)?为什么是大语言模型 (LLMs)?怎样打造基于LLMs的智能体?… 我们也将从AI工程的角度探讨基于大模型的智能体机会与挑战。
PART 01
智能体的概念形成
智能体(AI Agents或 Agents),一般认为是一个可以通过行动能力自主完成设定的目标的代理。“智能体”是和“智能”密不可分的;它具备一些类似人的智能能力和行为,比如学习、推理、决策和执行能力。
早在公元前350年,亚里士多德 (Aristotle) 在《论动物的运动 (De Motu Animalium)》中强调思维过程(知识和意图)与行为之间的联系;特别是我们所做的事情和期望的结果之间的因果关系,即行为应该有一个理性和推理的基础。另外,他在其《尼各马可伦理学 (Nicomachean Ethics)》中进一步强调实用推理(Practical Reasoning)的概念及在基于目标的智能体中的关键作用;具体来说实用推理是指个体在确定为了实现特定目标而试图采取合适的行动时所进行的思考、判断和决策过程。
但智能体的理论探索和应用研究可能起源于冯诺依曼(John von Neuman)的博弈论 (Game Theory, 1944)。博弈论研究智能体之间的策略学习问题,关心的是理性的 “智能体”,或者是具有智能的“生命体”,比如人和动物等;这里的关键概念是“学习”;智能体通过合作或竞争来学习赢的策略。
维纳(Norbert Wiener) 提出控制论 (Cybernetics 或 Control Theory,1948年),讨论“动物智能”与“机器智能”中执行行动的通信和控制问题。控制论的关键概念是反馈;智能体通过反馈来感知环境及其动态变化,并将行动策略反馈作用于环境,不断迭代学习以与环境相互适应 (图1)。钱学森提出工程控制论(1953)系统地研究智能体控制系统在工程问题中的具体应用。现在我们常听说的强化学习,实际也起源于控制论——强化学习作为智能体控制系统通过反馈来学习智能体的最优策略并作用于环境。
图1. 控制系统:动态反馈
另外,维纳当时提出控制论的时候,也特别阐明语言和智能的紧密关系,指出语言是人和机器共有的东西;这也可解释为什么当今大模型AI应用很自然有效地从语言模型切入。
香农 (Claude Shannon)提出信息论 (1948) 并将其广泛地应用于语言和AI等领域。他据此提出了n-gram生成式语言模型 (1951),将人类语言视为一个统计来源,优化模型在预测或压缩自然文本方面的表现;并通过实验来估计该模型在自然文本上的交叉熵。而据此设计的香农游戏,即要求参与者根据前文内容猜测句子中的下一个字母,一直被用作语言学和自然语言处理领域的思维实验。香农先后建造了国际象棋机器 (1949) 和迷宫求解 (1952) 等智能体。这些智能体具备持续学习的能力;它可以通过试错来学习和提高技能。这些思路也有助于处理人工智能的其它重要的问题,比如翻译、逻辑推理等。
图灵(Alan M. Turing)在题为“计算机器和智能 (Computing Machinery and Intelligence,1950)”的文章中提出了著名的“图灵测试”,即使用模仿游戏来检测一个计算机器(包括存储、执行和控制单元的智能体)是否具备像人一样的智能。针对当时的一些质疑,比如机器只会执行人类知道的指令,而没有任何自主创造的倾向和不具备类似人类的思考能力,他提出利用学习的机器 (Learning Machines) 模仿儿童的头脑来学习,可以通过教学过程使得它来积累知识从而具备类似人类的智能。
PART 02
智能体的特征
这些开创性的工作为接下来智能体的系统发展奠定了基础。智能体 (Agents) 特别强调其学习能力和行动能力。学习能力是智能的一个关键指标,也是智能体的基本要求之一;构建学习的智能体 (Learning Agents),使其能够在最初未知的环境中运行,通过与环境交互持续学习迭代使其使其知识技能得以提升,决策能力不断增强。另外智能体的行动能力使得它们能够通过感知、决策、行动来与环境进行交互不断迭代学习实现给定的目标。在人工智能领域,智能体可以指代具有自主性和智能的程序或系统,也能够通过感知、规划、决策并执行相关任务。这些智能体可以用于解决各种问题,如自动驾驶、自然语言处理和游戏。这些智能体可以是虚拟的,例如软件程序,也可以是物理的,如机器人。
除了前面强调的自主和行动能力外,智能体还具备其它的特征。比如Wooldridge (1994) 提到智能体的一些特征包括:
-
自主性 (Autonomy):智能体在没有人类或其他实体的直接干预下运行,并对其行动和内部状态具有某种程度的控制;
-
响应性(Reactivity):智能体感知其环境 (可能是物理世界、通过图形用户界面的用户、一组其他智能体、互联网,或者可能是所有这些的结合体),并及时对发生的变化做出响应。
-
主动性 (Proactivity):智能体不仅仅是对环境做出反应的,它们还能够通过采取主动行动来展示以目标为导向的行为;
-
社会性(Sociality):智能体的社会属性,它是指智能体通过某种通信语言与其他智能体(可能还包括人类)互动和社交的能力。
随着LLM 人工智能的发展,当今人们期待的智能体的含义可能比上面所述的更强烈和更具体。比如很多人讨论的自主智能体(Autonomous Agents) 对自主的期望可能更高,即希望任意给出一个目标,智能体都可以自主去泛化学习并执行完成;此外,除了具备上面提到的特性之外,智能体还是一个人类通常应用的概念来构思或实现的系统,比如智能体拥有知识、信念、理性、意图和义务等人类特征。
为了便于循序渐进的讨论,我们先从狭义的角度来理解智能体;我们这里关心的智能体是一个计算机系统,它可以根据设定的目标来某种程度地自主达成目标。我们可以参考自动驾驶中的分级策略,从简单到复杂逐步实现高级别的智能体,不断逼近自主智能体的理想目标;另外分级科学管理智能体,也可以更好应对其潜在风险,充分发挥它的应用潜力。
PART 03
智能体的应用架构
我们讨论的智能体应用架构由下面几个部分组成:
-
用户:用户是智能体的使用者;用户设定智能体的目标,定义性能指标;给智能体以指令。
-
智能体:智能体根据用户给出的指令或设定的目标,感知观测环境状态,检索内置知识和感知经验记忆,对任务进行定义、分解和规划,形成并执行行动策略,反馈作用于目标环境。
-
工作环境:智能体工作交互的周边事物和作用的对象;环境就是智能体关心的世界;智能体通过观察感知来了解环境状态。
图2. 智能体应用系统架构
如上图所示,这些元素组成一个反馈闭环系统。下面我们分别简单地讨论智能体应用系统架构的这些组成元素。
PART 04
智能体的用户
用户是智能体的使用者,可以是人类,也可以是其它智能体;用户通过用户界面和智能体交互以获得其服务。用户提出任务和目标,期待智能体设定自己的角色;智能体根据感知到的环境状态采取影响状态的行动以期达成目标;任务目标完成的好坏由性能指标度量,后者在任务进行中进行优化。
目标和性能:
用户通过指令确定目标,一个智能体完成目标的表现好坏可根据其和环境交互的结果来衡量。比如当一个智能体被放置在一个环境中时,它接收到感知后生成一系列的动作;这一系列的动作导致环境经历相应的状态序列。如果这个状态序列是设计所希望的,智能体和环境相适应从而达成用户目标,用户对智能体表现满意。这种相适应的概念由与环境状态相关的性能指标来捕捉。对于每个可能的感知序列,一个表现满意的智能体应该根据感知序列提供的环境状态以及任何内置知识,根据目标选择一个将预期性能指标最大化的动作。但这个从目标到性能指标的映射往往是设计者根据智能体用户给定的需求设定。
性能指标可以是多目标的 (智能问答,写作,和内容总结),也可以包括短期目标(比如奖赏、效用),或长期目标(比如价值函数)。比如对于自动驾驶智能体,期望的性能指标元素包括到达正确的目的地;燃料消耗和磨损最小化;最小化行程时间或成本;最小化违反交通法规和对其他驾驶员的干扰;最大化安全性和乘客舒适度;最大化利润。其中一些目标可能存在冲突,因此需要进行权衡。
PART 05
智能体的工作环境
1、环境
智能体离不开其工作环境。智能体的环境是其需要影响和适应的外在因素,它是智能体的控制对象。智能体通过与环境交互来观察感知、规划决策和行动执行等与环境形成反馈闭环以实现其目标。智能体通过观测感知单元 (Sensor) 感知环境然后通过执行行动单元(Actuator)作用于环境来与环境交互来实现其预设的目标。在这个智能体系统中,环境是智能体知识的来源也是其作用的对象;智能体通过观察感知环境的状态,结合智能体内置的知识形成某种策略并作用于环境,从而优化其效用或收益,通过不断迭代实现其目标。智能体的工作环境可以是物理环境也可以是虚拟环境。
比如对于自动驾驶智能体,它面对的工作环境元素包括道路、其它交通工具、警察、行人、乘客和天气等。这些因素在交通管理和安全中起着重要的作用。
2、环境的特性
在实际应用中,智能体的工作环境往往不是一成不变的,也有一定的不确定性。
-
不确定性(Nondeterminism):如果环境的下一个状态完全由当前状态和智能体执行的动作决定,那么我们称这个环境是确定性的(Deterministic);否则,它是非确定性的。大多数现实情况都如此复杂,以至于智能体不可能跟踪所有未能观察到的环境状态;在这种情况下,它们被视为非确定性的。这是因为在真实的情境中,有太多未知的变量和因素,使得无法精确地预测下一个状态。因此,在处理这些情况时,通常会将环境视为非确定性的,以考虑一些不确定性因素。
如果环境的模型的不确定性明确涉及概率(例如,“明天下雨的概率为25%”),则该模型是随机的 (Stochastic),而如果只列出可能性而没有量化(例如,“明天有可能下雨”),则是非确定性的。
-
动态性(Dynamics):智能体在进行规划时环境的状态往往会随时间的推移而发生变化,那么该智能体的环境是动态的(Dynamic);否则,环境是静态的。虽然静态环境更易于处理,因为智能体在决定行动时无需不断地观察世界,也无需担心时间的流逝,但大多实际应用中环境是动态的。自动驾驶智能体的环境显然是动态的。
智能体应对动态的或不确定的环境,可能需要不断地获得状态的反馈,通过推断了解环境状态及其变化,可以及时地做出合适的行动决策并反馈作用于环境。
PART 06
智能体的组成单元
智能体本身包括感知观测单元 (Sensor)、记忆检索单元(Memory)、推理规划单元(Planner) 和行动执行单元(Actuator)(见图 2)。
1、观测和感知
智能体通过感知单元来观测其环境,确定环境的相关状态和变化,作为规划学习决策的信息来源。智能体通过各种感知设备获得不同的环境状态信息,而其感知空间包括多种感官模式的多模态信息,如文本、声音、视觉、触觉、嗅觉等。智能体利用其感知历史序列,即其曾经感知到环境状态的完整历史记录,结合其内置的知识,通过缜密的规划形成其行动决策。
理想的情况是环境的可观测的(Observable),即智能体的感知器在每个时间点都能够观察到环境的完整状态;实际上如果感知器检测到与行动选择相关的所有方面,那么任务环境就可以被有效地认为是可观察的。可观察的环境非常便利,这样智能体可以通过观察环境的完整状态来决定如何行动,而不需要额外的信息或内部状态来帮助它做出决策。这使得任务的执行和决策更加简单和直接。
如果一个环境是不可观察或部分可观察的,因为感知的环境状态可能会存在噪声和不准确性,或者环境状态的某些部分根本没有包含在感知器数据中,智能体可能需要借助额外的其它信息或维护内部状态来了解环境。
2、记忆和检索
智能体基于相关的信息,包括相关的内置知识和历史记忆,产生行动策略。智能体需要借助有效的存储机制来记忆和检索其内置知识和经验记忆:
2.1 内置知识:
智能体根据其应用场景,往往内置一定的知识;主要包括以下几类知识:
-
语言:如果智能体的交流介质是自然语言,则语言知识定义语法,它涵盖了语言学、句法学、语义学和语用学等多方面语言规范。只有具备语言知识,智能体才能理解并进行对话交流。此外,当代语言模型可以让智能体获得多种语言的知识,这样可消除额外的翻译需求。
-
常识:常识知识通常是指大多数人类具备的一般世界事实。例如,人们通常知道药物用于治疗疾病,伞用于防雨。这些信息可能在智能体交流的上下文中没有明确被提及。如果不具备相应的常识知识,智能体可能会做出错误的决策,比如在大雨天不带伞。
-
领域:专业领域知识是指与特定应用领域和场景相关的知识,如数学、化学、医学、编程、法律、金融、行业、人事、销售等。智能体在特定领域内有效解决问题需要具备一定的专业领域知识。例如,旨在执行编程任务的智能体需要具备编程知识,如编程语言的代码格式。同样,用于诊断目的的智能体应该具备相应医学知识,比如特定疾病的名称和处方药物。
这些知识可能以参数的形式存储在某个模型中,或经过处理后存储在知识库中,便于需要时检索。另外,知识可以以多种形式存储在记忆中,比如自然语言文本、嵌入 (Embeddings) 以及数据库 (Databases) 等,每种形式都具有独特的优势。例如,自然语言可以保留全面的语义信息,便于应用于推理;而嵌入可以提高记忆读取的效率。
2.2 历史记忆:
在智能体系统中,历史记忆记录存储了智能体过去的观测、思考和行动的经验序列。特别是智能体通过行动来激发环境或其它方式来探索观测感知环境获得环境状态的相关信息,此外还要从它的内置知识和历史记忆中思考学习。智能体依赖记忆机制来获取先前的经验以有效地制定行动策略和决策。当面临类似问题时,记忆机制有助于智能体有效地应用之前的策略。此外,这些记忆机制使智能体能够借鉴过去的经验来适应陌生的环境。记忆机制还需要解决下面的问题:
-
记录的长度:基于语言模型的智能体以自然语言格式与语言模型互动,将历史记录附加到每个输入中。随着这些记录的增加,它们可能会超出模型架构的限制。
-
记忆的检索:随着智能体积累大量的观测和行动历史序列数据,面临着数据量不断增加的记忆负担。这使得为试图建立主题之间的关联来检索相关的记忆内容变得越来越具有挑战性,可能导致智能体的回应与当前上下文不一致。
3、推理和规划
基于目标的推理和规划能力是智能体智能的基本体现,它们有助于智能体分析解决复杂问题。推理以证据和逻辑为基础,它是分析解决问题以及做出合理决策的基石。人类主要推理形式包括演绎 (Deduction)、归纳(Induction) 和担纲 (Abduction) 推理。推理对于智能体处理复杂任务至关重要。而规划有助于智能体在面对复杂挑战时形成应对策略;它给智能体赋予一种结构化的思考过程,即组织思维、设定目标,并确定实现这些目标的步骤。对于智能体来说,规划能力的核心是推理能力;通过推理,智能体将复杂的任务拆分为更易管理的子任务,并为每个子任务的完成制定适当的计划。
另外,推理和规划赋予智能体学习的能力,有助于智能体学习积累知识和经验。智能体的初始配置和计划可能反映了对环境的一些先前知识,但随着任务的进行,智能体通过推理和规划获得更多的知识和经验,使得先前拥有的知识和经验可能会被修改和增强;通过推理和规划,智能体还可以利用内省来优化和修改其行动策略和计划,确保其与环境现实情况更好地保持一致,从而适应环境、更有效地执行任务并成功达成目标。
4、行动和执行
行动执行单元负责将智能体的决策转化为具体的行动,并直接执行将行动作用于环境,并影响环境的未来状态达到其目标。通常情况下,智能体在任何特定时刻的行动选择可以依赖于其内置知识和到目前为止观察到的整个感知序列,但不能依赖于它尚未感知到的任何事物。这意味着智能体的行动是基于已有的信息和经验来做出的,而不是基于未知的因素。智能体可通过其本身的输出,比如语言模型的文本输出,来完成行动执行,但往往需要借外力扩展行动空间,比如智能体具身行动能力和使用外部工具的能力,以便更好地应对环境变化、提供反馈和改变塑造环境。智能体通过为每个可能的感知序列做出决策并指定其行动选择。从数学角度来看,智能体的行为由行动函数描述,该函数将任何给定的感知序列映射到一个行动。
敬请期待系列文章(2):
大模型时代的智能体(II):为什么是LLMs?
想要了解更多,欢迎入群交流!
权益福利:
1、AI Agents相关学习交流,材料不定期分享;
2、最新 AI Agents 技术前沿、应用探索交流(如社群邀请人数到达上限,可先加小编微信:15937102830)
关于MoPaaS魔泊云
源于硅谷、扎根中国,上海殷泊信息科技有限公司 (MoPaaS) 是中国领先的人工智能(AI)平台和服务提供商,为用户的数字转型、智能升级和融合创新直接赋能。针对中国AI应用和工程市场的需求,基于自主的智能云平台专利技术,MoPaaS 在业界率先推出新一代开放的AI平台为加速客户AI技术创新和应用落地提供高效的算力优化和规模化AI模型开发、部署和运维 (ModelOps) 能力和服务;特别是针对企业应用场景,提供包括大模型迁移适配、提示工程以及部署推理的端到端 LLMOps方案。MoPaaS AI平台已经服务在工业制造、能源交通、互联网、医疗卫生、金融技术、教学科研、政府等行业超过300家国内外满意的客户的AI技术研发、人才培养和应用落地工程需求。MoPaaS致力打造全方位开放的AI技术和应用生态。MoPaaS 被Forrester评为中国企业级云平台市场的卓越表现者 (Strong Performer)。
END
▼ 往期精选 ▼
1、快捷高效| 通过 MoPaaS AI 平台完成 YOLOv5 训练
2、掀起人工智能新浪潮的OpenAI,看上了ChatGPT之外另一条赛道
3、如何构建企业级大模型应用:GitHub Copilot的经验教训
4、大型语言模型(LLMs)如何能够从长达数十年的符号 AI 项目中受益