Agent 初学者指南:揭开 AI Agents 的面纱
发布日期:2024-12-07 03:21:13
浏览次数: 1705
来源:特工宇宙
最近从由大型语言模型(LLM)驱动的聊天机器人向如今该领域所定义的 Agent 系统或 Agentic AI 的转变,可以用一句老话来概括:“少说话,多做事。”跟上进步的步伐可能会令人胆怯,尤其是当你已经在经营着现有业务。更不用说 AI 进步的速度之快和复杂性之高,它们会让你感觉仿佛回到了上学的第一天。本文概述了 AI Agents 的组成部分和特性。引言部分阐述了构成 “AI Agent” 这一术语的相关组成部分,以此给出一个直观的定义。在定义确立之后,后续部分将探讨大语言模型(LLM)应用形式的演变,尤其是从传统聊天机器人到 Agent 系统的转变。总体而言,本文的核心目标是探讨为何 AI Agents 在人工智能应用开发领域变得愈发重要,以及它们与 LLM 驱动的聊天机器人有何不同。通过本指南,您将对 AI Agents 有更深入的理解,了解其潜在应用及其可能对您组织的工作流程产生的影响。目录
什么是 AI Agent ?
从大语言模型(LLM)到 AI Agents
AI Agent 的关键组成部分和特性
什么是 AI Agent?
“AI Agent”这一术语的两个组成部分可以帮助我们更深入地理解其含义。我们先从相对简单的部分开始,即人工智能,也称为 AI。人工智能(AI)是指一种非生物形式的智能,其灵感源于对人类智能的计算模仿,旨在完成传统上需要人类智力才能完成的任务。为计算系统提供智能的主要方法是通过机器学习和深度学习技术,这些技术通过计算机算法,特别是多层神经网络,从提供的数据集中学习模式和特征。AI 系统被开发用于解决检测、分类和预测任务,因基于 Transformer 的基础模型成效显著,内容生成已成为一个重要的应用领域。在某些情况下,这些 AI 系统能够达到人类的表现水平,而在特定情景中,它们甚至能超越人类表现。第二个组成部分“Agent”是一个在技术和人类语境中都常用的术语,从这两种视角进行理解有助于更清晰地阐明 AI Agent 的概念。1. 在计算机科学与技术中的定义:在计算机科学领域,Agent 指一种能够通过传感器感知环境,并能通过动作机制在其环境中采取行动的实体(即软件 Agent )。在这种语境下, Agent 是一种计算系统,其特点包括:2. 在人类语境中的定义:Agent 通常指代表他人、团体或组织行事的人,通常在决策、信息收集和共享中扮演代理的角色。代理的角色和职责可能包括:- 在交易或合同场景中正式代表某人,同样基于主要方的授权。
要理解 AI Agent,我们必须结合 Agent 一词在技术和人类语境中的特性,同时应用人工智能的指导原则。这种结合使我们能够理解 AI Agent 如何以及为何能够独特地胜任通常需要人类智能和代理能力的任务。基于这一对 AI Agent 术语的基础背景,我们可以形成对 AI Agent 的定义。AI Agent 是一种计算实体,它具有对其环境的感知能力,并配备以下功能:通过输入进行感知,通过工具使用执行行动,以及通过基础模型结合长期和短期记忆实现认知能力。从大语言模型(LLM)到 AI Agents
但在你着手开发下一个创收十亿美元的人工智能产品之前,让我们先退一步,了解一下我们是如何发展到 AI Agent 这一阶段的。我们将回顾在短时间内大语言模型(LLM)应用领域所经历的变化。LLM 应用形式的演变是现代应用中我们所见到的最快速的发展之一。从传统聊天机器人到 LLM 驱动的聊天机器人
聊天机器人并不是新鲜事物;在生成式 AI(Gen AI)出现之前,你很可能已经在某些网站上与聊天机器人互动过。前生成式 AI 时代的传统聊天机器人与如今的 AI 驱动的对话 Agent 存在根本性的不同。以下是它们的典型运行方式:- 基于启发式的响应:“如果这样,那么那样” 的逻辑,或者更正式地说基于规则的逻辑,是传统聊天机器人操作模式的基础。它们被编入一组预定义规则和决策树,以确定如何回应用户输入。
- 预设的固定回复:传统聊天机器人的核心是一套预先编写好的回复,这些回复会根据检测到的特定关键词或短语展示给用户。这种方式在一定程度上可以奏效,但灵活性有限。
- 人工介入:传统聊天机器人通常都有一个“与人工沟通”的按钮。坦白说,这一机制并没有发生根本性改变。即使对于智能体系统而言,“人工介入” 仍然是非常必要的机制。
LLM 驱动的聊天机器人是 LLM 应用首次进入主流的形式。2022 年 11 月 30 日,OpenAI 发布了 ChatGPT,这是一个提供传统聊天机器人界面的网页应用(包括输入区域和输出可视化),但在这个简单的网页界面背后,运行的是由 OpenAI 开发的 GPT-3.5 模型。这是一种经过大量互联网语料库训练的大语言模型。GPT(Generative Pre-trained Transformer)基于 Transformer 架构,这一架构由谷歌在 2017 年提出,使用自注意力机制(self-attention mechanisms)来处理输入序列,使模型能够考虑输入中每个词与所有其他词之间的上下文关系,从而实现更深入的语言理解和生成能力。与传统聊天机器人不同,LLM(如 GPT-3.5)能够根据提供的输入生成类似人类的文本。GPT-3.5 和其他基于 Transformer 的 LLM 的一个关键区别在于,其内容生成机制并不仅仅依赖于从训练数据集中提取的模式和特征。这些基础模型能够根据提示生成看似新颖且上下文相关的内容,这超越了传统模式识别的能力,体现了更高的创造性和智能性。GPT 驱动的聊天机器人(如 ChatGPT)的引入为企业和商业应用场景打开了全新的可能性。值得注意的应用包括代码生成、内容创作、更好的客户服务等。LLM 驱动的聊天机器人的能力标志着从传统基于规则的聊天机器人向更加灵活、智能和功能强大的 AI 助手的重大转变。尽管 LLM 驱动的聊天机器人具备先进的能力,但它们仍面临一些局限性。其中一个显著的挑战是个性化。这些系统在长时间对话或多次会话中,难以维持一致的、个性化的互动。更令人担忧的是,LLM 生成的响应虽然看起来像人类生成的且连贯,但可能是不准确的。这种现象引发了关注,因为这些系统以高度自信的方式提供错误信息,这种现象现已被称为“幻觉(hallucination)”。需要理解的是,当一个 LLM 出现“幻觉”时,它并非发生了故障,而是在执行其被训练的核心任务:根据输入的词元及其训练数据推导出的概率生成下一个输出词元。这一过程有时会导致听起来合理但事实上不准确的输出。解决这些局限性成为开发更高级人工智能系统的关键重点,这促使研究人员探索能够“落地” LLM 输出的技术。其中一个重要的技术是检索增强生成(Retrieval-Augmented Generation,RAG)。从 LLM 驱动的聊天机器人到 RAG 聊天机器人
RAG 是一种利用信息检索方法来定位并提供相关数据的技术。这些数据随后与用户的 Prompt 相结合,作为输入提供给 LLM。这一过程确保了 LLM 生成的输出基于以下两种知识:1. 非参数化知识(Non-parametric knowledge):从外部数据源中检索的信息,用于响应特定查询或上下文。这通常是实时数据,可以来自互联网或专有数据源。2. 参数化知识(Parametric knowledge):在 LLM 训练过程中嵌入其参数中的固有知识。通过利用这两种信息来源,RAG 旨在生成更加准确、最新且符合上下文的回答。该方法通过将模型的回答基于可检索和可验证的数据,有效缓解了纯 LLM 系统的一些局限性,例如幻觉现象或信息过时的问题。为了改进 LLM 的输出,人们从多个方面开展了努力,其中之一是提示词设计(prompt engineering)。提示词设计指的是构造输入查询以引导 LLM 输出满足期望特性的实践,例如提高准确性、相关性和具体性。该技术通过精心设计提供给 LLM 的初始提示词,确保输出更加精确、符合上下文并针对特定任务的要求。一些提示词设计技术已经出现,例如上下文学习(in-context learning)、思维链(chain of thought, CoT)以及 ReAct(推理与行动, Reason and Act)。上下文学习:利用 LLM 的泛化能力,上下文学习通过提供输入-输出对来展示需要解决的任务以及期望的输出。该技术主要有两种实现方式:1. 单样本学习(One-shot learning):提供一个输入-输出对作为示例2. 少样本学习(Few-shot learning):提供多个输入-输出对作为示例该过程通常以一个没有对应输出的输入结束。基于提供的示例,LLM 生成一个由提示中给出的输入-输出对所引导和约束的输出。这种方法允许 LLM 适应特定的任务或风格,而无需微调模型的参数。相反,它依赖于模型识别模式并将其应用于相同上下文中新的类似情况的能力。尽管上下文学习的提示技术使 LLM 能够泛化到新任务,但后续的发展,例如思维链和 ReAct 提示,则利用了 LLM 新兴的推理和规划能力。CoT 使 LLM 能够通过逐步推理过程将复杂任务分解为更小、更简单的子任务。ReAct 则结合了 LLM 的推理能力与行动规划能力。从 RAG 聊天机器人到 AI Agent
随着 LLM 规模扩大到数千亿参数,它们展现出越来越复杂的新兴能力,包括高级推理、多步规划以及工具使用或函数调用。工具使用(tool use),有时也被称为“函数调用(function calling)”,指的是LLM生成结构化输出或模式的能力,该输出指定从预定义函数集选择一个或多个函数,并为这些函数分配适当的参数值。LLM 的工具使用能力依赖于输入提示,其中描述了一个目标或任务,以及提供给 LLM 的一组函数定义,这些定义通常以 JSON 格式表示。LLM 分析输入和函数定义,以确定需要调用哪些函数以及如何填充其参数。随后,这种结构化输出可以被外部系统用于执行实际的函数调用。通常,任何可以通过编程定义和调用的内容都可以定义为工具,并附带提供给 LLM 的 JSON 定义。因此,RAG 功能可以是一种工具,对外部系统的 API 调用也可以是工具。具备工具访问和函数调用能力的 LLM 有时被称为“工具增强型 LLM(tool-augmented LLMs)”,但值得注意的是,高级推理、多步规划和工具使用能力的结合促进了 AI Agent 的出现。最后一块拼图是 AI Agent 所处的环境。AI Agent 运行在一个迭代执行环境中,该环境支持基于目标的系统,可以根据之前执行的输出进行迭代,从而指导当前的执行,这与基于对话的系统界面有所不同。Agentic systems 或复合 AI 系统正逐渐成为现代AI应用的一种实现范式,与基于 LLM 的聊天机器人相比,这些系统更为复杂,并且在与系统组件的集成方面具有多方面的特性。Agentic systems 可以定义为一种计算架构,包含一个或多个具备自主决策能力的 AI Agents,这些 Agents 能够访问并利用各种系统组件和资源,以实现既定目标,同时适应环境反馈。另一个需要注意的关键术语是“Agentic RAG”,指一种范式,利用 LLM 的路由、工具使用、推理和规划能力,同时结合基于查询与存储数据语义比较的信息检索。该系统范式支持动态 LLM 应用的开发,使其能够访问各种工具以执行查询、分解任务并解决复杂问题。要真正理解 AI Agents,需要考虑它们的组成部分、特性和能力。AI Agent 的关键组成部分和特性
AI Agent 的组成部分是构成其架构并实现其功能的关键要素。这些部分协同工作,以处理信息、做出决策并与环境交互。主要组成部分包括大脑、行动模块和感知模块,每个模块在 Agent 的运行中都起着至关重要的作用。Agent 是由多个集成组件组成的计算实体,包括大脑、感知组件和行动组件。这些组件协同工作,使 Agent 能够实现其设定的目标和任务。大脑:这是 Agent 架构中的一个组成部分,负责 Agent 的认知能力,包括推理、规划和决策能力。Agent 的大脑本质上是 LLM,LLM 的新兴能力为 Agent 提供了推理、理解和规划等能力。同时,与人类类似,大脑组件包含不同的模块,如记忆模块、画像模块和知识模块。记忆模块存储 Agent 与外部实体或系统的交互信息。这些存储的信息可以被回忆,用于指导未来的执行步骤,并根据历史交互采取相应的行动。画像模块:使 Agent 能够基于角色特征的描述承担特定角色,从而将 Agent 条件化为一组特定的行为模式。知识模块在 Agent 的大脑组件中,支持存储和检索领域特定、相关且有用的信息,以用于规划和执行目标相关的行动。行动:Agent 响应其环境和新信息的能力由行动组件提供支持,其中包括使 Agent 能够生成响应和调用其他系统的模块。基于 LLM 的 Agent 可以利用大脑组件中的过程将任务分解为多个步骤,每个步骤可以与 Agent 工具库中的一个工具相关联。借助 LLM 的推理和规划能力,Agent 能够在每个步骤中有效决定何时使用工具。感知:这一组件专门负责从 Agent 的环境中捕获和处理输入。在 Agentic systems 及其交互的范围内,输入形式多样,但提供给 Agent 的主要输入是听觉、文本和视觉形式。AI Agent 的特性是定义其能力和操作模式的独特特征和行为。这些特性决定了AI Agent 如何与环境交互、处理信息并实现其目标。关键特性包括自主性、主动性、反应性和交互性。- AI Agent 具有反思性和主动性:AI Agent 利用高级推理模式来解决复杂问题。它们采用 ReAct 和思维链等技术,将任务分解、规划行动并反思结果。通过利用LLM的新兴推理和规划能力,这些 Agent 能够基于反馈、先前的执行输出以及环境输入不断调整其策略。这种规划、执行和反思的迭代过程使 AI Agent 能够高效地实现输入目标。
- AI Agent 具有交互性:在某些情况下,AI Agent 需要与同一系统中的其他 Agent 或外部系统进行交互,通常也需要与人类交互以获取反馈或审查执行步骤的输出。AI Agent 还能够理解来自其他 Agent 和人类的输出上下文,并据此改变其行动方向和后续步骤。AI Agent 的交互性还体现在承担角色或设定角色身份上,以推动和规范AI Agent 的行为,使其根据所采用的角色变得更加可预测。在多 Agent 环境中,这种特性使 Agent 能够模仿社会角色并根据角色定义进行协作。
- AI Agent 具有自主性和反应性:自主特性使其能够基于内部处理结果和外部观察执行行动,通常无需明确的外部指令。反应性由两个关键能力提供支持:工具使用和输入处理。这些能力使 AI Agent 能够动态响应环境或任务条件的变化,并相应调整其行为和行动。
在我们的探索中,我们已经对 AI Agent 及其特性形成了理解,并提供了一个可行的定义。然而,需要注意一个重要的警告:在当今快速发展的 AI 领域,目前尚无统一的行业标准明确规定什么构成 AI Agent。相反,业界普遍认为,AI 系统是否属于 AI Agent 并非简单的是与否的问题,而是存在一个由低到高的渐进过程。这种深入的认识表明,AI 系统可以表现出不同程度的 Agent 能力、自主性和功能性。这就是“Agentic”一词进入讨论的地方。“Agentic”指的是 AI 系统展现出类 Agent 特性的程度。这些特性可能包括:1. 决策过程中的自主性水平。
2. 与环境交互和操控环境的能力。
3. 面向目标的行为能力。
4. 适应新情况的能力。
这种连续统一的理解方式为人工智能系统提供了更灵活、更包容的分类方法。随着人工智能技术的不断发展,简单 AI 系统与成熟 AI Agents 之间的界限正变得越来越模糊。那么,LLM 应用的新形式在哪些方面体现出其价值和影响力?在软件和应用开发领域,我们主要关注其价值和影响,以及在 AI Agents 和 Agentic systems 的早期探索与实验中的投资回报。目前,我们发现其主要价值体现在通过自动化手动流程来提升生产效率。在企业组织的大多数工作流程中,都包含了手动审批、文档处理和审查等环节。Agentic systems 在将这些重复性工作流程自动化, 也就是"代理化" (agentifying) 方面显示出了巨大潜力。Agentic systems 的另一个价值在于能够减轻企业工作流程中的决策负担。当 AI Agent 被嵌入到 Agentic systems 和复合AI系统中时,可以通过规则和指南来引导其决策能力。更重要的是,Agentic systems 让普通用户无需掌握专业技术知识就能更好地使用系统,这是因为 Agentic systems 提供了以文本和图像为主的交互界面来调用和执行系统功能。基础模型输入的多样性使得 Agentic systems 能够通过自然语言来操控,大大降低了系统使用的技术门槛。当前 AI 产业链中的参与者主要在哪些方面投入精力?AI 行业的主要参与者正致力于提供解决方案,重点关注 AI Agent 的可靠性、可扩展性和性能表现。为解决这些重点领域的问题,他们采取了多种方法,包括增加基础模型中用于提升 AI Agent 推理能力的参数,以及开发工具来协调 AI Agent 所在系统内的工作流程
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业