利用 Elasticsearch 构建人工智能代理工作流

了解代理生成器(Agent Builder),它是 Elasticsearch 中的一个新人工智能层,为构建人工智能代理工作流提供了一个框架,使用混合搜索为代理提供推理和行动所需的上下文。

Elasticsearch 与行业领先的生成式 AI 工具和提供商实现了原生集成。请观看我们的网络研讨会,了解如何超越 RAG 基础功能,或使用 Elastic 向量数据库构建生产就绪型应用

要为您的用例构建最佳搜索解决方案,请开始免费云试用,或立即在本地计算机上试用 Elastic。

在 Elastic,我们通过人工智能助手、高级 RAG 和矢量数据库的改进,为 LLM 和对话界面带来了语境。最近,随着人工智能代理的兴起,我们发现对相关上下文的需求日益增长,并了解到高效的 人工智能代理需要出色的搜索。因此,我们在 Elastic Stack 中构建了新的本地功能,旨在帮助开发可利用 Elasticsearch 中数据的人工智能代理。我们希望与大家分享我们在这一历程中取得的进展,以及我们对下一步发展的展望。

代理生成器:构建数据驱动型人工智能代理的基础

人工智能代理的承诺很简单:给它一个目标,它就能完成工作。但对于开发商来说,现实却是一系列复杂的挑战。首先,代理的能力取决于其对环境的感知以及为实现用户目标而提供的工具。那么,如何从纷繁复杂的企业数据中提供正确的上下文是一项巨大的挑战。最后,所有这一切都必须由一个可靠的推理循环来协调,该循环可以进行规划、执行和学习。

为了解决这个问题,开发人员需要从头开始构建一个复杂而脆弱的堆栈。如今的代理架构需要将多个不同的部分拼接在一起:一个 LLM、一个向量数据库、一个元数据存储、用于日志记录和跟踪的独立系统,以及一些评估它们是否都能正常工作的方法。这不仅复杂,而且成本高昂、容易出错,并且难以建立用户所需的高质量、值得信赖的人工智能系统。

因此,我们想让它变得更简单。为此,我们的方法是将有效的上下文驱动型代理的重要部分直接集成到 Elasticsearch 的核心中,并提供一套名为Elastic AI Agent Builder 的新功能。这一新层提供了一个框架,其中包含创建由 Elasticsearch 支持的人工智能代理所需的所有基本构件:一套开放的基元、基于标准的协议和对数据的安全访问--因此您可以根据真实世界的数据和要求构建代理系统:

提供人工智能体验:这是终极目标。以我们的搜索人工智能平台和您的数据为基础,您可以构建任何类型的生成式人工智能应用程序:从定制聊天界面到与 LangChain 等代理框架或 Salesforce 等业务应用程序的集成。

由 Agents& 工具提供支持:在平台之上,我们提供了一个简洁的抽象层。您可以直接与代理和工具互动,并根据具体需求进行定制。您还可以通过强大的应用程序接口和开放标准(如 MCP 和 A2A)访问平台的功能。

由搜索人工智能平台支持:这是我们集成了各种组件的核心引擎。先进的矢量数据库、代理逻辑、查询结构、安全功能、评估跟踪都在这里,由 Elastic 管理和优化。

释放数据的力量:任何优秀代理商的基础都是优秀的数据。我们的平台首先能够摄取或联合访问您的所有企业数据

平台中的代理建设

Agent Builder 集成到搜索人工智能平台中,为代理开发提供了一个完整的框架。它建立在五个关键支柱之上,每个支柱都旨在解决构建和部署生产级人工智能系统的一个关键方面。让我们来分析一下,代理如何定义目标,工具如何提供功能,开放标准如何确保互操作性,评估如何提供透明度,安全如何提供信任。

代理商

代理是 Elasticsearch 这一新层中最高级别的构建模块。代理定义了要实现的目标、可用于执行的工具集以及可操作的数据源。代理并不局限于对话式交互,它们还可以支持完整的工作流、任务自动化或面向用户的体验。

当一项查询被提交给代理机构时,它遵循一个结构化的循环:

  1. 解释您的意见和目标
  2. 选择正确的执行工具和参数
  3. 工具响应的原因
  4. 决定是返回结果还是继续进一步调用工具

Elastic 负责这一循环的协调、上下文和执行。开发人员专注于定义代理应该做什么:目标、工具和数据,而系统则管理如何进行推理和执行工作流程。

默认代理

我们在该平台上构建的第一个代理是 Kibana 中的原生会话代理,让您能够立即与数据进行交互。它在提供即用体验的同时,还具有完全的可扩展性,无需额外配置即可立即开始与数据交互。

您可以直接在 Kibana 中通过新的聊天用户体验或通过 API 与此体验进行交互。

通过 API 查询默认代理只需一次调用:

由于会话是有状态的,因此您可以使用会话 ID 继续与代理交互,或检索完整的会话历史记录:

海关代理

开发人员还可以通过简单的应用程序接口创建自己的定制代理。代理封装了指令、工具和数据访问,创建了量身定制的推理引擎。

创建自定义代理只需调用一次应用程序接口。下面的示例显示了一个例子,"配置 "字段包含所有关键细节,如说明或可用工具:

一旦创建,就可以直接查询代理:

这种方法将代理从一个需要从头开始构建的复杂系统转变为一个简单、声明式的业务逻辑单元,使您能够更快地交付智能自动化。

如需深入了解如何从头开始构建专门的代理,请参阅我们的详细分步指南:您的第一个弹性代理:从单一查询到人工智能驱动的聊天

工具

如果说代理确定了要完成的任务,那么工具则确定了如何完成。

工具为代理执行和检索信息或执行操作暴露了特定的弹性核心功能。工具可以包括获取索引或获取映射等核心功能,也可以包括从自然语言到 ES|QL 等更高级的功能。

Elasticsearch 随附一套针对常见需求进行了优化的默认工具。但真正的灵活性来自于自己的创造。通过定义工具,您可以决定将哪些查询、索引和字段通过 ES|QL 暴露给代理,从而对速度、准确性和安全性进行精确控制。

注册新工具也很简单,只需调用一次应用程序接口。您可以创建一个工具,利用我们的ES|QL(Elasticsearch 查询语言)查找特定金融资产的相关新闻:

注册后,您就可以将新工具分配给您的自定义代理,为他们提供一套经过精心设计的能力,让他们在合适的时候进行推理和调用。

我们提供了一个平台,可根据您的特定需求创建定制工具,例如使用 ES|QL,将代理从通用代理转变为特定领域的专家,立足于您独特的数据和业务领域。

开放标准和互操作性

Elasticsearch 代理和工具通过开放式标准 API 公开,因此很容易作为基础模块集成到更广泛的代理框架生态系统中。我们的方法很简单:没有黑盒子。我们希望您能够利用 Elastic 在搜索方面的核心优势,并将其与互补功能和其他代理系统搭配使用。

为了实现这一点,我们正在通过应用程序接口、新兴协议和开放标准公开我们的能力。

模型上下文协议(MCP)

模型上下文协议(MCP)正迅速成为跨系统连接工具的开放标准。通过支持 MCP,Elasticsearch 可以将对话式人工智能与您的数据库、索引和外部 API 相连接。通过 Elastic Stack 内置的远程 MCP 服务器,任何兼容 MCP 的客户端都可以访问 Elastic 的工具,并将其用作大型代理工作流程的构建模块。

这不是一条单行道。您还可以从外部 MCP 服务器导入工具,使其在 Elasticsearch 中可用。不久之后,MCP 服务器将可能适用于几乎所有功能,而且比我们自己创建的任何功能都要全面得多。Elastic 提供大规模的搜索和检索功能,您可以将其与其他平台的专业功能相结合,构建有效的代理。

代理对代理(A2A)

我们还在努力提供代理对代理 (A2A) 支持。MCP 是连接工具,而 A2A 则是连接代理。有了 A2A 服务器,您构建的 Elastic 代理就能与其他系统的代理直接对话:共享上下文、委派任务和协调工作流。

将其视为推理层的互操作性。您的弹性代理可以处理搜索和检索,然后将任务交给专门的支持或 IT 代理,并无缝地返回结果。这样就形成了一个由合作代理组成的生态系统,每个代理都在做自己最擅长的事情。

最终,采用 MCP 和 A2A 加强了我们对 Elasticsearch 作为一流公民角色的承诺,确保在更广泛的代理生态系统中实现开放式集成。

追踪和评估

随着搜索与代理的整合,有效评估的挑战变得至关重要。要在真实的企业环境中自信地部署代理,就必须确保代理不仅准确,而且高效可靠。如何衡量性能、诊断不良响应或改进基线?一切从可见度开始。

因此,我们从一开始就设计了透明的代理 API。考虑一下这个简单的代理互动:

回复不仅包括最终答案,还包括完整的执行跟踪,详细说明代理选择了哪些工具、使用了哪些参数以及每一步的结果。

全面的跟踪和日志记录对持续改进循环至关重要,不久之后,您就可以直接在 Elasticsearch 中存储和查看这些代理跟踪。更妙的是,这些跟踪记录是基于 OpenTelemetry 协议构建的,确保了它们的标准化和可移植性,以便与您选择的可观测性平台集成。

这种详细程度是真正持续改进循环的基础。它使您能够建立一套全面的测试、调试故障、识别失败模式以防止回归,并捕捉成功模式以微调性能。归根结底,这种数据驱动的方法是将有前途的原型转化为生产级、值得信赖的人工智能系统的关键。

安全性

随着代理和工具的功能越来越强大,安全性不再是可有可无的,而是基础性的。要公开应用程序接口、自动执行任务和工作流程,就必须信任企业系统。特别是当代理开始自动执行更多的工作流程时,确保这些流程安全并满足企业要求的能力就显得尤为重要。

上述功能都继承了 Elastic 目前已有的控制功能,包括针对 API 调用和 API 密钥管理的基于角色的访问控制 (RBAC)。我们还将同样的控制扩展到 MCP 等新协议。这意味着支持 OAuth 等标准,以及插入自定义身份验证机制的能力。

我们的目标是让您灵活地尝试使用代理和工具,同时保持组织所需的安全性、合规性和管理水平。

下一步行动

我们不仅要增加功能,还要扩展 Elasticsearch 的代理上下文工程。我们计划在这些原则的基础上继续发展:

1.致力于开放源码& 标准

我们致力于开放源代码和开放标准,确保这些功能与外部代理框架保持互操作性。您始终能够在生态系统中连接、扩展和组成代理,同时将数据和工作流程置于您的控制之下。

2.背景的价值

人工智能代理的背景是其最大的资产。在代理执行搜索和工作流操作时管理上下文是一项极具挑战性的任务。我们正在利用 Elastic 的核心优势来解决上下文工程问题,确保您的代理始终可以获得最相关的信息。

3.关注代理数据流

展望未来,代理将成为越来越大的数据源,包括代理的输出(生成的文档、报告、可视化)和代理的执行轨迹(其思维、工具调用、内存/上下文)。Elastic 非常适合处理此类数据,我们正在研究如何利用这些数据进行分析、评估和自动改进。

4.设计的安保和安全

人工智能代理带来了全新的安全保障挑战。Elastic 一直是安全解决方案的领导者,我们将继续构建企业级防护、访问控制和"零信任" 原则。

5.嵌入平台

构建人工智能代理的功能已嵌入 Elasticsearch 平台。这意味着平台级功能,如跟踪、评估、可视化和分析,都适用于代理。希望根据代理执行情况开发仪表板--这是内置功能。希望通过情感分析来评估人工智能代理的性能--该平台可以实现这一点。这样就能围绕人工智能体验构建一个完整的生命周期。

Elastic 的目标是为您提供建立对话式人工智能和自动化工作流程的接口,这些接口完全集成、可扩展并以您的数据为基础。更多技术细节和进展情况将很快与大家分享。

代理生成器 "现已推出私人预览版。与我们联系,申请访问。有问题或反馈?在我们的Slack 工作区讨论区与我们的开发人员社区联系。

相关内容

准备好打造最先进的搜索体验了吗?

足够先进的搜索不是一个人的努力就能实现的。Elasticsearch 由数据科学家、ML 操作员、工程师以及更多和您一样对搜索充满热情的人提供支持。让我们联系起来,共同打造神奇的搜索体验,让您获得想要的结果。

亲自试用