OpenCode unterstuetzt ueber 75 LLM-Provider via AI SDK und Models.dev. Die Wahl des richtigen Modells pro Agent und Task hat grossen Einfluss auf Qualitaet und Kosten.
Offizielle Docs: opencode.ai/docs/models
Die folgenden Modelle funktionieren gut mit OpenCode (Code-Generierung + Tool-Calling):
| Modell | Provider | Staerken |
|---|---|---|
| Claude Opus 4.5 | Anthropic | Beste Gesamtqualitaet, tiefes Verstaendnis |
| Claude Sonnet 4.5 | Anthropic | Bestes Preis-Leistungs-Verhaeltnis |
| GPT 5.2 | OpenAI | Starkes Reasoning |
| GPT 5.1 Codex | OpenAI | Optimiert fuer Code |
| Gemini 3 Pro | Grosses Context Window | |
| Minimax M2.1 | Minimax | Gute Alternative |
Build Agent -> Starkes Modell (Sonnet 4.5, Opus 4.5, GPT 5.2)
Plan Agent -> Guenstiges Modell (Haiku 4.5, GPT 5.1 Codex)
Explore Agent -> Guenstiges Modell (Haiku 4.5)
Title/Summary -> Kleinstes Modell (automatisch via small_model)
{
"$schema": "https://opencode.ai/config.json",
"model": "anthropic/claude-sonnet-4-5-20250929",
"small_model": "anthropic/claude-haiku-4-5-20250929",
"agent": {
"build": {
"model": "anthropic/claude-sonnet-4-5-20250929"
},
"plan": {
"model": "anthropic/claude-haiku-4-5-20250929"
}
}
}{
"small_model": "anthropic/claude-haiku-4-5-20250929"
}Wird automatisch fuer Title-Generation und leichte Tasks verwendet.
Subagents uebernehmen standardmaessig das Modell des aufrufenden Primary Agents. Ueberschreibe das:
{
"agent": {
"explore": {
"model": "anthropic/claude-haiku-4-5-20250929"
},
"general": {
"model": "anthropic/claude-haiku-4-5-20250929"
}
}
}steps kontrolliert wie viele agentic Iterationen ein Agent maximal ausfuehren darf. Wird das Limit erreicht, muss der Agent seine Arbeit zusammenfassen und verbleibende Tasks auflisten.
Empfohlene Step-Limits pro Agent-Typ:
| Agent-Typ | Steps | Begruendung |
|---|---|---|
| Code-schreibende Agents | unbegrenzt | Muessen iterieren bis der Code fertig ist |
| Review/Analyse Agents | 10-15 | Lesen, analysieren, Report erstellen |
| Orchestration Agents | 5-10 | Delegieren, nicht selbst ausfuehren |
| Docs/Fast Agents | 5-10 | Schnelle, fokussierte Aufgaben |
| Debugging Agents | 15-20 | Brauchen mehr Schritte fuer Trace-Analyse |
{
"agent": {
"code-reviewer": {
"steps": 15,
"model": "anthropic/claude-sonnet-4-5-20250929"
},
"context-manager": {
"steps": 5,
"model": "anthropic/claude-haiku-4-5-20250929"
},
"debugger": {
"steps": 20,
"model": "anthropic/claude-sonnet-4-5-20250929"
}
}
}Tipp: Das CLI-Tool awesome-opencode setzt diese Step-Limits automatisch wenn die Option "Apply recommended step limits" gewaehlt wird.
Compaction komprimiert den Konversations-Kontext automatisch wenn er zu lang wird. Ohne Compaction kann eine lange Session das Token-Limit ueberschreiten.
{
"compaction": {
"auto": true,
"prune": true,
"reserved": 10000
}
}| Option | Beschreibung |
|---|---|
auto |
Automatische Compaction wenn Kontext zu lang wird |
prune |
Alte Nachrichten entfernen nach Compaction |
reserved |
Mindest-Token-Reserve fuer neue Nachrichten (Standard: 10000) |
Jeder MCP Server fuegt seine Tool-Beschreibungen zum Kontext hinzu. Das sind oft 500-2000 Tokens pro Server. Bei 10 Servern sind das schon 5000-20000 Token die bei JEDEM Request mitgeschickt werden.
Strategie: MCP Server global deaktivieren und nur fuer spezifische Agents einschalten:
{
"tools": {
"my-mcp*": false
},
"agent": {
"database-optimizer": {
"tools": {
"postgres*": true
}
}
}
}Eine vollstaendige Kostenoptimierung kombiniert alle Massnahmen:
{
"model": "anthropic/claude-sonnet-4-5-20250929",
"small_model": "anthropic/claude-haiku-4-5-20250929",
"compaction": { "auto": true, "prune": true },
"agent": {
"build": { "model": "anthropic/claude-sonnet-4-5-20250929" },
"plan": { "model": "anthropic/claude-haiku-4-5-20250929" },
"explore": { "model": "anthropic/claude-haiku-4-5-20250929" },
"code-reviewer": { "model": "anthropic/claude-sonnet-4-5-20250929", "steps": 15 },
"docs-writer": { "model": "anthropic/claude-haiku-4-5-20250929", "steps": 10 },
"context-manager":{ "model": "anthropic/claude-haiku-4-5-20250929", "steps": 5 }
}
}Viele Modelle bieten verschiedene Varianten fuer unterschiedliche Anwendungsfaelle:
| Variante | Beschreibung |
|---|---|
high |
Hohes Thinking-Budget (Standard) |
max |
Maximales Thinking-Budget |
| Variante | Beschreibung |
|---|---|
none |
Kein Reasoning |
minimal |
Minimaler Aufwand |
low |
Niedriger Aufwand |
medium |
Mittlerer Aufwand |
high |
Hoher Aufwand |
xhigh |
Extra hoher Aufwand |
{
"provider": {
"openai": {
"models": {
"gpt-5": {
"variants": {
"thinking": {
"reasoningEffort": "high",
"textVerbosity": "low"
},
"fast": {
"reasoningEffort": "low",
"textVerbosity": "low"
}
}
}
}
}
}
}Wechsel mit dem Keybind variant_cycle.
{
"provider": {
"anthropic": {
"options": {
"timeout": 600000,
"chunkTimeout": 30000
}
}
}
}{
"provider": {
"amazon-bedrock": {
"options": {
"region": "us-east-1",
"profile": "my-aws-profile"
}
}
}
}| Modell | Input $/1M Tokens | Output $/1M Tokens | Empfehlung |
|---|---|---|---|
| Claude Opus 4.5 | ~$15 | ~$75 | Nur fuer komplexe Tasks |
| Claude Sonnet 4.5 | ~$3 | ~$15 | Build Agent Standard |
| Claude Haiku 4.5 | ~$0.80 | ~$4 | Plan/Explore/Subagents |
| GPT 5.2 | ~$5 | ~$20 | Build Alternative |
| GPT 5.1 Codex | ~$3 | ~$12 | Code-Generierung |
Preise sind Richtwerte und koennen sich aendern.
- Build = Starkes Modell: Hier wird Code geschrieben, Qualitaet ist wichtig
- Plan/Explore = Guenstiges Modell: Lesen und Analysieren braucht kein teueres Modell
- small_model setzen: Spart bei Title/Summary/System-Tasks
- Steps begrenzen: Verhindert unkontrollierte Kosten
- Varianten nutzen: Reasoning-Effort pro Situation anpassen
- Compaction aktivieren: Laesst Token-Verbrauch in langen Sessions kontrollierbar
- MCP Server minimieren: Weniger Server = weniger Context-Verbrauch