跳转到主要内容

Auto Summarize

Auto Summarize 通过在历史接近模型上下文限制时压缩先前对话,使较长的智能体对话能够持续工作。

它做什么

每个智能体都会默认启用此工具。在每个回合之前,Fetch Hive 会检查累计的对话历史是否接近模型的上下文窗口。如果是,先前的回合会被自动汇总为一条紧凑的消息,智能体将以该摘要作为起始上下文继续,而不是使用原始历史。 智能体对所讨论的内容仍保持完整的认知——它只是基于较早回合的浓缩版本工作,而不是逐字逐句地处理每一个 token。

它如何触发

Auto Summarize 不是智能体调用的工具。它在模型看到对话之前作为服务端检查运行。智能体和 LLM 都不知道它的存在——从模型的角度来看,它只是接收到一个合规、能放入其上下文窗口的对话历史。 当摘要在流式运行中触发时,流的开头(任何响应 token 之前)会到达一个 summary 事件:
{
  "type": "summary",
  "summary_text": "The conversation covered AI infrastructure trends. The user asked about evals...",
  "original_token_count": 15234,
  "context_limit": 200000,
  "model": "gpt-4.1",
  "provider": "openai"
}
在智能体编辑器内的 Chat 面板中,会在发生摘要的位置出现一个 Chat summarized 折叠项。点击它可以展开查看完整的摘要文本和 token 数量。 请参阅通过 API 运行,了解如何在你自己的集成中处理此事件。

启用和禁用

工具节点会带有 System 徽标出现在每个智能体画布上。要为特定智能体禁用它:
  1. 在编辑器中选中 Auto Summarize 节点。
  2. 在设置面板中,将开关切换为 Disabled
禁用后,智能体会在每个回合发送完整的原始历史。如果对话超过模型的上下文限制,最早的消息会被模型提供商截断。

配置

此工具没有按智能体配置的选项。摘要阈值和用于编写摘要的模型由你的工作区运维人员在平台级别设置。

使用场景

  • 跨多个回合的长时间支持或研究对话,且不会丢失更早的上下文。
  • thread_id 模式下运行的智能体,其对话会跨多个会话持续存在。
  • 任何希望智能体在长时间交互中保持连贯、且无需手动管理历史的使用场景。

备注

  • Auto Summarize 仅在持久线程上(包含 thread_id 的调用)触发。一次性调用以及通过 messages 字段传入的无状态历史不会受影响。
  • 摘要调用由 Fetch Hive 发起——不会计入该回合的 token 使用量。
  • 如果摘要服务因任何原因不可用,智能体运行会按完整历史正常进行。该功能是 fail-open(失败时回退到正常运行)。
  • 要测试它,请在智能体编辑器中使用 Chat——当超过阈值时,会出现 Chat summarized 折叠项。