会话历史

更新时间:
复制为 MD 格式

调试智能体行为、回溯对话上下文时,需要完整查看历史对话记录。本文介绍会话历史的概念、支持的框架、前提条件,以及如何在控制台和代码中使用会话历史功能。

什么是会话历史

智能体与调用方的多轮对话需要完整留存,以便排查回复异常、分析对话流程。会话历史是记忆存储的子功能,开启后通过 AgentRun Server 产生的对话将自动持久化到表格存储(Table Store,简称 OTS)中,支持按会话维度查看、管理和删除历史消息。

支持的框架

会话历史自动记录通过 AgentRun Server 产生的对话,无需手动调用 API 写入。目前支持以下三种开发框架:

框架

会话历史记录方式

配置要求

LangChain

自动记录

创建 AgentRunServer 时传入 memory_collection_name 即可

Google ADK

设置 agent_id 后自动同步

需初始化 OTS SessionStore 并在会话数据中携带 agent_id

LangGraph

设置 agent_id 后自动同步

需在调用 AgentRun Server 时携带 agent_id 参数

前提条件

  • 已创建表格存储(OTS)类型的记忆存储实例。如尚未创建,请参见创建和管理记忆存储。会话历史仅支持 OTS 类型,RDS 类型的记忆存储不支持此功能。

  • 已授予操作该记忆存储的权限。使用 RAM 用户操作时,需具备 AliyunAgentRunFullAccess 权限策略,或自定义策略中包含记忆存储的读写权限。

  • 已了解会话历史开启后无法关闭,该操作不可逆。开启时系统会弹出确认开启会话历史对话框,单击确认开启完成操作。

通过控制台管理会话历史

会话历史页签包含两个子 Tab:会话历史(查看会话列表和详情)和代码集成(查看 OTS SDK 代码示例)。

查看会话列表

  1. 登录 AgentRun 控制台,在左侧导航栏,选择 记忆

  2. 在记忆存储列表中,单击目标记忆存储的名称,进入详情页。

  3. 切换到会话历史页签。

会话列表按更新时间倒序排列,每条会话记录展示以下信息:

字段

说明

Session ID

会话的唯一标识,长 ID 自动截断显示,鼠标悬浮可查看完整值

内容预览

取该会话第一条消息的内容前 100 字符;若无消息则显示更新时间

元信息

格式为 Session ID: {短ID} · User ID: {短ID} · Agent ID: {短ID} · {字符数}B,字符数为该会话所有消息 content 长度之和

更新时间

会话最后一次更新时间,格式为本地时间的年月日时分

列表底部分页控件支持每页显示 10、20 或 50 条记录。切换页码或每页条数时,已选项自动清空。

查看消息详情

  1. 按上述步骤进入会话历史页签。

  2. 在列表中,单击目标会话记录右侧的查看按钮。

  3. 右侧滑出详情抽屉,展示以下信息:

    • 基本信息:会话 ID、智能体 ID、调用方 ID、更新时间

    • 元数据:该会话的消息列表,每条消息的 content 字段以 JSON 格式展示(默认显示前 2 条)

    • 相关会话状态:若该会话有关联的会话状态数据,可在此区域查看,并可跳转到会话状态详情

删除单条会话

  1. 会话历史列表中,找到目标会话记录。

  2. 单击该记录右侧的删除按钮。

  3. 在确认对话框中单击确认删除

验证删除成功

  1. 页面顶部出现「成功删除 1 条会话历史」提示。

  2. 列表自动刷新,确认该条记录已从列表中移除。

批量删除会话

  1. 会话历史列表中,通过复选框勾选需要删除的会话记录,或单击列表顶部的「全选」复选框。

  2. 列表上方出现批量删除 (N)按钮(N 为已选数量),单击该按钮。

  3. 在确认对话框中单击确认删除

验证删除成功

  1. 页面顶部出现「成功删除 N 条会话历史」提示。

  2. 列表自动刷新,确认所有已选记录已从列表中移除,选中项清空。

交叉查看会话状态

在会话历史的消息详情抽屉中,可以查看该会话关联的会话状态数据:

  1. 按上述步骤打开消息详情抽屉。

  2. 相关会话状态区域,查看该会话关联的状态 Key-Value 数据。

  3. 单击某条状态记录的查看按钮,可跳转到会话状态页签的详情视图,查看该状态的完整信息。

说明

从会话状态详情也可反向跳转:在会话状态详情抽屉中,单击「查看相关会话历史」,可切换到会话历史页签并打开对应的会话详情。

限制与注意事项

说明
  • 会话历史仅支持表格存储(OTS)类型的记忆存储。RDS 类型的记忆存储不支持此功能,控制台详情页中不会显示会话历史页签。

  • 会话历史开启后无法关闭,该操作不可逆。开启后开关将变为置灰不可操作状态。

  • 会话历史不支持搜索和筛选。如需按智能体 ID、调用方 ID 或 Session ID 筛选,请使用会话状态功能。

  • 删除操作不可恢复,该会话下的所有消息数据将被永久清除。

  • 使用 ADK 或 LangGraph 框架时,必须在请求数据中设置 agent_id 参数,否则会话历史无法自动同步。

  • 会话历史产生的对话数据存储在表格存储(TableStore)实例中,费用已包含在记忆存储的 OTS 资源费用内,不单独计费。

常见问题

开启会话历史后可以关闭吗?

会话历史开启后无法关闭,该操作不可逆。开关在开启后变为置灰不可操作状态。

RDS 类型的记忆存储可以使用会话历史吗?

不支持。会话历史仅支持表格存储(OTS)类型的记忆存储。RDS 类型的记忆存储在详情页中不会显示会话历史页签。

为什么 ADK 或 LangGraph 的会话历史没有自动记录?

请确认请求数据中是否设置了 agent_id 参数。ADK 和 LangGraph 框架需要在会话数据或 Server 配置中显式指定 agent_id,设置后会话历史将自动同步。