Powrót do strony głównej

Kod AI w devtools: lekcje inżyniera Google dotyczące Claude

Inżynier Google Lalit Maganti opisał rozwój syntaqlite z Claude Code: pierwsza iteracja na C zawiodła z powodu chaosu, druga na Rust z ręczną kontrolą udała się. AI dobry w implementacji, ale słaby w architekturze. Klucz — testy i review.

250 h z Claude: dlaczego inżynier Google wyrzucił kod AI
Advertisement 728x90

# Inżynier Google o pułapkach agentów AI w devtools: od spaghetti-kodu do refaktoryzacji w Rust

Inżynier Google Lalit Maganti poświęcił trzy miesiące i ~250 godzin na development syntaqlite — zestawu narzędzi dla SQLite: parsera, formattera, lintera i serwera LSP. Pierwszy podejście z pełną delegacją na Claude Code doprowadziło do niekontrolowanego kodu, który prishlos wyrzucić. Przejście na Rust z AI jako autouzupełnieniem dało działający release 0.1.

Pierwsza iteracja: delegowanie AI i chaos w kodzie

Maganti zaczął od maksymalnej automatyzacji: Claude projektował i implementował, autor pełnił rolę menedżera. W ciągu miesiąca stworzono:

  • Parser na C.
  • Formatter.
  • Interfejs webowy.
  • 500+ testów.

Rezultat działał funkcjonalnie, ale przegląd kodu ujawnił problemy:

Google AdInline article slot
  • Funkcje rozrzucone po plikach chaotycznie.
  • Moduły rozrosły się do tysięcy linii.
  • Pipeline ekstrakcji kodu ze źródeł SQLite stał się niejasny nawet dla autora.

Kodowa baza zamieniła się w 'spaghetti'. Rozwiązanie: całkowita rozbiórka i restart.

Druga iteracja: Rust, ręczne projektowanie, AI-autouzupełnienie

Zmieniając stos technologiczny na Rust, Maganti wziął architekturę na siebie. Claude był używany do generowania kodu według precyzyjnych specyfikacji z rygorystycznym przeglądem.

Kluczowe praktyki:

Google AdInline article slot
  • Automatyczne testy: Driver sprawdzał każdy zapytanie SQL na 1390 testach upstream SQLite, porównując z parserem syntaqlite.
  • Ciągły refaktoring: Każda zmiana przechodziła ręczny przegląd.
  • Dziennikowanie: Dziennik (~4000 słów), transkrypty sesji, historia commitów.

Rdzeń zebrano w lutym, release 0.1 — połowa marca. Projekt dojrzewający 8 lat zrealizowano jako side-project.

Problemy agentów AI: od uzależnienia do utraty kontroli

Maganti porównuje pracę z Claude do automatu do gier:

  • 'Jeszcze jeden prompt' wciągał do nocy.
  • Zmęczenie obniżało jakość promptów.
  • Utrata 'poczucia' bazy kodu prowadziła do roli menedżera nad obcym kodem.

Komunikacja się załamywała: nieprecyzyjne opisy powodowały błędne interpretacje. AI jest silny na poziomie funkcji/klas, ale słaby w architekturze, projektowaniu API i kontekście projektu.

Google AdInline article slot

Co ważne

  • AI wzmacnia implementację, ale nie zastępuje projektowania: modele nie mają 'smaku' i historii.
  • Pełna delegacja prowadzi do niekontrolowanego kodu: ręczny przegląd obowiązkowy.
  • Rust + AI-autouzupełnienie efektywniejsze niż C + agent: architektura decyduje.
  • Testowanie na testach upstream kluczowe dla parserów SQLite.
  • Dziennikowanie przyspiesza iteracje: publikujcie dzienniki zamiast one-shot historii.

Rekomendacje dla middle/senior dev

  • Używajcie AI do rutyny: autouzupełnienie, refaktoring małych części.
  • Zachowujcie kontrolę nad architekturą: modele nie rozumieją długoterminowego kontekstu.
  • Wdrażajcie zautomatyzowane pipeline'y: porównanie z testami referencyjnymi (SQLite upstream).
  • Dokumentujcie sesje: analizujcie prompty, commity, błędy.

Podejście Magantiego pokazuje: AI przyspiesza side-projekty, ale wymaga dyscypliny. Syntaqlite — przykład równowagi człowieka i agenta w złożonych devtools.

— Editorial Team

Advertisement 728x90

Czytaj dalej