Przejdź do głównej zawartości

Systematyczne debugowanie na różnych powierzchniach

Jest 3 w nocy i twój pager się odzywa. Serwis płatności zwraca błędy 500. Log błędów pokazuje stack trace wskazujący na zależność, którą zaktualizowałeś wczoraj. Musisz zdiagnozować problem, zidentyfikować przyczynę źródłową i wdrożyć poprawkę — zanim klienci się obudzą. To właśnie tutaj wielopowierzchniowa architektura Codex zamienia stresujący incydent w metodyczną sesję debugowania.

  • Ustrukturyzowany przepływ pracy debugowania działający na wszystkich powierzchniach Codex
  • Techniki debugowania specyficzne dla powierzchni: aplikacja do wizualnego przeglądu diff-ów, CLI do skryptowalnej diagnostyki, chmura do izolowanej reprodukcji, IDE do edycji w czasie rzeczywistym
  • Gotowe do skopiowania prompty dla najczęstszych scenariuszy debugowania
  • Strategie debugowania wyścigów, sporadycznych awarii i bugów występujących tylko na produkcji
  1. Odtwórz: Potwierdź, że bug istnieje i zidentyfikuj minimalne kroki reprodukcji.
  2. Izoluj: Zawęź, który komponent, moduł lub zmiana wprowadziła buga.
  3. Zdiagnozuj: Znajdź przyczynę źródłową w kodzie.
  4. Napraw: Zaimplementuj minimalną zmianę, która rozwiązuje problem.
  5. Zweryfikuj: Uruchom zestaw testów, dodaj test regresji i potwierdź poprawkę.

Najlepsze do: Szybkiej diagnostyki, skryptowalnego debugowania i awarii CI.

Okno terminala
# Diagnose a test failure
codex exec --full-auto \
"Run npm test, capture the output, identify why the payments test
is failing, find the root cause in the source code, and fix it.
Run the test again to verify."
# Analyze a production error
codex "Here is a production stack trace from our payments service:
[paste stack trace]
Find the root cause in the codebase. The service was working until
we upgraded stripe-node from 14.x to 15.x yesterday."
Our CI started failing after upgrading typescript from 5.3 to 5.5.
The errors are in src/types/. Read the TypeScript 5.5 migration guide
and fix the type errors. Do not downgrade TypeScript. Run the type
checker after each change.
Here is a production error from Sentry:
[paste full error with stack trace]
Find the exact code path that leads to this error. The error started
appearing after commit abc1234. Use git diff abc1234~1..abc1234 to
identify what changed. Implement a fix and add a regression test.
Our Node.js service's heap grows by 50MB/hour under load. The leak
was introduced sometime in the last 2 weeks. Analyze recent commits
to src/services/ for common leak patterns: event listeners not removed,
closures capturing large objects, growing arrays or maps without eviction.
Identify the likely cause and propose a fix.

Aplikacja Codex i CLI obsługują wejście obrazów. Dla bugów UI wrzuć zrzut ekranu do kompozytora:

Okno terminala
# CLI with screenshot
codex -i screenshot-broken-layout.png \
"This screenshot shows a broken layout in the dashboard header.
The navigation items should be horizontally aligned but they
are stacking vertically. Find the CSS issue and fix it."

W aplikacji przytrzymaj Shift podczas upuszczania obrazu, aby dodać go jako kontekst.

  • Agent nie może odtworzyć buga: Bug może zależeć od stanu środowiska (baza danych, cache, zewnętrzna usługa). Podaj jak najwięcej kontekstu: komunikaty błędów, stack trace, ostatnie zmiany i szczegóły środowiska.
  • Poprawka działa, ale wprowadza regresję: Agent skupił się zbyt wąsko. Poproś go o uruchomienie pełnego zestawu testów, nie tylko testu, który zawodził.
  • Sporadyczny bug znika podczas debugowania: Dodaj jawne logowanie lub asercje. Poproś Codex o dodanie tymczasowej instrumentacji debugowej, która przechwytuje stan w momencie wystąpienia błędu.
  • Agent obwinia zły commit: Podaj dokładny przedział czasowy, kiedy bug się pojawił i git log. Poproś agenta o analizę każdego podejrzanego commita indywidualnie.