avatar

命令行小屋

A text-focused Halo theme

  • Ai
  • Linux
  • 游戏
  • 数据库
  • Apache Hadoop
  • Windows
  • 手机
主页 File System 中间件完全指南:四种后端让你的 Agent 学会“读写文件”
文章

File System 中间件完全指南:四种后端让你的 Agent 学会“读写文件”

发表于 2026-08-2 更新于 2026-08- 2
作者 KennethCheng
302~389 分钟 阅读

在构建复杂 Agent 时,上下文(Context)管理 是最关键的问题之一。当工具调用结果非常庞大时——例如网络搜索或 RAG 返回的大量信息——上下文窗口会被迅速填满,导致 Agent 无法持续运行。

File System 中间件 正是为了解决这一问题而设计的:它把文件系统作为 Agent 的外部记忆,在需要时写入文件、在需要时再读取,从而支持 Agent 的连续长期运行。

本文将系统梳理 File System 中间件的四种后端,帮助你根据数据生命周期选择合适的存储方式。


一、整体结构

File System 中间件的整体结构可以概括为:

File System 中间件
FilesystemBackend
StateBackend
StoreBackend
CompositeBackend
本地真实文件
virtual_mode 沙箱
临时存储
单次调用内有效
Store 对象
跨线程持久
default 默认后端
routes 路径路由
组合多种后端

二、FilesystemBackend:本地真实文件

FilesystemBackend 把 Agent 的文件直接映射到本地磁盘的真实文件。通过 root_dir 指定根目录,并通过 virtual_mode 以“沙箱”形式锁定访问范围。

Agent 调用工具
FilesystemBackend
root_dir 根目录
真实本地文件
virtual_mode=True
锁定访问范围

典型配置:

from deepagents.backends import FilesystemBackend

backend = FilesystemBackend(
    root_dir="./agent_files",
    virtual_mode=True
)

适用场景:

  • 需要长期保存在本地的数据
  • 需要明确限定文件访问范围
  • 需要真正操作本地磁盘文件

三、StateBackend:单次调用的临时草稿

StateBackend 将文件存储在 Agent 的运行状态中,生命周期与单次调用绑定,任务结束后通常不再保留,因此非常适合“草稿纸”式的中间结果。

StateAgentStateAgent任务结束自动清理写入临时文件读取临时文件

典型配置:

backend=lambda runtime: StateBackend(runtime)

适用场景:

  • 任务草稿
  • 中间结果
  • 单次调用内的临时数据
  • 一次性、不需要长期保留的小型文件

四、StoreBackend:跨线程的长期记忆

StoreBackend 通过外部 Store 对象存储文件,可实现跨线程、跨进程、永久存活的长期记忆。一个文件写入后,可以在多个 Agent 实例中复用。

Agent 线程2Store 对象Agent 线程1Agent 线程2Store 对象Agent 线程1数据持久化写入密码.txt读取密码.txt返回文件内容

典型配置:

from langgraph.store.memory import InMemoryStore
from deepagents.backends import StoreBackend

store = InMemoryStore()

agent = create_agent(
    model=model,
    store=store,
    middleware=[
        FilesystemMiddleware(
            backend=lambda runtime: StoreBackend(runtime)
        )
    ]
)

适用场景:

  • Agent 长期记忆
  • 跨线程、跨会话共享数据
  • 多 Agent 实例协同工作
  • 需要长期保留的笔记、配置或用户偏好

五、CompositeBackend:多后端的“热插拔”

当任务同时涉及临时数据与长期记忆时,可以使用 CompositeBackend 把多个后端组合起来。它支持 default 默认后端和 routes 路径路由,可以根据文件路径灵活选择存储位置。

是
否
Agent 请求文件路径
匹配 routes 规则?
使用对应后端
使用 default 后端
StateBackend
StoreBackend
FilesystemBackend
StateBackend

典型配置:

from deepagents import create_deep_agent
from deepagents.backends import CompositeBackend, StateBackend, StoreBackend
from langgraph.store.memory import InMemoryStore

composite_backend = lambda runtime: CompositeBackend(
    default=StateBackend(runtime),
    routes={
        ".": StoreBackend(runtime),
    }
)

agent = create_deep_agent(
    backend=composite_backend,
    store=InMemoryStore()
)

适用场景:

  • 长期数据与临时数据混用
  • 多种信息源协作
  • 在同一 Agent 中混合使用 State 和 Store
  • 复杂任务的统一记忆管理

六、四种后端对比

对比项FilesystemBackendStateBackendStoreBackendCompositeBackend
存储位置本地磁盘运行状态Store 对象多种后端组合
是否真实文件是否否视配置而定
生命周期长期临时长期灵活
跨线程共享是否是部分支持
路径路由不支持不支持不支持支持
适合场景本地文件管理草稿、临时结果长期记忆、共享数据多类型文件混合管理
复杂度中低中较高

七、如何选择后端?

否
是
否
是
否
是
需要文件持久化吗?
StateBackend
需要跨线程共享吗?
FilesystemBackend
需要多类型文件吗?
StoreBackend
CompositeBackend

简单选择策略:

  • 只需要临时草稿:StateBackend
  • 需要本地真实文件:FilesystemBackend
  • 需要长期记忆或跨线程共享:StoreBackend
  • 需要混合多种存储:CompositeBackend

八、总结

File System 中间件为 Agent 提供了一种外部记忆机制,可以显著降低上下文窗口的压力。四种后端各有侧重:

  • FilesystemBackend:真实文件,本地管理。
  • StateBackend:临时草稿,自动清理。
  • StoreBackend:长期记忆,跨线程共享。
  • CompositeBackend:灵活组合,按需路由。

在实际开发中,应根据数据的生命周期和共享需求选择合适的后端。对于密码、Token 等敏感数据,应避免明文写入文件,必要时使用加密或环境变量管理。

核心原则:先限制 Agent 的文件访问范围,再赋予文件读写权限。

Ai, LangChain
LangChain Ai Python
许可协议:  CC BY 4.0
分享

相关文章

8月 14, 2026

New API vs LiteLLM:大模型 API 网关终极对决,6 维对比一篇说透

核心定位 × 技术栈 × 配置扩展 × 预算管理 × 可观测性 × 路由容灾,6 维对比一次讲清,帮你选对 AI Gateway。 一句话总结 New API = 开箱即用的 AI API 网关 + 用量管理平台,更偏平台化,强调多模型聚合、多租户、用户/额度、渠道管理和 Web 后台。 LiteL

8月 14, 2026

3 分钟把 100 个大模型塞进一个 API:用 LiteLLM 给公司搭一层 LLM 网关

一篇能让你下班前就把 LLM Gateway 最小 PoC 跑起来的实战指南。 配套封面提示词见文末。 一、先讲个真事 上个月,朋友公司技术总监找我倒苦水: “我们刚接了豆包,领导又让对接 DeepSeek。CTO 说 Qwen 新模型出来后必须支持,海外业务还要上 Claude 和 GPT。我现在

8月 11, 2026

ComfyUI 修复 SageAttention 报错指南:解决 MiniMax H3 Memory Efficient Sage Attention Patch 安装失败问题

Windows Portable 环境安装 Triton + SageAttention 2.2.0 完整教程 问题描述 在使用 ComfyUI 运行 MiniMax H3 工作流时,如果添加: MiniMax H3 Memory Efficient Sage Attention Patch 节点,

下一篇

从浅到深:Deep Agents 核心能力与架构全解析

上一篇

Agent Engineering 一文通:4 个核心认知 + 10 条实战洞察

最近更新

  • Unraid 虚拟机 fnOS 存储扩容实战:64G 到 128G,一路扩容到 Btrfs
  • fnOS × Unraid:通过 VirtIOFS 挂载宿主机磁盘并实测 1GB/s 读取性能
  • fnOS 飞牛 NAS 修复 Gitea 记录:升级版本并关闭用户注册
  • 我的 Gitea 被攻击实录:从 CPU 异常到确认服务器端 RCE 的完整排查过程
  • New API vs LiteLLM:大模型 API 网关终极对决,6 维对比一篇说透

热门标签

samsung WireGuard Chevereto docker 破解 llama MiniMax-H3 ComfyUI LangChain Ai

目录

©2026 命令行小屋. 保留部分权利。

使用 Halo 主题 Chirpy