打开 Lito
Lito文档
打开 Lito

Memory

“这一版缩短一半”和“以后写综述都用中文,先讨论主题再引入文献”有不同的使用范围。前一句属于当前修改任务,后一句可能在下一次研究中继续有用。Memory 让稳定偏好能够跨会话参与回答,减少用户重复交代。

一、信息的作用范围

Lito 将个人资料、自填偏好和保存的记忆放在用户信息上下文中。它们与当前项目资料、聊天历史分别读取,再参与本轮输入组装。

信息 作用范围 在研究任务中的例子
当前消息 本轮任务 将刚才的综述缩短一半
聊天历史与摘要 当前会话及其分支 已比较的文献、此前确认的结构
项目说明 使用该项目的默认助手对话 本组论文服务于怎样的研究问题
自填偏好 用户级 常用语言、希望采用的表达方式
保存的 Memory 用户级,按设置跨会话使用 稳定的研究背景、长期目标或写作偏好
综述工作证据与草稿 具体研究运行 文献主张、原文锚点、缺口及待修改正文

比较文献、形成综述和后续修改主要依靠会话历史接续。稳定的个人要求可写入偏好或保存为 Memory,项目特有的要求由项目说明承载。综述 Skill 保存可复用的方法,工作证据和草稿保存在运行记录中,不自动成为长期记忆。文献结论仍需关联原始来源。

二、记忆的写入与更新

开启记忆写入且工具可用时,研究循环向模型提供 add_memory。模型按工具说明选择具体、稳定、以后有用的信息,包括长期偏好、目标、约束,以及明确的“记住这件事”请求。聊天中出现一项信息,不代表它已经被保存。

图 06-01点击放大

记忆工具接收待保存内容,通过模型判断新增还是更新,并返回整理后的文本及待替换位置。主循环处理工具结果后,才按用户身份执行数据库写入。

当前实现会参考已有记忆、可用的用户基本资料和最近三条用户消息;每条用户消息最多取 500 个字符。这是新增或更新判断的输入范围,不是对整段会话的完整回顾。

例如,用户先保存“综述使用中文”,之后希望改为中英双语,模型可以判断应更新已有偏好;新的长期偏好则可作为新记忆保存。

记忆按用户保存,当前上限为 10 条。工具新增时达到上限,会移除最早插入的一条;更新已有记忆不改变其原有排序位置。它不是按最近使用时间淘汰,也不是向量记忆库。

新增或更新判断发生调用失败、空响应或无法解析等情况时,会回退为新增,可能产生重复记录;这不表示数据库写入一定成功。无痕会话在主循环的保存环节拒绝记忆写入,并向模型返回未保存的结果。

三、记忆的使用与控制

写入和使用分别配置,用户可以决定是否让模型继续积累记忆,以及回答时是否使用已保存内容。

开关 开启后的作用 关闭后的作用
enable_memory_tool 向模型提供 add_memory 不提供该记忆写入工具
use_memories 在适用的输入组装路径中带入已保存 Memory 不向回答和检索改写注入这些 Memory;个人资料和自填偏好仍保留

两个字段的代码默认值均为 true,实际行为以当前账号设置和运行条件为准。关闭使用记忆不会删除已有记录,也不会自动关闭写入;写入仍开启时,新增或更新判断可以读取旧记忆,决定是否替换。

常规研究路径按插入顺序读取记忆列表,作为用户信息的一部分加入系统消息,也可供检索查询组织使用,不通过向量检索挑选记忆。自定义系统指令可能采用不同的组装路径,不能把开关开启等同于所有模型调用都带入记忆。记忆中的工作要求属于 Prompt,用户事实属于 Context。

用户可以在个人设置中查看、编辑或删除记忆。删除改变后续读取的记忆列表,不会自动改写已保存的历史回答。新会话可以沿用长期偏好,具体研究论断仍需依据相应文献。

图表