乐于分享
好东西不私藏

FileGram:让AI助手"记住"你怎么管文件,而不只是记住你说了什么

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. 数据层:缺少多模态的、带行为轨迹标注的文件操作数据
  2. 评测层:没有评测基准能衡量”系统到底多理解用户的文件操作习惯”
  3. 方法层:现有记忆系统不是为文件操作这种结构化行为序列设计的
图1:FileGram 整体概念图。左边是用户在文件系统上随时间积累的操作轨迹(读、写、删除、浏览等),中间是 FileGram 框架的三个组件(Engine/Bench/OS),右边对比了传统对话Agent和FileGramOS Agent的差异——前者需要反复询问用户意图,后者能主动检测到用户在做类似任务并自动同步历史工作习惯

图1:传统对话Agent vs FileGramOS Agent。关键区别在于:FileGramOS 能从历史文件操作轨迹中”静默思考”,识别出用户当前任务与过往模式的相似性,主动提供个性化服务,而不是反复问”你要放哪?叫什么名?”


FileGramEngine:怎么造数据?

说实话,做AI个性化研究最头疼的就是数据问题。真实用户的文件操作数据涉及隐私,大规模采集基本不可能。

FileGramEngine 的解决思路是用LLM模拟不同用户画像来生成行为轨迹。具体来说:

画像设计:定义了 19 个属性(3个身份字段 + 16个行为属性),行为属性覆盖六个维度,每个维度分 L/M/R 三档:

维度
L (左)
M (中)
R (右)
消费模式
探索式
定向搜索
聚焦式
产出风格
详尽全面
均衡适度
精简克制
组织偏好
深层嵌套
自适应
扁平结构
迭代策略
渐进式
周期性
批量重写
管理风格
精选保留
实用主义
全部保存
跨模态行为
视觉为主
均衡
纯文本

一共生成了 20 个用户画像,配合 32 个任务(16个文本任务 + 16个多模态任务),最终产出 640 条行为轨迹20,028 个原子操作

图2:FileGramEngine 数据生成流水线。左侧是输入(用户画像+行为维度配置),中间是数据引擎核心(环境搭建、执行循环、信号过滤、动作规范化),右侧是输出(原子操作序列+文件快照+编辑差异+多模态文件)和下游任务(QA生成、记忆接入)

图2:FileGramEngine 的完整流水线。执行循环中LLM扮演特定画像的用户,在沙箱文件系统中执行Think-Act-Observe循环。关键步骤是Signal Filtering——过滤掉57,811条模拟元数据(tool_call日志、LLM推理过程等),只保留12种可观测的原子操作。

这个过滤步骤挺重要的。原始日志里有大量LLM的内部推理痕迹,如果不过滤,下游的记忆系统看到的就不是”用户行为”,而是”模拟器内部状态”——会严重误导行为画像的构建。

最终保留的12种原子操作分布:

操作类型
数量
占比
file_read
4,541
22.7%
cross_file_ref
4,094
20.4%
context_switch
3,909
19.5%
file_write
3,024
15.1%
file_browse
1,649
8.2%
file_edit
1,057
5.3%
dir_create
944
4.7%
其他(search/copy/move/delete/rename)
810
4.0%
图3:FileGram 数据集统计概览。20个行为画像,32个精选任务,640条轨迹,约10K多模态输出文件。输出覆盖 markdown、PDF、docx、pptx、图片、音频、表格等6种格式。原子操作总计20,028个

图3:数据集全景图。注意右上角的输出文件类型分布——markdown(2310)和PDF(3609)占主导,说明任务偏向文档处理场景。


FileGramBench:怎么测”理不理解用户”?

这是我觉得这篇论文做得比较用心的部分。

评测一个记忆系统”是否理解用户行为习惯”,不能只问”用户喜欢什么颜色”这种简单偏好。作者设计了四条赛道(Track),从浅到深:

图4:FileGramBench 的评测体系。4个赛道、8个子任务、共4.6K个QA对。Understanding(1206)测基础理解,Reasoning(1694)测推理能力,Detection(1103)测异常和漂移检测,Multimodal(650)测跨模态理解

图4:FileGramBench 评测轮盘图,4.6K个QA对分布在8个子任务上。面积大小反映题目数量——Trace Disentanglement(1134)最多,Visual Grounding(100)最少。

图5:四条赛道的具体任务形式和示例。T1理解赛道包含属性识别、行为指纹、画像重建;T2推理赛道包含行为推断和轨迹解纠缠;T3检测赛道包含异常检测和漂移分析;T4多模态赛道包含文件定位和视觉定位(基于真实屏幕录像)

图5:每个子任务的具体形式。特别值得关注的是 T2 的 Trace Disentanglement——给你两个用户做同一个任务的交错操作序列,你需要识别他们的行为差异。这个设计确实有点意思,很考验系统对细粒度行为模式的区分能力。

坦率讲,几个我觉得设计得不错的点:

  • Trace Disentanglement(轨迹解纠缠):两个不同画像的用户做同一任务,操作序列交织在一起,要求系统区分出”核心行为差异在哪个维度”。这比简单的画像识别难很多。
  • Anomaly Detection(异常检测):六条轨迹中混入一条来自不同用户的,要把它找出来。
  • Visual Grounding(视觉定位):基于真实屏幕录像(不是模拟数据!)重建用户行为画像。

但 Visual Grounding 只有100道题,而且所有方法的准确率都是个位数(最高 8.5%),这块感觉还是太初步了。


FileGramOS:三通道记忆架构

这是论文的技术核心。思路其实不复杂:把用户的行为轨迹拆成三个维度来编码和存储,查询时按需检索。

图6:FileGramOS 三阶段架构。Stage 1:每条轨迹生成一个Engram(包含程序性指纹、语义描述、情景片段);Stage 2:跨轨迹整合到三通道记忆库(Procedural统计汇总、Semantic嵌入索引、Episodic聚类分组);Stage 3:查询时关键词提取 -> 三通道并行检索 -> 组合回答

图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。

方法
输入 Tokens
Avg
T1: 属性识别
T1: 行为指纹
T2: 行为推断
T2: 轨迹解纠缠
T3: 异常检测
T3: 漂移分析
T4: 文件定位
No Context
25.4
36.2
25.7
17.4
36.9
19.0
20.5
23.8
Full Context
625.2K
48.0
40.5
31.1
30.6
80.5
36.8
37.8
42.5
Naive RAG
625.2K
40.5
48.2
27.7
26.4
64.1
38.4
20.1
35.1
VisRAG
609.8K
51.9
53.4
33.2
32.9
72.8
64.5
35.4
45.3
Mem0
119.9K
33.2
44.2
26.4
21.4
50.4
23.8
28.5
29.5
Zep
219.1K
40.2
43.6
28.4
27.4
61.0
37.5
28.1
35.4
MemOS
302.3K
36.2
44.2
24.8
23.0
57.3
26.3
28.1
32.0
EverMemOS
1098.9K
49.9
48.8
30.2
39.3
62.2
71.4
38.9
44.5
MemU
293.6K
44.4
47.9
27.3
30.4
65.7
46.0
33.0
39.8
MMA
331.8K
44.7
51.2
29.8
28.9
57.4
57.5
32.6
41.3
FileGramOS 109.7K 59.6
50.6
35.2 42.1 80.9
70.2
37.8
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——模拟数据训练的系统面对真实屏幕录像时几乎无能为力。

通道消融实验

消融变体
Avg 变化
轨迹解纠缠 变化
异常检测 变化
完整 FileGramOS
59.6
80.9
70.2
去掉 Procedural
-11.1
-27.8
-3.9
去掉 Semantic
-5.5
-2.9
-6.7
去掉 Episodic
-4.2
-1.9
-6.2

Procedural 通道是绝对核心,去掉后平均掉 11.1 个点,在轨迹解纠缠上直接掉 27.8 个点(从 80.9% 到 53.1%)。这也印证了前面的判断——文件操作行为的个性化,核心信号在操作模式的统计特征里。


案例分析

图7:两个案例对比。Case A(程序性任务):FileGramOS 通过 procedural 通道的统计特征准确区分了两个仅在 Iteration 和 Organization 维度不同的用户画像,而其他方法(VisRAG、EverMemOS、Mem0等)要么丢失关键信号,要么被噪声干扰。Case B(多模态任务):FileGramOS 能从交错的操作流中提取正确的跨模态行为模式,但 VisRAG 在多模态文档解析上出现错误,Zep 的层级结构化能力受限,MemU 在视觉检索上失败

图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
对话+结构化存储
通用Agent
分层记忆管理
缺乏行为指纹
EverMemOS
行为叙事
长期Agent
叙事化摘要+检索
过早摘要丢信息
VisRAG
多模态文档
文档QA
视觉+文本联合检索
不关注行为模式
FileGramOS
文件操作轨迹
文件系统Agent
三通道行为编码
仅限文件系统场景

收尾

FileGram 做了一件很具体的事:证明了文件系统的原子操作轨迹可以用来构建有效的用户行为画像,并且自底向上的编码方式比叙事化摘要更适合这类结构化行为数据。

但它离”让AI助手真正懂你”还有很长的路要走。模拟数据的泛化性问题没解决,漂移归因的准确率还很低,跨场景迁移(文件操作 -> 代码编写 -> 浏览行为)也完全没有涉及。

不过话说回来,在”Agent个性化”这个方向上,FileGram 至少提供了一个比”记住你聊了什么”更扎实的起点——先从行为轨迹出发,这个路线我觉得是对的。

剩下的问题是:真实用户的行为比模拟数据混乱得多,这套方法能扛住多少噪声?这可能需要后续的真实场景部署来验证。


觉得有启发的话,欢迎点赞、在看、转发。跟进最新AI前沿,关注我