用途:在 Kibana Agent Builder 中管理三类资源——工具(Tool)、智能体(Agent)与会话(Chat)。工具是可复用函数,供智能体检索或操作数据;智能体是带指令和工具集的 LLM 实体;会话是与已有智能体的临时消息交互。创建工具不等于创建智能体,需先区分用户意图。
主要能力:列出、创建、查看、更新、删除工具与智能体,并测试工具。工具类型包括 index_search(限定索引模式的开放式搜索)、esql(参数化查询,使用 ?param 占位符与 params 对象)、workflow(引用已有工作流 id 的多步自动化)。内置工具使用 platform.core.* 前缀。
使用方式:通过 elastic CLI 执行操作,不直接调用 HTTP API,也不猜测凭据。若未安装 elastic CLI,应告知用户其用途。写入前先发现现有资源:GET kbn:/api/agent_builder/tools 与 GET kbn:/api/agent_builder/agents,避免重复 id 或名称。创建工具用 POST kbn:/api/agent_builder/tools,创建智能体用 POST kbn:/api/agent_builder/agents,创建后需用 GET 验证并报告真实响应。更新工具用 PUT kbn:/api/agent_builder/tools/{toolId},删除用 DELETE;智能体同理。会话使用 POST kbn:/api/agent_builder/converse/async。
限制与约束:工具 POST 仅接受 id、type、description、configuration、tags,不接受 name;索引搜索配置使用 pattern 而非 index;ES|QL 工具必须提供 params,即使为空;每个参数仅接受 type 与 description,不支持 default 或 optional;工具 PUT 仅接受 description、configuration、tags,id 与 type 不可变;智能体 PUT 不接受 id、name、type 等不可变字段。违反约束返回 400。ES|QL 查询应包含 | LIMIT N 以控制 token。索引搜索应尽量缩小范围,避免使用 *。删除等破坏性操作需先与用户确认。
适用场景:为客服反馈、营销活动、合同分析等构建基于 Elasticsearch 数据的智能体与工具。ES|QL 语法参考 elasticsearch-esql 技能,工作流 YAML 参考 kibana-workflows 技能。