feat(delegation): raise max_concurrent_children default 3 -> 10 (+migration) (#86745)
delegation.max_concurrent_children caps how many delegated children run in parallel per batch (and concurrent background delegation units). The old default of 3 needlessly serialized independent fan-outs (e.g. reviewing/investigating N PRs or issues at once), so large batches ran in slow chunks of 3. Raise the shipped default to 10, which sits at/below the existing high-cost advisory threshold (>10), so the default never trips the warning. Each child still consumes API tokens independently, so this is a throughput/latency win the user pays for in parallel token spend — the floor stays 1 and there is no ceiling, so anyone can tune it down or up. - config_defaults.py: default 3 -> 10; _config_version 36 -> 37. - delegate_tool.py: _DEFAULT_MAX_CONCURRENT_CHILDREN 3 -> 10 (+ docstring). - config_migrations.py: _migrate_to_37 lifts configs pinned at exactly the old default 3 to 10 (deliberate non-3 overrides preserved; unset inherits 10). - cli-config.yaml.example: documented default updated. Verified: default/fallback read 10, version 37, and the migration lifts 3->10, preserves an explicit 5, and leaves unset untouched. Co-authored-by: Teknium <teknium1@users.noreply.github.com>
This commit is contained in:
@@ -119,7 +119,7 @@ def _get_subagent_approval_callback():
|
||||
# "delegation" toolset in _build_child_agent), NOT by the model naming toolsets
|
||||
# — the model has no toolsets argument. Subagents inherit the parent's toolsets.
|
||||
|
||||
_DEFAULT_MAX_CONCURRENT_CHILDREN = 3
|
||||
_DEFAULT_MAX_CONCURRENT_CHILDREN = 10
|
||||
# One-shot guard: the high-concurrency cost advisory is emitted at most once
|
||||
# per process. _get_max_concurrent_children() runs on every get_definitions()
|
||||
# schema rebuild (via _build_top_level_description / _build_tasks_param_description),
|
||||
@@ -733,7 +733,7 @@ def _normalize_role(r: Optional[str]) -> str:
|
||||
|
||||
def _get_max_concurrent_children() -> int:
|
||||
"""Read delegation.max_concurrent_children from config, falling back to
|
||||
DELEGATION_MAX_CONCURRENT_CHILDREN env var, then the default (3).
|
||||
DELEGATION_MAX_CONCURRENT_CHILDREN env var, then the default (10).
|
||||
|
||||
Users can raise this as high as they want; only the floor (1) is enforced.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user