For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Hauptnavigation

Subagenten

Verwende Subagenten in ChatGPT und Codex und konfiguriere benutzerdefinierte Codex-Agenten

ChatGPT Work und Codex können Subagenten-Arbeitsabläufe ausführen, indem sie spezialisierte Agenten parallel starten und deren Ergebnisse anschließend in einer Antwort zusammenfassen. Das kann bei komplexen Aufgaben besonders hilfreich sein, die sich stark parallelisieren lassen, etwa beim Erkunden einer Codebasis oder beim Umsetzen eines mehrstufigen Plans für eine Funktion.

In lokalen Codex-Clients kannst du außerdem benutzerdefinierte Agenten mit unterschiedlichen Modellkonfigurationen und Anweisungen für verschiedene Aufgaben definieren.

Verfügbarkeit

In aktuellen Codex-Versionen sind Subagenten-Arbeitsabläufe standardmäßig aktiviert. Subagentenaktivitäten werden in der ChatGPT-Desktop-App, der Codex CLI und der IDE-Erweiterung angezeigt.

Da jeder Subagent Modelle und Tools eigenständig nutzt, verbrauchen Subagenten-Arbeitsabläufe mehr Token als vergleichbare Ausführungen mit einem einzelnen Agenten.

Weise Codex in einem Chat in der App an, unabhängige Teile der Arbeit an Subagenten zu delegieren. Aktuelle lokale Codex-Versionen delegieren Arbeit, wenn du direkt darum bittest oder wenn entsprechende AGENTS.md- oder Skill-Anweisungen dies verlangen. Die App zeigt jeden Subagenten-Thread an, damit du seine Arbeit und die an den Haupt-Chat zurückgegebene Zusammenfassung prüfen kannst.

Vorteile von Subagenten-Arbeitsabläufen

Auch Modelle mit großen Kontextfenstern haben Grenzen. Wenn du den Haupt-Chat, in dem du Anforderungen, Einschränkungen und Entscheidungen definierst, mit unübersichtlichen Zwischenausgaben wie Erkundungsnotizen, Testprotokollen, Stacktraces und Befehlsausgaben überflutest, kann die Sitzung mit der Zeit unzuverlässiger werden.

Häufig wird das so beschrieben:

  • Kontextverschmutzung: Nützliche Informationen gehen in unübersichtlichen Zwischenausgaben unter.
  • Kontextverfall: Die Leistung lässt nach, wenn sich im Chat weniger relevante Details ansammeln.

Weitere Hintergründe findest du im Chroma-Beitrag über Kontextverfall.

Subagenten-Arbeitsabläufe entlasten den Haupt-Thread von unübersichtlichen Zwischenschritten:

  • Lass den Hauptagenten sich auf Anforderungen, Entscheidungen und endgültige Ergebnisse konzentrieren.
  • Setze spezialisierte Subagenten parallel für Erkundung, Tests oder Protokollanalysen ein.
  • Lass Subagenten Zusammenfassungen statt unbearbeiteter Zwischenausgaben zurückgeben.

Sie sparen außerdem Zeit, wenn sich Aufgaben unabhängig voneinander parallel ausführen lassen, und machen umfangreichere Aufgaben leichter handhabbar, indem sie diese in klar abgegrenzte Teilaufgaben zerlegen. Codex kann beispielsweise die Analyse eines Dokuments mit mehreren Millionen Token in kleinere Arbeitsschritte aufteilen und die wichtigsten Erkenntnisse an den Haupt-Thread zurückgeben.

Setze parallele Agenten zunächst für Aufgaben mit hohem Leseanteil ein, etwa für Erkundung, Tests, Triage und Zusammenfassungen. Gehe bei parallelen Arbeitsabläufen mit hohem Schreibanteil vorsichtiger vor, da Agenten, die gleichzeitig Code bearbeiten, Konflikte verursachen und den Koordinationsaufwand erhöhen können.

Grundbegriffe

Codex verwendet in Subagenten-Arbeitsabläufen einige verwandte Begriffe:

  • Subagenten-Arbeitsablauf: Ein Arbeitsablauf, bei dem Codex Agenten parallel ausführt und ihre Ergebnisse zusammenführt.
  • Subagent: Ein delegierter Agent, den Codex zur Bearbeitung einer bestimmten Aufgabe startet.
  • Agenten-Thread: Der Thread, in dem ein Subagent seine Arbeit erledigt. In unterstützten Clients kannst du diese Threads öffnen, um Fortschritt oder Ergebnisse zu prüfen.

Subagenten-Arbeitsabläufe auslösen

Fordere Subagenten oder parallele Agentenarbeit direkt an. Codex kann außerdem delegieren, wenn entsprechende Projekt- oder Skill-Anweisungen dies verlangen.

Beim manuellen Auslösen verwendest du direkte Anweisungen wie „starte zwei Agenten“, „delegiere diese Arbeit parallel“ oder „setze pro Punkt einen Agenten ein“. Subagenten-Arbeitsabläufe verbrauchen mehr Token als vergleichbare Ausführungen mit einem Agenten, da jeder Subagent Modelle und Tools eigenständig nutzt.

Ein guter Subagenten-Prompt sollte erklären, wie die Arbeit aufgeteilt wird, ob Codex vor dem Fortfahren auf alle Agenten warten soll und welche Zusammenfassung oder Ausgabe zurückgegeben werden soll.

Review this branch with parallel subagents. Spawn one subagent for security risks, one for test gaps, and one for maintainability. Wait for all three, then summarize the findings by category with file references.

Modelle und Reasoning-Aufwand auswählen

Verschiedene Agenten benötigen unterschiedliche Einstellungen für Modell und Reasoning-Aufwand.

Wenn du für einen Subagenten weder ein Modell noch model_reasoning_effort konfigurierst, übernimmt er das Modell und den Reasoning-Aufwand des übergeordneten Agenten. Wird bei einer expliziten Startanforderung oder durch eine [agents]-Standardeinstellung ein Modell ohne ausdrücklich festgelegten oder konfigurierten Reasoning-Aufwand ausgewählt, verwendet der Subagent den Standardwert dieses Modells für den Reasoning-Aufwand. Um Intelligenz, Geschwindigkeit und Preis für jede Aufgabe auszubalancieren, fordere in deinem Prompt ein bestimmtes Modell oder einen bestimmten Reasoning-Aufwand an, konfiguriere [agents]-Standardwerte in config.toml oder lege model und model_reasoning_effort direkt in der Datei des benutzerdefinierten Agenten fest. Verwende beispielsweise gpt-5.6-terra für schnelle Scans oder eine gpt-5.6-Konfiguration mit höherem Reasoning-Aufwand für besonders anspruchsvolle Analysen.

Beginne bei den meisten Aufgaben in Codex mit gpt-5.6. Verwende gpt-5.6-terra, wenn du für leichtere Subagentenaufgaben eine schnellere, kostengünstigere Option benötigst.

Modellauswahl

  • gpt-5.6: Beginne damit bei anspruchsvollen Agenten. Es eignet sich am besten für mehrdeutige, mehrstufige Aufgaben, die Planung, Tool-Nutzung, Validierung und konsequente Umsetzung über einen größeren Kontext hinweg erfordern.
  • gpt-5.6-terra: Verwende es für Agenten, bei denen Geschwindigkeit und Effizienz wichtiger sind als eine tiefgehende Analyse, etwa bei Erkundungen, leseintensiven Scans, beim Prüfen großer Dateien oder beim Verarbeiten begleitender Dokumente. Es eignet sich gut für parallel arbeitende Agenten, die dem Hauptagenten zusammengefasste Ergebnisse zurückgeben.
  • gpt-5.6-luna: Verwende es für schnelle Agenten mit eng begrenztem Aufgabenbereich, die klare, wiederholbare oder umfangreiche Arbeiten erledigen.

Reasoning-Aufwand (model_reasoning_effort)

  • ultra: Verwende diese Stufe für den höchsten Reasoning-Aufwand, wenn das ausgewählte Modell sie unterstützt.
  • max und xhigh: Verwende diese Stufen für besonders hohen Reasoning-Aufwand, wenn das ausgewählte Modell sie unterstützt.
  • high: Verwende diese Stufe, wenn ein Agent komplexe Logik nachvollziehen, Annahmen prüfen oder Ausnahmefälle bearbeiten muss, etwa bei Review-Agenten oder sicherheitsorientierten Agenten.
  • medium: Ein ausgewogener Standardwert für die meisten Agenten.
  • low: Verwende diese Stufe, wenn die Aufgabe unkompliziert ist und Geschwindigkeit höchste Priorität hat.

Ein höherer Reasoning-Aufwand verlängert die Antwortzeit und erhöht die Token-Nutzung, kann aber bei komplexen Aufgaben die Qualität verbessern. Weitere Informationen findest du unter Modelle, Grundlagen der Konfiguration und Konfigurationsreferenz.

Orchestrierung und Thread-Steuerung

ChatGPT oder Codex übernimmt die Orchestrierung zwischen den Agenten. Dazu gehören das Starten neuer Subagenten, das Weiterleiten von Folgeanweisungen, das Warten auf Ergebnisse und das Schließen von Agenten-Threads.

Wenn viele Agenten ausgeführt werden, wartet Codex, bis alle angeforderten Ergebnisse vorliegen, und gibt anschließend eine zusammengefasste Antwort zurück.

Aktuelle lokale Codex-Versionen starten Agenten nach einer direkten Aufforderung oder wenn entsprechende Projekt- oder Skill-Anweisungen dies verlangen.

Um zu sehen, wie das funktioniert, probiere den folgenden Prompt in deinem Projekt aus:

I would like to review the following points on the current PR (this branch vs main). Spawn one agent per point, wait for all of them, and summarize the result for each point.
1. Security issue
2. Code quality
3. Bugs
4. Race
5. Test flakiness
6. Maintainability of the code

Subagenten verwalten

  • Öffne über die im Haupt-Thread angezeigte Aktivität einen Subagenten-Thread, um dessen Arbeit zu prüfen.
  • Weise Codex direkt an, einen laufenden Subagenten zu steuern, ihn anzuhalten oder abgeschlossene Subagenten-Threads zu schließen.

Genehmigungen und Sandbox-Steuerung

Subagenten übernehmen deine aktuelle Sandbox-Richtlinie.

Subagenten übernehmen den unter dem Editor ausgewählten Berechtigungsmodus. Wähle den Berechtigungsmodus für den übergeordneten Turn aus, bevor du Codex bittest, Arbeit zu delegieren.

Du kannst die Sandbox-Konfiguration einzelner benutzerdefinierter Agenten überschreiben, etwa indem du für einen ausdrücklich festlegst, dass er ohne Schreibzugriff arbeitet.

Benutzerdefinierte Agenten

Codex enthält folgende integrierte Agenten:

  • default: universell einsetzbarer Fallback-Agent.
  • worker: auf die Ausführung ausgerichteter Agent für Implementierungen und Fehlerbehebungen.
  • explorer: Agent für die vorwiegend lesende Erkundung der Codebasis.

Um eigene benutzerdefinierte Agenten zu definieren, füge eigenständige TOML-Dateien unter ~/.codex/agents/ für persönliche Agenten oder unter .codex/agents/ für projektbezogene Agenten hinzu.

Jede Datei definiert einen benutzerdefinierten Agenten. Codex lädt diese Dateien als Konfigurationsebenen für gestartete Sitzungen. Dadurch können benutzerdefinierte Agenten dieselben Einstellungen überschreiben, die auch in einer normalen Codex-Sitzung konfiguriert werden. Das kann aufwendiger wirken als ein spezielles Agentenmanifest. Mit der Weiterentwicklung der Möglichkeiten zum Erstellen und Teilen kann sich auch das Format ändern.

Jede eigenständige Datei für einen benutzerdefinierten Agenten muss Folgendes definieren:

  • name
  • description
  • developer_instructions

Wenn eine benutzerdefinierte Agentendatei model oder model_reasoning_effort festlegt, hat der Wert in der Datei Vorrang. Vor dem Anwenden der Datei ermittelt Codex jede Einstellung zunächst aus einem expliziten Startwert, dann aus dem entsprechenden Standardwert unter [agents] und schließlich aus dem Wert des übergeordneten Agenten. Wenn eine explizite Startanforderung oder ein Standardwert unter [agents] ein Modell auswählt und weder die Anforderung noch der Standardwert einen Reasoning-Aufwand vorgibt, verwendet Codex den standardmäßigen Reasoning-Aufwand dieses Modells. Eine benutzerdefinierte Agentendatei, die nur model festlegt, behält diesen zuvor ermittelten Aufwand bei. Lege in der Datei zusätzlich model_reasoning_effort fest, wenn das ausgewählte Modell diesen Aufwand nicht unterstützt oder du einen anderen verwenden möchtest. Andere Sitzungseinstellungen wie sandbox_mode, mcp_servers und skills.config werden vom übergeordneten Agenten übernommen, wenn sie in der Agentendatei nicht festgelegt sind.

Globale Einstellungen

Globale Einstellungen für Subagenten findest du weiterhin unter [agents] in deiner Konfiguration.

FeldTypErforderlichZweck
agents.enabledBoolescher WertNeinTools für mehrere Agenten aktivieren oder deaktivieren.
agents.max_concurrent_threads_per_sessionZahlNeinAnzahl gleichzeitig geöffneter Threads gestarteter Agenten begrenzen; der Haupt-Thread zählt nicht mit.
agents.default_subagent_modelZeichenfolgeNeinStandardmodell für gestartete Agenten festlegen.
agents.default_subagent_reasoning_effortZeichenfolgeNeinStandardmäßigen Reasoning-Aufwand für gestartete Agenten festlegen.
agents.interrupt_messageBoolescher WertNeinEine für das Modell sichtbare Nachricht erfassen, wenn ein Agenten-Turn unterbrochen wird.

Hinweise:

  • Der Standardwert für agents.enabled ist true. Setze ihn auf false, um Tools für mehrere Agenten zu deaktivieren.
  • Wenn du agents.max_concurrent_threads_per_session nicht festlegst, wählt Codex den Standardwert. Bestehende Konfigurationen können agents.max_threads weiterhin als Legacy-Alias verwenden.
  • Explizite Startwerte überschreiben agents.default_subagent_model und agents.default_subagent_reasoning_effort.
  • Der Standardwert für agents.interrupt_message ist true. Setze ihn auf false, um die für das Modell sichtbare Unterbrechungsnachricht nicht in den Kontext des Agenten aufzunehmen.
  • Wenn der Name eines benutzerdefinierten Agenten mit dem eines integrierten Agenten wie explorer übereinstimmt, hat dein benutzerdefinierter Agent Vorrang.

Schema für benutzerdefinierte Agentendateien

FeldTypErforderlichZweck
nameZeichenfolgeJaAgentenname, den Codex beim Starten dieses Agenten oder bei Verweisen auf ihn verwendet.
descriptionZeichenfolgeJaFür Nutzende bestimmte Hinweise, wann Codex diesen Agenten einsetzen soll.
developer_instructionsZeichenfolgeJaGrundlegende Anweisungen, die das Verhalten des Agenten definieren.

In einer Datei für einen benutzerdefinierten Agenten kannst du außerdem weitere unterstützte Schlüssel aus config.toml angeben, etwa model, model_reasoning_effort, sandbox_mode, mcp_servers und skills.config.

Codex identifiziert den benutzerdefinierten Agenten anhand des Feldes name. Am einfachsten ist es, den Dateinamen an den Agentennamen anzupassen, doch das Feld name ist maßgeblich.

Beispiele für benutzerdefinierte Agenten

Die besten benutzerdefinierten Agenten sind klar spezialisiert und konsequent ausgerichtet. Gib jedem Agenten eine klar umrissene Aufgabe, eine passende Auswahl an Tools und Anweisungen, die verhindern, dass er in angrenzende Aufgabenbereiche abdriftet.

Beispiel 1: PR-Review

Dieses Muster verteilt das Review auf drei spezialisierte benutzerdefinierte Agenten:

  • pr_explorer erfasst die Struktur der Codebasis und trägt Belege zusammen.
  • reviewer identifiziert Risiken für Korrektheit, Sicherheit und Tests.
  • docs_researcher prüft die Framework- oder API-Dokumentation über einen speziell dafür vorgesehenen MCP-Server.

Projektkonfiguration (.codex/config.toml):

[agents]
max_concurrent_threads_per_session = 8

.codex/agents/pr-explorer.toml:

name = "pr_explorer"
description = "Read-only codebase explorer for gathering evidence before changes are proposed."
model = "gpt-5.3-codex-spark"
model_reasoning_effort = "medium"
sandbox_mode = "read-only"
developer_instructions = """
Stay in exploration mode.
Trace the real execution path, cite files and symbols, and avoid proposing fixes unless the parent agent asks for them.
Prefer fast search and targeted file reads over broad scans.
"""

.codex/agents/reviewer.toml:

name = "reviewer"
description = "PR reviewer focused on correctness, security, and missing tests."
model = "gpt-5.6-terra"
model_reasoning_effort = "high"
sandbox_mode = "read-only"
developer_instructions = """
Review code like an owner.
Prioritize correctness, security, behavior regressions, and missing test coverage.
Lead with concrete findings, include reproduction steps when possible, and avoid style-only comments unless they hide a real bug.
"""

.codex/agents/docs-researcher.toml:

name = "docs_researcher"
description = "Documentation specialist that uses the docs MCP server to verify APIs and framework behavior."
model = "gpt-5.6-luna"
model_reasoning_effort = "medium"
sandbox_mode = "read-only"
developer_instructions = """
Use the docs MCP server to confirm APIs, options, and version-specific behavior.
Return concise answers with links or exact references when available.
Do not make code changes.
"""

[mcp_servers.openaiDeveloperDocs]
url = "https://developers.openai.com/mcp"

Dieses Setup eignet sich gut für Prompts wie:

Review this branch against main. Have pr_explorer map the affected code paths, reviewer find real risks, and docs_researcher verify the framework APIs that the patch relies on.

Beispiel 2: Debugging einer Frontend-Integration

Dieses Muster eignet sich für UI-Regressionen, instabile Abläufe im Browser oder Integrationsfehler, die sowohl den Anwendungscode als auch das Produkt im laufenden Betrieb betreffen.

Projektkonfiguration (.codex/config.toml):

[agents]
max_concurrent_threads_per_session = 6

.codex/agents/code-mapper.toml:

name = "code_mapper"
description = "Read-only codebase explorer for locating the relevant frontend and backend code paths."
model = "gpt-5.6-luna"
model_reasoning_effort = "medium"
sandbox_mode = "read-only"
developer_instructions = """
Map the code that owns the failing UI flow.
Identify entry points, state transitions, and likely files before the worker starts editing.
"""

.codex/agents/browser-debugger.toml:

name = "browser_debugger"
description = "UI debugger that uses browser tooling to reproduce issues and capture evidence."
model = "gpt-5.6-terra"
model_reasoning_effort = "high"
sandbox_mode = "workspace-write"
developer_instructions = """
Reproduce the issue in the browser, capture exact steps, and report what the UI actually does.
Use browser tooling for screenshots, console output, and network evidence.
Do not edit application code.
"""

[mcp_servers.chrome_devtools]
url = "http://localhost:3000/mcp"
startup_timeout_sec = 20

.codex/agents/ui-fixer.toml:

name = "ui_fixer"
description = "Implementation-focused agent for small, targeted fixes after the issue is understood."
model = "gpt-5.3-codex-spark"
model_reasoning_effort = "medium"
developer_instructions = """
Own the fix once the issue is reproduced.
Make the smallest defensible change, keep unrelated files untouched, and validate only the behavior you changed.
"""

[[skills.config]]
path = "/Users/me/.agents/skills/docs-editor/SKILL.md"
enabled = false

Dieses Setup eignet sich gut für Prompts wie:

Investigate why the settings modal fails to save. Have browser_debugger reproduce it, code_mapper trace the responsible code path, and ui_fixer implement the smallest fix once the failure mode is clear.