跳到主要内容

Agent 的虚拟文件系统

什么是 Agent 眼中的虚拟文件系统?​

  • 定义: Agent 访问的并非单一存储,而是一棵虚拟文件系统(virtual filesystem)——来源、生命周期与权限各异的存储被挂载(mount)到同一目录树下;
  • 统一接口: Agent 通过 read_file / write_file / list_dir 访问整棵树;
  • 底层实现: 可能是本地临时盘、持久对象存储、第三方云盘 API 或只读的系统资源包;
  • 设计前提: 明确每一区域的可见性与生命周期,相当一部分并发冲突与信息泄露源于把本应隔离的区域混置;
  • 类比: 这棵目录树相当于 Agent 的地址空间,四类区域就是权限各异的内存段——有的私有可写,有的多方共享,有的只读;

四类区域各自是什么?​

  • 一、Agent 专属工作区(Scratchpad): 每个 Agent 实例独享的私有目录,存放中间产物、临时文件、草稿与调试日志,生命周期与实例绑定,对其他 Agent 与用户不可见;
  • Scratchpad 的双重作用: 避免多个 Agent 的临时文件相互覆盖,同时保持主 Agent 上下文精简——子 Agent 的试错留存于自身工作区,只把最终产物提交至共享空间;
  • 二、多 Agent 共享空间(Shared Workspace): 多个 Agent 共同读写且用户可见的协作区域,是不共享上下文架构下交换产物的主要媒介;
  • 共享空间实例: Glossary Agent 写入术语表、Translation Agent 从中读取;用户也可上传原始文件、下载最终交付物;生命周期与整个任务绑定,需要持久化;
  • 共享空间风险: 作为多方并发读写区域,是并发冲突的高发处,乐观锁与工作副本隔离(worktree)均作用于此;
  • 三、外部挂载资源(Mounted External Resources): 用户授权接入的第三方信息源——Google Drive、Notion、Dropbox、企业 Wiki 等,经适配器(adapter)映射为挂载点(如 /mnt/gdrive);
  • 四、系统内置资源(Built-in System Resources): 系统预置、对所有 Agent 只读共享的资源包,典型代表是 Skills——以文件形式组织的知识文档与脚本,挂载于 /skills 等路径,按渐进式披露取用;还包括参考手册、模板库与共享工具定义;

外部挂载资源有哪三项特殊性质?​

  • 访问受外部权限约束: 用户在源系统中的权限决定 Agent 的可见范围;
  • 延迟更高且一致性更弱: 每次读取是一次网络往返,数据可能已被外部修改,只能按最终一致性对待;
  • 以按需只读为主: 写回外部源须谨慎,误写可能污染用户的真实数据;
  • 设计含义: 统一文件接口让 Agent 无需为每个数据源定制专用工具,但也掩盖了性能与安全差异,因此需在挂载层面显式管理只读/可写、超时与凭证边界;

四类区域如何逐项对比?​

表10-3 Agent 虚拟文件系统的四类区域

区域可见性生命周期读写并发控制
Agent 专属工作区仅该 Agent随 Agent 实例销毁读写不需要(私有)
多 Agent 共享空间所有协作 Agent + 用户随任务持续,需持久化读写需要(乐观锁 / worktree)
外部挂载资源视外部授权而定由外部源决定多为只读,写需谨慎由外部源负责
系统内置资源所有 Agent跨会话稳定只读不需要(只读)

为什么文件路径可以作为通用接口?​

  • 做法: Agent 间传递产物、主 Agent 向子 Agent 交接输入、乃至跨组织 A2A 协作交换产物,传递的都是轻量的路径字符串,而不是把内容载入上下文窗口;
  • 收益: 上下文只保留索引,大产物留在文件系统,避免上下文膨胀;