bytedance / bytedance/deer-flow
[feat] 子智能体增加支持模型启用(Thinking)推理功能
- Dominant language
- Python
- Stars
- 82.4k
- Forks
- 11.4k
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 313
Description
### Before you start
- [x] I searched [existing issues](https://github.com/bytedance/deer-flow/issues?q=is%3Aissue) and this is not a duplicate.
### Problem / motivation
对于复杂的长程任务来讲,即使主智能体将任务分解成多个子任务,让每个子智能体执行一个子任务,但是每个子任务仍然是具备一定复杂度。例如故障分析中,实际业务会从时间、位置、故障灯维度进行分析,主智能体会让每个子智能体执行一个维度的分析任务,而时间维度分析又包含了4-5个具体的任务场景,在子智能体的模型不启用推理能力的情况下,规划出来的执行步骤不是太合理,总是会缺少部分步骤,因此想让子智能体的模型能够启用推理功能,提升子智能体任务执行的效率。
目前deerflow是强制关闭子智能体的推理功能,具体代码为:
model = create_chat_model(name=self.model_name, thinking_enabled=False, app_config=app_config, attach_tracing=False)
研究了opencode和openclaw等智能体类型,它们并没有强制关闭,而是提供了可配置的选项
三个项目的对比总结
| 维度 | DeerFlow | OpenCode | OpenClaw |
| ----------------- | --------------------------- | ----------------------------------- | --------------------------------------------- |
| thinking 控制方式 | thinking_enabled: bool 参数 | variant: string(模型变体) | thinking: string(等级:off/low/medium/high) |
| 子智能体默认行为 | ❌ 硬编码 False | 继承父会话 variant(thinking 保留) | 配置驱动默认值,最终回退到模型能力 |
| 能否配置开启 | 不能(需改源码) | 可以(variant 配置) | 可以(agents.defaults.subagents.thinking) |
| 设计哲学 | Lead 思考,Subagent 执行 | Subagent 继承 Lead 能力 | Subagent 有独立可配置的 thinking 等级 |
OpenClaw 的设计最灵活:支持从 off 到 high 多个等级,可按 agent 粒度或全局粒度配置,工具调用时可临时覆盖。
期望Deerflow可以增加子智能体模型开启推理功能的配置。
### Proposed solution
可以对子智能体的模型是否开启推理功能,进行自定义配置。
### Affected area(s)
Agents / LangGraph (graph, prompts, langgraph.json)
### Alternatives considered
_No response_
### Additional context
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.