Elastic 的 Agent 技能:让你的 AI 代理成为 Elastic 专家

作者:来自 Elastic Graham HudginsMatt Ryan

为你的 AI 编程代理提供知识,使其能够使用 Elastic Agent Skills 进行查询、可视化、安全防护和 自动化 操作。

Agent Builder 现在已正式发布。通过 Elastic Cloud Trial 开始使用,并在这里查看 Agent Builder 的文档。


每一个尝试将 AI coding agent 与专业平台一起使用的 developer、site reliability engineer (SRE) 或 analyst 都会遇到同样的问题。你让 agent 编写 query、配置 alert 或调查某件事情,它通常接近正确,但并不完全正确。Elastic 在这里有一个优势:十多年的文档、 blog 文章和社区回答意味着 AI agents 已经比大多数数据平台更了解 Elastic。但这种深度也带来了噪声。已废弃的 APIs 与当前 APIs 并列存在。过时的模式与最佳实践排名同样靠前。agent 会自信地复现一种在三个版本之前有效的方法,因为在它的训练数据中确实如此。结果就是产生了纠错成本:用户需要手动把文档放入 context、修复幻觉语法,并且不得不围绕 agent 工作,而不是与它协作。更糟糕的是,一些高级能力完全没有被使用,并不是因为用户不需要,而是因为 agent 不知道它们的存在。

这就是为什么我们要开源 Elastic Agent Skills:为 Elasticsearch、Kibana、Elastic Observability 和 Elastic Security 提供原生平台专业能力。将它们放入你已经使用的 agent runtime 中,让你的 agent 从一个会猜测大量 syntax 的 "通才" 提升为拥有专业能力的 agent,例如能够像 Elastic 自身工程团队一样使用许多架构标准。这个初始技术预览版本重点提供与 Elastic Cloud Serverless 最大兼容性的 skills,并且会快速演进以支持更旧的 stack 版本。

此外,Elastic 正在从两个方向解决这个问题。对于 Elastic 平台上的 agents,Elastic Agent Builder(现已正式发布)允许你创建并与 AI agents 交互,这些 agents 会继承你数据的访问控制,使用内置的搜索和分析工具,并在你的 dashboards、alerts 和 investigations 的上下文中工作。我们正在努力确保在 Elastic 平台上提供出色的 Agentic 体验。但并不是每一个 agent 都运行在 Elastic 内部。你的团队已经在使用 Cursor、Claude Code 或其他 runtimes,这些 agents 也需要正确使用 Elastic。这正是 Agent Skills 发挥作用的地方。

为什么 agents 在专业平台上会遇到困难

大型语言模型 (LLMs) 是非常强大的通才。它们可以编写 Python 、解释 Kubernetes manifests,以及重构 React components,因为它们的训练数据中充满了这些示例。但当涉及到平台特定的工作时 ------ 那种涉及专有 query language、复杂 API 表面以及领域特定最佳实践的工作 ------ 它们会以可预测的方式表现不足。

对于 Elasticsearch,这种差距表现得非常具体:

  • Elasticsearch Query Language (ES|QL) 是新的领域。LLMs 在 SQL 上训练得非常多,但 ES|QL 是一种基于 pipe 的 query language,具有不同的 syntax、不同的 functions 和不同的语义。Agents 经常编写看起来合理但无法解析的 queries。它们会把 WHERE 与 | WHERE 混淆,发明不存在的 functions,并且完全忽略基于 pipe 的组合模型。
  • API 表面既广又深。Elasticsearch、Kibana 和 Elastic Security 在 search、ingestion、alerting、detection rules、case management、dashboards 等方面公开了数百个 APIs。一个只有通用训练数据的 agent 必须猜测要调用哪个 endpoint、request body 应该是什么样子,以及如何处理 response。它猜错的频率足以削弱信任。
  • 最佳实践不在训练数据中。什么时候应该使用 semantic_text 而不是自定义 embedding pipeline?你应该如何为一个 10GB 的 CSV 构建 ingest pipeline?针对一个 MITRE ATT&CK 技术,正确的 detection rule syntax 应该是什么?通用 agents 默认并没有加载经过整理且结构可靠的 Elastic 特定知识。它们必须自己去寻找,即使找到了,原始文档也不一定包含熟练实践者所具备的判断和最佳实践。

结果是:Developers 花在修复 agent 输出上的时间比自己写代码还多。这不是任何人所期望的体验。

Agent Skills:为 agents 打包的平台知识

npx skills add elastic/agent-skills

Agent Skills 是由 instructions、scripts 和 reference material 组成的自包含目录,agent runtimes 可以动态加载。当一个 skill 处于激活状态时,agent 在正确的时间拥有正确的 context:query syntax、API patterns、validation logic、以及示例,因此它可以在第一次尝试时就正确完成任务。

每个 skill 都遵循开放的 agentskills.io 规范:一个包含 SKILL.md 文件的文件夹,其中包含 metadata 和结构化 instructions。没有专有格式,也没有 lock-in。Skills 可以在多个 agent runtimes 之间工作,包括 Cursor、Claude Code、GitHub Copilot、Windsurf、Gemini CLI、Cline、Codex 等等

初始 v0.1.0 发布版本包含的内容

第一批 skills 覆盖 Elastic Stack 的五个领域:

  • 与 Elasticsearch APIs 交互(search、indexing、cluster management)
  • 构建和管理 Kibana 内容,例如 dashboards、alerts、connectors 等
  • Elastic Observability 的领域专业知识
  • Elastic Security 的领域专业知识
  • Agent Builder中创建高效 agents

Skills 是可组合的

Skills 不是单体结构。它们从设计上就是模块化的。你的 agent 只加载与当前任务相关的 skills。正在处理 ES|QL query?ES|QL skill 会激活。需要根据这些结果构建 dashboard?dashboards skill 会接管。评估你的应用程序健康状况?service health skill 会发挥作用。调查 security alert?随着调查的推进,triage skill 会连接到 case management 和 response skills。

这种可组合性意味着你不需要一个试图覆盖所有内容的巨大 prompt。每个 skill 只携带其领域所需要的 context,不多也不少。

如果你正在将数据加载到 Elasticsearch、编写 queries 或迁移 indices,skills 可以减少生成代码、遇到错误以及查找文档排错的循环。

让你的 agent 加载一个 CSV 文件,它会使用一个 streaming ingestion 工具,该工具能够处理 backpressure 并从数据中推断 mappings。它不会使用一个手写的 _bulk 循环,否则在处理第一个大文件时就会耗尽内存。让它使用 ES|QL 进行查询,它会发现你实际的 index 名称和 field schemas,然后编写有效的 piped queries,使用正确的 syntax、合适的 aggregations,以及与版本兼容的功能选择,而不是一个带有 SQL 风格的猜测,需要经过三轮 debugging 才能修好。让它在 clusters 之间执行 reindex,它会遵循完整的运维 workflow:创建具有显式 mappings 的目标 index、为吞吐量调整 settings、异步运行任务,并在完成后恢复生产 settings,而不是一个简单的 _reindex 调用,跳过经验丰富的运维人员会执行的一半步骤。

你得到的不再是一个只提供看起来合理起点、还需要你修复的 agent,而是一个编码了实际运维规范的 agent,使输出真正能够工作。

使用 Elastic Agent Skills 的示例影响

Eval What the skill changed
es-audit-query-failed-logins Used the audit log query patterns from the skill instead of generic search
es-authz-role-mapping-ldap Emitted the correct role mapping API call structure
esql-basic-query Wrote ES|QL pipe syntax over Query DSL
esql-error-handling Schema first instead of guessing field names
esql-schema-discovery Never guessed an index name
es-ingest-csv-with-infer Used --infer-mappings alone, avoided combining with --source-format csv which causes an empty index
es-ingest-json-file Used robust ingestion approach capable of handling large files
es-reindex-local-async Created destination index first with replicas: 0 and refresh_interval: "-1", then async reindex. Baseline skipped any prep
es-security-403-privileges Followed the skill's diagnostic workflow for privilege errors instead of generic advice

对于安全团队

安全团队每天重复相同的操作 workflow:triaging alerts、tuning detection rules、managing cases。Agent Skills 将这些过程知识编码,使你的 AI agent 可以正确执行这些 workflow,按正确顺序调用正确的 API 并使用正确的 field 名称。想要一个从零到完整 Elastic Security 环境的动手演练而不离开你的 IDE,请参阅 从你的 AI agent 开始使用 Elastic Security

对于 observability 和运维团队

新的 Elastic Observability Agent Skills 减少了对复杂系统进行 instrumentation、管理 SLO、筛选复杂数据以及评估 service health 的操作负担。将原生 Elastic 专业知识直接嵌入 AI agents 使团队能够使用简单自然语言执行复杂的 observability workflow。这让 SRE 和 Ops 团队能够更快解决事件并更容易维护可靠系统。了解更多请参阅本博客

开源、开放规范、社区驱动

我们在 Apache 2.0 许可证下发布 Agent Skills,因为我们相信 agent 知识应该是开放的。skills 遵循的 agentskills.io 规范是开放标准,而不是 Elastic 专有格式。我们希望 skills 成为社区努力的成果,而不是封闭的花园。

更大图景的一部分

Agent Skills 是让 Elasticsearch 成为最适合 agent 使用的数据平台的更大计划的一部分。对于运行在 Elasticsearch 平台上的 agents,Agent Builder 进一步继承你的数据访问控制和权限,提供内置和自定义搜索与分析工具,并允许用户在 dashboards、alerts 和 investigations 上下文中与 agents 互动。最终,Agent Builder 很快将支持 skills,使开发者能够同时利用 Elastic Agent Skills 以及来自其他来源的 skills,以实现安全、上下文增强的聊天和自动化操作。

对于运行在其他平台的 agents,我们正在投资开放生态系统:

  • Model Context Protocol (MCP) server 扩展 :在 Agent Builder 中扩展 MCP endpoint,提供比当前 search、ES|QL 和 index 操作更多的工具。

  • 认证改进:简化 agents 安全连接,目标是消除手动 API key 复制粘贴。

  • LLM 可读文档:发布 llms.txt 和 AGENTS.md 文件,使 agents 能够自主发现和理解 Elastic API。

  • 用于 agent workflow 的命令行接口 (CLI):命令行工具让连接管理和常见操作更适合 agent 使用。

Skills 是你今天可以使用的层,其余的正在开发中。

开始使用

在开始之前 :AI 编码 agent 使用真实凭证、真实 shell 访问,并且通常拥有运行它们的用户的全部权限。当这些 agent 指向安全工作流时,风险更高:你是在将自动化系统的访问权限交给检测逻辑、响应操作和敏感遥测数据。每个组织的风险情况不同。在启用 AI 驱动的安全工作流之前,评估 agent 可以访问哪些数据、可以执行哪些操作,以及如果行为异常会发生什么

将 Elastic Agent Skills 安装到你的 agent runtime 中:

bash 复制代码
`npx skills add elastic/agent-skills`AI写代码

这会自动检测你已安装的 agent runtime,并将 skills 放入正确的配置目录。从那里,你的 agent 会自动加载它们。

你也可以直接浏览 skills 目录,并通过将 skill 文件夹复制到 agent 的配置目录来手动安装单个 skill。

还没有 Elasticsearch 集群?开始一个 Elastic Cloud 免费试用。大约一分钟即可获得完全配置的环境。

探索项目

原文:www.elastic.co/search-labs...

相关推荐
ajassi20004 小时前
Gitlab和Github的用途和指令
大数据·elasticsearch·搜索引擎
shuangrenlong4 小时前
androidstudio的changelist显示问题
大数据·elasticsearch·搜索引擎
曾阿伦4 小时前
遍历 ES 节点校验分词:分布式集群分词一致性保障实践
网络·分布式·elasticsearch
灵机一物4 小时前
灵机一物AI智能电商小程序(已上线)-从“帮我买抽纸”到自动下单支付——大模型驱动全链路自动购物系统实战
人工智能·python·elasticsearch·小程序·fastapi·rag·langgraph
彭于晏Yan1 天前
Springboot实现连接多个ElasticSearch数据库
数据库·spring boot·elasticsearch
何中应1 天前
Easy-Es整合
大数据·spring boot·elasticsearch·搜索引擎
float_六七1 天前
Git忽略规则终极指南
大数据·git·elasticsearch
摇滚侠1 天前
ElasticSearch 是干什么的,从百度搜索、B 站搜索功能、京东搜索功能,淘宝搜索功能,理解 ElasticSearch 实现了什么功能
elasticsearch·百度·dubbo
灵机一物1 天前
灵机一物AI智能电商小程序(已上线)-从零构建高可用智能电商客服:LangGraph+LlamaIndex+ES三层检索RAG系统实战|彻底解决大模型幻觉
elasticsearch·大模型实战·rag·llamaindex·langgraph·电商客服·零幻觉问答