avatar

命令行小屋

A text-focused Halo theme

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

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

发表于 最近 更新于 最近
作者 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月 2, 2026

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

在构建复杂 Agent 时,上下文(Context)管理 是最关键的问题之一。当工具调用结果非常庞大时——例如网络搜索或 RAG 返回的大量信息——上下文窗口会被迅速填满,导致 Agent 无法持续运行。 File System 中间件 正是为了解决这一问题而设计的:它把文件系统作为 Agent 的

8月 2, 2026

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

当大模型开始"思考",Demo 和 Production 之间隔着一道叫做 Agent Engineering 的鸿沟。 前言 你或许已经听过无数次"AI Agent"这个词。但一个尴尬的现实是:90% 的 Agent Demo 永远停在 demo。 它们能在本地惊艳地跑通,可在真实用户面前,要么"

8月 1, 2026

Agent 中间件双雄实战:Tool Selector 与 To-do List 完全指南

让 LLM 工具调用既精准又清晰——两个中间件,搞定 Agent 的两大痛点。 📖 写在前面 随着 LangChain Agent 越来越普及,开发者会很快撞上两堵"墙": 工具太多:给 Agent 挂了 20 个工具,模型在调用时一脸懵。 任务太长:跨多步的复杂任务跑下来,用户只看到一行最终回复

下一篇

上一篇

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

最近更新

  • File System 中间件完全指南:四种后端让你的 Agent 学会“读写文件”
  • Agent Engineering 一文通:4 个核心认知 + 10 条实战洞察
  • Agent 中间件双雄实战:Tool Selector 与 To-do List 完全指南
  • AI Agent 的「记忆压缩术」:LangChain Summarization 中间件完全指南
  • Human-in-the-Loop 实战指南:在 LangChain 中为 Agent 装上"决策刹车"

热门标签

samsung WireGuard Chevereto docker 破解 llama LangChain Ai Python Gemma

目录

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

使用 Halo 主题 Chirpy