20 代理内存

代理内存是 AI 代理系统的一部分,该系统允许代理在轮流、任务或会话中保留和重复使用信息。

与模型的上下文窗口(仅限于当前提示)不同,内存可以持久保存事实、首选项、先前决策、工具输出、中间计划或有关环境的观察。

Oracle AI Data Platform 中的代理内存

AI Data Platform 提供了限制在会话持续时间的短期内存。您可以在代理的上下文选项卡中配置可以保留在内存中的内容。

单代理内存配置

可以在代理节点的上下文选项卡中找到单个代理系统的内存配置。


可视化构建器画布随单个代理节点 InvoiceAnalyst 一起显示。此时将选中节点并突出显示“上下文”选项卡。

内存配置 说明
启用代理内存 此设置启用代理内存。禁用时,代理本质上是一个无状态系统。每个回合都独立处理,并且不能询问后续问题。我们建议启用内存。
限制对话历史记录 禁用此选择时,前一轮将填充内存,直到模型用完上下文并返回错误。如果需要短会话,则可以禁用此设置。但是,对于大多数用例,Oracle 建议限制对话历史记录。
截断配置 如果您选择限制对话历史记录,则可以通过以下方式决定截断历史记录:
  • 仅保留最后 N 条消息(用户 + 代理)
  • 设置总体令牌预算(先入先出)
  • 或者两者兼而有之,首先触发代理内存的截断
最大消息限制 如果选择保留最后 N 条消息,则可以设置值 N。
令牌预算 或者,您可以设置整体令牌预算。第一个令牌被删除,以将最新的令牌保留在内存中。

多代理系统内存配置(主管模式)

在主管代理的上下文选项卡中配置多代理系统的内存。


可视化构建器画布显示了一个多代理。此时将选择 AccountsManager 节点并显示 "Memory"(内存)选项卡。

多代理系统的内存已强制实施且无法禁用,并且超级用户代理节点中显示的内存截断选项仅应用于超级用户代理内存。可以根据为整个系统选择的状态隔离策略,在执行程序节点 Context 选项卡中配置每个执行程序代理内存截断策略。

多代理系统内存配置还允许您选择执行程序代理的内存共享策略。有三个选项:Stateless、Private 和 Shared。请注意,该策略将应用于所有执行程序代理。

执行者代理的状态隔离 说明
无状态 每个执行程序代理只能看到由主管分配的任务。呼叫之间未结转任何历史记录。执行程序代理无法向主管代理发出跟进请求。

如果选择了无状态,则会禁用每个执行程序代理的内存。

专用 每个执行程序代理只能看到自己过去的交互。它无法看到其他执行程序代理或与主管代理的原始用户对话。

如果选择了 private,则可以为每个代理节点的上下文“内存”选项卡中的每个执行程序代理单独配置内存截断策略。

共享 执行者座席可以查看座席和用户的完整对话历史记录。所有代理都在一个共享上下文中工作。

如果选择了共享,则可以在每个代理节点 Context 选项卡中分别为每个执行程序代理配置内存截断策略。

代理中的存储内存

随着代理的部署并为更多用户提供服务,监视用于为代理存储会话数据的数据库容量量变得非常重要。您可以从存储内存选项卡中查看和修改代理的存储内存设置。您可以单击编辑以修改长期内存和会话保留设置。


此时将打开代理页,其中 "Stored Memory"(存储的内存)选项卡处于选中状态并突出显示。

设置 说明
连接状态 与存储所有会话数据的 Oracle Autonomous AI Lakehouse 的连接状态。
已用 ADB 容量 此代理的所有会话中使用的数据库总容量。
会话 此代理的会话总数。包括测试 (Playground) 和部署会话。
AI 计算 托管代理的 AI 计算的名称。如果部署了代理,则这是托管部署的 AI 计算。否则,这是托管 Playground 的 AI 计算。

长期记忆

您可以配置代理,以便用户通过多个会话与同一代理进行交互。用户可以共享重要信息,例如首选项,座席还可以从多个会话中采用的常见模式(例如使用的工具)中学习。通过长期内存支持跨多个会话访问提取的内存。

您可以从代理中的存储内存选项卡配置长期内存。

会话数据保留

Oracle AI Data Platform 中的会话数据是指在会话期间座席与用户之间交换的所有消息。

注意:

Oracle 强烈建议您为存储在 Oracle Autonomous AI Lakehouse 数据库中的会话数据创建冷存储副本,以保留用户和代理之间交换的所有消息的完整记录,以支持审计、法律发现和诉讼。

会话可能会持续数小时、数天甚至数周,从而导致会话数据交换和保留大量消息。所有 AI Data Platform 会话数据都存储在为您的实例预配的 Autonomous AI Lakehouse 中,以启用 AI 功能。有关详细信息,请参阅 AI 功能管理。

默认情况下, AI Data Platform 不会限制为预配的自治 AI Lakehouse 中的每个会话存储的会话数据量。因此,在座席经常用于多个会话中的许多用户的情况下,会话数据可以快速增长。要进行管理,Oracle 建议对保留的会话数据量进行配置限制。

首次创建代理时,可以配置其会话保留设置。请参见 Create an Agent 。如果已创建代理并且您希望重新配置其会话保留设置,则可以从会话内存选项卡执行此操作。

设置 说明
会话保留 启用应用保留策略以配置在达到指定限制时如何以及何时删除会话数据。
保留限制 选择用于管理会话数据限制的方法:
  • 保留期定义保留会话数据的时间范围(以天为单位)。当会话数据达到到期期限时,将从您的 Autonomous AI Lakehouse 中将其删除。
  • 会话大小限制定义保留会话数据的上限 (MB)。达到此上限时,将首先删除最早的数据。
  • 线程计数限制定义在会话数据中保留的线程数上限,即用户消息和代理响应的组合。达到上限时,将首先删除最早的线程。

自动汇总

可以独立于会话保留启用自动汇总。自动汇总将应用于在模型的“上下文”窗口中注入的会话数据。此选项汇总了超过所选模型上下文长度 80% 的旧消息。

如果您希望将来自长会话的数据保留在数据库中,同时防止这些长会话超过代理的上下文窗口,则这是一个不错的选择。

注意:

汇总由 LLM 生成,以便在删除较早的源消息之前保留重要的上下文。某些确切的措辞、中间步骤或优先级较低的细节可能无法保留。

为代理启用长期内存

您可以为代理启用长期内存,以便可以在多个会话中与同一代理进行交互。

  1. 导航到您的代理。
  2. 单击存储内存选项卡。
  3. 选择启用长期内存。
  4. 选择要用于为代理支持长期内存的模型和区域。
  5. 可选:可以允许在会话之间共享代理内存。如果禁用,您的代理将仅限于在同一会话中提取的内存。如果启用了此选项,则代理可以访问在同一用户启动的所有会话中提取的内存。

查看代理会话数据保留设置

您可以在存储内存选项卡中查看代理的会话数据保留设置的当前配置。

  1. 导航到您的代理。
  2. 单击存储内存选项卡。

修改代理会话数据保留设置

您可以为代理启用、禁用和修改会话数据保留设置。

  1. 导航到您的代理。
  2. 单击存储内存选项卡。
  3. 单击编辑。
  4. 选择应用保留策略以启用或取消选择该策略以将其禁用。
  5. 配置保留限制:
    • 对于保留期,提供会话数据在从 Oracle Autonomous AI Lakehouse 中删除之前的保留天数。
    • 对于会话大小限制,为保留的会话数据提供最大存储限制 (MB)。达到此限制时,将删除最早的会话消息。
    • 对于线程计数限制,请对保留的线程数(用户消息和代理响应的组合)提供限制。达到此限制时,将删除最早的会话线程。
  6. 选择自动汇总以保留重要会话信息的汇总。
  7. 单击 Save changes(保存更改)。