Većina timova koji usvoje kodiranje s agentima samo premjesti usko grlo s generiranja na pregled, pa je bez poboljšanja tog ciklusa neto povećanje brzine gotovo ravno nuli.
U velikim CI okruženjima, s milionima testova svake noći i stotinama inženjera, najvrjedniji zadatak agenta jeste usmjeravanje prema nadležnom timu i trijaža, a ne generiranje koda.
Koristan rezultat agenta izdržava provjeru i objašnjava uzročno-posljedične veze, umjesto da samo prepoznaje obrasce.
Dizajn sloja za prikupljanje dokaza i objedinjavanje konteksta važniji je od sloja za generiranje.
Većina rasprava o kodiranju s agentima i dalje polazi od jednostavnog obećanja: pisati više koda, brže.
Ponekad to preraste u ambiciozniju viziju agenata koji planiraju posao, otvaraju PR-ove i isporučuju izmjene uz minimalno ljudsko učešće. Međutim, za većinu inženjerskih timova najjasnija kratkoročna vrijednost ima uži opseg. Riječ je o smanjenju troškova iteracije.
Isporuka softvera nije samo generiranje koda. Pisanje koda samo je jedna faza dužeg ciklusa koji obuhvata pregled, testiranje, implementaciju i istraživanje problema kada nešto pođe po zlu. Većina timova koji usvoje kodiranje s agentima bez redizajniranja ciklusa pregleda samo premjesti usko grlo u kasniju fazu.
Samo ubrzavanje generiranja ne čini tim automatski bržim. Time se samo može prebaciti više posla na pregled, provjeru i sticanje povjerenja.
U mnogim inženjerskim okruženjima najskuplji dio nije izrada prve verzije, već sticanje pouzdanog uvjerenja u njenu ispravnost.
Je li izmjena zaista riješila problem ili poboljšala sistem? Je li izazvala regresiju negdje drugdje? Je li uzrok greške u kodu, okruženju, testovima ili zavisnosti? Rješava li predložena ispravka uzrok ili samo vidljivi simptom?
Agenti tu mogu pomoći, ne zato što zamjenjuju inženjere, već zato što mogu sistematično obaviti prvi pregled neuređenih dokaza: pregledati zapisnike, uporediti nedavne izmjene, sažeti relevantne signale, pratiti vjerovatne uzroke, pokrenuti provjere i vratiti rezultat koji čovjek može detaljno ispitati.
U mnogim timovima najkorisnija primjena agenta nije generiranje koda od početka. Njegova je vrijednost u sužavanju prostora pretrage oko problema prije nego što čovjek potroši sate radeći to ručno.
To je posebno očigledno u opsežnim tokovima rada za otklanjanje grešaka. Zamislite da CI svake noći pokreće milione testova u bazama koda koje mijenjaju stotine inženjera, što je stvarnost za jednog od naših klijenata. Kada nešto ne uspije, teško je utvrditi ko je nadležan za problem. Problem može biti u aplikacijskom kodu, zavisnosti, testnom harnessu ili negdje drugdje u tehnološkom sklopu. Zapisnici mogu zauzimati gigabajte, a tim koji prvi uoči problem nije uvijek tim koji je za njega nadležan.
Takav tok rada po svojoj prirodi ne zahtijeva da jedan agent napiše ispravku. Namijenjen je sistemu koji brzo sužava prostor problema.
Koristan proces mogao bi dohvatiti zapisnike, odabrati relevantne dokaze, sažeti ono što je važno, pregledati kod u izoliranom okruženju i izraditi strukturiranu analizu osnovnog uzroka s ocjenom pouzdanosti, sljedivošću i prijedlozima za naredne korake. Kako bi se dobila ocjena pouzdanosti, stručnjak za predmetnu oblast ocjenjuje početni rezultat agenta. Ta se ocjena zatim unosi u LLM u ulozi ocjenjivača radi automatiziranja budućeg ocjenjivanja uz zadržavanje usklađenosti s ljudskom procjenom.


Cilj nije ukloniti inženjersku prosudbu, već pružiti bolju polaznu tačku osobama koje obavljaju pregled. Trijaža regresija, pregled PR-ova, popravak testova, validacija izdanja i istraživanje nakon implementacije imaju istu strukturu. Svi se oslanjaju na mnogo dokaza i pregleda te su puni nejasnoća. Od agenta se ne traži da zamijeni inženjerski proces, već samo da pomogne u njegovom napredovanju.
Zato timovi trebaju pažljivo birati način na koji procjenjuju ove sisteme.
Pogrešno je pitati može li agent samostalno proizvesti nešto impresivno. Bolje je pitati poboljšava li stvarni tok rada bez stvaranja poteškoća na drugom mjestu.
To znači procijeniti je li rezultat dovoljno konkretan za provjeru, objašnjava li uzročno-posljedične veze umjesto da samo prepoznaje obrasce te olakšava li pregled umjesto da ga otežava. Uvjerljiv odgovor nije nužno i koristan. U praksi timovi vjeruju rezultatu agenta kada izdrži detaljnu provjeru i pruži im nešto konkretno što mogu provjeriti.


Dublja je pouka da korisni sistemi zasnovani na agentima zavise od mnogo više od samog generiranja. Zavise od načina prikupljanja dokaza, objedinjavanja konteksta, provjere rezultata i prikazivanja neizvjesnosti osobi koja obavlja pregled.
Zato kratkoročna budućnost inženjerstva s agentima vjerovatno neće biti jedan veliki skok prema potpunoj autonomiji. Vjerovatnije će je činiti niz pažljivo osmišljenih ciklusa u kojima agenti pomažu timovima da pregledaju, provjeravaju i usavršavaju svoj rad uz manje nepotrebnog truda između koraka.
To možda zvuči manje dramatično od šire priče o autonomiji, ali mnogo bolje odgovara načinu na koji se korisni sistemi zaista usvajaju.