你的 AI 聊天不应只是一张截图:Elastic Agent Builder 中的实时共享对话

作者:来自 Elastic Graham Hudgins, Bruno Farache

无论接下来由谁接手处理这个问题,都可以查看完整的对话记录,并继续使用同一个 AI Agent 进行交互,而无需获得该对话之外任何其他内容的访问权限。

Agent Builder 现已正式发布(GA)。立即开始使用 Elastic Cloud 试用版,并点击此处查看 Agent Builder 文档。


现在,你可以将 Elastic Agent Builder 中的对话共享给指定的团队成员,也可以向所有有权使用该 Agent 的用户开放。

Agent Builder 的对话共享是实时的,而不是创建一份只读副本。 被共享的用户可以查看完整的对话历史,并在原始对话线程中继续向同一个 AI Agent 提问。

共享用户的访问权限基于其已有的 Kibana 权限,并且仅限于被共享的这一条对话,不会因此获得其他对话的访问权限。

多用户对话功能现已在 Elastic Cloud Serverless 中正式发布(GA),并将在即将推出的 9.6 版本中支持 Elastic Cloud Hosted(ECH)和 Elastic Self-Managed(自行管理部署)。

如果你刚开始接触 Agent Builder,可以先阅读 Elastic Agent Builder 简介以及正式发布公告,了解其核心功能和使用方法。

聊天中的多用户共享对话。

为什么要共享 Agent Builder 对话,而不是共享摘要

与 AI Agent 的对话会随着交互不断积累上下文。可能直到第十轮对话,你才终于提出了一开始真正想问的问题。

现在,对话所有者可以直接共享整个对话,而无需事先整理摘要或复制上下文。

举个例子,想象一下医院的交接班场景。

患者的病历属于患者本人,并始终保留在病床旁。因此,早上 7 点接班的医护人员可以查看与上一班医护人员完全相同的病历记录。

没有人需要将病历复制到个人笔记本中,再带回家。

我们希望 AI 对话也能以同样的方式运作。

对话线程应该围绕问题本身存在,而不是依附于某个特定的人。 无论接下来由谁接手处理问题,都可以直接查看同一条对话线程,从而实现零额外工作量的交接。

不仅如此,这还是一种实时交接(Live Handoff)。

大多数 AI 聊天产品会通过链接共享一份只读的对话快照。这实际上是对话在共享时刻的一份静态副本,后续内容不会继续更新。

而共享的 Agent Builder 对话始终保持实时状态。

接收者可以在同一条对话线程中,继续与相同的自定义或内置 Agent 交互,而 Agent 仍然保留此前的完整对话历史。

访问权限由接收者已有的 Kibana 权限决定,而不是仅仅依靠持有某个私密 URL 来获得访问权。

SRE 团队如何利用共享 AI 对话进行事件响应

实时共享对话在事件响应场景中具有很高的应用价值。

下面介绍站点可靠性工程(Site Reliability Engineering,SRE)团队可以采用的两种典型方式。

如何在交接班时移交安全或运维事件

凌晨 3 点,一条服务级别目标(Service Level Objective,SLO)错误预算消耗速率(Burn Rate)告警触发,通知了当班的 SRE 工程师。

该工程师打开一个 AI Agent 对话。这个 Agent 可以访问应用性能监控(APM)链路追踪数据以及日志数据流(Data Streams)。

经过六轮对话,工程师一直在尝试定位并解决问题。

随后,这名 SRE 工程师的值班时间结束了。

他不需要将调查结果整理成摘要,再粘贴到事件响应频道中。

相反,他只需将下一班的值班 SRE 添加为该对话的成员,然后直接移交整个对话线程。

接班工程师可以查看此前已经完成的检查,并继续提出下一个问题。

与此同时,AI Agent 仍然保留服务名称和相关时间范围等上下文信息,无需重新建立调查背景。

多名工程师如何在同一条对话中协作处理事件

假设三名工程师分工调查同一个事件:

  • 一名工程师调查事件是否与近期的软件部署有关。

  • 另一名工程师检查节点级别的内存压力。

  • 第三名工程师检查上游依赖服务的延迟是否发生变化。

将对话设置为公开后,三名工程师就可以在同一条对话线程中,与同一个 AI Agent 协同工作。

由于每轮对话都会显示提问者的身份,因此团队成员可以清楚地看到彼此已经完成的调查工作,避免重复执行同事两分钟前刚刚运行过的查询。

这条对话线程就成为整个事件响应团队共享的工作记录空间。

它实现了传统事件响应频道希望提供的协作能力,但有一个重要区别:

这个共享空间不仅能够记录和讨论问题,还可以直接通过 AI Agent 查询底层数据。

Agent Builder 对话共享与访问控制的工作原理

每条对话都采用以下两种访问模式之一,由对话所有者(即创建该对话的用户)决定使用哪种模式:

  • Restricted(受限模式):这是默认模式,既适用于尚未共享的对话,也适用于仅向指定用户共享的对话。只有对话所有者和被添加到成员列表中的用户才能查看对话内容或继续对话。新创建的对话默认是私有的,且没有其他成员。
  • Public(公开模式):任何有权访问该对话所使用 Agent 的用户,都可以查看并继续这条对话。公开对话还会出现在这些用户的对话列表中,因此用户可以直接发现这些对话,而不必依赖他人提供的 URL。公开对话不能设置成员列表,因为所有有权使用该 Agent 的用户都已经拥有访问权限。

每条对话都属于创建它时所在的 Kibana Space(空间),共享操作不会改变这一归属关系。

即使将对话设置为公开,也不会使其在其他 Kibana Space 中可见。

此外,共享对话只会授予用户访问该条特定对话的权限,不会赋予用户任何原本不具备的其他权限。

系统会在每次读取对话时检查用户是否拥有对应 Agent 的访问权限。这项检查甚至适用于对话所有者本人。

如果某个用户失去了对该 Agent 的访问权限,或者该 Agent 被删除,那么该用户将无法继续读取相关对话,该对话也会从其对话列表中消失。

对于受限模式下的共享对话,成员可以查看完整的对话历史,并通过发送新消息继续与 Agent 交互。

不过,对话所有者始终保留对话本身及其共享设置的管理权限。

不同用户角色的操作权限

操作 所有者(Owner) 成员(Member) 其他用户(Other users)
查看并继续对话(Read and continue) 是 是 仅当对话为公开模式时
重命名对话(Rename) 是 否 否
删除对话(Delete) 是 否 否
修改共享设置(Change sharing) 是 否 否

注意: 上述权限还受到用户现有 Kibana Space 权限和 Agent 访问权限的约束。即使用户是对话所有者或共享成员,如果失去了对应 Agent 的访问权限,也将无法继续访问该对话。

如何分享 agent 构建器对话

如何在 Kibana 用户界面中分享对话

要分享已保存的对话,请选择对话标题栏中的邀请控件。在分享面板中,所有者可以选择访问模式并查看当前成员,也可以查找要添加的人员。只有所有者可以访问分享控件。成员可以查看参与者列表,但无法更改访问权限。

所有者选择访问模式,并为私密对话指定可以访问的人员。

谁发送了什么,以及如何给团队留言

每条消息都会显示发送者的姓名和头像,以标明发送者身份。agent 的回复会标注该 agent 的身份,使多人和 agent 共同参与的对话仍然清晰易读。此外,在撰写聊天消息时,你可以请求 agent 回复,也可以只给团队留言。

给其他团队成员留言(跳过 agent 回复)。

如何通过 Kibana 应用程序编程接口分享对话

通过应用程序编程接口分享对话只需发送一次请求。PUT /api/agent_builder/conversations/{conversation_id}/access_control 会替换对话的全部访问控制配置,因此请发送你想要的完整状态,而非增量变更。

要与两名指定用户分享对话:

vbnet 复制代码
`

1.  curl -X PUT "${KIBANA_URL}/api/agent_builder/conversations/${CONVERSATION_ID}/access_control" \
2.       -H "Authorization: ApiKey ${API_KEY}" \
3.       -H "kbn-xsrf: true" \
4.       -H "Content-Type: application/json" \
5.       -d '{
6.         "access_mode": "private",
7.         "entries": [
8.           {"type": "user", "id": "u_A1b2C3d4E5f6", "role": "member"},
9.           {"type": "user", "id": "u_G7h8I9j0K1l2", "role": "member"}
10.         ]
11.       }'

`AI代码解释![](https://csdnimg.cn/release/blogv2/dist/pc/img/runCode/icon-arrowwhite.png)

同一个端点支持全部三种分享状态。

目标 access_mode 条目
与指定用户分享(用户界面中的受限) private 每人对应一个 {"type": "user", "id": "...", "role": "member"} 对象
向所有可以使用 agent 的人开放(用户界面中的公开) public []
完全停止分享(受限,无成员) private []

请阅读文档,了解完整规范和应用程序编程接口的限制。

开始使用 agent 构建器的对话分享功能

如果你使用的是 Elastic 云无服务器服务,请在 agent 构建器中打开你拥有的任意对话,并找到标题栏中的邀请控件。在 Elastic 技术栈中,此功能将于 9.6 版本推出。对话访问控制介绍了访问模式,以及分享功能如何与 Kibana 和 Elasticsearch 权限配合使用,而 Kibana 应用程序编程接口参考提供了请求格式。如果你尚未使用过 agent 构建器,请先开始免费试用,并按照 agent 构建器入门指南完成入门操作。

告诉我们,你希望对话分享功能接下来提供哪些能力。

本文所述任何特性或功能的发布及时间安排均由 Elastic 自行决定。任何当前尚未提供的特性或功能,都可能无法按时交付,甚至可能不会交付。

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

相关推荐
承渊政道2 小时前
CentOS 7单机部署Elasticsearch 7.17.29:从启动报错、CRUD验证到固定公网地址的完整过程
linux·elasticsearch·centos·内网穿透·cpolar·单机部署
Elasticsearch19 小时前
Kibana:通过分步教程学习构建仪表板和创建数据可视化图表
elasticsearch
高级程序源1 天前
django房屋租赁系统28636-计算机课程设计、毕业设计
python·mysql·elasticsearch·小程序·django·flask·课程设计
Wx-bishekaifayuan1 天前
springboot大学生就业平台47691-计算机课程设计、毕业设计
java·spring boot·后端·elasticsearch·课程设计·express·旅游
大圣编蚕2 天前
OpenGL ES 教程:从零开始掌握 3D 渲染
大数据·elasticsearch·3d
回眸不遇2 天前
Elasticsearch嵌套类型nested使用指南<第七十二篇>
大数据·elasticsearch·jenkins
Elasticsearch2 天前
使用 Elastic Stack 丰富邮政地址信息 —— 第三部分
elasticsearch
Elasticsearch2 天前
使用 Elastic Stack 丰富邮政地址信息 —— 第二部分
elasticsearch
可乐ea2 天前
Git 基础设施重建:智能体规模开发下的读写解耦
大数据·git·elasticsearch·分布式存储·git基础设施·智能体规模开发·读写解耦