pick_agents
Selects up to N distinct healthy model candidates by round-robin using preference order and last-used time, optionally enforcing cross-provider diversity and exclusion filters.
Instructions
Pick up to N distinct healthy candidates by round-robin (preference_order + last_used_at). Optional min_distinct_providers enforces cross-provider diversity, counted per provider FAMILY: google3 and google4 are two API keys for one source, not two opinions. A model is never seated twice while an unseated one is available, so a panel gets distinct voices rather than clones of one model. Exclusion uses the same identity: filter.exclude_ids drops every entry serving the same model as each named id (excluding gemini-3.6-flash-6 will NOT seat gemini-3.6-flash-5 instead), and filter.exclude_providers matches by family, so 'google' covers google3..8.
ROUTING NOTE: omitting filter.tier defaults to tier='weak' here — enforced, not just advisory, so a forgotten tier can't silently draw a strong (costlier/slower) candidate instead. Most atomic tasks (single-file edits, refactors, glue code, summaries, format conversions, well-scoped fixes) get the same quality answer from a weak-tier free-tier model as from Claude Opus or Codex Pro, in a fraction of the time and cost. Reach for strong-tier by passing filter.tier='strong' explicitly, ONLY when the task actually needs deep reasoning: multi-step debugging, architecture decisions, ambiguous requirements, novel algorithms. Frontier ≠ better output for the long tail of routine work; often it is slower with no quality gain. Be smart, not lavish.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| n | No | ||
| filter | No | ||
| min_distinct_providers | No |