Skip to content
目录

Backend 系统设计

BackendProtocol 抽象 Agent 的「虚拟文件系统」与部分执行环境;Filesystem middleware 的工具调用最终落到 Backend 实现。


1. 为何抽象 Backend

需求Backend
开发调试内存 State
跨会话Store / DB
真磁盘Filesystem
隔离执行Sandbox
混合Composite 按路径路由

2. 协议能力(概念)

操作用途
ls / read列目录、读文件
write / edit创建、字符串替换编辑
grep / glob搜索(视实现)
执行Sandbox 后端可跑命令

返回结构化结果供工具格式化给模型。


3. 实现类型

实现场景
StateBackend默认,状态存在 LangGraph state
StoreBackend长期 KV,跨 thread
FilesystemBackend映射真实目录(需权限管控)
CompositeBackend前缀 /mem/ vs /disk/ 分流
SandboxBackend容器/沙箱内执行

4. 工厂与默认

createDeepAgent({ backend }) 接受实例或工厂;未指定时用 StateBackend,与 checkpointer 配合可持久化 state 内文件字段。


5. 与 Middleware

Filesystem middleware 只调协议,不直接 fs.readFile,便于测试替换成内存实现。


6. 错误与性能

  • 路径不存在、权限拒绝 → 工具返回明确错误文本供模型修正。
  • 大文件应分块 read 或 eviction(见 05),避免一次塞进 context。

7. 总结

换存储 = 换 Backend 实现,无需改 Agent 图结构。

MIT License.