谷歌发布40页AI Agent白皮书,简单易懂的智能体认知架构,附中英文PDF下载

搜索
AI-TNT
正文
资源拓展
谷歌发布40页AI Agent白皮书,简单易懂的智能体认知架构,附中英文PDF下载
2025-01-10 11:03


谷歌发布40页AI Agent白皮书,简单易懂的智能体认知架构,附中英文PDF下载


随着AI Agent市场的越发火爆,为了让用户全面了解AI Agent并积极参与生态构建,一些公司相继推出了官方智能体相关的解读及白皮书。


继Anthropic之后,就在这几天,谷歌发也发布了自己的AI Agent白皮书。


这份名字简单到只有一个单词《Agents》的白皮书,从谷歌角度探讨了生成式AI Agent(智能体)的概念、架构和应用,阐明了Agent区别于单纯模型的关键在于其能够利用工具访问外部信息,并进行自主推理和行动规划,而非仅仅依赖训练数据进行单次预测。


白皮书详细介绍了Agent的三个核心组成部分:模型(Language Model)、工具(Extensions, Functions, Data Stores)和编排层(Orchestration Layer)。


谷歌发布40页AI Agent白皮书,简单易懂的智能体认知架构,附中英文PDF下载


编排层利用各种推理框架(如ReAct, Chain-of-Thought, Tree-of-Thoughts)指导Agent的决策过程。工具则赋予Agent与外部世界交互的能力:Extensions连接Agent与API,Functions允许客户端控制API调用,Data Stores则提供对外部数据的访问,支持RAG等应用。


该白皮书还介绍了在LangChain和Vertex AI平台上构建和部署Agent的方法,并讨论了如何通过各种学习方法(如上下文学习、基于检索的上下文学习和微调)提升模型性能。


白皮书旨在系统性地讲解生成式AIAgent的原理、架构和应用实践,为开发者提供构建更强大、更灵活的AI系统的指导。


如果你还不了解AI Agent及其工作原理,谷歌这份白皮书是必读的。它涵盖了你需要了解的关于AI Agent概念、它如何工作、LLMS 和 langchain 实现的所有内容,初学者和高级玩家都能从中受益。建议大家好好研读该白皮书,对于深入理解AI Agent有很好的帮助。


添加客服微信 openai178,免费获取谷歌官方Agent白皮书英文版与翻译版42页PDF4


以下,是王吉伟频道总结的白皮书主要观点(省流版)。


一、Agents概述


从最根本的意义上讲,生成式AI Agents(智能体)可以被定义为一种应用程序,它通过观察世界并利用其可支配的工具来采取行动,以实现某个目标。


智能体具有自主性,可以独立于人类干预而行动,尤其是在被赋予了它们要实现的适当目标或目的时。智能体在实现目标的方法上也可以采取积极主动的态度。即使在没有人类明确指令的情况下,智能体也可以推理出为实现其最终目标而应采取的下一步行动。


虽然AI中的智能体概念相当普遍且强大,但白皮书重点关注的是在发布时生成式AI模型能够构建的特定类型的智能体。


为了理解智能体的内部工作原理,白皮书介绍了驱动智能体行为、动作和决策的基础组件。这些组件的组合可以描述为一种认知架构,通过混合和匹配这些组件,可以实现许多这样的架构。聚焦于核心功能,如图1所示,智能体的认知架构中有三个基本组件:模型、编排层和工具。


谷歌发布40页AI Agent白皮书,简单易懂的智能体认知架构,附中英文PDF下载

图1:通用agent架构及其组件


在agent的范围内,模型指的是将作为agent流程的集中决策者使用的语言模型(LM)。agent使用的模型可以是一个或多个LM,其大小可以是任何规模(小/大),能够遵循基于指令的推理和逻辑框架,如ReAct、思维链(Chain-of-Thought)或思维树(Tree-of-Thoughts)。


生成式AI Agent扩展了语言模型的功能,利用工具获取实时信息、建议现实世界行动,并自主规划和执行复杂任务。Agent可以利用一个或多个语言模型来决定何时以及如何进行状态转换,并使用外部工具完成模型自身难以或无法完成的各种复杂任务。


Agent的核心是编排层,它是一种认知架构,用于构建推理、规划、决策并指导其行动。各种推理技术,例如 ReAct、思维链和思维树,为编排层提供了接收信息、执行内部推理以及生成明智决策或响应的框架。


工具(如扩展程序、函数和数据存储)充当Agent通往外部世界的钥匙,使其能够与外部系统交互并获取训练数据之外的知识。扩展程序在Agent和外部API之间架起桥梁,支持执行 API 调用和检索实时信息。函数通过分工提供更细致的开发者控制,允许Agent生成可在客户端执行的函数参数。数据存储为Agent提供对结构化或非结构化数据的访问,从而实现数据驱动的应用程序。


二、 Agent与模型的比较


特性模型Agent知识范围受限于训练数据通过工具连接外部系统扩展知识推理模式基于用户查询进行单次推理/预测,缺乏会话历史或持续上下文管理管理会话历史(例如聊天记录),允许多轮推理/预测,并根据用户查询和编排层中的决策进行调整工具支持无原生工具实现原生支持工具实现逻辑层无原生逻辑层。


谷歌发布40页AI Agent白皮书,简单易懂的智能体认知架构,附中英文PDF下载

Agents与模型的区别


用户需通过简单问题或推理框架(CoT、ReAct 等)构建提示来指导模型预测具有原生认知架构,使用推理框架(如 CoT、ReAct)或其他预构建Agent框架(如LangChain)。


三、认知架构:Agent如何运作


Agent如同一位忙碌的厨师,其目标是为顾客制作美味佳肴。他们需要经历计划、执行和调整的循环:


  • 搜集信息,如顾客的订单和厨房里的食材。
  • 根据收集到的信息,进行内部推理,思考可以制作哪些菜肴和口味。
  • 采取行动制作菜肴:切菜、混合香料、煎肉。


Agent利用认知架构,通过迭代处理信息、做出明智的决策以及根据先前输出改进后续行动来实现其最终目标。


谷歌发布40页AI Agent白皮书,简单易懂的智能体认知架构,附中英文PDF下载

图2:在编排层采用ReAct推理的实例agent


Agent认知架构的核心是编排层,负责维护记忆、状态、推理和规划。它使用快速发展的提示工程领域和相关框架来指导推理和规划,使Agent能够更有效地与其环境交互并完成任务。


四、工具:通往外部世界的钥匙


虽然语言模型擅长处理信息,但它们缺乏直接感知和影响现实世界的能力。工具弥合了这一差距,使Agent能够与外部数据和服务交互,并解锁模型本身无法实现的更广泛的行动。


工具有多种形式,复杂程度各不相同,但通常与常见的 Web API 方法(如 GET、POST、PATCH 和 DELETE)一致。例如,工具可以更新数据库中的客户信息,或获取天气数据以影响Agent向用户提供的旅行建议。


截至本文发布之日,Google 模型能够与三种主要工具类型进行交互:扩展程序、函数和数据存储。通过为Agent配备工具,我们释放了它们理解世界并采取行动的巨大潜力,为无数新的应用和可能性打开了大门。


五、扩展程序


扩展程序以标准化方式弥合了 API 和Agent之间的差距,使Agent能够无缝执行 API,而无需考虑其底层实现。例如,在航班预订用例中,用户可能会说“我想预订从奥斯汀飞往苏黎世的航班”。在这种情况下,自定义代码解决方案需要从用户查询中提取“奥斯汀”和“苏黎世”作为相关实体,然后尝试进行 API 调用。


谷歌发布40页AI Agent白皮书,简单易懂的智能体认知架构,附中英文PDF下载

图3:agents如何与外部API进行交互

但是,如果用户说“我想预订飞往苏黎世的航班”而从未提供出发城市,该怎么办?如果没有所需数据,API 调用将失败,并且需要实现更多代码来捕获此类边缘情况和极端情况。这种方法不可扩展,并且很容易在任何超出已实现自定义代码的场景中崩溃。


扩展程序通过以下方式弥合了Agent和 API 之间的差距:


  • 使用示例教导Agent如何使用 API 端点。
  • 教导Agent成功调用 API 端点所需的参数。


谷歌发布40页AI Agent白皮书,简单易懂的智能体认知架构,附中英文PDF下载

图5:Agents、扩展和API之间的1对多关系


扩展程序可以独立于Agent制作,但应作为Agent配置的一部分提供。Agent在运行时使用模型和示例来决定哪个扩展程序(如果有)适合解决用户的查询。这突出了扩展程序的一个关键优势,即其内置示例类型,它允许Agent动态地选择最适合该任务的扩展程序。


六、函数


在软件工程领域,函数被定义为自包含的代码模块,它们完成特定的任务,并且可以根据需要重复使用。当软件开发人员编写程序时,他们通常会创建许多函数来执行各种任务。他们还将定义何时调用 function_a 与 function_b 的逻辑,以及预期的输入和输出。


函数在Agent世界中的工作方式非常相似,但我们可以用模型替换软件开发人员。模型可以获取一组已知函数,并根据其规范决定何时使用每个函数以及函数需要哪些参数。函数与扩展程序的区别主要体现在以下几个方面:


  • 模型输出一个函数及其参数,但不会进行实时 API 调用。
  • 函数在客户端执行,而扩展程序在Agent端执行。


谷歌发布40页AI Agent白皮书,简单易懂的智能体认知架构,附中英文PDF下载

图7:函数如何与外部API进行交互


使用函数的一个关键点是,它们旨在让开发人员能够更好地控制 API 调用的执行,以及整个应用程序中的整个数据流。在示例中,开发人员选择不将 API 信息返回给Agent,因为它与Agent可能采取的未来行动无关。


但是,根据应用程序的架构,将外部 API 调用数据返回给Agent可能是有意义的,以便影响未来的推理、逻辑和行动选择。最终,由应用程序开发人员来选择最适合特定应用程序的方法。


七、数据存储


数据存储通过提供对更动态和最新信息的访问来解决这一限制,并确保模型的响应基于事实和相关性。


数据存储允许开发人员以其原始格式向Agent提供额外的数据,从而无需进行耗时的数据转换、模型再训练或微调。数据存储将传入的文档转换为一组向量数据库嵌入,Agent可以使用这些嵌入来提取补充其下一步操作或对用户响应所需的信息。


谷歌发布40页AI Agent白皮书,简单易懂的智能体认知架构,附中英文PDF下载

图11:数据存储将agents与各种类型的新实时数据源连接起来


在生成式 AI Agent的上下文中,数据存储通常被实现为开发人员希望Agent在运行时访问的向量数据库。虽然我们不会在这里深入介绍向量数据库,但要理解的关键点是,它们以向量嵌入的形式存储数据,向量嵌入是一种提供的数据的高维向量或数学表示。


谷歌发布40页AI Agent白皮书,简单易懂的智能体认知架构,附中英文PDF下载

Agent工具类型:扩展、函数和数据存储构的区别


总的来说,扩展、函数和数据存储构成了agent在运行时可以使用的几种不同工具类型。每种工具都有其特定用途,并且可以根据agent开发者的意愿,选择一起使用或单独使用。


八、用目标学习增强模型性能


有效使用模型的一个关键方面是它们在生成输出时选择正确工具的能力,尤其是在生产中大规模使用工具时。虽然通用训练有助于模型发展这种技能,但现实世界的场景通常需要超出训练数据的知识。


为了帮助模型获得这种特定知识,存在几种方法:


上下文学习:此方法在推理时为广义模型提供提示、工具和少样本示例,使其能够“动态”学习如何以及何时将这些工具用于特定任务。ReAct 框架是这种方法在自然语言中的一个例子。


基于检索的上下文学习:此技术通过从外部内存中检索最相关的信息、工具和相关示例来动态填充模型提示。Vertex AI 扩展程序中的“示例存储”或前面提到的数据存储 RAG 架构就是一个例子。


基于微调的学习:此方法涉及在推理之前使用更大的特定示例数据集来训练模型。这有助于模型在接收任何用户查询之前了解何时以及如何应用某些工具。


九、使用 LangChain快速入门Agent


为了提供Agent实际运行的可执行示例,我们将使用 LangChain 和 LangGraph 库构建一个快速原型。这些流行的开源库允许用户通过将逻辑、推理和工具调用的序列“链接”在一起来构建客户Agent,以回答用户的查询。


虽然这是一个相当简单的Agent示例,但它展示了模型、编排和工具等基本组件如何协同工作以实现特定目标。在最后一节中,我们将探讨这些组件如何在 Google 规模的托管产品(如 Vertex AI Agent和 Generative Playbooks)中组合在一起。


十、使用Vertex AI Agent的生产应用程序


虽然本白皮书探讨了Agent的核心组件,但构建生产级应用程序需要将它们与其他工具(如用户界面、评估框架和持续改进机制)集成在一起。


Google 的 Vertex AI 平台通过提供一个完全托管的环境(包含前面介绍的所有基本元素)来简化此过程。使用自然语言界面,开发人员可以快速定义其Agent的关键元素(目标、任务说明、工具、用于任务委托的子Agent以及示例),以轻松构建所需的系统行为。


谷歌发布40页AI Agent白皮书,简单易懂的智能体认知架构,附中英文PDF下载

图15:基于Vefiex AI平台构建的端到端agent架构示例


此外,该平台还配备了一套开发工具,允许进行测试、评估、测量Agent性能、调试以及改进已开发Agent的整体质量。这使得开发人员能够专注于构建和改进其Agent,而平台本身则负责管理基础设施、部署和维护的复杂性。


 总结


Agent的未来充满了令人兴奋的进步,我们才刚刚开始触及可能的表面。随着工具变得越来越复杂,推理能力得到增强,Agent将能够解决越来越复杂的问题。此外,“Agent链接”的战略方法将继续获得发展势头。


通过将专门的Agent(每个Agent都擅长于特定领域或任务)组合在一起,我们可以创建一种“Agent专家混合”方法,能够在各个行业和问题领域提供卓越的结果。


重要的是要记住,构建复杂的Agent架构需要迭代方法。实验和改进是为特定业务案例和组织需求找到解决方案的关键。由于构成其架构基础的基本模型的生成性质,没有两个Agent是完全相同的。


但是,通过利用每个基本组件的优势,我们可以创建有影响力的应用程序,扩展语言模型的功能并推动现实世界的价值。


文章来微信公众号“王吉伟”,作者“王吉伟”


谷歌发布40页AI Agent白皮书,简单易懂的智能体认知架构,附中英文PDF下载

1
智能体

【开源免费】AutoGPT是一个允许用户创建和运行智能体的(AI Agents)项目。用户创建的智能体能够自动执行各种任务,从而让AI有步骤的去解决实际问题。

项目地址:https://github.com/Significant-Gravitas/AutoGPT


【开源免费】MetaGPT是一个“软件开发公司”的智能体项目,只需要输入一句话的老板需求,MetaGPT即可输出用户故事 / 竞品分析 / 需求 / 数据结构 / APIs / 文件等软件开发的相关内容。MetaGPT内置了各种AI角色,包括产品经理 / 架构师 / 项目经理 / 工程师,MetaGPT提供了一个精心调配的软件公司研发全过程的SOP。

项目地址:https://github.com/geekan/MetaGPT/blob/main/docs/README_CN.md

2
RAG

【开源免费】graphrag是微软推出的RAG项目,与传统的通过 RAG 方法使用向量相似性作为搜索技术不同,GraphRAG是使用知识图谱在推理复杂信息时大幅提高问答性能。

项目地址:https://github.com/microsoft/graphrag

【开源免费】Dify是最早一批实现RAG,Agent,模型管理等一站式AI开发的工具平台,并且项目方一直持续维护。其中在任务编排方面相对领先对手,可以帮助研发实现像字节扣子那样的功能。

项目地址:https://github.com/langgenius/dify


【开源免费】RAGFlow是和Dify类似的开源项目,该项目在大文件解析方面做的更出色,拓展编排方面相对弱一些。

项目地址:https://github.com/infiniflow/ragflow/tree/main


【开源免费】phidata是一个可以实现将数据转化成向量存储,并通过AI实现RAG功能的项目

项目地址:https://github.com/phidatahq/phidata


【开源免费】TaskingAI 是一个提供RAG,Agent,大模型管理等AI项目开发的工具平台,比LangChain更强大的中间件AI平台工具。

项目地址:https://github.com/TaskingAI/TaskingAI

3
微调

【开源免费】XTuner 是一个高效、灵活、全能的轻量化大模型微调工具库。它帮助开发者提供一个简单易用的平台,可以对大语言模型(LLM)和多模态图文模型(VLM)进行预训练和轻量级微调。XTuner 支持多种微调算法,如 QLoRA、LoRA 和全量参数微调。

项目地址:https://github.com/InternLM/xtuner

IOS下载
安卓下载
微信群
沪ICP备2023015588号