作者:Antonio Gulli, Lavi Nigam, Julia Wiesinger,Vladimir Vuskovic, Irina Sigler, Ivan Nardini, Nicolas Stroppa, Sokratis Kartakis, Narek Saribekyan,Anant Nawalgaria, Alan Bount 致谢 编辑与策展人Anant Nawalgaria 内容贡献者史蒂文·约翰逊 希南·奇诺伊 设计师Michael Lanning 目录 33代理RAG:检索增强生成的一次关键演进 汽车AI:多智能体架构的实战应用 54 54545556575758专业代理对话导航代理对话式媒体搜索代理消息组成代理车辆手册代理通用知识代理使用模式 58596163656667686974层次模式钻石图案点对点协作模式响应混合代理自适应回路模式多智能体架构在汽车人工智能中的优势代理构建者摘要脚注 人工智能的未来是具有代理性的。 引言 生成式AI代理标志着从传统独立语言模型向前进的一大步,提供了动态的解决问题和互动方式。根据原始《代理》论文的定义,代理是一种通过感知其环境和利用其拥有的工具战略性地采取行动以实现特定目标的应用程序。代理的基本原理在于其综合推理、逻辑和访问外部信息的能力,使其能够执行任务和做出超越底层模型固有能力的决策。这些代理具有自主运行的能力,独立追求其目标,并主动确定后续行动,通常无需明确指令。 代理的架构由三个基本元素构成,这些元素驱动其行为和决策: •型号:在代理框架中,“模型”一词指的是作为中心决策单元,采用基于指令的推理和逻辑框架的语言模型(LM)。根据代理的具体需求,模型可以从通用型到多模态或微调型有所不同。 •工具:工具对于弥合代理内部能力与外部世界之间的差距至关重要,有助于与外部数据和服务的互动。这些工具赋予代理获取和处理现实世界信息的权力。工具可能包括扩展、功能和数据存储。扩展连接API和代理之间的差距,使得代理能够无缝执行API。功能是完成特定任务的自我包含的代码模块。数据存储提供对动态和最新信息的访问,确保模型的响应始终基于事实性和相关性。 •指挥层:协奏层是一个循环过程,它规定了代理如何同化信息、进行内部推理并利用推理来指导其随后的行为或决策。该层负责维持记忆、状态、推理和计划。它采用提示工程框架来引导推理和规划,促进与环境更有效的互动和任务完成。ReAct、思维链(CoT)和思维树(ToT)等推理技术可应用于这一层。 基于这些基础概念,这篇配套论文旨在为开发者提供指导,作为深入探讨更高级主题的“入门”指南。它深入探讨了智能体评估方法,以及将谷歌智能体产品应用于增强智能体解决复杂现实问题的实际应用。 在探索这些理论概念的同时,我们将研究它们在现实世界中的应用,特别是关注汽车人工智能这一引人入胜的研究案例。汽车领域体现了多智能体架构在生产环境中的挑战和机遇。现代汽车需要能与或无需连接正常工作的对话界面,在设备端与云端处理之间达到平衡,以确保安全和用户体验,并可在导航、媒体控制、通讯以及汽车系统中协调专有功能。通过这一汽车领域,我们将看到不同协调模式——分级、协作和对等——如何相结合,在具有显著约束的环境中创造强劲、响应迅速的用户体验。这一案例研究展示了多智能体系统在各个行业中实际应用的实用性,企业可以根据其特定领域进行适应性改进。 任何使用通用人工智能(gen AI)进行构建的人都会很快意识到,从想法到概念验证很容易,但要确保高质量的结果并投入生产则相当困难——通用人工智能代理也不例外。质量和可靠性是部署到生产过程中最常提到的担忧,而“代理操作”(AgentOps)流程是优化代理构建的解决方案。 代理商操作 在过去两年里,生成式人工智能(GenAI)领域经历了重大变化,企业客户关注的是如何将相关解决方案进行运营化。这导致出现了各种描述GenAI运营化的术语,例如针对GenAI的MLOps、LLMOps、FMOps和GenAIOps。 代理和操作(AgentOps)是GenAIOps的一个子类别,专注于代理的高效运营。其主要附加组件包括内部和外部工具管理、代理大脑提示(目标、档案、指令)和编排、记忆以及任务分解。 这些“Ops”都需要版本控制、通过CI/CD自动部署、测试、日志记录、安全和(至关重要)的指标。每个系统通常都会根据指标实施某种形式的优化——衡量系统正在做什么和没做什么,衡量结果和业务指标,并自动化更全面的指标过程,逐步改进。这种做法可能被称为“A/B测试”或“机器学习运维”或“以指标为驱动的开发”,但它们源自相同的一般方法,我们也将依赖这些原则来构建AgentOps。 记住,新的实践并不能取代旧的。DevOps和MLOps的最佳实践对于AgentOps仍然有必要,因为它们是依赖。例如,代理工具的使用,其中API基于代理编排进行调用,通常使用的是您会 使用非代理软件触发。认证与密钥管理、安全、隐私、异常处理、限制、配额和可扩展性仍然是关键,除了代理设计外,还需要仔细的API设计。 让我们先定义这些“ops”术语,以便区分它们: •开发和运维(DevOps)这是一种通过整合人员、流程和技术元素来高效实现确定性软件应用的生产化的实践。DevOps是以下所有术语的基础。 •机器学习运维(MLOps)基于DevOps功能,专注于机器学习模型的效率化生产和部署。主要区别在于,机器学习模型的输出是非决定性的,依赖于输入数据(垃圾进入,垃圾出来)。 •基础模型操作(FMOps)拓展了MLOps的能力,重点关注高效地生产化预训练(从头训练)或定制(微调)的FM。 •提示与操作(PromptOps)这是一项针对GenAIOps的子类别,专注于有效实现提示的应用。其主要附加功能包括提示存储、谱系、元数据管理(包括评估分数)、集中式提示模板注册以及提示优化器。 •RAG和运营(RAGOps)这是一类以高效实施RAG解决方案为中心的GenAIOps子类别。其主要附加能力包括通过离线数据准备(包括清洗、分块、向量化和相似性搜索以及重新排序)的检索过程和通过提示增强和定位的生成过程。 •代理人及运营(AgentOps)这是一个专注于代理高效运行的GenAIOps子类别。其主要附加组件包括内部和外部工具管理、代理脑提示(目标、概况、指令)以及编排、记忆和任务分解。 所有这些“运维”本质上都是人员、流程和技术和谐融合,共同高效地将机器学习解决方案部署到实际生产环境中的体现。认识到运维不仅限于技术本身至关重要;它不仅仅是构建和交付机器学习管道。成功的运维实施需要深入考虑客户的运营模式、现有业务单元以及整体组织结构。这种整体方法确保技术能够满足他们的特定需求,无缝融入业务并最大化价值。 下一节将详细介绍代理评估,这是代理操作和自动化抓取有用指标的重要部分。在我们深入之前,让我们先进行一个思想实验;想象一下在生产环境中为您的新代理设置一个A/B实验。处理组使用新代理,而对照组则不使用。在这种情况下,您测量哪些指标来确定处理组的表现是否更好?您测量哪些指标来确定项目的投资回报率?是完成了一个目标,还是销售总额,或者用户旅程中的关键步骤?这些指标必须被理解、配置和便于分析,除了更详细的代理评估指标。 代理商成功指标 度量标准对于构建、监控和比较代理人的修订至关重要。像收入或用户参与度这样的业务指标可能超出了代理本身的作用范围,但这些指标应该是北极星度量衡为您的代理人。 大多数经纪人都是为了实现目标而设计的,所以目标完成率这是一项关键指标,需要跟踪。同样,一个目标可能被分解为几个关键任务或关键用户交互。每个这些关键任务和交互都应该独立地进行工具化和测量。 在我们的详细讨论代理商本身之前,我们已经识别出了一些可以轻松在仪表板上跟踪的指标。每一项业务指标、目标或关键互动都将按照熟悉的方式来汇总:尝试、成功、比率等。此外,从任何应用程序遥测系统中可以获取的指标对代理商来说也非常重要,如延迟、错误等指标。 这些指标并不特指代理商,您可以为任何软件跟踪它们,但对代理商构建者来说更为重要。确定性代码只做你让它做的事情,而代理商可以做更多的事情,依赖于在大量数据上训练的LLMs。这些高级指标的工具化是可观测性的重要组成部分。您可以将其视为代理商的关键绩效指标(KPI),并允许从总体上进行可观测性,这是您代理商的更高层次视角。 人类反馈是其中一个更关键的性能指标。简单的点赞或踩一脚,或者用户反馈表,在代表或任务背景下,可以大大帮助了解你的智能体哪里做得好,哪里需要改进。这种反馈可以来自消费者系统的最终用户,也可以来自员工、质量保证测试员,以及审查智能体的流程或领域专家。 更详细的可观察性对于构建智能体也非常重要,能够看到并理解智能体在做什么以及为什么这么做。智能体可以通过“跟踪”功能来记录所有内部工作情况,而不仅仅是关键任务和用户交互。您可以从概念上讲,将每个内部步骤作为指标来衡量,但这很少被这样做。相反,当指标或手动测试显示问题时,这些详细痕迹被用来调试智能体,你可以深入细节,看看出了什么问题。 截至目前,我们一直在谈论业务指标、目标、任务、人为反馈和痕迹——这些都是理解您的代理商在生产中的行动和影响的方式。而在开发代理商时,除了人工测试之外,长期来看自动化测试将更加高效,并能提供更多关于代理商行为的洞察。 代理商评估 为了弥合从概念验证到生产就绪的人工智能代理之间的差距,一个强大且自动化的评估框架至关重要。与评估生成模型不同,其重点主要在最终输出,代理评估需要更深入地理解决策过程。代理评估可以分为三个组成部分,我们将在本章中进行讨论: 1.评估代理能力:评估代理商的核心能力,例如其理解指令和逻辑推理的能力。 2.评估轨迹和工具使用:分析代理人解决问题所采取的步骤,包括其选择的工具、策略及其方法的效率。 3.评估最终响应:评估代理最终输出的质量、相关性和正确性。 评估代理商能力 在评估您具体的代理用例之前,公开可用的基准和技术报告可以提供关于核心能力和局限性的见解,这些是构建代理用例时需要考虑的因素。对于大多数基础代理能力,如模型性能、幻觉、工具调用和规划,都存在公共基准。例如,工具调用,即选择和使用合适工具的能力,通过像伯克利函数调用排行榜(BFCL)这样的基准得到展示。16和 τ-bench。17这还列出了常见错误。另一个例子,PlanBench。18旨在评估规划与推理能力,涵盖多个领域和具体能力。 但是工具调用和规划并不是你应该考虑的唯一能力。智能体从它们的LLM及其其他组件中继承行为。同样,智能体与用户交互在传统的对话设计系统和工作流程系统中也有历史,因此可以继承用于确定这些系统效力的指标和测量方法。 综合型智能体基准如AgentBench19尽力捕捉多个场景下端到端性能。当场景反映您的代理用例时,这更具有现实性,但如果是在测试您的代理未实现的函数时则不然。同时具体和一般地模拟环境、工具、指令和用例需求是困难的。公司和组织正在为特殊的用例如Adyen的数据分析师排行榜DBAStep构建公共基准。20这可能会让您获得更具针对性的评估——如果您了解评估方法和位于排行榜上的参与者。 公共基准是一个宝贵的起点,可以了解可能实现的内容并识别需要注意的陷阱。大多数基准评估都包括对常见失败模式的讨论,这可以指导您建立自己的、特定用例的评估框架。 除了公开评估,你还需要评估代理人在各种场景下的行为,以确保它能完成你所期望的任务。你正在模拟与代理人的互动,并评估其响应。这包括评估最终响应以及它所采取的一系列步骤(轨迹)。这是我们推荐你开始时采用的最常见且实用的两种方法。除此之外,还有很多其他的评估技巧,你可以用于更细化的子组件或更广泛的方法。 软件工程师会把这比作代码的自动化测试。投资于自动化测试能节省你的时间,并增加你对你正在建设的软件的信心。使用代理,这种自动化能更快地见到效果,无论是在时间上还