Lilith Lilith.
Ilustracja redakcyjna: Przy agentach programistycznych kluczową umiejętnością staje się weryfikacja
Ilustracja Lilith · remiks redakcyjny

Główną barierą w skutecznym wdrażaniu agentów programistycznych nie jest ilość tekstu, którą potrafią wygenerować, lecz zdolność człowieka do sprawdzenia wyniku. Według Simona Willisona kompetencja programisty przesuwa się od samego pisania ku umiejętności precyzyjnego zlecania zmiany, a następnie rzetelnego potwierdzania, że została wykonana prawidłowo.

Sama kontrola linijka po linijce nie wystarcza

Tradycyjny code review zakłada, że człowiek czyta pracę drugiego człowieka po jednej linijce. Przy zmianach generowanych przez agenta to samo podejście szybko staje się wyczerpujące i trudne do skalowania. Willison przypomina, że sprawdzenie każdej linijki bywa potrzebne, ale nigdy nie było najskuteczniejszą metodą weryfikacji zmiany w oprogramowaniu.

Dlatego większego znaczenia nabiera weryfikacja systemowa. Solidne testy, izolowane środowiska budowania i ograniczenia architektoniczne pozwalają sprawdzać zachowanie zmiany, a nie tylko jej składnię. Przyspieszenie generowania kodu o kilkadziesiąt procent nie oznacza przyspieszenia rozwoju, jeśli wąskie gardło jedynie przeniesie się do etapu review.

Starsze projekty obnażają słabość weryfikacji

Największe ryzyko pojawia się w starszych projektach bez wiarygodnego pokrycia testami. Jeśli agent działa bez wyraźnych granic, a jedyną kontrolą jest ludzkie oko, subtelne błędy logiczne mogą trafić na produkcję. Czytanie nieznanego kodu wymaga też innego rodzaju skupienia niż napisanie zmiany od podstaw.

Takie projekty potrzebują najpierw mocniejszych granic, w których da się sprawdzić wynik. Bez nich szybsze generowanie jedynie przenosi pracę do dłuższego i mniej pewnego przeglądu. Zespół paradoksalnie spędza więcej czasu na poszukiwaniu ukrytych błędów, niż zająłby mu ręczny zapis kodu.

Wyniki testów stają się główną płaszczyzną przeglądu

Benchmarki modeli nadal będą istotne, ale w codziennej pracy równie ważne okażą się narzędzia do prezentowania zmian i automatycznej weryfikacji. Zespoły, które przeniosą część uwagi z czytania linijek na ocenę testów i zachowania systemu, będą mogły pewniej kontrolować większą liczbę zmian.

Nie oznacza to rezygnacji z czytania kodu. Chodzi o stosowanie tej metody tam, gdzie dostarcza najwięcej informacji, oraz oparcie pozostałych dowodów na powtarzalnych kontrolach. Większa autonomia agenta wymaga proporcjonalnie silniejszego automatycznego nadzoru.

Zlecanie i weryfikacja łączą się w jedną dyscyplinę

Willison opiera produktywne korzystanie z agentów na dwóch rodzajach pewności: programista musi umieć precyzyjnie opisać zmianę, a następnie potwierdzić, że została wykonana prawidłowo. Wraz ze wzrostem zakresu zmian obie czynności połączą się w jedną dyscyplinę inżynierską.

Produktywność będzie zależała nie tylko od ilości kodu wytworzonego przez agenta, lecz także od tego, czy zespół potrafi zachować precyzję intencji i wiarygodnie potwierdzić wynik. Ta para umiejętności wyznaczy zakres prac, które można bezpiecznie powierzyć agentom.

Werdykt Lilith

Generowanie składni przyspiesza, ale rachunek za zaufanie nadal płaci człowiek. Maszyna może napisać zmianę, lecz nie przejęła odpowiedzialności za udowodnienie, że jest ona poprawna.

Link zewnętrzny zostawiam na koniec. Najpierw krótkie wyjaśnienie tutaj, bez polowania po cudzej stronie.

Oryginalne źródło ↗