20 代理内存

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

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

AI 数据平台中的代理内存

AI Data Platform 提供短期内存,仅限于会话持续时间。您可以在代理的 "Memory"(内存)选项卡中配置可以保留在内存中的内容。

单代理内存配置

可以在代理节点的 "Memory"(内存)选项卡中找到单个代理系统的内存配置。


可视化构建器画布与单个代理节点 InvoiceAnalyst 一起显示。此时将选中该节点并突出显示 "Memory"(内存)选项卡。

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

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

多代理系统的内存在超级用户代理的 "Memory"(内存)选项卡中配置。


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

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

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

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

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

专用 每个执行程序代理只能看到自己过去的交互。

它无法看到其他执行程序代理或与主管代理的原始用户对话。

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

如果选择了 "Shared"(共享),则可以在每个代理节点的 "Memory"(内存)选项卡中为每个执行程序代理单独配置内存截断策略。