打开 Lito
Lito文档
打开 Lito

Context

Context 是模型这一轮处理任务时可用的信息:论文片段、已有回答、文件内容和工具结果。Prompt 规定做什么、怎么做,Context 提供完成任务所需的材料。

一、Context 的来源

论文存入文献库后,模型通过检索取得相关片段。连续对话中,之前的回答和工具结果也会成为后续工作的材料。

图 04-01点击放大

对话历史包括当前会话分支的问答。已有摘要时,系统读取适用于该分支的摘要,以及摘要覆盖范围之后的消息。工具结果包括检索取得的文献片段、来源信息和执行反馈。

文件材料来自附件和项目文件入口。可提取的消息附件会形成文件消息,项目文献按研究问题检索;上传或选中文件不等于模型已经读取全文。背景信息包括按设置带入的日期、用户资料和已保存的事实。Memory 中表达工作偏好的规则属于 Prompt,事实信息属于 Context。

例如,用户说“把下面的综述缩短一半”,缩写要求是 Prompt,附上的综述正文是 Context。输入中两者可以相邻,作用仍然不同。

二、本轮输入的组织

construct_message_history() 将指令与材料排列成消息列表。未采用稳定前缀调整时,常规排列如下;只有存在的内容才会加入:

System message
→ 较早的对话历史
→ 任务 Prompt
→ 文件材料及相关提示
→ 当前用户消息
→ 本轮已有的工具调用与结果
→ 动态提醒

当前用户消息可以同时包含任务要求和材料。工具定义通过 tool_definitions 单独传入。启用稳定前缀且满足条件时,研究规则、项目材料和固定引用提醒可放在较早历史之前;其他动态提醒按执行状态追加。具体排列还受助手配置和历史处理分支影响,不能将上图的来源分类理解为固定消息顺序。

指令选择与合并见Prompt。本页重点是材料如何进入输入,以及预算不足时如何取舍。

三、输入预算与裁剪

每次调用前,系统先为 Prompt、工具定义、文件上下文和提醒等内容留出空间,再用剩余 Token 预算容纳历史。

当前用户消息及其后的本轮工具过程优先保留;较早的历史从近到远加入,预算不足时移出更早的消息。附件正文被移出后,若存在文件元信息且读取工具可用,可保留文件标识和名称,供后续再次读取;这不等于附件正文仍在模型输入中。裁剪还会清理失去对应调用的工具返回消息。

如果当前用户消息和本轮过程本身已超出剩余预算,这次调用会报告上下文不足。裁剪只改变本次模型可见的输入,不删除已保存的会话。自动摘要在回答保存后的处理阶段按阈值触发,用于组织后续调用的输入。

四、证据选择与输入空间

一次检索取得的全部候选,经过选择和扩展后才进入主模型输入。这里需要同时处理单篇长度和多篇覆盖:某一篇的相似段落过多,会挤掉另一篇只有一段、却对比较很重要的发现。

逐篇整理和明确的比较任务按文献分配候选,交错保留不同论文的相关片段,再补充各篇相关段落。正文、论文身份和引用关系一起传递。模型读到一项结论后,可以沿相邻片段补读解释和条件。

输入中的内容 处理方式 作用
稳定指令与材料前缀 按配置将可复用内容前置,减少不必要的内容变化 提高相同前缀被缓存复用的机会
新检索证据 按问题相关性、论文覆盖与阅读预算选择 让关键正文进入模型输入
历史引用 按来源身份与当前资料范围整理 连续修改时保持论述与来源对应

缓存利用与证据完整性分别检查。增加有效证据可能带来更多输入;命中缓存也不能证明模型取得了足够材料。调用用量、缓存使用和最终回答分别记录,便于解释资源使用与内容质量。

五、综述工作证据

综述工作证据记录保存每篇主张、证据类型、必要条件、原文锚点及缺口,作为工作数据加入模型输入。记录更新后替换同轮旧提醒,避免继续沿用已解决的缺口。原文片段与来源通过工具结果提供,仍受本轮输入预算约束。

原文支持文献事实,工作记录整理已取得的内容与缺口,草稿是待修改的交付物;用户研究设定则说明自己的问题与计划。历史回答和工作记录中的文献主张仍需对应原文,不能仅凭引用索引判断其正确性。

Skill 提供研究方法,补查与修订的执行规则见Agent Loop 与工具。

六、历史摘要与对话延续

一轮回答保存后,系统检查有效历史长度。超过摘要阈值时,将较早消息整理为摘要,近期消息继续保留原文;适用于当前分支的已有摘要参与下一次整理。

图 04-02点击放大

摘要记录主题、决定、约束和未解决事项,并保存覆盖位置。原始聊天记录仍然保存,下一轮使用摘要与近期消息组织输入,调用前继续检查预算。

当前实现用两个参数确定摘要时机和近期消息预算:

参数 计算方式 实际含义
摘要触发阈值 默认为可用历史预算的 75%,可通过配置调整 判断何时需要摘要,不表示压缩掉 75% 的内容
近期消息目标预算 按当前有效历史 Token 的 20% 计算 用于划分较早消息与近期原文;实际按消息边界调整,并保留最新用户轮次,不保证恰好保留 20% 的文字

摘要不保留完整工具返回,精确引文和数值需要回查来源。裁剪控制单次请求长度,摘要用于延续较早的任务信息。

图表