免费POC, 零成本试错
FDE知识库

FDE知识库

学习大模型的前沿技术与行业落地应用


收藏

谷歌 AI Agent 白皮书 3/3

发布日期:2025-02-16 10:32:12 浏览次数: 2438
作者:自牧生语

微信搜一搜,关注“自牧生语”

推荐语

探索谷歌AI Agent如何通过针对性学习提升模型性能,解锁超越训练数据的高级技能。

核心内容:
1. 模型在现实场景中获取超出训练数据知识的方法
2. 上下文学习、基于检索的上下文学习和基于微调的学习三种针对性学习方法
3. 通过烹饪类比深入理解每种方法的工作原理和应用场景

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家

本篇对应原白皮书以下章节:

3. 通过针对性学习提升模型性能

?现实场景通常需要超出训练数据的知识,有以下几种方法帮助模型/agent 获取这些知识:

  • 在推理时通过提示词提供示例

  • 基于检索的上下文学习 (RAG):提供外部知识库

  • 基于 Fine-tune 的学习:使用特定数据微调

有效使用模型的关键之一是它们在生成输出时能够选择合适的工具,特别是在生产环境中大规模使用工具时。

虽然一般的训练有助于模型发展这一技能,但现实场景通常需要超出训练数据的知识。可以将其想象为基本烹饪技能与精通特定菜系之间的区别。两者都需要基础的烹饪知识,但后者需要针对更细致结果的专门学习。

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

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

  • 基于检索的上下文学习:该技术通过从外部存储中检索最相关信息、工具和相关示例,动态填充模型提示。例如,Vertex AI 扩展中的“示例存储”或之前提到的基于 RAG 架构的数据存储。

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

为了进一步深入了解每种针对性学习方法,让我们回顾一下我们的烹饪类比。

  • 假设有一位厨师收到了一份具体的食谱(提示)、一些关键食材(相关工具)以及一些示例菜肴(少量示例)。基于这些有限的信息和厨师对烹饪的普遍知识,他们需要“即兴”想出如何准备一道最符合食谱和顾客偏好的菜肴。这就是上下文学习。

  • 现在,让我们想象一下,这位厨师在一个备有丰富食材的厨房(外部数据存储)中,里面装满了各种食材和烹饪书(示例和工具)。厨师现在能够从储藏室中动态选择食材和烹饪书,从而更好地符合顾客的食谱和偏好。这使得厨师能够利用现有和新知识,制作出更明智和精致的菜肴。这就是基于检索的上下文学习。

  • 最后,假设我们把这位厨师送回学校学习一种或多种新的菜系(在更大的特定示例数据集上进行预训练)。这使得厨师能够以更深入的理解来应对未来未见过的顾客食谱。如果我们希望厨师在特定菜系(知识领域)中表现出色,这种方法非常完美。这就是基于微调的学习。

每种方法在速度、成本和延迟方面都有独特的优势和劣势。然而,通过在代理框架中结合这些技术,我们可以利用各自的优势并最小化其劣势,从而实现更强大和适应性更强的解决方案。

4. 使用 LangChain 快速上手 Agent

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

我们将使用我们的 gemini-1.5-flash-001 模型和一些简单的工具来回答用户的多阶段查询,如代码片段 8 所示。我们使用的工具包括 SerpAPI(用于谷歌搜索)和 Google Places API。在代码片段 8 中执行我们的程序后,您可以在代码片段 9 中看到示例输出。

from langgraph.prebuilt import create_react_agentfrom langchain_core.tools import toolfrom langchain_community.utilities import SerpAPIWrapperfrom langchain_community.tools import GooglePlacesToolos.environ["SERPAPI_API_KEY"] = "XXXXX"os.environ["GPLACES_API_KEY"] = "XXXXX"@tooldef search(query: str):    """Use the SerpAPI to run a Google Search."""    search = SerpAPIWrapper()    return search.run(query)@tooldef places(query: str):    """Use the Google Places API to run a Google Places Query."""    places = GooglePlacesTool()    return places.run(query)model = ChatVertexAI(model="gemini-1.5-flash-001")tools = [search, places]query = "Who did the Texas Longhorns play in football last week? What is the address of the other team's stadium?"agent = create_react_agent(model, tools)input = {"messages": [("human", query)]}for s in agent.stream(input, stream_mode="values"):    message = s["messages"][-1]    if isinstance(message, tuple):        print(message)    else:        message.pretty_print()

代码片段 8 基于 LangChain 和 LangGraph 的带工具代理示例

=============================== Human Message ================================Who did the Texas Longhorns play in football last week? What is the address of the other team's stadium?================================= Ai Message =================================Tool Calls: searchArgs:    query: Texas Longhorns football schedule================================ Tool Message ================================Name: search{...Results: "NCAA Division I Football, Georgia, Date..."}================================= Ai Message =================================The Texas Longhorns played the Georgia Bulldogs last week.Tool Calls: placesArgs:    query: Georgia Bulldogs stadium================================ Tool Message ================================Name: places{...Sanford Stadium Address: 100 Sanford...}================================= Ai Message =================================The address of the Georgia Bulldogs stadium is 100 Sanford Dr, Athens, GA 30602, USA.

代码片段 9  代码片段 8 中程序的输出结果

尽管这是一个相当简单的代理示例,但它展示了模型、编排和工具共同协作以实现特定目标的基础组件。在最后一部分,我们将探讨这些组件如何在谷歌规模的托管产品中结合,例如 Vertex AI 代理和生成式 Playbooks。

5. 带有 Vertex AI Agents 的生产应用

?Vertex AI:一个 Agent 搭建平台

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

谷歌的 Vertex AI 平台通过提供一个完全托管的环境,涵盖了前面提到的所有基本元素,简化了这一过程。使用自然语言界面,开发人员可以快速定义其 Agent 的关键元素——目标、任务指令、工具、任务委派的子 Agent 和示例——从而轻松构建所需的系统行为。

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

在图 15 中,我们展示了一个在 Vertex AI 平台上构建的 Agent 的示例架构,该架构使用了 Vertex Agent Builder、Vertex Extensions、Vertex Function Calling 和 Vertex Example Store 等诸多功能。该架构包含了生产级应用程序所需的各种组件。

图15. 基于Vertex AI平台构建的端到端代理架构示例

您可以尝试从我们的官方文档中体验这个预构建的代理架构示例。

6. 总结

在本白皮书中,我们讨论了生成式 AI Agent 的基础构建模块、它们的组成以及实现这些 Agent 的有效方法,即认知架构。本白皮书的一些关键要点包括:

  1. Agent 通过利用工具访问实时信息、建议现实世界的行动以及自主规划和执行复杂任务,扩展了语言模型的能力。 Agent 可以利用一个或多个语言模型来决定何时以及如何通过状态转换,并使用外部工具来完成任何数量的复杂任务,这些任务对于模型本身来说可能是困难或不可能完成的。

  2. Agent 操作的核心是编排层,这是一种结构化推理、规划、决策并指导其行动的认知架构。各种推理技术,如 ReAct、Chain-of-Thought 和 Tree-of-Thoughts,为编排层提供了一个框架,使其能够接收信息、进行内部推理并生成有根据的决策或响应。

  3. 工具,如扩展、函数和数据存储,是代理通向外部世界的关键,使它们能够与外部系统交互并访问超出其训练数据的知识。扩展在 Agent 和外部 API 之间架起了桥梁,使 API 调用得以执行并获取实时信息。函数通过分工提供了更细致的开发者控制,允许 Agent 生成可在客户端执行的函数参数。数据存储为 Agent 提供了对结构化或非结构化数据的访问,从而实现了数据驱动的应用。

Agent 的未来充满激动人心的进步,我们才刚刚开始触及可能性的表面。随着工具变得更加复杂且推理能力得到增强, Agent 将被赋予解决日益复杂问题的能力。此外,“代理链( Agent chaining)”的战略方法将继续获得势头。

通过结合专门化的 Agent ——每个 Agent 在特定领域或任务中表现卓越——我们可以创建一种“智能体专家混合(mixture of agent experts)”方法,能够跨多个行业和问题领域提供卓越成果。

重要的是要记住,构建复杂的 Agent 架构需要采用迭代方法。

实验和优化是找到特定业务案例和组织需求解决方案的关键。由于支撑其架构的基础模型具有生成性,因此没有两个 Agent 是完全相同的。然而,通过利用每个基础组件的优势,我们可以创建具有影响力的应用,扩展语言模型的能力并驱动实际价值。


53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询

扫码登录
登录即表示您同意《53AI网站服务协议》
服务协议

欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。

在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。

一、 定义

本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。

会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。

知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。

二、 账号注册与登录

登录方式:本网站支持以下登录方式,您可根据实际情况选择:

微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。

手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。

账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。

实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。

未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。

三、 服务内容与规范

知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。

服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。

禁止行为:您在使用服务时不得实施以下行为:

利用技术手段批量爬取、下载、转存知识库内容;

将知识库内容用于商业目的或未经授权地向第三方传播;

干扰本网站正常运行或侵犯其他用户合法权益;

发布违法违规信息或从事违反公序良俗的活动。

四、 知识产权声明

权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。

有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。

侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。

五、 个人信息保护

我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。

您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。

您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。

六、 免责声明

内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。

不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。

第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。

七、 违约责任

如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。

如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。

八、 法律适用与争议解决

本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。

因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。

九、 其他

本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。

本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。

我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。


已查阅