打开 Lito
Lito文档
打开 Lito

Context

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

一、Context 从哪里来

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

图 04-01点击放大

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

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

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

二、Agent Loop 怎样组织本轮输入

construct_message_history() 将指令与材料排列成消息列表。普通研究路径的顺序如下,存在的内容才会加入:

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

当前用户消息可以同时包含任务要求和材料。工具定义通过 tool_definitions 单独传入。这里展示的是整份请求的排列方式;Prompt 的选择与合并见 Prompt

三、输入太长时,哪些内容会保留

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

当前用户消息及其后的本轮工具过程优先保留;较早的历史从近到远加入,预算不足时移出更早的消息。附件正文被移出后,系统保留可用的文件标识和名称,供后续重新获取。裁剪还会清理失去对应调用的工具返回消息。

如果当前用户消息和本轮过程本身已超出预算,这次调用会报告上下文不足。自动摘要发生在回答保存后,用于为后续调用腾出空间。

四、V1.1如何分配证据与写作空间

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

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

输入中的内容 处理方式 作用
系统要求与已有消息 尽量保持既有顺序与内容稳定,新信息追加到后面 提高重复前缀被缓存复用的机会
新检索证据 按问题相关性、论文覆盖与阅读预算选择 让关键正文进入模型输入
历史引用 按来源身份与当前资料范围整理 连续修改时保持论述与来源对应
正文生成与修改 在主循环中提前保留轮次 取得材料后有机会完成写作和纠错

缓存记录需要与回答质量一起看。增加有效证据可能带来更多输入,前缀稳定也会受到模型请求和历史变化影响。版本复测分别记录调用用量、缓存使用和最终回答,费用结论以同题运行记录为依据。

五、历史摘要怎样延续长对话

一轮回答保存后,系统检查有效历史长度。默认超过可用历史预算的 75% 时触发摘要,将较早消息整理为摘要,近期消息继续保留原文。已有摘要会参与下一次整理。

图 04-02点击放大

摘要记录主题、决定、约束和未解决事项,并保存覆盖位置。近期原文的目标预算约为当前有效历史 Token 的 20%,实际分界按消息调整,保留最新用户轮次。原始聊天记录仍然保存,下一轮改用摘要与近期消息组织输入,调用前继续检查预算。

摘要会略去工具返回全文,因此精确引文需要回到来源核验。裁剪控制单次请求长度,摘要帮助后续对话接续已有工作。

图表