用途
kibana-context-engine 是 Elastic 官方智能体技能,用于读取 Kibana Context Engine 中注册的 AI Index,以及这些索引里存储的 Knowledge Indicator(KI)。KI 是面向智能体准备的上下文文档,例如数据描述、摘要、访问模式、可运行查询或 Kibana 资源记录。当问题可能被这些 KI 覆盖时,应优先检索 AI Index,再进行更广泛的检索。
主要能力
技能封装了三个只读的 Context Engine 接口:
- 列出(List):
GET kbn:/api/context_engine/ai_index,返回已注册的 AI Index 列表,含 id、description、managed 与 dest.type/dest.value。 - 描述(Describe):
GET kbn:/api/context_engine/ai_index/{aiIndexId}/_describe,返回供人阅读的上下文块,包含 FROM 目标、字段列表、语义字段、KI 类型与标签统计、三个示例查询。 - 查询(Query):
POST kbn:/api/context_engine/ai_index/_query,接受{ query, params?, limit? },返回 ES|QL 的{ columns, values }。
技能同时说明了 KI 的规范字段结构(type、title、description、content、tags、attributes、expires_at、governance.lifecycle.status、governance.provenance.created_by.uri 等),以及 attributes.esql 中可运行查询的提取方式。
使用方式
推荐顺序为 list → describe → query,不可跳过 describe 或猜测索引 id、FROM 目标、字段名。所有操作通过 elastic CLI 执行,对应命令为:
elastic kb context-engine get-context-engine-ai-indexelastic kb context-engine get-context-engine-ai-index-aiindexid-describe --ai-index-id '<id>'elastic kb context-engine post-context-engine-ai-index-query --query '<esql>' [--params '<json>'] [--limit <n>]
查询应把用户输入作为命名参数传入,避免字符串插值。每次查询默认 limit 为 100,最大 1000,查询长度上限 10,000 字符。查询由服务端自动施加空间过滤与生命周期过滤(仅活跃且未过期、数据流上仅最新修订),调用方不能覆盖。
适用场景
- 在 AI Index 中检索、探索或统计 KI。
- 从 KI 回答特定问题,或定位 KI 所指向的源数据。
- 按 KI 类型、标签过滤,或执行全文检索(词法与语义融合)。
- 仅在用户明确询问时读取已删除或已过期的 KI。
限制
- 需要安装 elastic CLI;未安装时只能告知用户用途,不得猜测凭据或直接调用 HTTP API。
- 不负责创建、更新、删除 AI Index,也不负责生成 KI 或管理其自动化配置。
- 空间范围由请求决定,写入查询中的空间条件无效。
- 查询响应超过 20 MB 会报错,需用 KEEP 收窄列、降低 limit 或使用 STATS 聚合。
- 常见问题包括:CLI 版本过旧、空间未启用 contextEngine、缺少 Kibana 读取权限或索引权限等。