DeerFlow 2.0 · 工程源码手记
我们不按文件夹读源码,而是跟着一次真实请求往下走。源码很多,主线只有一条——我们就沿着它一路读到底。
主线 · 8 站 · 已发布 3 篇
一句话怎么变成一次 run
模型开口之前,DeerFlow 要先创建 run、装入上下文,并把执行事件持续流回前端。
装配线,不负责思考
图工厂不负责推理。它把模型、工具、中间件、prompt 和状态结构装配成一张能运行的图。
工具配上了,不代表会暴露给模型
工具列表不是静态注册表。一次 run 会暴露哪些工具,取决于配置、模型能力、沙箱、skill 和 MCP 策略。
顺序即语义
同一组中间件,换个顺序就是另一种 agent。这里要看的,是顺序如何变成运行语义。
能力边界,不只是文件系统
沙箱不是文件系统包装,而是一道能力边界:它决定 agent 能访问哪些外部资源。
委派不是多开一个工具
在 2.x 里,委派能力通过 task_tool 暴露。能力开关和工具列表耦在一起,这是后续设计需要拆开的地方。
把最小权限写进工具策略
skill 不只是追加 prompt,还能用 allowed_tools 收敛工具集,把最小权限落到运行时。
run 结束后,什么被记住了
store 与 checkpointer 分工不同:一个存长期状态,一个存可回滚的执行快照。最后一站,看一次 run 结束后留下了什么。
■ 已发布,可阅读 · □ 计划中 · RISK = 改动影响半径