SuperContext
在每次新对话的第一轮中进行确定性的、由 harness 驱动的上下文准备——让智能体永远不会空手起步。
最后更新于
在每次新对话的第一轮中进行确定性的、由 harness 驱动的上下文准备——让智能体永远不会空手起步。
一条新的聊天不应该一开始就冷启动。 SuperContext 让代理收集相关背景 之前 它会读取你的第一条消息。它会在每个新线程中自动发生,无需你询问,也无需等待工具调用。
大多数代理在对话开始时都是空白的,只有在模型决定调用“查找信息”工具时才获取上下文。那会增加一次往返、消耗 token,而且取决于模型是否选得好。SuperContext 则反其道而行之:由框架本身在前置阶段以确定性的方式准备上下文,因此第一条回复就已经知道相关记忆、文件和已连接的数据。
在 新线程的第一轮时,如果启用了 SuperContext,框架会:
生成一个只读的 context_scout 子代理。
侦察器会扫过你可用的数据( 记忆树、工作区文件和已连接的集成),并组装出一个受限的 上下文包.
该包会先经过验证,然后在你的消息前加上一个 已准备好的上下文(super context) 头部,之后才会被协调器模型看到这一轮。
模型会在已有这些上下文支撑下回答你的消息。
新线程,第一条消息
│
▼
┌──────────────────────────────┐
│ 框架门控(确定性) │
│ super_context_enabled? │
└───────────────┬──────────────┘
│ 是
▼
context_scout(只读)
扫描记忆 + 文件 + 数据
│
▼
[context_bundle] … [/context_bundle]
│ 已验证并提取
▼
前置到你的消息 → 协调器因为侦察器是 只读只读的,所以它绝不会在新线程中采取任何行动。它只会读取并总结。而且由于它是在框架中运行,而不是作为可选工具运行,所以冗余的 agent_prepare_context 工具会在该轮被抑制,因此代理不会把工作做两遍。
侦察器运行在 爆发 层级上 (hint = “burst” → burst-v1 (在托管后端上),这是一个低成本、高吞吐、非推理模型。该扫描是一个对延迟较宽容的预飞检查步骤,所以在快速模型上的原始吞吐量比更昂贵的智能体/推理层级更合适。参见 自动模型路由.
侦察器会将其发现内容包裹在 [context_bundle] … [/context_bundle] 标签中返回。系统只会注入方括号内的包裹内容。模型输出的任何外围说明(“当然,这是我找到的……”)都会被剥离。如果包缺失、格式错误(未闭合、反向或重复标签)或为空,则该轮会 平稳地不进行增强 ,而不是注入垃圾。冷启动总比损坏的启动好。
SuperContext 默认开启.
在撰写器中。 一个 Super Context 切换开关会出现在新线程的聊天输入框下方。该标志在构建线程时读取,因此切换它会影响 新启动的线程,而不会影响你已经正在使用的那个。
配置。 context.super_context_enabled (布尔值,默认 true).
环境。 OPENHUMAN_SUPER_CONTEXT (或者 OPENHUMAN_CONTEXT_SUPER_CONTEXT_ENABLED).
RPC。 get_super_context_enabled() 读取该标志; set_super_context_enabled(value) 设置并持久化它。
最后更新于