Koszt weryfikacji to rzeczywisty koszt programowania z AI

Kiedyś, wybierając model AI do programowania, zadawałem jedno pytanie.

Który model jest wystarczająco silny do tego zadania?

To pytanie jest w porządku. Ale nie jest już moim pierwszym pytaniem.

Lepsze pytanie brzmi: Jak szybko mogę zweryfikować wynik?

Takie podejście zmienia sposób korzystania z tanich modeli. Nie traktuj ich jako słabszych wersji dużych modeli. Traktuj je jako pracowników do zadań o krótkich ścieżkach weryfikacji.

Niektóre zadania są tanie w przeglądzie, ponieważ wyniki można zobaczyć natychmiast.

• Porządkowanie README • Przykłady użycia • Komentarze w kodzie • Notatki w changelogu • Małe skrypty formatujące • Szablony zgłoszeń (issue templates)

Jeśli model napisze zły akapit w README, od razu to zauważysz. Po prostu usuniesz błędną część. Błąd jest irytujący, ale prawie nic cię nie kosztuje. To najlepsze zastosowanie dla tanich modeli.

Kolejną kategorią są zadania podlegające testom.

Jeśli możesz zdefiniować oczekiwane zachowanie i uruchomić zestaw testów, użyj tańszego modelu do przygotowania pierwszej wersji. Musisz wyznaczyć modelowi jasne granice.

Nie mów: Dodaj testy dla tej funkcji pomocniczej (helper).

Powiedz: Dodaj testy dla pustego wejścia, wejścia null, duplikowanych wartości, nieprawidłowej konfiguracji, konfiguracji domyślnej i normalnego wejścia. Nie zmieniaj kodu uruchieniowego (runtime code).

To zmusza model do pracy w ramach określonej weryfikacji.

Niektóre zadania nie mają zautomatyzowanych testów, ale pozwalają na jasne ręczne sprawdzenie.

• Formatowanie wyjścia CLI • Przykłady konfiguracji • Notatki z próbnego uruchomienia migracji (dry run) • Małe skrypty konwersji danych

W przypadku tych zadań poproś model o uwzględnienie:

  • Jak uruchomić kod
  • Jakiego wejścia użyć
  • Jakiego wyjścia oczekiwać
  • Które przypadki brzegowe sprawdzić

Jeśli model nie potrafi wyjaśnić, jak zweryfikować własną pracę, nie ufaj temu kodowi.

Małe refaktoryzacje są niebezpieczne. Diff może wyglądać na krótki i czysty, ale zachowanie może zmienić się w ukrytej ścieżce, domyślnej wartości lub sprawdzeniu uprawnień.

Zwiększ poziom ryzyka, gdy zadanie dotyczy:

  • Mechanizmów awaryjnych (fallbacks)
  • Wartości domyślnych
  • Routingu
  • Uprawnień
  • Rozliczeń
  • Limitów (rate limits)
  • Migracji
  • Kompatybilności wstecznej

Te błędy są trudne do zauważenia podczas standardowego przeglądu kodu. Wymagają głębokiego kontekstu.

Kieruj swoją pracę według kosztu weryfikacji:

  • Niski koszt weryfikacji: Użyj taniego modelu do przygotowania szkicu.
  • Średni koszt weryfikacji: Użyj taniego modelu, a następnie wprowadź poprawki ręcznie.
  • Wysoki koszt weryfikacji: Użyj silnego modelu wraz z testami i ludzkim przeglądem.

Rozmiar nie ma znaczenia. Małe zadanie jest kosztowne, jeśli trudno je zweryfikować.

Najdroższym elementem programowania z AI nie jest generowanie kodu. Jest nim zaufanie.

Źródło: https://dev.to/zephyrelabs369/verification-cost-is-the-real-ai-coding-cost-1354

Opcjonalna społeczność edukacyjna: https://t.me/GyaanSetuAi