FileGram:让AI助手"记住"你怎么管文件,而不只是记住你说了什么
FileGram:让AI助手”记住”你怎么管文件,而不只是记住你说了什么
你有没有想过一个问题:为什么你用了大半年的AI助手,它还是不知道你喜欢把文件按日期命名、放进深层嵌套目录?
每次你让它帮忙整理文件,它都要重新问你一遍:”要放哪个文件夹?””用什么命名规则?”——明明你上个月刚做过一模一样的操作。
——创建了什么目录结构、怎么重命名文件、编辑时是小修还是整篇重写——这些最能反映个人工作习惯的信息,它完全不知道。
这篇来自南洋理工大学 S-Lab 的新工作 FileGram,切入的就是这个痛点:从文件系统的原子操作轨迹中,构建用户的行为画像,让Agent真正”懂”你的工作方式。
核心摘要
FileGram 提出了一个完整的框架来解决文件系统场景下的Agent个性化问题,包含三个组件:FileGramEngine(数据生成引擎)、FileGramBench(诊断评测基准,4.6K QA对)和 FileGramOS(三通道记忆架构)。核心思路是把用户在文件系统中的每一次读、写、移动、重命名等原子操作都当作行为信号,自底向上地构建 procedural(程序性)、semantic(语义性)和 episodic(情景性)三个维度的用户画像。在自家的评测基准上,FileGramOS 以 59.6% 的平均分碾压了包括 Mem0、MemOS、EverMemOS 在内的一众记忆系统(最强baseline VisRAG 为 51.9%),而且只用了 110K tokens——不到 EverMemOS 的十分之一。
一句话评价:这不是一个通用记忆系统的改进,而是在”文件系统行为理解”这个非常具体的垂直场景下,做了一套从数据到评测到方法的完整闭环。工程完成度很高,但适用范围需要清醒认知。
论文信息
-
标题:FileGram: Grounding Agent Personalization in File-System Behavioral Traces -
作者:Shuai Liu, Shulin Tian, Kairui Hu, Yuhao Dong, Zhe Yang, Bo Li, Jingkang Yang, Chen Change Loy, Ziwei Liu -
机构:S-Lab, Nanyang Technological University -
日期:2026年4月6日 -
链接:https://arxiv.org/abs/2604.04901
为什么要从文件操作里挖个性化?
现有的Agent记忆系统——Mem0、Zep、MemOS这些——核心逻辑差不多:从用户的对话历史中提取偏好,存成结构化或半结构化的记忆条目,下次对话时检索出来。
这个路线在”聊天助手”场景下挺work的,但一旦Agent的工作场景变成本地文件系统操作(比如帮你整理下载目录、生成季度报告、归档项目文件),问题就来了:
用户的核心偏好藏在行为里,不在对话里。
你不会跟AI说”我喜欢用深层嵌套目录、文件名以日期为前缀、编辑时偏好小步迭代”。但你做了32个任务之后,这些模式会从操作轨迹中清晰地浮现出来。
作者把这个问题拆成了三层:
-
数据层:缺少多模态的、带行为轨迹标注的文件操作数据 -
评测层:没有评测基准能衡量”系统到底多理解用户的文件操作习惯” -
方法层:现有记忆系统不是为文件操作这种结构化行为序列设计的
图1:传统对话Agent vs FileGramOS Agent。关键区别在于:FileGramOS 能从历史文件操作轨迹中”静默思考”,识别出用户当前任务与过往模式的相似性,主动提供个性化服务,而不是反复问”你要放哪?叫什么名?”
FileGramEngine:怎么造数据?
说实话,做AI个性化研究最头疼的就是数据问题。真实用户的文件操作数据涉及隐私,大规模采集基本不可能。
FileGramEngine 的解决思路是用LLM模拟不同用户画像来生成行为轨迹。具体来说:
画像设计:定义了 19 个属性(3个身份字段 + 16个行为属性),行为属性覆盖六个维度,每个维度分 L/M/R 三档:
|
|
|
|
|
|---|---|---|---|
| 消费模式 |
|
|
|
| 产出风格 |
|
|
|
| 组织偏好 |
|
|
|
| 迭代策略 |
|
|
|
| 管理风格 |
|
|
|
| 跨模态行为 |
|
|
|
一共生成了 20 个用户画像,配合 32 个任务(16个文本任务 + 16个多模态任务),最终产出 640 条行为轨迹、20,028 个原子操作。
图2:FileGramEngine 的完整流水线。执行循环中LLM扮演特定画像的用户,在沙箱文件系统中执行Think-Act-Observe循环。关键步骤是Signal Filtering——过滤掉57,811条模拟元数据(tool_call日志、LLM推理过程等),只保留12种可观测的原子操作。
这个过滤步骤挺重要的。原始日志里有大量LLM的内部推理痕迹,如果不过滤,下游的记忆系统看到的就不是”用户行为”,而是”模拟器内部状态”——会严重误导行为画像的构建。
最终保留的12种原子操作分布:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
图3:数据集全景图。注意右上角的输出文件类型分布——markdown(2310)和PDF(3609)占主导,说明任务偏向文档处理场景。
FileGramBench:怎么测”理不理解用户”?
这是我觉得这篇论文做得比较用心的部分。
评测一个记忆系统”是否理解用户行为习惯”,不能只问”用户喜欢什么颜色”这种简单偏好。作者设计了四条赛道(Track),从浅到深:
图4:FileGramBench 评测轮盘图,4.6K个QA对分布在8个子任务上。面积大小反映题目数量——Trace Disentanglement(1134)最多,Visual Grounding(100)最少。
图5:每个子任务的具体形式。特别值得关注的是 T2 的 Trace Disentanglement——给你两个用户做同一个任务的交错操作序列,你需要识别他们的行为差异。这个设计确实有点意思,很考验系统对细粒度行为模式的区分能力。
坦率讲,几个我觉得设计得不错的点:
-
Trace Disentanglement(轨迹解纠缠):两个不同画像的用户做同一任务,操作序列交织在一起,要求系统区分出”核心行为差异在哪个维度”。这比简单的画像识别难很多。 -
Anomaly Detection(异常检测):六条轨迹中混入一条来自不同用户的,要把它找出来。 -
Visual Grounding(视觉定位):基于真实屏幕录像(不是模拟数据!)重建用户行为画像。
但 Visual Grounding 只有100道题,而且所有方法的准确率都是个位数(最高 8.5%),这块感觉还是太初步了。
FileGramOS:三通道记忆架构
这是论文的技术核心。思路其实不复杂:把用户的行为轨迹拆成三个维度来编码和存储,查询时按需检索。
图6:FileGramOS 完整架构。信息从原始轨迹流经三个阶段,最终形成可查询的三通道记忆。底部展示了一个实际查询示例:问”用户对报告组织有什么偏好”,系统分别从三个通道提取统计特征、相关文件内容和历史行为片段,组合生成答案。
Stage 1:每条轨迹生成一个 Engram
Engram 是论文造的词(灵感来自神经科学中的”记忆印迹”),每条轨迹对应一个 Engram,包含三个单元:
程序性单元:从原子操作中提取 17 维行为指纹。比如 search_ratio(搜索占比)、browse_ratio(浏览占比)、avg_output_length(平均输出长度)、max_dir_depth(最大目录深度)等。这些都是确定性计算,不依赖LLM。
语义单元:用VLM(视觉语言模型)对文件快照和编辑差异做描述,生成行为性的JSON描述。
情景单元:通过边界检测将操作序列切分为 2-5 个 episode,每个 episode 是一个连贯的工作阶段。
Stage 2:跨轨迹整合
把多条轨迹的 Engram 整合到三个记忆通道:
-
Procedural 通道:对 17 维指纹做跨轨迹统计(均值、中位数、标准差、最大最小值)。 -
Semantic 通道:文本 chunk 做 1024 维嵌入(Cohere embed-english-v3.0),每个画像最多 50 个 chunk。 -
Episodic 通道:对 episode 做层次聚类(余弦相似度阈值 0.6),形成行为模式簇。
异常检测用的是经典的 z-score 方法:
其实就是看某条轨迹的行为指纹偏离历史均值多远。超过 1.5 倍标准差就标记为异常,再用 LLM 做二次判断区分”变化”和”漂移”。
Stage 3:查询自适应检索
收到查询后,先做关键词提取定位目标维度(比如”文件组织” -> Organization),然后三个通道并行检索:
-
Procedural 返回统计特征 -
Semantic 返回 top-5 相关内容片段 -
Episodic 返回相关行为模式簇
三路结果拼成 prompt 让 LLM 生成答案。
实验结果:FileGramOS 是怎么赢的?
论文对比了 12 种方法(含基线和现有记忆系统),统一用 Gemini 2.5-Flash 作为 LLM backbone。
|
|
|
|
|
|
|
|
|
|
|
|---|---|---|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| FileGramOS | 109.7K | 59.6 |
|
35.2 | 42.1 | 80.9 |
|
|
55.8 |
几个关键发现:
1. 自底向上的编码方式完胜叙事优先的方法。
FileGramOS (59.6%) 比 EverMemOS (49.9%) 高了将近 10 个点。两者的根本区别在于:EverMemOS 在入库阶段就对原始轨迹做了摘要和叙事化处理(narrative-first),而 FileGramOS 保留了原子级操作,先提取确定性特征(17维指纹),再做上层整合。
这个结果其实挺符合直觉的——文件操作这种结构化行为,过早摘要会丢失关键的操作粒度信息。
2. Trace Disentanglement 是区分度最高的任务。
FileGramOS 在轨迹解纠缠上拿到了 80.9%,跟 Full Context(80.5%,塞入全部原始轨迹)几乎持平。而像 Mem0 只有 50.4%。这说明 FileGramOS 的 procedural 指纹确实能精准捕获不同用户的行为差异。
3. 检测容易,归因很难。
异常检测(Anomaly Detection)最高 71.4%(EverMemOS),FileGramOS 也有 70.2%。但漂移分析(Shift Analysis,要求回答”行为在哪个维度上发生了变化”)最高只有 38.9%。
这个 gap 很有意思:系统能感知”这个人变了”,但说不清”变在哪”。
4. Token 效率差距巨大。
FileGramOS 只用 109.7K 输入 tokens,而 EverMemOS 要 1098.9K——十倍的差距,精度还更高。Naive RAG 和 VisRAG 的输入 tokens 也在 600K+ 级别。这说明 FileGramOS 的三通道检索确实比较精准,不需要塞大量原始数据。
5. 视觉定位全军覆没。
所有方法在 Visual Grounding(基于真实屏幕录像推断行为画像)上的准确率都是个位数,FileGramOS 最高也就 8.5%。这不是 FileGramOS 的问题,而是 sim-to-real gap——模拟数据训练的系统面对真实屏幕录像时几乎无能为力。
通道消融实验
|
|
|
|
|
|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Procedural 通道是绝对核心,去掉后平均掉 11.1 个点,在轨迹解纠缠上直接掉 27.8 个点(从 80.9% 到 53.1%)。这也印证了前面的判断——文件操作行为的个性化,核心信号在操作模式的统计特征里。
案例分析
图7:Case A 中两个用户画像(p1和p2)在六个维度上只有 Iteration(C) 和 Organization(D) 不同。FileGramOS 的 procedural 通道精确捕获了 flat_organization=0.95、prefer_rewrite=10.98 等关键特征,正确识别出差异。而 VisRAG 丢失了跨会话模式(Missing Cross-Session pattern),Mem0 丢失了关键的过程信号(Missing Absent Signals)。
我的判断
做得好的地方
1. 闭环做得很完整。 从数据生成(Engine)到评测(Bench)到方法(OS),一气呵成。每个环节的设计都是为了回答”文件系统行为能不能用来做个性化”这个问题,不是东一榔头西一棒子。
2. Procedural 指纹的设计很实在。 17维行为特征全是确定性计算,不依赖LLM,可复现性强。这在当前”什么都交给LLM来做”的风气里算是一股清流。
3. Token 效率的优势是实打实的。 十倍的 token 节省不是小数目,在实际部署中直接关系到成本和延迟。
我觉得有问题的地方
1. 评测基准和方法来自同一个团队——这始终是个隐患。
FileGramBench 是作者自己设计的,FileGramOS 也是作者自己设计的。虽然 baseline 方法是公开的,但评测基准的设计本身就可能隐含对自己方法的”友好偏向”。比如 Procedural 类任务天然适合 FileGramOS 的 17 维指纹——因为指纹的维度就是从这些画像维度推导出来的。
2. 数据全是 LLM 模拟的,泛化性存疑。
20 个画像、32 个任务、640 条轨迹——看起来数量还行,但都是 LLM 按照预设画像生成的。真实用户的文件操作行为远比这复杂和混乱。Visual Grounding 全军覆没(个位数准确率)已经暴露了这个问题。
3. 20 个画像的覆盖度够吗?
6 个维度各 3 档,排列组合理论上有 729 种画像,论文只选了 20 个。作者没有解释选择标准——是随机抽样还是有策略地选?不同画像之间的行为差异是否足够大?
4. 对对话记忆系统不太公平。
Mem0、Zep、MemOS 这些本来就是为对话场景设计的,拿来做文件行为理解确实不太对路。FileGramOS 在这个场景下赢了并不意外,但也不能说明 FileGramOS 是一个”更好的记忆系统”——它只是在自己擅长的赛道上跑赢了别人不擅长的项目。
5. 漂移分析(Shift Analysis)的结果不太乐观。
最高 38.9%,说明系统在”理解行为为什么变了”这个更深层问题上还差得远。异常检测高但归因低,工程应用中可能出现”系统知道你变了但给你的建议完全不靠谱”的尴尬。
工程启发
如果你在做 Agent 的个性化系统,FileGram 给了几个值得借鉴的思路:
-
行为指纹 > 对话摘要:对于操作密集型的Agent场景(IDE助手、文件管理器、自动化脚本),从操作日志里提取确定性的行为特征,比从对话中抽取偏好更靠谱。 -
三通道架构是个不错的模板:Procedural(统计特征)+ Semantic(内容语义)+ Episodic(时间线片段),这个分层在其他行为理解场景也能复用。 -
过滤模拟痕迹很关键:如果你在用LLM做行为模拟来生成训练数据,别忘了清理掉模拟器的内部状态——它们会严重污染行为信号。
同类工作对比
|
|
|
|
|
|
|---|---|---|---|---|
| Mem0 |
|
|
|
|
| MemOS |
|
|
|
|
| EverMemOS |
|
|
|
|
| VisRAG |
|
|
|
|
| FileGramOS |
|
|
|
|
收尾
FileGram 做了一件很具体的事:证明了文件系统的原子操作轨迹可以用来构建有效的用户行为画像,并且自底向上的编码方式比叙事化摘要更适合这类结构化行为数据。
但它离”让AI助手真正懂你”还有很长的路要走。模拟数据的泛化性问题没解决,漂移归因的准确率还很低,跨场景迁移(文件操作 -> 代码编写 -> 浏览行为)也完全没有涉及。
不过话说回来,在”Agent个性化”这个方向上,FileGram 至少提供了一个比”记住你聊了什么”更扎实的起点——先从行为轨迹出发,这个路线我觉得是对的。
剩下的问题是:真实用户的行为比模拟数据混乱得多,这套方法能扛住多少噪声?这可能需要后续的真实场景部署来验证。
觉得有启发的话,欢迎点赞、在看、转发。跟进最新AI前沿,关注我
夜雨聆风