Hotdry.
ai-systems

DeerFlow 沙箱化超级代理:持久内存、工具链与子代理编排

基于 DeerFlow 开源框架,构建沙箱隔离的超级代理,支持持久内存、工具链调用与子代理委托,实现安全长时任务执行,提供工程化参数与部署清单。

在 AI 代理系统中,长运行任务(如从分钟到小时的复杂研究、代码生成或多媒体创作)面临安全隔离、状态持久化和任务分解三大挑战。DeerFlow 作为 ByteDance 开源的 SuperAgent harness,通过沙箱执行、持久内存和子代理编排,提供了一个生产级解决方案。它不是简单的工具调用,而是赋予代理 “自己的计算机”—— 隔离的 Docker 环境、文件系统和动态子代理协作,确保任务安全、可审计且高效。

沙箱隔离:安全执行长任务的基础

观点:传统代理工具调用易导致宿主机污染或资源泄露,而 DeerFlow 的沙箱模式(Local/Docker/Kubernetes)实现零污染执行,支持 bash、文件操作和自定义代码运行。

证据:每个任务在独立 Docker 容器中运行,挂载结构化文件系统:/mnt/user-data/uploads/ 用于输入文件,/mnt/workspace/ 为工作目录,/mnt/outputs/ 输出产物。代理可读写文件、执行命令,全程隔离,避免跨会话污染。“DeerFlow 提供隔离的 Docker 容器,支持文件系统读写和 bash 执行。”

落地参数:

  • sandbox.use: src.community.aio_sandbox:AioSandboxProvider(Docker 模式),或 docker(简单 Docker),Kubernetes 用 provisioner_url
  • 资源限额:Docker Compose 中设置 cpus: 2.0memory: 4G,防止 OOM;Kubernetes Pod requests: {cpu: 1, memory: 2Gi}
  • 超时阈值task_timeout: 3600s(1 小时),子任务 sub_timeout: 600s
  • 挂载路径:确保 /mnt/skills/public/ 加载内置技能(如 research、slide-creation)。

部署清单:

  1. make docker-init 拉取 sandbox 镜像(基于 agent-infra/sandbox,集成 Browser/Shell/VSCode)。
  2. 编辑 config.yaml 指定 sandbox provider。
  3. make docker-start,访问 localhost:2026 测试沙箱 bash 命令如 ls /mnt/workspace/

持久内存:跨会话状态管理

观点:长任务需记忆用户偏好和中间结果,DeerFlow 的长短期内存机制(本地存储)避免上下文窗口爆炸,支持个性化适应。

证据:短期内存通过 summarization 压缩子任务结果,卸载到 FS;长期内存持久化 profile、写作风格和技术栈,跨会话加载。“DeerFlow 构建持久内存,记录用户偏好和知识积累。”

落地参数:

  • memory.ttl: 7d(TTL 7 天),过期自动清理。
  • memory.max_entries: 100(最大条目),优先最近使用。
  • summarization_trigger: context_tokens > 80% 时自动总结。
  • profile_key: 用户 ID 绑定,如 user:alice,存储在本地 SQLite 或 Redis。

监控点:日志中追踪 memory_load_time < 2shit_rate > 70%;异常时回滚到无记忆模式。

子代理编排与工具链:复杂任务分解

观点:单代理难处理小时级任务,DeerFlow 主代理动态 spawn 子代理(parallel 执行),结合技能(MD 工作流)和工具链,实现委托与合成。

证据:主代理规划任务,spawn 子代理(scoped context,无主上下文干扰),子代理报告结构化结果,主代理合成输出。支持工具如 web_search、file_ops、bash,扩展 MCP 服务器。“复杂任务通过子代理并行分解,主代理合成结果。”

落地参数:

  • max_subagents: 10(最大子代理数),防止爆炸。
  • parallel_threshold: subtasks > 3 时并行。
  • tool_chain: 内置 web_fetch -> bash -> file_write,自定义技能 /mnt/skills/custom/my-skill/SKILL.md
  • model_config
    models:
      - name: gpt-4o
        max_tokens: 128k
        temperature: 0.3  # 规划阶段低采样
    
    推荐长上下文模型(100k+ tokens)。

部署清单:

  1. 配置多模型支持,优先 reasoning 模型如 claude-3.5-sonnet。
  2. 加载技能:research/SKILL.md 用于分解,“生成幻灯片” 链式调用 image-gen。
  3. 测试长任务:输入 “构建数据仪表盘”,观察子代理 fan-out(research -> code -> deploy)。

监控、风险与回滚

风险 1:资源耗尽 —— 沙箱 CPU >90% 触发 kill,设置 Prometheus 监控 sandbox_cpu_usage。 风险 2:子代理死锁 ——heartbeat_interval: 30s,超时 kill 并重试。

回滚策略:

  • 降级到 local sandbox(无 Docker)。
  • 禁用 subagents,单代理模式 enable_subagents: false
  • 日志审计:所有 bash/output 存 /mnt/outputs/logs/

实际案例:小时级任务如 “从研究到网站生成”,DeerFlow spawn 5 子代理(search、code、design),内存保留风格,沙箱输出 ZIP 包。

此方案适用于生产环境,自托管零成本。通过参数调优,可扩展到日级任务。

资料来源: [1] https://github.com/bytedance/deer-flow [2] https://deerflow.tech/

(正文字数:约 1250 字)

查看归档