- Rename tiers: opus/sonnet/haiku → frontier/mid-tier/lightweight - Align with industry benchmarks (MMLU, GPQA, Chatbot Arena) - Add /external command for LLM mode control - Fix invoke.py timeout passthrough (now 600s default) Tier changes: - Promote gemini-2.5-pro to frontier (benchmark-validated) - Demote glm-4.7 to mid-tier then removed (unreliable) - Promote gemini-2.5-flash to mid-tier New models added: - gpt-5-mini, gpt-5-nano (GPT family coverage) - grok-code (Grok/X family) - glm-4.5-air (lightweight GLM) Removed (redundant/unreliable): - o3 (not available) - glm-4.7 (timeouts) - gpt-4o, big-pickle, glm-4.5-flash (redundant) Final: 11 models across 3 tiers, 4 model families Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
198 lines
5.6 KiB
JSON
198 lines
5.6 KiB
JSON
{
|
|
"version": "1.0.0",
|
|
"description": "Cost-efficient model selection policy",
|
|
"models": {
|
|
"opus": {
|
|
"use_cases": [
|
|
"Complex reasoning and analysis",
|
|
"Cross-agent coordination",
|
|
"Policy enforcement and validation",
|
|
"Architectural decisions",
|
|
"Ambiguous or nuanced tasks"
|
|
],
|
|
"agents": [
|
|
"personal-assistant",
|
|
"master-orchestrator",
|
|
"k8s-orchestrator",
|
|
"programmer-orchestrator"
|
|
]
|
|
},
|
|
"sonnet": {
|
|
"use_cases": [
|
|
"Standard operations",
|
|
"Well-defined tasks",
|
|
"Routine automation",
|
|
"Code generation and modification",
|
|
"Troubleshooting with clear symptoms"
|
|
],
|
|
"agents": [
|
|
"linux-sysadmin",
|
|
"k8s-diagnostician",
|
|
"argocd-operator",
|
|
"prometheus-analyst",
|
|
"git-operator",
|
|
"code-planner",
|
|
"code-implementer",
|
|
"code-reviewer"
|
|
]
|
|
},
|
|
"haiku": {
|
|
"use_cases": [
|
|
"Simple queries",
|
|
"Status checks",
|
|
"Log parsing",
|
|
"Data extraction",
|
|
"Formatting and summarization"
|
|
],
|
|
"agents": [],
|
|
"delegation_note": "Any agent can delegate simple subtasks to Haiku for cost efficiency"
|
|
}
|
|
},
|
|
"escalation_rules": [
|
|
{
|
|
"from": "haiku",
|
|
"to": "sonnet",
|
|
"triggers": ["task_too_complex", "context_insufficient", "reasoning_required"]
|
|
},
|
|
{
|
|
"from": "sonnet",
|
|
"to": "opus",
|
|
"triggers": ["cross_agent_coordination", "policy_decision", "complex_analysis"]
|
|
}
|
|
],
|
|
"cost_optimization": {
|
|
"default_start": "lowest_capable",
|
|
"log_usage": true,
|
|
"review_frequency": "weekly"
|
|
},
|
|
"skill_delegation": {
|
|
"gmail": {
|
|
"description": "Tiered model selection for email operations",
|
|
"tiers": {
|
|
"haiku": {
|
|
"operations": [
|
|
"count_unread",
|
|
"list_emails",
|
|
"fetch_metadata",
|
|
"simple_search"
|
|
],
|
|
"examples": [
|
|
"How many unread emails?",
|
|
"List emails from sender X",
|
|
"Any emails with attachments?"
|
|
]
|
|
},
|
|
"sonnet": {
|
|
"operations": [
|
|
"summarize_email",
|
|
"summarize_thread",
|
|
"categorize_emails",
|
|
"extract_action_items",
|
|
"group_by_topic"
|
|
],
|
|
"examples": [
|
|
"Summarize this email",
|
|
"What are the OpenAgents notifications about?",
|
|
"Group my emails by project"
|
|
]
|
|
},
|
|
"opus": {
|
|
"operations": [
|
|
"prioritize_inbox",
|
|
"strategic_analysis",
|
|
"cross_reference_context",
|
|
"complex_reasoning"
|
|
],
|
|
"examples": [
|
|
"What should I respond to first?",
|
|
"How does this relate to my current projects?",
|
|
"What's the sentiment across these threads?"
|
|
]
|
|
}
|
|
},
|
|
"default": "haiku",
|
|
"escalate_on": ["insufficient_context", "reasoning_required", "user_dissatisfied"]
|
|
}
|
|
},
|
|
"external_models": {
|
|
"github-copilot/gpt-5.2": {
|
|
"cli": "opencode",
|
|
"cli_args": ["-m", "github-copilot/gpt-5.2"],
|
|
"use_cases": ["reasoning", "fallback"],
|
|
"tier": "frontier"
|
|
},
|
|
"github-copilot/claude-sonnet-4.5": {
|
|
"cli": "opencode",
|
|
"cli_args": ["-m", "github-copilot/claude-sonnet-4.5"],
|
|
"use_cases": ["general", "fallback"],
|
|
"tier": "mid-tier"
|
|
},
|
|
"github-copilot/claude-haiku-4.5": {
|
|
"cli": "opencode",
|
|
"cli_args": ["-m", "github-copilot/claude-haiku-4.5"],
|
|
"use_cases": ["simple"],
|
|
"tier": "lightweight"
|
|
},
|
|
"github-copilot/gemini-3-pro-preview": {
|
|
"cli": "opencode",
|
|
"cli_args": ["-m", "github-copilot/gemini-3-pro-preview"],
|
|
"use_cases": ["long-context", "reasoning"],
|
|
"tier": "frontier"
|
|
},
|
|
"github-copilot/gemini-3-flash-preview": {
|
|
"cli": "opencode",
|
|
"cli_args": ["-m", "github-copilot/gemini-3-flash-preview"],
|
|
"use_cases": ["fast", "general"],
|
|
"tier": "mid-tier"
|
|
},
|
|
"gemini/gemini-2.5-pro": {
|
|
"cli": "gemini",
|
|
"cli_args": ["-m", "gemini-2.5-pro"],
|
|
"use_cases": ["long-context", "reasoning"],
|
|
"tier": "frontier"
|
|
},
|
|
"gemini/gemini-2.5-flash": {
|
|
"cli": "gemini",
|
|
"cli_args": ["-m", "gemini-2.5-flash"],
|
|
"use_cases": ["fast", "general"],
|
|
"tier": "mid-tier"
|
|
},
|
|
"github-copilot/gpt-5-mini": {
|
|
"cli": "opencode",
|
|
"cli_args": ["-m", "github-copilot/gpt-5-mini"],
|
|
"use_cases": ["fast", "general"],
|
|
"tier": "mid-tier"
|
|
},
|
|
"opencode/gpt-5-nano": {
|
|
"cli": "opencode",
|
|
"cli_args": ["-m", "opencode/gpt-5-nano"],
|
|
"use_cases": ["fast", "simple"],
|
|
"tier": "lightweight"
|
|
},
|
|
"zai-coding-plan/glm-4.5-air": {
|
|
"cli": "opencode",
|
|
"cli_args": ["-m", "zai-coding-plan/glm-4.5-air"],
|
|
"use_cases": ["simple", "fast"],
|
|
"tier": "lightweight"
|
|
},
|
|
"opencode/grok-code": {
|
|
"cli": "opencode",
|
|
"cli_args": ["-m", "opencode/grok-code"],
|
|
"use_cases": ["code-generation", "general"],
|
|
"tier": "mid-tier"
|
|
}
|
|
},
|
|
"tier_to_external_map": {
|
|
"frontier": "github-copilot/gpt-5.2",
|
|
"mid-tier": "github-copilot/gpt-5-mini",
|
|
"lightweight": "opencode/gpt-5-nano"
|
|
},
|
|
"task_routing": {
|
|
"reasoning": "github-copilot/gpt-5.2",
|
|
"code-generation": "github-copilot/gemini-3-pro-preview",
|
|
"long-context": "gemini/gemini-2.5-pro",
|
|
"fast": "github-copilot/gemini-3-flash-preview",
|
|
"default": "github-copilot/claude-sonnet-4.5"
|
|
}
|
|
}
|