mirror of
https://github.com/bytedance/deer-flow.git
synced 2026-06-17 13:05:58 +00:00
fix(subagents): raise general-purpose max_turns to 150 and default timeout to 30min (#3610)
* fix(subagents): raise general-purpose max_turns to 150 and default timeout to 30min Deep-research subtasks failed out of the box with GraphRecursionError (Recursion limit of 100 reached): the built-in general-purpose subagent caps at max_turns=100. Raise it to 150 and bump the default subagent timeout from 900s (15min) to 1800s (30min) so the extra turns have time to run instead of shifting the failure to a timeout. The lead agent recursion_limit (100) is unchanged; the failures are subagent-only. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * docs(subagents): clarify lead recursion_limit is independent of subagent max_turns Add comments at both lead recursion_limit=100 sites (gateway services + channel manager) explaining the lead's LangGraph super-step budget is separate from subagent depth, so the two 100s are not conflated. Comment-only, no behavior change. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * docs(subagents): clarify built-in vs custom timeout scope; pin bash max_turns in test Review follow-ups: (1) clarify SubagentConfig docstring + global timeout field/comment that the 1800 default applies to built-in subagents (custom agents keep their own timeout_seconds); (2) pin bash.max_turns==60 in the defaults regression test so the config.example.yaml doc cannot drift; (3) rename test_default_timeout_preserved_when_no_config -> test_explicit_global_timeout_propagates_to_general_purpose since it intentionally exercises an explicit non-default 900. No runtime behavior change. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+7
-5
@@ -892,16 +892,18 @@ sandbox:
|
||||
# Subagents are background workers delegated tasks by the lead agent
|
||||
|
||||
# subagents:
|
||||
# # Default timeout in seconds for all subagents (default: 900 = 15 minutes)
|
||||
# timeout_seconds: 900
|
||||
# # Optional global max-turn override for all subagents
|
||||
# # Default timeout (seconds) for built-in subagents (default: 1800 = 30 min).
|
||||
# # Custom agents use their own timeout_seconds (default 900) unless overridden.
|
||||
# timeout_seconds: 1800
|
||||
# # Optional global max-turn override for all subagents.
|
||||
# # Built-in defaults: general-purpose=150, bash=60. Leave unset to keep them.
|
||||
# # max_turns: 120
|
||||
#
|
||||
# # Optional per-agent overrides (applies to both built-in and custom agents)
|
||||
# agents:
|
||||
# general-purpose:
|
||||
# timeout_seconds: 1800 # 30 minutes for complex multi-step tasks
|
||||
# max_turns: 160
|
||||
# timeout_seconds: 2700 # 45 minutes for very long deep-research tasks
|
||||
# max_turns: 250 # raise above the 150 default for very deep tasks
|
||||
# # model: qwen3:32b # Use a specific model (default: inherit from lead agent)
|
||||
# # skills: # Skill whitelist (default: inherit all enabled skills)
|
||||
# # - web-search
|
||||
|
||||
Reference in New Issue
Block a user