Powrót do strony głównej

Agenci AI vs programiści: 5 różnic

Artykuł analizuje różnice agentów AI od programistów na przykładach rzeczywistych projektów: analiza legacy-kodu, synchronizacja aplikacji offline, narzędzia katastralne. Opisano pięć obserwacji i trzy konsekwencje dla procesu rozwoju z SENAR.

Dlaczego agent AI nie zastąpi programisty całkowicie
Advertisement 728x90

Agenci AI w rozwoju oprogramowania: kluczowe różnice w porównaniu do programistów i ich wpływ na proces

Agent oparty na LLM generuje dokumentację architektoniczną dla legacy systemu w Javie z 17 modułami bez dokumentacji. Rezultat: szczegółowe diagramy zależności, opisy interfejsów, adnotacje do komponentów. Dokument imituje specyfikację dojrzałego zespołu. Jednak w miejscach z historycznymi „patyczakami”, takimi jak warstwa proxy zamiast kolejek komunikatów, agent opisał to jako standardową architekturę, wymyślając nieistniejącą logikę bez zastrzeżeń.

Programista zatrzymałby się, by wyjaśnić u autora kodu. Agent operuje tylko widocznym kodem, dopieszczając wyjaśnienia bez wzmianek o założeniach. Im dokładniejszy średni rezultat, tym trudniej wychwycić błędy.

Pięć fundamentalnych różnic agenta od programisty

Brak pamięci projektowej

Agent przetwarza zadanie izolacyjnie, bez nagromadzonego kontekstu. W projekcie ewidencji polowej (raporty offline brygadzistów) synchronizacja konfliktów faworyzuje serwer z powodu przeszłych błędów z duplikatami. Programista przypomina sobie migrację z unikalnym indeksem. Agent wymaga przekazania historii w dokumentach kontekstowych.

Google AdInline article slot

Dla narzędzi katastralnych (GKN/EGRN) wspólna analiza formatów zajęła tydzień: różnice w polach, obowiązkowość atrybutów. Bez tego agent generuje sensowny, ale niepraktyczny kod.

Rozwiązanie: prowadź pliki kontekstowe z decyzjami architektonicznymi i dziedziną biznesową.

Dosłowne przestrzeganie specyfikacji

Zadanie: dialog wyboru wersji przy konflikcie synchronizacji. Agent pisze komponent React dla jednego pola. W produkcji psuje się przy konflikcie na kilku polach (data, objętość, komentarz) — reszta zmian ginie.

Google AdInline article slot

Programista wyjaśni niejednoznaczności: wspólny dialog czy po polach, scenariusze offline. Agent ignoruje model realnego świata.

// Przykład: kod agenta dla jednego pola
const ConflictDialog = ({ field, localValue, serverValue }) => (
  <Dialog>
    <p>{field}: {localValue} vs {serverValue}</p>
    <button>Lokalny</button>
    <button>Serwer</button>
  </Dialog>
);

Brama jakości w SENAR: cel, kryteria akceptacji, negatywne scenariusze przed startem.

Mnożenie błędów

Przy generowaniu 11 narzędzi katastralnych błąd w formule współrzędnych (kilka cm odchylenia, krytyczne dla pomiarów granicznych) powtórzył się w trzech. Szybkość agenta wzmacnia zarówno sukcesy, jak i porażki.

Google AdInline article slot
  • Sprawdzaj kilka modułów z zestawu, nie jeden.
  • Błąd w patternie kopiuje się do wszystkich podobnych plików.

Ignorowanie długoterminowej architektury

Zadanie: wyszukiwanie po linkach w Sortule. Agent robi bezpośrednie zapytanie z handlera. Optymalne dla skryptu, ale dla rozwijającego się projektu potrzebna warstwa serwisowa do cache'owania, rankingu, testów A/B.

Po dodaniu sekcji architektury do kontekstu agent konsekwentnie używa warstwy.

Brak odpowiedzialności za konsekwencje

Migracja BD: kaskadowe usuwanie brygadiera kasuje raporty i zdjęcia. Testy nie łapią — napisane na schemacie. Agent zapomina zadanie natychmiast.

Programista przewidzi błędy za miesiąc. Odpowiedzialność na liderze: ręczna weryfikacja migracji.

Trzy konsekwencje dla procesu inżynieryjnego

  • Podwójna weryfikacja: agent przyspiesza, ale wymaga walidacji w kluczowych punktach — architektura, migracje, negatywne scenariusze.
  • Kontekst jako podstawa: przechowuj w repozytorium decyzje architektoniczne, dziedzinę biznesową, historię. SENAR to standaryzuje.
  • Filtr ludzki: agent to wykonawca, nie strateg. Inicjatywa i odpowiedzialność po stronie człowieka.

Co najważniejsze

  • Agenci przewyższają w statycznej analizie kodu, ale dopieszczają niewidoczne detale logiką bez zastrzeżeń.
  • Dosłowne wykonanie wymaga szczegółowych specyfikacji z negatywnymi przypadkami.
  • Błędy mnożą się w seriach modułów — selektywna weryfikacja obowiązkowa.
  • Decyzje architektoniczne przekazuj do kontekstu z wyprzedzeniem.
  • Pełna odpowiedzialność za produkcję spoczywa na programiście-liderze.

— Editorial Team

Advertisement 728x90

Czytaj dalej