bytedance / bytedance/deer-flow

[feat] 子智能体增加支持模型启用(Thinking)推理功能

Open
#4,875 2 comments 0 reactions 1 assignee Claimed by @AnnaSuSu View on GitHub
enhancement needs-triage
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.