调试智能体行为、回溯对话上下文时,需要完整查看历史对话记录。本文介绍会话历史的概念、支持的框架、前提条件,以及如何在控制台和代码中使用会话历史功能。
什么是会话历史
智能体与调用方的多轮对话需要完整留存,以便排查回复异常、分析对话流程。会话历史是记忆存储的子功能,开启后通过 AgentRun Server 产生的对话将自动持久化到表格存储(Table Store,简称 OTS)中,支持按会话维度查看、管理和删除历史消息。
支持的框架
会话历史自动记录通过 AgentRun Server 产生的对话,无需手动调用 API 写入。目前支持以下三种开发框架:
|
框架 |
会话历史记录方式 |
配置要求 |
|
LangChain |
自动记录 |
创建 |
|
Google ADK |
设置 |
需初始化 OTS SessionStore 并在会话数据中携带 |
|
LangGraph |
设置 |
需在调用 AgentRun Server 时携带 |
前提条件
-
已创建表格存储(OTS)类型的记忆存储实例。如尚未创建,请参见创建和管理记忆存储。会话历史仅支持 OTS 类型,RDS 类型的记忆存储不支持此功能。
-
已授予操作该记忆存储的权限。使用 RAM 用户操作时,需具备
AliyunAgentRunFullAccess权限策略,或自定义策略中包含记忆存储的读写权限。 -
已了解会话历史开启后无法关闭,该操作不可逆。开启时系统会弹出确认开启会话历史对话框,单击确认开启完成操作。
通过控制台管理会话历史
会话历史页签包含两个子 Tab:会话历史(查看会话列表和详情)和代码集成(查看 OTS SDK 代码示例)。
查看会话列表
-
登录 AgentRun 控制台,在左侧导航栏,选择 记忆。
-
在记忆存储列表中,单击目标记忆存储的名称,进入详情页。
-
切换到会话历史页签。
会话列表按更新时间倒序排列,每条会话记录展示以下信息:
|
字段 |
说明 |
|
Session ID |
会话的唯一标识,长 ID 自动截断显示,鼠标悬浮可查看完整值 |
|
内容预览 |
取该会话第一条消息的内容前 100 字符;若无消息则显示更新时间 |
|
元信息 |
格式为 |
|
更新时间 |
会话最后一次更新时间,格式为本地时间的年月日时分 |
列表底部分页控件支持每页显示 10、20 或 50 条记录。切换页码或每页条数时,已选项自动清空。
查看消息详情
-
按上述步骤进入会话历史页签。
-
在列表中,单击目标会话记录右侧的查看按钮。
-
右侧滑出详情抽屉,展示以下信息:
-
基本信息:会话 ID、智能体 ID、调用方 ID、更新时间
-
元数据:该会话的消息列表,每条消息的 content 字段以 JSON 格式展示(默认显示前 2 条)
-
相关会话状态:若该会话有关联的会话状态数据,可在此区域查看,并可跳转到会话状态详情
-
删除单条会话
-
在会话历史列表中,找到目标会话记录。
-
单击该记录右侧的删除按钮。
-
在确认对话框中单击确认删除。
验证删除成功
-
页面顶部出现「成功删除 1 条会话历史」提示。
-
列表自动刷新,确认该条记录已从列表中移除。
批量删除会话
-
在会话历史列表中,通过复选框勾选需要删除的会话记录,或单击列表顶部的「全选」复选框。
-
列表上方出现批量删除 (N)按钮(N 为已选数量),单击该按钮。
-
在确认对话框中单击确认删除。
验证删除成功
-
页面顶部出现「成功删除 N 条会话历史」提示。
-
列表自动刷新,确认所有已选记录已从列表中移除,选中项清空。
交叉查看会话状态
在会话历史的消息详情抽屉中,可以查看该会话关联的会话状态数据:
-
按上述步骤打开消息详情抽屉。
-
在相关会话状态区域,查看该会话关联的状态 Key-Value 数据。
-
单击某条状态记录的查看按钮,可跳转到会话状态页签的详情视图,查看该状态的完整信息。
从会话状态详情也可反向跳转:在会话状态详情抽屉中,单击「查看相关会话历史」,可切换到会话历史页签并打开对应的会话详情。
限制与注意事项
-
会话历史仅支持表格存储(OTS)类型的记忆存储。RDS 类型的记忆存储不支持此功能,控制台详情页中不会显示会话历史页签。
-
会话历史开启后无法关闭,该操作不可逆。开启后开关将变为置灰不可操作状态。
-
会话历史不支持搜索和筛选。如需按智能体 ID、调用方 ID 或 Session ID 筛选,请使用会话状态功能。
-
删除操作不可恢复,该会话下的所有消息数据将被永久清除。
-
使用 ADK 或 LangGraph 框架时,必须在请求数据中设置
agent_id参数,否则会话历史无法自动同步。 -
会话历史产生的对话数据存储在表格存储(TableStore)实例中,费用已包含在记忆存储的 OTS 资源费用内,不单独计费。
常见问题
开启会话历史后可以关闭吗?
会话历史开启后无法关闭,该操作不可逆。开关在开启后变为置灰不可操作状态。
RDS 类型的记忆存储可以使用会话历史吗?
不支持。会话历史仅支持表格存储(OTS)类型的记忆存储。RDS 类型的记忆存储在详情页中不会显示会话历史页签。
如何搜索或筛选会话历史?
会话历史不支持搜索和筛选。如需按智能体 ID、调用方 ID 或 Session ID 进行筛选,请使用会话状态功能。
为什么 ADK 或 LangGraph 的会话历史没有自动记录?
请确认请求数据中是否设置了 agent_id 参数。ADK 和 LangGraph 框架需要在会话数据或 Server 配置中显式指定 agent_id,设置后会话历史将自动同步。