作者:来自 Elastic Anish Mathur 及 Dana Juratoni

Elasticsearch 与行业领先的 Gen AI 工具和服务商有原生集成。查看我们的网络研讨会,了解如何超越 RAG 基础,或使用 Elastic 向量数据库构建可投入生产的应用。
为了为你的用例构建最佳搜索解决方案,现在可以开始免费云试用,或在本地机器上尝试 Elastic。
在 Elastic,我们一直通过 AI Assistants、增强的 RAG 和向量数据库改进,为 LLM 和对话接口带来上下文。最近,随着 AI Agents 的兴起,我们看到对相关上下文的需求不断增长,并认识到高影响力的 AI Agents 需要优秀的搜索能力。因此,我们在 Elastic Stack 中构建了新的原生功能,旨在帮助开发利用 Elasticsearch 数据的 AI Agents。我们希望分享这一过程中的进展,以及我们对未来的展望。
Agent Builder:构建数据驱动 AI Agents 的基础
AI Agent 的愿景很简单:给它一个目标,它就能完成任务。但对开发者来说,现实却是一系列复杂的挑战。首先,agent 的能力取决于它对环境的感知,以及为实现用户目标而获得的工具。其次,从多样化的企业数据海洋中提供正确的上下文是一项巨大的挑战。最后,这一切必须由可靠的推理循环来编排,它能规划、执行并学习。
为了解决这些问题,开发者往往需要从零开始构建一个复杂而脆弱的技术栈。如今的 agent 架构要求你拼凑多个不同的部分:LLM、向量数据库、元数据存储、独立的日志和追踪系统,以及某种方式来评估整体是否正常工作。这不仅复杂,而且代价高昂、容易出错,并使得构建高质量、值得信赖的 AI 系统变得困难。
因此我们希望让它更简单。为此,我们的方法是将高效的上下文驱动 agent 的核心组件,直接集成到 Elasticsearch 内核中,并引入一组称为 Elastic AI Agent Builder 的新功能。这个新层提供了一个框架,包含构建由 Elasticsearch 驱动的 AI Agents 所需的所有基础模块:开放的基本单元、基于标准的协议、安全的数据访问 ------ 让你能够构建针对真实世界数据和需求的 agentic 系统。

交付 AI 体验:这是最终目标。借助我们的 Search AI Platform,并以你的数据为基础,你可以构建任何类型的生成式 AI 应用:从定制聊天界面到与 LangChain 等 agentic 框架的集成,再到与 Salesforce 等业务应用的集成。
由 Agents 和 Tools 驱动:在平台之上,我们提供了一层简洁明了的抽象。你可以直接与 Agents 和 Tools 交互,并根据具体需求进行定制。你还可以通过强大的 API 和开放标准(如 MCP 和 A2A)访问平台功能。
由 Search AI Platform 支撑:这是我们集成组件的核心引擎。高级向量数据库、agent 逻辑、查询构建、安全功能、用于评估的追踪,全都在这里,由 Elastic 统一管理和优化。
释放你的数据力量:任何优秀 agent 的基础都是优秀数据。我们的平台从具备摄取或联合访问所有企业数据的能力开始。
平台中的 Agent 构建
集成到 Search AI Platform 的 Agent Builder 提供了一个完整的 agent 开发框架。它基于五大核心支柱,每一个都旨在解决构建和部署生产级 AI 系统的关键方面。我们来逐一拆解:agents 定义目标,Tools 提供能力,Open Standards 确保互操作性,Evaluation 提供透明度,Security 提供信任。
Agents
Agents 是 Elasticsearch 这一新层中的最高级构建块。一个 agent 定义要实现的目标、可用于执行的工具集合,以及它能操作的数据源。Agents 不仅限于对话交互,它们还能驱动完整的工作流、任务自动化,或面向用户的体验。
当查询被发送给一个 agent 时,它会遵循一个结构化的循环:

- 解析你的输入和目标
- 选择正确的工具和执行参数
- 对工具的响应进行推理
- 决定是返回结果还是继续调用其他工具
Elastic 负责这个循环的编排、上下文和执行。开发者只需专注于定义 agent 应该做什么:目标、工具和数据,而系统负责管理推理和工作流的执行方式。
默认 Agent
我们在这个平台上构建的第一个 agent 是 Kibana 中的原生对话 agent,让你能够立即与数据交互。它提供了开箱即用的体验,同时保持完全可扩展,使你无需额外配置即可立即开始与数据交互。
你可以通过 Kibana 中新的聊天用户体验直接与这个功能交互,或者通过 API 使用它。
通过 API 查询默认 agent 只需要一个调用:
POST kbn://api/agent_builder/converse
{
"input": "what is our top portfolio account?"
}
由于对话是有状态的,你可以使用 conversation_id 继续与 agent 交互,或检索完整的对话历史:
POST kbn://api/agent_builder/converse
{
"input": "What about the second top?",
"conversation_id": "ec757c6c-c3ed-4a83-8e2c-756238f008bb"
}
## get the full conversation
GET kbn://api/chat/conversations/ec757c6c-c3ed-4a83-8e2c-756238f008bb
自定义 Agents
开发者也可以通过简单的 API 创建自己的自定义 agents。Agents 封装了指令、工具和数据访问,构建出定制化的推理引擎。
创建一个自定义 agent 就像发起一次 API 调用一样简单。下面的示例展示了一个例子,其中 "configuration" 字段包含所有关键细节,如指令或可用工具:
POST kbn://api/agent_builder/agents
{
"id": "custom_agent",
"name": "My Custom Agent",
"description": "Description of the custom agent",
"configuration": {
"instructions": "You are a log expert specialising in ...",
"tools":
...
}
}
创建完成后,可以直接查询该 agent:
POST kbn://api/agent_builder/converse
{
"input": "What news about DIA?",
"agent_id": "custom_agent"
}
这种方法把 agent 从一个需要从零开始构建的复杂系统,转变为一个简单的、声明式的业务逻辑单元,让你能更快交付智能自动化。
Tools
如果说 agents 定义了要完成什么,那么 tools 就定义了如何完成。
Tools 向 agents 暴露特定的 Elastic 核心能力,用于执行和检索信息或执行操作。Tools 可以包括核心功能,比如获取索引(get indexes)、获取映射(get mappings),也可以是更高级的功能,比如自然语言转 ES|QL。
Elasticsearch 内置了一组针对常见需求优化的默认 tools。但真正的灵活性来自于创建你自己的 tools。通过定义 tools,你可以决定 agent 在 ES|QL 中可以访问哪些查询、索引和字段,从而对速度、准确性和安全性实现精确控制。
注册一个新 tool 也同样只需要一次 API 调用。比如你可以创建一个利用 ES|QL(Elasticsearch Query Language)来查找某个特定金融资产新闻的 tool:
POST kbn://api/agent_builder/tools
{
"id": "news_on_asset",
"type": "esql",
"description": "Find news and reports about a particular asset where ...",
"configuration": {
"query": "FROM financial_news, financial_reports | where MATCH(company_symbol, ?symbol) OR MATCH(entities, ?symbol) | limit 5",
"params": {
"symbol": {
"type": "keyword",
"description": "The asset symbol"
}
}
...
}
...
}
注册完成后,你可以将新 tool 分配给自定义 agents,为它们提供一套精心挑选的能力,以便在合适的时机进行推理和调用。
我们提供一个平台,让你根据特定需求创建自定义 tools,例如使用 ES|QL,将 agent 从通用 agent 转变为基于你独特数据和业务领域的领域专家。
开放标准与互操作性
Elasticsearch Agents 和 Tools 通过开放标准 API 暴露,使它们能够轻松集成到更广泛的 agentic 框架生态中,作为基础构建模块。我们的方法很简单:没有黑盒。我们希望你能够将 Elastic 在搜索上的核心优势,与互补能力和其他 agentic 系统结合起来。
为了实现这一点,我们通过 API、新兴协议和开放标准暴露功能。
Model Context Protocol (MCP)
Model Context Protocol (MCP) 正快速成为跨系统连接 tools 的开放标准。通过支持 MCP,Elasticsearch 可以将对话式 AI 连接到你的数据库、索引和外部 API。通过在 Elastic Stack 中内置远程 MCP 服务器,任何兼容 MCP 的客户端都可以访问 Elastic 的 tools,并将其作为更大 agentic 工作流中的构建模块使用。
这不是单向的。你也可以从外部 MCP 服务器导入 tools,并在 Elasticsearch 内使用。很快,几乎所有东西都可能有 MCP 服务器,并且比我们自己创建的更全面。Elastic 提供大规模搜索和检索,你可以将其与其他平台的专业能力结合,构建高效的 agents。
Agent-to-Agent (A2A)
我们还在开发 Agent-to-Agent (A2A) 支持。MCP 是关于连接 tools,而 A2A 则是关于连接 agents。通过 A2A 服务器,你构建的 Elastic agents 可以与其他系统的 agents 直接通信:共享上下文、委派任务、协调工作流。
可以把它看作是推理层的互操作性。你的 Elastic agent 可以处理搜索和检索,然后将任务交给专门的支持或 IT agent,并无缝获取结果。最终形成一个协作 agent 的生态系统,每个 agent 都专注于自己最擅长的部分。
最终,采用 MCP 和 A2A 强化了我们对 Elasticsearch 作为一等公民角色的承诺,确保在更广泛的 agentic 生态系统中实现开放集成。
追踪与评估
随着搜索与 agents 集成,有效评估的挑战变得至关重要。要在真实的企业环境中自信地部署 agents,你需要确保它们不仅准确,而且高效可靠。如何衡量性能、诊断错误响应或改进基线?这一切都从可视性开始。
这就是为什么我们从底层设计 agent API 时就注重透明性。考虑以下简单的 agent 交互:
POST kbn://api/agent_builder/converse
{
"input": "what is our top portfolio account?"
}
响应不仅包含最终答案,还包括完整的执行追踪,详细说明 agent 选择了哪些 tools、使用的参数以及每一步的结果。
{
"conversation_id": "db5c0c8b-12bf-4928-a57e-d99129ad2fea",
"steps": [
{
"type": "tool_call",
"tool_call_id": "tooluse_Nfqr3mwtR92HTRIsTcGXZQ",
"tool_id": ".index_explorer",
"params": {
"query": "indices containing portfolio data"
},
"results": [...]
}
// ... more steps ...
],
"response": {
"message": "Based on the information I've gathered...."
}
}
全面的追踪和日志记录对于持续改进循环至关重要,很快,你将能够直接在 Elasticsearch 中存储和查看这些 agent 追踪记录。更棒的是,这些追踪基于 OpenTelemetry 协议构建,确保它们标准化且可移植,可与所选的可观测性平台集成。
这种级别的细节是实现真正持续改进循环的基础。它使你能够构建全面的测试套件、调试失败、识别失败模式以防止回归,并捕捉成功模式以微调性能。最终,这种数据驱动的方法是将有前景的原型转变为生产级、值得信赖 AI 系统的关键。
安全
随着 agents 和 tools 功能增强,安全不是可选项,而是基础。暴露 API、自动化任务和工作流需要企业系统值得信任。尤其是当 Agents 开始自动化更多工作流时,保障这些工作流的安全并确保符合企业要求至关重要。
上述能力继承了 Elastic 现有的控制措施,包括 API 调用的基于角色的访问控制(role-based control - RBAC)和 API 密钥管理。我们还将这些控制扩展到像 MCP 这样的新协议。这意味着支持 OAuth 等标准,并能够接入自定义认证机制。
我们的目标是让你在实验 agents 和 tools 时拥有灵活性,同时保持组织所需的安全性、合规性和治理水平。
未来发展
我们不仅是在添加功能,而是在为 agentic 上下文工程扩展 Elasticsearch。我们计划基于以下原则进行开发:
-
开源与标准承诺
我们对开源和开放标准的承诺,确保这些功能与外部 agentic 框架保持互操作性。你始终可以连接、扩展并组合生态系统中的 agents,同时保持对数据和工作流的控制。
-
上下文的价值
AI Agent 的上下文是其最重要的资产。在 agents 执行搜索和工作流操作时管理上下文是一项挑战。我们正在利用 Elastic 的核心优势解决上下文工程问题,确保 agent 始终能获得最相关的信息。
-
专注于 Agentic 数据流
未来,agents 将成为越来越大的数据来源,包括 agents 输出的内容(生成的文档、报告、可视化)以及 agents 的执行追踪(思考、工具调用、记忆/上下文)。Elastic 非常适合处理这类数据,我们正在研究如何利用这些数据进行分析、评估和自动改进。
-
设计即安全与防护
AI Agents 带来了全新的安全和防护挑战。Elastic 一直是安全解决方案的领导者,我们继续在企业级护栏、访问控制和"零信任"原则上进行构建。
-
嵌入平台
构建 AI Agents 的能力已嵌入 Elasticsearch 平台。这意味着平台级能力,如追踪、评估、可视化和分析,都适用于 agents。想基于 agent 执行构建仪表板?平台内置支持。想用情感分析评估 AI Agent 性能?平台可以实现。这使你能够围绕 AI 体验构建完整的生命周期。
Elastic 的目标是为你提供构建对话式 AI 和自动化工作流的接口,这些接口完全集成、可扩展,并以你的数据为基础。更多技术细节和进展将很快分享。
Agent Builder 目前已提供私人预览。联系以请求访问。有问题或反馈?请在我们的 Slack 工作区或讨论论坛中与开发者社区交流。
原文:https://www.elastic.co/search-labs/blog/ai-agentic-workflows-elastic-ai-agent-builder