Design wechseln

Codex Cloud Praxisguide: GitHub-Aufgaben an einen Cloud-Agent übergeben und sauber prüfen

"Die Dokumentation zu OpenAI Codex Cloud environments wurde genutzt, um Lifecycle von Cloud tasks, setup scripts, env vars, secrets, cache, diffs und PR flow zu prüfen."

Ein GitHub issue sagt: „Der webhook-Test fällt in CI durch, aber ich kann die vollständige Umgebung gerade nicht lokal starten.“ Sie möchten Codex Cloud im Cloud-Repository daran arbeiten lassen und am Ende nur diff, Testlog und PR zur Prüfung bekommen.

Der Punkt ist nicht, dass „Cloud“ automatisch mehr erledigt. Der Punkt ist: Ein Cloud task läuft in einer sauberen, reproduzierbaren Repository-Umgebung, getrennt von Ihrem Laptop. Er liest keine lokalen uncommitted files, keine Browser-Session und keine lokale .env. Diese Grenze ist Einschränkung und Schutz zugleich.

Der Ablauf ist: zuerst entscheiden, ob die Aufgabe in Cloud gehört, dann environment konfigurieren, Prompt schreiben, Ergebnis prüfen und danach entscheiden, ob Sie einen PR öffnen, den Diff lokal weiterprüfen oder @codex review als zweite Kontrolle nutzen.

Zuerst entscheiden: Soll diese Aufgabe in Cloud laufen oder lokal bleiben?

Die Grenzen zwischen Local, Worktree, Cloud und SSH host

Die Codex-Einstiege lösen unterschiedliche Probleme. Sie sind keine einfache Skala von schwach bis stark.

SzenarioGeeigneter EinstiegGrundWichtigstes Prüfobjekt
Kleine lokale Änderung, hängt von uncommitted files oder localhost abCLI / IDE / LocalZugriff auf lokale Arbeitskopie, Browser und lokale ServicesLokaler diff, Testausgabe
Zwei bis drei unabhängige Ansätze parallelCodex app WorktreeIsoliert Git-Zustand und Dependency-Verzeichnisseworktree diff, review queue
GitHub issue, CI failure, Dokumentationsupdate, reproduzierbare Repository-AufgabeCodex CloudRemote checkout, läuft auch ohne Ihren RechnerCloud summary, diff, PR
Zweite Prüfung eines PRGitHub @codex reviewErstellt ein Standard-Review auf Basis des PR diffGitHub review comments
Projekt liegt auf devbox oder interner MaschineRemote connection / SSH hostNutzt Dateien, Shell, Credentials und Tools des Remote-Hostsremote diff, terminal output

Cloud ist kein „stärkerer Worktree“. Worktree läuft weiter auf Ihrer Maschine und trennt nur das Git-Verzeichnis. Cloud ist ein configured cloud environment, das das GitHub-Repository auscheckt und die Aufgabe in einem Remote-Container ausführt.

Gute Cloud-Aufgaben haben meist vier Eigenschaften: klares Ziel, reproduzierbarer Repository-Zustand, scriptbare Umgebung und ein Done when, das per Befehl oder diff überprüft werden kann. Dazu passen ein CI failure, eine Dokumentationsänderung, ein PR-review follow-up oder Tests für ein einzelnes Modul.

Aufgaben, die Sie nicht an Cloud übergeben sollten

Manche Aufgaben eignen sich für einen AI-Assistenten, sollten aber die lokale Umgebung nicht verlassen.

  • Abhängigkeit von lokalen uncommitted files: Cloud sieht nur den Zustand aus dem Remote-Repository.
  • Abhängigkeit von Browser-Session oder lokalem dev server: Der Cloud-Container greift nicht automatisch auf Chrome, localhost oder Desktop-Apps zu.
  • Produktions-Secrets in der agent phase: Secrets sollten nicht in der agent loop sichtbar sein.
  • Vages großes Refactoring: Ohne Validierungsbefehl wird die Unsicherheit nur weiter weg verschoben.
  • Produktentscheidungen oder Teamabwägungen: Codex kann bei der Analyse helfen, sollte aber nicht die komplette Richtung direkt umschreiben.

Ich würde den ersten Cloud task klein halten. Wenn Sie nicht schreiben können, welcher Befehl „fertig“ beweist, ist die Aufgabe noch nicht bereit für Cloud.

Vor dem Cloud task muss das environment das Repository reproduzieren

Der Ablauf eines Cloud task

Ein Cloud task läuft grob in dieser Reihenfolge:

  1. Einen Remote-Container erstellen.
  2. Den gewählten branch oder commit SHA auschecken.
  3. Das setup script ausführen; bei wiederhergestelltem cached container optional das maintenance script ausführen.
  4. Die Netzwerkregeln anwenden.
  5. Den Agent in einer terminal command loop Dateien lesen, Code ändern, Checks ausführen und Validierung versuchen lassen.
  6. answer, summary und diff zurückgeben; danach können Sie nachfragen oder einen PR erstellen.

Viele Cloud-Fehler entstehen nicht, weil der Agent keinen Code schreiben kann. Das environment reproduziert das Repository nicht: Dependencies lassen sich nicht installieren, eine Testdatenbank fehlt, lockfile und runtime passen nicht zusammen oder das setup script setzt eine Datei voraus, die nur auf Ihrem Laptop existiert.

setup script, maintenance script und cache

Das setup script soll den Container von „frischer checkout“ zu „Validierungsbefehl kann laufen“ bringen. Ein minimales Beispiel kann kurz sein:

pnpm install
pnpm run typecheck
pnpm test -- --runInBand

Das ist keine universelle Vorlage. Es erinnert nur daran, dass das Cloud environment wissen muss, wie Dependencies installiert, die Testumgebung vorbereitet und mindestens ein aussagekräftiger Check ausgeführt wird.

Typische setup-Arbeiten sind:

  • Dependencies, linter, formatter, typechecker und test tools installieren.
  • Eine Testdatenbank initialisieren oder sichere lokale Ersatzkonfigurationen erzeugen.
  • Einmalige Authentifizierung für private package installation vorbereiten.
  • Persistente nicht sensible Werte in environment settings legen, statt nur temporär im Script export zu nutzen.

Cache spart Zeit bei wiederholter Dependency-Installation, fügt beim Debugging aber eine weitere Prüfebene hinzu. Änderungen an setup script, maintenance script, env vars oder secrets invalidieren den cache und lösen einen frischen Lauf aus. Wenn Dependencies plötzlich anders reagieren, ist cache reset ebenfalls ein sinnvoller Schritt.

Secrets, Umgebungsvariablen und Netzwerk: drei häufige Fehlannahmen

Der Lifecycle von secrets und environment variables

Der wichtigste Unterschied zwischen secrets und environment variables ist nicht der Name, sondern die Sichtbarkeit.

EinstellungWann nutzenWas nicht hinein gehörtPrüffrage
environment variableNicht sensible runtime-KonfigurationTokens, private keys, production connection stringsMuss der Agent das wirklich lesen?
secretDependencies holen oder Tools in setup installierenWerte, die der Agent direkt lesen mussIst es nach setup entfernt?
setup internetDependencies installieren, private packages holenBeliebige Ausführung nicht vertrauenswürdiger ScriptsIst das lockfile stabil?
agent internet accessAufgabe muss öffentliche API oder Dokumentation erreichenUnrestricted internetSind allowlist und methods minimal?

Secrets passen in die setup phase, etwa für private dependencies oder interne packages. Vor Beginn der agent phase sollten sie entfernt sein. Anders gesagt: Entwerfen Sie keinen Cloud task, bei dem der Agent während der Codeänderung ein Produktions-Token lesen muss.

Environment variables bleiben über die gesamte Aufgabe verfügbar. Sie passen zu nicht sensiblen Werten wie NODE_ENV=test, einer öffentlichen API base URL oder einem feature flag.

agent internet access nur aktivieren, wenn die Aufgabe ihn braucht

Das setup script kann das Internet nutzen, um Dependencies zu installieren. Die agent phase hat standardmäßig keinen Netzwerkzugriff. Diese Voreinstellung ist wichtig, weil das Risiko steigt, wenn der Agent externe Seiten oder APIs liest.

Wenn agent internet access wirklich nötig ist, konfigurieren Sie ihn konservativ:

  1. Konkrete domains allowlisten, nicht das ganze Internet öffnen.
  2. HTTP methods nach Möglichkeit einschränken, zum Beispiel auf GET, HEAD und OPTIONS.
  3. Den Agent keine sensiblen Dateien lesen, zusammenfügen oder hochladen lassen.
  4. Genau aufschreiben, welche Fakten über Netzwerk geprüft werden sollen, damit der Agent nicht frei herumwandert.

Typische Risiken sind prompt injection, Exfiltration von Code oder secrets, bösartige Dependency-Downloads und Lizenzprobleme. Unrestricted networking zu aktivieren, nur um einen Schritt zu sparen, lohnt sich meistens nicht.

Den Cloud-Prompt wie ein Issue schreiben

Eine direkt nutzbare Prompt-Vorlage

Ein Cloud-Prompt sollte kein Wunsch sein. Er sollte wie ein kleines GitHub issue aussehen: Ziel, Kontext, Umfang, Umgebung, Validierung und Stop-Bedingungen.

Goal: Fix the failing webhook.test.ts test in GitHub Actions.
Context: The failure log is below; the relevant code is probably in src/webhooks/ and tests/webhooks/.
Scope: Only fix Stripe webhook signature verification. Do not change the payment public API or refactor the test framework.
Environment: The Cloud environment has pnpm dependencies installed. Please run pnpm test tests/webhooks/webhook.test.ts first.
Done when: The target test passes; list changed files, commands you ran, checks you did not run, and risks I need to confirm manually.
Stop if: You need to add a new secret, change the database schema, modify shared/http-client.ts, or cannot reproduce the failure.

Wichtig ist nicht das Format. Wichtig ist, Codex Grenzen zu geben, denen es folgen kann. Je mehr der Cloud task wie ein Issue aussieht, desto eher bekommen Sie einen reviewbaren diff zurück.

Stop if ist hilfreicher als „vorsichtig sein“

„Seien Sie vorsichtig“ ist zu abstrakt. Der Agent weiß nicht zuverlässig, wo die Grenze überschritten ist. Stop if übersetzt Risiko in konkrete Bedingungen.

Sie können schreiben:

  • Stop if you need to add a new secret.
  • Stop if you need to change the database schema.
  • Stop if you must touch the shared auth middleware.
  • Stop if the target test cannot be reproduced.
  • Stop if the task requires broad renaming or file migration.

Damit stoppt ein Cloud task bei einem Risikopunkt eher und erklärt die Lage, statt den diff weiter auszudehnen.

Nach Abschluss des Cloud task summary, diff und Command log prüfen

Wann nachfragen, wann einen PR öffnen

Wenn Cloud fertig ist, reicht „done“ nicht. Lesen Sie zuerst vier Dinge:

  1. Ob die summary Ziel und Änderung korrekt wiedergibt.
  2. Ob der diff im scope bleibt.
  3. Ob der Command log den geforderten test, lint oder typecheck enthält.
  4. Ob übersprungene Checks und menschlich zu prüfende Risiken klar genannt sind.

Wenn der diff Dateien außerhalb des scope berührt, fragen Sie zuerst nach:

The diff touches shared/http-client.ts, which was outside scope. Explain why it was necessary. If not necessary, revert that part and keep the webhook fix minimal.

Wenn der Zieltest nicht gelaufen ist, fragen Sie ebenfalls zuerst nach:

You did not run the target test. Run pnpm test tests/webhooks/webhook.test.ts and summarize the result before opening a PR.

Erst wenn Änderungsumfang, Validierungsbefehl und Rest-Risiken klar sind, sollten Sie Richtung PR gehen.

Was beim lokalen Handoff zu prüfen ist

Beide Wege sind möglich:

  • Kleine Änderung: Create PR und dann GitHub review, CI und Teamprozess nutzen.
  • Höheres Risiko: check out locally und mit lokalen Tools, Codex app review pane oder IDE prüfen.

Beim lokalen Handoff sollten Sie mindestens Folgendes prüfen:

  • Ob git status clean ist oder Sie auf einem isolierten branch / worktree sind.
  • Ob der diff nur das Ziel des Cloud task enthält.
  • Ob Zieltest, lint und typecheck auch lokal bestehen.
  • Ob .env*, secrets, CI config, lockfiles oder generated files geändert wurden.
  • Ob diese Erfahrung als Regel in AGENTS.md gehört.

Ein Cloud diff ist kein Merge-Button. Er ist nur ein Remote-Versuch, der zur Prüfung an Sie zurückgegeben wurde.

@codex review in GitHub: zweite Schranke, keine Merge-Erlaubnis

Manueller Trigger und automatic reviews

In einem GitHub PR mit konfiguriertem Codex Cloud und Code review kann ein einziger Kommentar das Review starten:

@codex review

Sie können es auch fokussieren:

@codex review for security regressions

Codex review liest den PR diff, folgt der nächstgelegenen AGENTS.md-Anweisung für die geänderten Dateien und konzentriert sich standardmäßig auf hochpriorisierte Probleme. Teams können außerdem automatic reviews aktivieren, sodass beim Öffnen eines PR for review automatisch geprüft wird.

Automatic review bedeutet nicht automatic merge. Es kann P0/P1-artige Probleme schneller sichtbar machen, ersetzt aber weder business owner noch CI noch die finale menschliche Entscheidung.

Wofür Codex review gut istWas Menschen weiter entscheiden
Offensichtliche Regressionen, fehlende Checks und riskante Berechtigungsänderungen findenOb die Anforderung stimmt und der Trade-off akzeptabel ist
Den PR diff gegen AGENTS.md review guidelines prüfenArchitektur-Richtung, Produktbedeutung, Release-Zeitpunkt
Kommentare mit hohem Signalwert zu P0/P1-Problemen schreibenOb das Risiko akzeptiert und gemergt wird

Wenn das Review ein Problem findet, können Sie Codex aus dem PR context heraus um eine Korrektur bitten, zum Beispiel mit @codex fix the P1 issue. Das startet wieder einen Cloud-task-Flow, und der resultierende diff muss erneut geprüft werden.

Wenn @codex nicht reagiert, in Reihenfolge debuggen

Posten Sie nicht mehrfach denselben Kommentar in den PR. Prüfen Sie zuerst diese Punkte:

  1. Ob das repository Codex Cloud konfiguriert hat.
  2. Ob Code review in den Codex settings für dieses repository aktiviert ist.
  3. Ob der Kommentar exakt @codex review enthält.
  4. Ob automatic review aktiviert ist und das Ereignis passt.
  5. Ob GitHub app / repository permission PR diff, Kommentare und push branch lesen beziehungsweise schreiben darf.
  6. Ob workspace/admin policy, GitHub Enterprise oder private repo access Einschränkungen setzt.
  7. Ob usage limits erreicht sind, insbesondere weil code review limits von normaler chat usage abweichen können.

Wenn Cloud tasks, Review-Kommentare und andere @codex comments unterschiedlich reagieren, notieren Sie task, comment, repository und Uhrzeit, bevor Sie offiziellen Support oder Ihren workspace admin prüfen.

Remote devbox / SSH host ist nicht Cloud

Wann eine remote connection besser passt

Es gibt Aufgaben, die weder gut zu Local noch zu Cloud passen: Das Projekt liegt bereits auf einer devbox, GPU-Maschine, im internen Netzwerk oder auf einem enterprise remote development host.

Hier ist die Trennung wichtig:

  • Codex Cloud: OpenAI managed / configured cloud environment, checkt ein GitHub-Repository aus und passt zu Repository-Aufgaben und PR-Workflows fern vom eigenen Rechner.
  • Remote connection / SSH host: Die Codex app verbindet sich mit Ihrem Remote-Host und nutzt dessen files, credentials, permissions, plugins, browser setup und local tools.

Wenn eine Aufgabe internen Service, GPU, Remote-Datenbank oder bereits konfigurierte Tools auf einer devbox braucht, ist eine remote connection näher an der echten Umgebung. Auch die Sicherheitsgrenze ist anders: permissions, credentials und tools auf diesem Host sind die Grenze, die Sie Codex geben.

Konservativ heißt das: trusted SSH keys, least-privilege accounts, kein öffentlich exponierter app-server transport und für Netzwerkgrenzen lieber VPN oder mesh networking.

Eine konservative Codex-Cloud-SOP

Für den ersten Codex-Cloud-Einstieg ist diese Reihenfolge robust:

  1. Eine kleine Aufgabe mit reproduzierbarem Repository-Zustand wählen, kein großes Refactoring.
  2. Das Cloud environment für das repository konfigurieren.
  3. Ein setup script schreiben, damit Dependency-Installation und Zielcheck wiederholbar sind.
  4. Nur setup-phase-sensitive Werte in secrets legen; nicht sensible Konfiguration in env vars.
  5. agent internet access standardmäßig deaktiviert lassen; falls nötig, nur erforderliche domains und methods allowlisten.
  6. Den task prompt wie ein Issue schreiben: Goal, Context, Scope, Environment, Done when, Stop if.
  7. Während der Ausführung plan, commands und failures ansehen.
  8. Nach Abschluss summary, diff, test results und skipped checks lesen.
  9. Kleine Änderungen als PR erstellen; riskantere Änderungen zuerst lokal auschecken.
  10. Im PR @codex review als zweite Kontrolle nutzen.
  11. Menschen, CI und Teamprozess entscheiden lassen, ob gemergt wird.
  12. Wiederkehrende Review-Erkenntnisse als Regeln in AGENTS.md festhalten.

Cloud wird nicht dadurch stabil, dass mehr automatisiert wird. Stabil wird es durch klare Grenzen in jedem Schritt: Das environment reproduziert das repo. Der Prompt ist ausführbar. Der diff ist reviewbar. Die Review-Spur ist nachvollziehbar. So übergeben Sie eine konkrete Anforderung an einen Cloud-Agent, statt Unsicherheit nur weiter weg zu schicken.

Einen GitHub-Issue-Fix mit Codex Cloud ausführen

Wählen Sie eine kleine reproduzierbare Aufgabe, konfigurieren Sie die Cloud-Umgebung, schreiben Sie einen präzisen Prompt, prüfen Sie Diff und Testlog und nutzen Sie PR sowie @codex review als zweite Validierung.

⏱️ Estimated time: 45 min

  1. 1

    Step 1: Eine überprüfbare Aufgabe wählen

    Starten Sie mit einem GitHub issue, CI failure, einer Dokumentationsänderung oder einem kleinen Bugfix. Beginnen Sie nicht mit einem großen Refactoring.
  2. 2

    Step 2: Das Cloud environment konfigurieren

    Bereiten Sie ein setup script für das Repository vor, damit Abhängigkeiten, Testdatenbank oder sichere Ersatzkonfigurationen im Container reproduzierbar sind.
  3. 3

    Step 3: Env vars und secrets trennen

    Nicht sensible Konfiguration gehört in environment variables. Sensible Werte gehören nur dann in secrets, wenn setup sie wirklich benötigt.
  4. 4

    Step 4: Agent-Netzwerkzugriff klein halten

    Lassen Sie agent internet access standardmäßig deaktiviert. Wenn die Aufgabe externes Netzwerk braucht, erlauben Sie nur die nötigen domains und methods.
  5. 5

    Step 5: Den Prompt wie ein Issue schreiben

    Beschreiben Sie Goal, Context, Scope, Environment, Done when und Stop if, damit der Agent den Umfang nicht selbst erweitert.
  6. 6

    Step 6: Summary, Diff und Command log prüfen

    Prüfen Sie, ob der Diff im scope bleibt, ob der Zieltest oder lint gelaufen ist und ob übersprungene Checks sowie menschlich zu prüfende Risiken genannt sind.
  7. 7

    Step 7: PR oder lokalen Handoff wählen

    Für kleine Änderungen erstellen Sie einen PR. Änderungen an kritischen Pfaden, Konfiguration oder lockfiles prüfen Sie zuerst lokal.
  8. 8

    Step 8: @codex review als zweite Kontrolle nutzen

    Triggern Sie @codex review in einem PR mit konfiguriertem Codex Cloud und Code review. Die Merge-Entscheidung bleibt bei Menschen und CI.

FAQ

Worin unterscheidet sich Codex Cloud von Codex CLI?
Codex CLI läuft in Ihrem lokalen Projektverzeichnis. Codex Cloud checkt das Repository in einer konfigurierten Remote-Cloud-Umgebung aus und führt dort die Aufgabe aus. Cloud liest keine lokalen uncommitted files, keine Browser-Session und keine lokale .env.
Welche Aufgaben passen gut zu Codex Cloud?
Gute Cloud-Aufgaben haben ein klares Ziel, einen reproduzierbaren Repository-Zustand, eine scriptbare Umgebung und ein konkretes Done when. CI failures, kleine Bugfixes, Dokumentationsupdates und PR follow-ups sind typische Beispiele.
Kann die agent phase in Codex Cloud auf das Internet zugreifen?
Standardmäßig nicht. Setup scripts können das Internet nutzen, um Abhängigkeiten zu installieren; die agent phase startet ohne Netzwerkzugriff. Wenn Sie ihn aktivieren, verwenden Sie domain allowlists und HTTP-method limits.
Kann der Agent in Codex Cloud secrets lesen?
Secrets sollten nur von setup scripts genutzt und vor der agent phase entfernt werden. Nicht sensible Werte, die der Agent während der gesamten Aufgabe braucht, gehören in environment variables.
Wie löse ich @codex review aus?
Kommentieren Sie in einem GitHub PR, für den Codex Cloud und Code review eingerichtet sind, mit @codex review. Codex liest den PR diff und veröffentlicht ein normales GitHub code review.
Kann Codex review ein menschliches Review ersetzen?
Nein. Codex review ist eine zweite Kontrolle mit hohem Signalwert. Der finale Merge sollte weiterhin über menschliches Urteil, CI und den Teamprozess laufen.

12 Min. Lesezeit · Veröffentlicht am: 8. Juli 2026 · Aktualisiert am: 9. Juli 2026

Kommentare

Melde dich mit GitHub an, um einen Kommentar zu hinterlassen

Easton BlogEaston Blog