Vo väčšine tímov, ktoré zavádzajú agentické programovanie, sa úzke miesto presunie z generovania na kontrolu a bez úpravy celého cyklu je celkový nárast rýchlosti takmer nulový.
V rozsiahlych prostrediach CI s miliónmi nočných testov a stovkami inžinierov prináša agent najväčšiu hodnotu pri určovaní zodpovedného tímu a triedení problémov, nie pri generovaní kódu.
Užitočný výstup agenta obstojí pri dôkladnom preskúmaní a vysvetľuje príčinné súvislosti, nielen zhodu vzorov.
Návrh vrstvy na zhromažďovanie dôkazov a zostavovanie kontextu je dôležitejší než vrstva generovania.
Väčšina diskusií o agentickom programovaní sa stále začína jednoduchým prísľubom: písať viac kódu rýchlejšie.
Niekedy sa tento prísľub rozšíri na ambicióznejšiu víziu agentov, ktorí plánujú prácu, otvárajú PR a nasadzujú zmeny s minimálnym zásahom človeka. Pre väčšinu vývojárskych tímov je však najzreteľnejší krátkodobý prínos užšie vymedzený. Spočíva v znižovaní nákladov na iterácie.
Dodávanie softvéru nie je len generovanie kódu. Písanie kódu je iba jednou fázou dlhšieho cyklu, ktorý zahŕňa kontrolu, testovanie, nasadenie a vyšetrovanie prípadných problémov. Väčšina tímov, ktoré zavedú agentické programovanie bez prepracovania kontrolného cyklu, len posunie úzke miesto do ďalšej fázy.
Samotné zrýchlenie generovania automaticky nezrýchli prácu tímu. Môže len presunúť viac úsilia na kontrolu, overovanie a budovanie dôvery.
V mnohých vývojárskych prostrediach nie je nákladné vytvoriť prvý návrh, ale získať istotu o jeho správnosti.
Vyriešila zmena problém alebo skutočne zlepšila systém? Nespôsobila regresiu niekde inde? Je chyba v kóde, prostredí, testoch alebo závislosti? Rieši navrhovaná oprava príčinu alebo iba viditeľný príznak?
Agenti tu môžu pomôcť nie preto, že by nahradili inžinierov, ale preto, že dokážu systematicky prvotne spracovať neprehľadné dôkazy: preskúmať protokoly, porovnať nedávne zmeny, zhrnúť relevantné signály, vysledovať pravdepodobné príčiny, spustiť kontroly a odovzdať výsledok, ktorý môže človek ďalej preverovať.
V mnohých tímoch neprináša agent najväčší efekt generovaním kódu od základov. Najväčší prínos má vtedy, keď zúži priestor možných príčin skôr, než tomu človek venuje hodiny ručnej práce.
Mimoriadne zreteľné je to pri rozsiahlych pracovných postupoch ladenia. Predstavte si nočné CI, ktoré spúšťa milióny testov naprieč kódovými základňami upravovanými stovkami inžinierov – taká je realita u jedného z našich klientov. Keď niečo zlyhá, je ťažké určiť zodpovedný tím. Problém môže byť v kóde aplikácie, závislosti, testovacom harnessi alebo inde v technologickom zásobníku. Protokoly môžu mať gigabajty a tím, ktorý si problém všimne ako prvý, zaň nemusí byť zodpovedný.
Takýto pracovný postup si prirodzene nežiada, aby opravu napísal jediný agent. Je vhodný pre systém, ktorý rýchlo zúži priestor možných príčin.
Užitočný proces môže načítať protokoly, vybrať relevantné dôkazy, zhrnúť podstatné informácie, preskúmať kód v sandboxe a vytvoriť štruktúrovanú analýzu základnej príčiny vrátane skóre istoty, vysledovateľnosti a odporúčaných ďalších krokov. Na vytvorenie skóre istoty vyhodnotí odborník na danú oblasť počiatočný výstup agenta. Toto hodnotenie sa následne poskytne LLM v úlohe hodnotiteľa, aby sa ďalšie bodovanie automatizovalo a zároveň zostalo v súlade s ľudským úsudkom.


Cieľom nie je odstrániť odborný úsudok inžinierov, ale poskytnúť kontrolórom lepší východiskový bod. Triedenie regresií, kontrola PR, oprava testov, overovanie vydaní aj vyšetrovanie po nasadení majú rovnaký charakter. Pracujú s množstvom dôkazov, vyžadujú rozsiahlu kontrolu a sú plné nejednoznačností. Od agenta nevyžadujú, aby nahradil vývojársky proces, ale aby ho pomohol posunúť vpred.
Aj preto by tímy mali dôkladne zvážiť, ako tieto systémy hodnotia.
Nesprávnou otázkou je, či agent dokáže samostatne vytvoriť niečo pôsobivé. Lepšou otázkou je, či zlepší skutočný pracovný postup bez toho, aby spôsobil komplikácie inde.
Treba teda posúdiť, či je výstup dostatočne konkrétny na overenie, či namiesto obyčajného vyhľadávania vzorov vysvetľuje príčinné súvislosti a či kontrolu uľahčuje, a nie sťažuje. Vierohodná odpoveď ešte nemusí byť užitočná. V praxi tímy dôverujú výstupu agenta vtedy, keď obstojí pri dôkladnom preskúmaní a poskytne im niečo konkrétne na overenie.


Hlbším ponaučením je, že užitočné agentické systémy nezávisia iba od generovania. Závisia od spôsobu zhromažďovania dôkazov, zostavovania kontextu a kontroly výstupov aj od toho, ako sa kontrolórovi prezentuje miera neistoty.
Aj preto krátkodobá budúcnosť agentického inžinierstva zrejme nebude jediným veľkým skokom k úplnej autonómii. Pravdepodobnejšie pôjde o súbor starostlivo navrhnutých cyklov, v ktorých agenti pomáhajú tímom skúmať, kontrolovať, overovať a zdokonaľovať prácu s menším množstvom zbytočného úsilia medzi jednotlivými krokmi.
Možno to pôsobí menej dramaticky než všeobecná vízia autonómie, no oveľa viac to zodpovedá tomu, ako sa užitočné systémy skutočne zavádzajú.