跳到主要内容

AFS 不是 Git,也不把语义塞进目录树

Robert
AFSEverything is Context

每当我用文件式抽象谈 context,总会遇到两个很自然的问题:语义关系并不总是层级的,为什么还要用路径?还有,这是不是只是 Git?

这两个问题都问到了边界。文件式界面不是整个系统,路径也不是意义本身,版本历史更不是所有资源关系。我想把这三层分开说。

Git 记录历史,路径让操作有落点

有人把第二个问题问得很直接。

A declared path is not a Git history or a semantic tree

A path places an operation; it does not encode meaning like a knowledge graph.

我当时只写了三个词:

“Git is VCS.”

(译:Git 是版本控制系统。)

Git 擅长记录版本、分支和合并。它回答的是历史怎样演进。这个能力很重要,但它并不自动说明一次 agent 操作此刻面对哪些资源,在什么范围内,允许做什么。

路径的工作也更朴素。它让一次读取、写入或查看落在一个明确的资源视图里。比如,一个声明好的视图可以让任务看见项目说明,却看不见另一组资料;它也可以读取一份文件,却没有修改它的权力。权限本身仍要由明确的政策授予,文件式抽象的作用是让这些操作边界有清楚的表达。

这不是在贬低 Git,也不是说路径没有意义。它们各自承担不同的工作:Git 给历史一个可靠的形式;路径让操作有明确的落点。把两者混成一个万能抽象,反而会把它们各自能说清的事弄模糊。

路径不能替知识下定义

第一个问题把前提说得很对。

我当时回答:

“You're absolutely right that semantic memory is not hierarchical.”

(译:你完全正确,语义记忆不是层级的。)

语义关系问的是另一类问题:两份材料为什么相关,一条证据怎样支持一个判断,一项记录怎样改变另一项记录的含义。这些不是斜杠自动推导出来的。语义检索、knowledge graph 和 embedding 都是在处理这种“为什么有关”的关系,它们需要各自的模型和能力。

我对 AFS 的期待从来不是让目录树替知识做判断。文件式表面给这些能力一个可以落脚、可以被约束的地方,但它不替它们宣称已经得到答案。

本地感不等于默认互通

还有一条讨论提醒我,所谓“本地感”并不能取消不同 agent 与不同环境之间的关系。

“看起来像本地文件”不应该变成“默认什么都能看见”,也不应该变成“所有 agent 天然彼此隔离”。谁能看到什么、谁能做什么,应该被明确表达,而不是交给隐式魔法。

这也是为什么我觉得文件式抽象仍然有价值。它不会替系统创造语义,也不会替系统解决所有共享与隔离的问题;它让这些问题有了一个可以操作、可以讨论的表面。

继续阅读

本页涉及

术语

  • AFS

    AFS(Agentic File System)把与任务有关的文件、服务和正在进行的工作组织成可查看的资源视图。它不是把一整台机器或一堆 API 交给 agent,而是给任务一块有名字、有边界的工作范围。