Код већине тимова који усвајају програмирање од стране агента, уско грло се помера са генерисања на преглед, па је без побољшања тог циклуса нето добитак у брзини готово занемарљив.
У великим CI окружењима — са милионима тестова сваке ноћи и стотинама инжењера — највреднији задатак агента јесте усмеравање проблема одговорном тиму и његова тријажа, а не генерисање кода.
Користан резултат рада агента издржава проверу и објашњава узрочно-последичне везе, уместо да само препознаје обрасце.
Пројектовање слоја за прикупљање доказа и састављање контекста важније је од слоја за генерисање.
Већина расправа о програмирању од стране агента и даље почиње једноставним обећањем: писаће се више кода, и то брже.
Понекад то прераста у амбициознију визију у којој агенти планирају рад, отварају PR-ове и испоручују измене уз минимално учешће људи. Међутим, за већину инжењерских тимова најочигледнија краткорочна корист има ужи опсег. Она се огледа у смањењу трошкова итерације.
Испорука софтвера није само генерисање кода. Писање кода само је једна фаза дужег циклуса који обухвата преглед, тестирање, примену и истрагу када нешто крене наопако. Већина тимова који усвоје програмирање од стране агента без редизајнирања циклуса прегледа само помери уско грло у каснију фазу.
Само убрзавање генерисања не значи аутоматски да ће тим радити брже. Оно може само да пребаци више посла на преглед, проверу и успостављање поверења.
У многим инжењерским окружењима најскупље није направити прву верзију, већ стећи поуздано уверење у њену исправност.
Да ли је измена заиста отклонила проблем или побољшала систем? Да ли је негде другде изазвала регресију? Да ли је узрок отказа у коду, окружењу, тестовима или некој зависности? Да ли предложена исправка решава узрок или само видљиви симптом?
Агенти ту могу да помогну — не зато што замењују инжењере, већ зато што могу систематично да обаве први преглед неуређених доказа: испитају евиденције, упореде недавне измене, сумирају релевантне сигнале, прате вероватне узроке, покрену провере и врате резултат који човек може да преиспита.
У многим тимовима највећу корист не доноси агент који генерише код од почетка. Највећу корист доноси сужавање простора за претрагу око проблема пре него што човек проведе сате радећи то ручно.
То је нарочито очигледно у токовима рада за отклањање грешака великих размера. Замислите да CI сваке ноћи покреће милионе тестова у базама кода које мењају стотине инжењера — што је стварност за једног нашег клијента. Када нешто откаже, тешко је утврдити ко је одговоран за решавање проблема. Проблем може бити у коду апликације, зависности, тестном окружењу или неком другом делу технолошког стека. Евиденције могу имати више гигабајта, а тим који први уочи проблем није увек тим који је за њега одговоран.
Такав ток рада не подразумева да један агент треба да напише исправку. Он је намењен систему који брзо сужава простор проблема.
Користан процес би могао да преузме евиденције, издвоји релевантне доказе, сумира оно што је важно, испита код у изолованом окружењу и изради структурирану анализу основног узрока са оценом поузданости, следљивошћу и предложеним наредним корацима. Да би се добила оцена поузданости, стручњак за дату област оцењује почетни резултат агента. Та оцена се затим прослеђује великом језичком моделу (LLM) у улози судије како би се будуће оцењивање аутоматизовало, а остало усклађено са људским судом.


Циљ није да се елиминише инжењерско расуђивање, већ да се онима који обављају преглед пружи боља полазна тачка. Тријажа регресија, преглед PR-ова, поправка тестова, валидација издања и истрага након примене имају исту структуру. Сви ти поступци обилују доказима, захтевају много прегледа и пуни су нејасноћа. Не захтевају од агента да замени инжењерски процес, већ само да помогне да се он настави.
Због тога тимови треба пажљиво да бирају начин на који процењују ове системе.
Погрешно је питати може ли агент самостално да произведе нешто импресивно. Боље је питати да ли побољшава стварни ток рада без стварања сметњи на неком другом месту.
То значи проверити да ли је резултат довољно конкретан да се може верификовати, да ли објашњава узрочно-последичне везе уместо да само препознаје обрасце и да ли преглед чини лакшим, а не тежим. Уверљив одговор није исто што и користан одговор. У пракси, тимови верују резултату агента када он издржи проверу и пружи им нешто конкретно што могу да провере.


Суштинска поука је да корисни системи засновани на агентима зависе од много више од самог генерисања. Они зависе од начина прикупљања доказа, састављања контекста, провере резултата и представљања неизвесности ономе ко обавља преглед.
Зато је мало вероватно да ће блиска будућност инжењерства заснованог на агентима бити један огроман скок ка потпуној аутономији. Вероватније је да ће је чинити низ пажљиво осмишљених циклуса у којима агенти помажу тимовима да испитују, прегледају, проверавају и усавршавају свој рад, уз мање непотребног труда између корака.
То је можда мање драматично од шире приче о аутономији, али је много ближе начину на који се корисни системи заиста усвајају.