docs(council): target dedicated council agents by role

This commit is contained in:
zap
2026-03-11 20:26:29 +00:00
parent 54f9921953
commit 9e9f7996e9
2 changed files with 69 additions and 11 deletions

View File

@@ -120,13 +120,37 @@ Always multi-round (minimum rounds=2, default rounds=3 for this flow):
## Model Selection ## Model Selection
Pick model tier based on topic complexity: Pick model tier based on topic complexity and role mission:
- **light** (casual brainstorm, simple pros/cons): default model for advisors and referee. - **light** (casual brainstorm, simple pros/cons)
- **medium** (architecture decisions, strategy): default model for advisors, stronger model for referee. - advisors / freethinkers / arbiters: use dedicated council role agents on `litellm/gpt-5-mini`
- **heavy** (critical decisions, deep analysis): stronger model for all agents. - referee / meta-arbiter: use dedicated synthesis agents on `openai-codex/gpt-5.4` (with configured fallbacks)
- **medium** (architecture decisions, strategy)
- advisors / freethinkers / arbiters: still use dedicated council role agents on `litellm/gpt-5-mini`
- referee / meta-arbiter: use dedicated synthesis agents on `openai-codex/gpt-5.4`
- **heavy** (critical decisions, deep analysis)
- keep dedicated council role agents by profile
- prefer stronger synthesis on `openai-codex/gpt-5.4`
- if a specific council run is unusually high-stakes, the caller may override the spawned session model upward, but should preserve the dedicated council agent identity/role
The caller (main agent) determines tier before spawning. ### Dedicated council agent roster
Personality mode:
- `council-pragmatist`
- `council-visionary`
- `council-skeptic`
- `council-referee`
D/P mode:
- `council-d-freethinker`
- `council-d-arbiter`
- `council-p-freethinker`
- `council-p-arbiter`
- `council-meta-arbiter`
### Spawn rule
When invoking the council skill, explicitly target these dedicated agent ids via `sessions_spawn` instead of generic/default subagents. The caller (main agent) determines tier before spawning, but should preserve the role-specific council agent identity and use model overrides only when the mission/tier truly justifies it.
## Round-Specific Prompt Guidance ## Round-Specific Prompt Guidance

View File

@@ -117,14 +117,48 @@
# ─── SUBAGENT LABELING ──────────────────────────────────────────── # ─── SUBAGENT LABELING ────────────────────────────────────────────
# #
# Personality mode: # Personality mode:
# Labels: council-r{round}-{role} # Agent ids:
# Examples: council-r1-pragmatist, council-r2-skeptic, council-referee # council-pragmatist
# Single-round: council-pragmatist, council-referee (no round prefix) # council-visionary
# council-skeptic
# council-referee
# Labels can still be council-r{round}-{role} for bookkeeping, but sessions should target
# the dedicated council agent ids above.
# #
# D/P mode: # D/P mode:
# Labels: council-r{round}-{group}-{role} # Agent ids:
# Examples: council-r1-d-freethinker, council-r1-p-arbiter, council-meta # council-d-freethinker
# Single-round: council-d-freethinker, council-p-arbiter, council-meta # council-d-arbiter
# council-p-freethinker
# council-p-arbiter
# council-meta-arbiter
# Labels can still be council-r{round}-{group}-{role} for bookkeeping, but sessions should target
# the dedicated council agent ids above.
#
# ─── ROLE-AWARE MODEL TIERING ─────────────────────────────────────
#
# light:
# advisors/freethinkers/arbiters -> dedicated council role agents on litellm/gpt-5-mini
# referee/meta-arbiter -> dedicated synthesis agents on openai-codex/gpt-5.4
#
# medium:
# advisors/freethinkers/arbiters -> dedicated council role agents on litellm/gpt-5-mini
# referee/meta-arbiter -> dedicated synthesis agents on openai-codex/gpt-5.4
#
# heavy:
# preserve dedicated role agent ids; prefer strongest synthesis on referee/meta-arbiter.
# Only override advisor models upward when the task is genuinely high-stakes or unusually complex.
#
# Principle: mission-specific synthesis gets the stronger model first; broad advisor diversity stays cheap
# unless the topic quality/risk clearly justifies escalation.
#
# Example sessions_spawn targeting:
# sessions_spawn(... agentId="council-pragmatist" ...)
# sessions_spawn(... agentId="council-referee" ...)
# sessions_spawn(... agentId="council-meta-arbiter" ...)
#
# Single-round labels may still look like council-pragmatist / council-meta for readability,
# but the runtime target should be the dedicated council agent id.
# #
# ─── WORD COUNT GUIDANCE ────────────────────────────────────────── # ─── WORD COUNT GUIDANCE ──────────────────────────────────────────
# #