Hotdry.
ai-systems

DeerFlow 集成沙箱、记忆、工具与子代理:长时工程任务处理

DeerFlow 通过沙箱隔离、长时记忆、模块化工具技能和子代理群,支持分钟到小时的研究-编码-创建任务,提供工程化配置参数与监控清单。

DeerFlow 是 ByteDance 开源的 SuperAgent 框架,专为处理长时跨分钟到小时的复杂任务而设计,如深度研究、代码生成与内容创作。其核心在于无缝集成沙箱(sandboxes)、记忆(memories)、工具 / 技能(tools/skills)与子代理(subagents),形成一个完整的 “代理主板” 系统。这种集成避免了传统代理的 token 爆炸与状态丢失问题,支持可靠的暂停恢复与并行执行。

沙箱:隔离执行环境的核心

沙箱是 DeerFlow 处理真实世界任务的基础,提供代理一个虚拟计算机,包括文件系统、shell 和代码执行能力。每个任务或子代理运行在独立沙箱中,确保隔离性与安全性。

证据与优势:DeerFlow 支持多种沙箱模式,包括本地执行、Docker 容器(推荐)和 Kubernetes pods,便于从开发到生产扩展。代理可在沙箱内读写文件、运行 Python 脚本或操作 artifact,而无需担心污染主机环境。

落地参数与配置

  • 模式选择:开发用 local,生产用 docker。配置文件中设置 sandbox.type: docker,并指定镜像 sandbox.image: deerflow/sandbox:latest
  • 目录挂载:定义 /workspace/input(上传文件)、/workspace/output(结果导出)、/workspace/tmp(临时文件)。参数:sandbox.volumes: ["/host/input:/workspace/input"]
  • 资源限额:CPU 2 核、内存 4GB、超时 30min。监控点:沙箱 CPU 使用 >80% 时自动扩容或终止。
  • 安全阈值:禁用 root 执行,网络仅限白名单工具(如 Tavily API)。回滚策略:异常时销毁沙箱,从 checkpoint 恢复。

通过这些参数,一个研究任务可在沙箱内爬取文档、分析 repo,并生成报告,而不中断主流程。

长时记忆:状态持久化与上下文工程

长时任务易因 token 限制造成遗忘,DeerFlow 使用 LangGraph checkpointing 结合本地持久化记忆,保存用户偏好、交互历史与知识积累。

证据与优势:记忆分为短期(当前任务上下文)和长期(跨会话),使用 MongoDB 或 Postgres 存储。完成步骤自动总结并 offload 到文件系统,保持活跃窗口精简。

落地参数与清单

  1. 后端配置checkpointer.type: postgres,URL postgresql://user:pass@host:5432/deerflow。间隔:每 5 步或 10min 保存一次。
  2. 总结阈值:上下文 >4k token 时触发总结,保留关键事实(<1k token)。参数:memory.summary_threshold: 4000
  3. 恢复机制:任务中断后,调用 resume_from_checkpoint(thread_id),自动加载沙箱 artifact 与记忆。
  4. 监控清单
    指标 阈值 动作
    Checkpoint 延迟 >2s 切换 DB
    记忆增长率 >20%/h 清理旧总结
    恢复成功率 <95% 告警

这些设置确保多小时任务如代码重构可安全暂停(如午休),次日无缝续传。

工具与技能:模块化能力加载

工具 / 技能是 DeerFlow 的 “插件系统”,支持 web 搜索、RAG、图像生成等,按需渐进加载,避免提示膨胀。

证据与优势:内置 Tavily/Brave 搜索、Jina 爬虫、RAGFlow 知识库,自定义 Python 工具无缝集成。MCP 接口允许外部 API 扩展。

落地清单

  • 核心工具集tools: [tavily_search, code_exec, rag_query]。技能定义为 Markdown:skill: web_research {prompt: "..." }
  • 加载策略:规划阶段评估任务,动态注入 3-5 个技能。参数:skill_loader.max_skills: 5
  • 调用限额:单工具 10 次 / 任务,超时 60s。错误处理:fallback 到备选工具。
  • 自定义示例:Python 工具 def analyze_repo(url): ...,注册 register_tool("repo_analyzer")

在长任务中,研究子代理用搜索工具,编码子代理用 code_exec,确保高效分工。

子代理群:并行编排与合成

DeerFlow 的子代理 “蜂群” 由 lead agent 协调:规划 → spawn → 并行执行 → 合成输出,利用沙箱与记忆共享 artifact。

证据与优势:支持并发,如一代理刮文档、一代理析 repo、一代理扫论坛,缩短壁钟时间。Lead agent 使用结构化输出合成最终结果。“DeerFlow 定位为代理运行时,提供沙箱执行与子代理引擎。”

落地参数

  • spawn 配置subagents: [{role: researcher, parallel: true}, {role: coder}]。最大 5 个。
  • 通信机制:共享 /workspace/shared,记忆同步 via checkpoint。
  • 终止条件:超时 2h 或 lead 判断完成。监控:并行度利用率 >70%。
  • 回滚策略:子失败时,lead 重规划或降级单代理。

完整任务示例与最佳实践

以 “市场分析报告生成” 为例:

  1. Lead 规划:研究(搜索 + 爬虫)、分析(数据处理)、创作(报告 + 图表)。
  2. Spawn 3 子代理,并行 20min。
  3. 合成:1h 内输出 Markdown + PNG。

最佳实践:

  • 预热记忆:首次任务注入用户风格。
  • 渐进复杂:从小任务测试沙箱 / 工具。
  • 生产部署:K8s + Prometheus 监控 checkpoint / 沙箱指标。

风险限:沙箱逃逸(用 seccomp)、记忆泄露(加密存储)。

资料来源

(本文约 1200 字,提供可复制配置,支持立即落地。)

查看归档