Context
Context 是模型这一轮处理任务时可用的信息:论文片段、已有回答、文件内容和工具结果。Prompt 规定做什么、怎么做,Context 提供完成任务所需的材料。
一、Context 从哪里来
论文存入文献库后,模型通过检索取得相关片段。连续对话中,之前的回答和工具结果也会成为后续工作的材料。
对话历史包括当前会话分支的问答。已有摘要时,系统读取适用于该分支的摘要,以及摘要覆盖范围之后的消息。工具结果包括检索取得的文献片段、来源信息和执行反馈。
文件材料来自附件和项目文件入口。可提取的消息附件会形成文件消息;项目文献按研究问题检索。背景信息包括按设置带入的日期、用户资料和已保存的事实。Memory 中表达工作偏好的规则属于 Prompt,事实信息属于 Context。
例如,用户说“把下面的综述缩短一半”,缩写要求是 Prompt,附上的综述正文是 Context。输入中两者可以相邻,作用仍然不同。
二、Agent Loop 怎样组织本轮输入
construct_message_history() 将指令与材料排列成消息列表。普通研究路径的顺序如下,存在的内容才会加入:
System message
→ 较早的对话历史
→ 任务 Prompt
→ 文件材料及相关提示
→ 当前用户消息
→ 本轮已有的工具调用与结果
→ 动态提醒
当前用户消息可以同时包含任务要求和材料。工具定义通过 tool_definitions 单独传入。这里展示的是整份请求的排列方式;Prompt 的选择与合并见 Prompt。
三、输入太长时,哪些内容会保留
每次调用前,系统先为 Prompt、工具定义、文件上下文和提醒等内容留出空间,再用剩余 Token 预算容纳历史。
当前用户消息及其后的本轮工具过程优先保留;较早的历史从近到远加入,预算不足时移出更早的消息。附件正文被移出后,系统保留可用的文件标识和名称,供后续重新获取。裁剪还会清理失去对应调用的工具返回消息。
如果当前用户消息和本轮过程本身已超出预算,这次调用会报告上下文不足。自动摘要发生在回答保存后,用于为后续调用腾出空间。
四、V1.1如何分配证据与写作空间
一次检索取得的全部候选,经过选择和扩展后才进入主模型输入。这里需要同时处理单篇长度和多篇覆盖:某一篇的相似段落过多,会挤掉另一篇只有一段、却对比较很重要的发现。
V1.1在逐篇整理和明确的比较任务中,先交错保留不同论文的候选,再补充各篇相关段落。正文、论文身份和引用关系一起传递。模型读到一项结论后,可以沿相邻片段补读解释和条件。
| 输入中的内容 | 处理方式 | 作用 |
|---|---|---|
| 系统要求与已有消息 | 尽量保持既有顺序与内容稳定,新信息追加到后面 | 提高重复前缀被缓存复用的机会 |
| 新检索证据 | 按问题相关性、论文覆盖与阅读预算选择 | 让关键正文进入模型输入 |
| 历史引用 | 按来源身份与当前资料范围整理 | 连续修改时保持论述与来源对应 |
| 正文生成与修改 | 在主循环中提前保留轮次 | 取得材料后有机会完成写作和纠错 |
缓存记录需要与回答质量一起看。增加有效证据可能带来更多输入,前缀稳定也会受到模型请求和历史变化影响。版本复测分别记录调用用量、缓存使用和最终回答,费用结论以同题运行记录为依据。
五、历史摘要怎样延续长对话
一轮回答保存后,系统检查有效历史长度。默认超过可用历史预算的 75% 时触发摘要,将较早消息整理为摘要,近期消息继续保留原文。已有摘要会参与下一次整理。
摘要记录主题、决定、约束和未解决事项,并保存覆盖位置。近期原文的目标预算约为当前有效历史 Token 的 20%,实际分界按消息调整,保留最新用户轮次。原始聊天记录仍然保存,下一轮改用摘要与近期消息组织输入,调用前继续检查预算。
摘要会略去工具返回全文,因此精确引文需要回到来源核验。裁剪控制单次请求长度,摘要帮助后续对话接续已有工作。