ByteDance-ov otvoreni Harness Agent hara internetom, već nakupio 49k+ Star
U poslednje vreme jedna reč hara AI krugovima — zove se Harness Engineering.
AI krug zaista ume da izmišlja nove koncepte: "Agents aren't hard; the Harness is hard" — Agent nije težak, težak je Harness.
Pažljivo sam proučio celu stvar i otkrio da to nije šegačenje, već prelomna tačka koja se morala pojaviti kako je AI inženjerstvo napredovalo do današnjeg dana.
Jednostavno rečeno, ranije smo uložili mnogo truda u podešavanje promptova, biranje modela i fino podešavanje, ali kada se Agent pokrene u stvarnim scenarijima, i dalje se sve lomi: zadatak se napola zaboravi, kontekst postaje sve haotičniji, kada dođe do greške ne zna kako da se oporavi. Jači model ne može rešiti te probleme — potrebna je "spoljašnja sistem" koja će njime upravljati.
Taj spoljašnji sistem je Harness.

U današnjem tekstu deliću svoje potpuno razumevanje Harness Engineering-a, samo suve činjenice.
01. Zašto je potreban Harness Engineering
Najpre jedna bolna pojava.
Mnogi timovi, nakon što uvedu Agent-a, otkriju neugodnu činjenicu: sposobnost modela je očigledno dovoljna, ali se zadaci jednostavno ne odrađuju dobro.
Tražite od njega da odradi jednostavnu funkciju, a on vam izrodi komplikovane patern dizajne; tražite od njega da popravi bag, a on popravi jedno mesto a zaboravi tri povezana; tražite od njega da odradi dug zadatak, pa on usput zaboravi šta radi.
Gde je problem?
Nije u tome da model nije dovoljno pametan, već u tome što je model previše "slobodan". Niko mu ne govori gde su granice, kada da stane, kako da se oporavi od greške. Kao da zaposlite veoma sposobnog radnika, ali mu ne date radni proces, mehanizam provere, povratnu spregu — rezultat je sigurno haos.
Prompt Engineering rešava "kako da model razume šta želite", dok Harness Engineering rešava "kako da model zavravi posao".

Ključna razlika između njih dvoje je:
Prompt Engineering se bavi unosom — kako pitate, kako model odgovara. Sve optimizacije se okreću oko "da model odgovori tačno u jednom pokušaju".
Harness Engineering se bavi celokupnim okruženjem za izvršenje. Šta kada model pogreši? Kako da se oporavi kontekst kad odluta? Kako da se rasporede podzadaci? Sve to zahteva infrastrukturu koja će poslužiti kao mreža.
Da pomognem slikom: Prompt Engineering je učenje radnika kako da razume vaše instrukcije, dok je Harness Engineering opremanje radnika kompletnim radnim stolom — alati su tu, procesi su tu, kontrolne liste su tu, alarmi za greške su tu.
Zato se u Silicijumskoj dolini počela širiti jedna rečenica: 2025. je prva godina Agenata, 2026. je prva godina Agent Harness-a.
02. Šta je Harness Engineering
Osnovna formula Harness Engineering-a je vrlo jednostavna:
Agent = Model + Harness
Model je sam veliki model, zadužen za razumevanje i generisanje. Harness je sistem za kontrolu izvršavanja koji obavija model, zadužen za raspoređivanje, ograničenje, oporavak i reviziju.

Kompletan Harness sadrži šest ključnih komponenti:
Prva, standardizovani sloj za integraciju alata
Agent mora da poziva različite spoljašnje alate — pisanje fajlova, pozivanje interfejsa, upravljanje bazom.
Ali svaki alat ima različit način pozivanja i različito rukovanje greškama. Pristup Harness-a je da ispred svih poziva alata doda "kuku", koja objedinjeno radi proveru parametara, proveru dozvola i hvatanje izuzetaka.
Tako kada jedan alat crkne, Harness može automatski da degradira ili ponovi, umesto da čitav zadatak padne.
Druga, sistem inženjerstva konteksta
Tradicionalni pristup je ugurati svu istoriju razgovora u context window, ali taj pristup u dugim zadacima postaje sve haotičniji.
Pristup Harness-a je da zameni istoriju razgovora "strukturiranim stanjem" — zadatak se podeli na jasne faze, svaka faza ima jasne ulaze i izlaze, pa model samo gleda trenutno stanje i ne mari za ono što je ranije rečeno.
Treća, motor za trajnost stanja i raspoređivanje zadataka
Šta ako Agent prekine tokom rada?
Harness obezbeđuje nastavak od prekida i Checkpoint mehanizam. Do kog je koraka zadatak stigao, koje je trenutno stanje, šta je sledeće — sve se trajno skladišti.
Može se nastaviti u svakom trenutku i podržava paralelno raspoređivanje više podzadataka.
Četvrta, sistem za orkestraciju i izolaciju podagenata
Složeni zadaci se mogu podeliti više podagenata koji se izvršavaju paralelno, pri čemu svaki podagent ima svoj nezavisan kontekst, tako da se ne mešaju. Glavni Agent samo prikuplja rezultate.
Peta, sloj za proveru i bezbednost
Pre nego što model generiše sadržaj, pre poziva alata, pre izlaza rezultata — na svakoj kontrolnoj tački može se dodati provera. Što ne ispunjava normu se direktno zaustavlja, čime se izbegava da "model odleti, posledice su ozbiljne".
Šesta, sistem za posmatranje i reviziju
Svaki korak koji Agent izvrši ima log, trag i alarm. Kad nastane problem, brzo se pronalazi uzrok, a zgodno je i za reviziju usklađenosti.
Ovih šest komponenti zajedno rešavaju jedno ključno pitanje: omogućiti nedeterminističkom modelu da stabilno radi u determinističkom okviru.
03. Praksa Harness-a u Claude Code-u
Dosta koncepta, da vidimo nešto praktično.
Claude Code je sam po sebi tipična implementacija Harness-a. Njegova dizajnerska ideja je: ne dati vam samo model, već kompletno okruženje za izvršenje.

Kada dam Claude Code-u složen zadatak, on ne počinje odmah da piše kod. On prvo:
Prvi korak, istraživanje baze koda. Razjasni strukturu projekta, zavisnosti i postojeći način implementacije. Ovaj korak odgovara "čitanju koda" koje inženjer radi pre preuzimanja zahteva.
Drugi korak, izrada plana izvršenja. Razbije veliki zadatak na male korake, naznači šta svaki korak radi, koje fajlove menja i koje zavisnosti mogu postojati. Ovaj korak odgovara pisanju tehničkog rešenja.
Treći korak, postupno izvršenje i provera. Nakon svakog završenog koraka rezultat se proverava, a ako se otkrije problem vrše se prilagođavanja. Ovaj korak odgovara pregledu koda i samotestiranju.
Četvrti korak, globalna provera. Nakon što su svi koraci završeni, prelete još jednom da vide ima li propusta i potencijalnih graničnih problema. Ovaj korak odgovara regresionom testiranju pre puštanja u rad.
Ova četiri koraka nisu zapisana u promptu, već su izvršni okvir ugrađen u Harness Claude Code-a. Model samo treba da prati taj okvir i neće napraviti osnovne greške poput "promenio je jedno, a zaboravio tri povezana".
Još jedan detalj me je posebno impresionirao.
Tokom izvršenja, ako naiđe na operaciju koja zahteva potvrdu korisnika (na primer brisanje fajla, izmena osetljive konfiguracije), Claude Code će zastati i tražiti od vas da potvrdite.
To nije "savestnost" modela, već "kuka" u Harness-u koja presreće operacije visokog rizika i prisilno zahteva ljudsko odobrenje.
To je vrednost Harness-a: pretvaranje "poverenja u model" u "poverenje u okvir". Model sme da greši, ali okvir to hvata.
04. Test Harness dizajna na primeru PaiAgent
Napravio sam mali eksperiment na projektu PaiAgent, da vidim koliko Harness zaista može da pomogne u realnom razvoju.
https://github.com/itwanger/PaiAgent

PaiAgent je platforma za orkestraciju AI radnih tokova, čija je ključna funkcija da omogući programerima da vizuelno povlače čvorove i time orchestruju AI zadatke.
Ranije sam imao tipičan problem: ako tok izvršenja posrane na pola, ako jedan čvor pukne, čitav zadatak pada, bez ikakvog mehanizma za oporavak.
Pokušao sam da rešim taj problem pristupom Harness-a.
Prvi korak, dizajn mašine stanja
Stanje izvršenja svakog čvoraisam apstrahovao u pet faza: Pending (čeka izvršenje), Running (izvršava se), Completed (završeno), Failed (neuspeh), Retrying (ponovni pokušaj).
Svaki čor se u svakom trenutku nalazi u jednom od ovih pet stanja, a prelaz stanja je jednosmeran, nema haosa.

Drugi korak, dodati Checkpoint mehanizam
Nakon završetka izvršenja svakog čvora, automatski se čuva trenutno stanje u Redis. Ako se servis restartuje ili čvor sruši, može se nastaviti od poslednjeg Checkpoint-a, umesto od početka.
Treći korak, dizajn strategije ponovnog pokušaja
Nisu sve greške vredne ponovnog pokušaja. Mrežni istek vremena i ograničenje API protoka mogu se ponoviti, ali su pogrešni parametri i nedovoljne dozvole bespredmetni za ponavljanje.
Četvrti korak, dodati tačke za ljudsku intervenciju
Ako ista čvor tri puta ne uspe nakon ponovnog pokušaja, automatski se pauzira tok rada i obaveštava se čovek za intervenciju. Tako se izbegava i beskonačna petlja koja troši resurse i prolazak greške nezapaženo.
To je vrednost Harness-a. Nije u tome da model ne greši, već da proces oporavka nakon greške postane kontrolisan i predvidiv.
05. ByteDance-ovo otvoreno Harness rešenje
Domaće velike kompanije takođe razvijaju Harness. ByteDance-ov otvoreni DeerFlow 2.0 je tipična implementacija Agent Harness-a.
https://github.com/bytedance/deer-flow

Njegove tri ključne osobine su:
Prva, podagenti i sandbox izolacija.
Svaki podagent radi u nezavisnom sandbox okruženju, sa sopstvenim fajl sistemom, mrežnom izolacijom i ograničenjima resursa.
Ako jedan podagent napravi štetu, ne utiče na ostale i ne zagađuje glavno okruženje.
Druga, strukturirano stanje zadatka.
Umesto da se svi razgovori uguraju u context, stanje zadatka se apstraktuje u jasnu strukturu podataka — trenutna faza, završeni koraci, stavke za raditi, zavisnosti.
Model samo čita strukturirane podatke, bez brige o dugoj istoriji razgovora.
Treća, priključivi lanac alata.
Pozivi alata su enkapsulirani u standardne interfejse, uz podršku za vruće priključivanje. Dodavanje novog alata ne zahteva izmenu koda okvira, već samo implementaciju interfejsa prema specifikaciji.
Vrednost ovog rešenja je u tome što "pisanje Agent-a" od "podešavanja modela" podiže na "konfiguraciju Harness-a". Ne morate da brinete kako model raspoređuje, kako se oporavlja, kako se izoluje — Harness je sve to rešio.
Prema podacima sa GitHub-a, DeerFlow 2.0 je za manje od mesec dana od objavljivanja osvojio 54.7K Star-a, što pokazuje da je ovaj pravac zaista potrebna stvar.
05. Od pisanja koda ka dizajnu okruženja
Važna promena koju donosi Harness Engineering je transformacija uloge inženjera.
Ranije smo pisali kod tako što smo računaru direktno govorili šta da radi u svakom koraku. Sada, radeći sa Agent-om, dizajniramo okruženje u koom model samostalno završava zadatke.

Konkretno, težište rada inženjera se sa:
- pisanja koda konkretne biznis logike
- obrade raznih graničnih slučajeva i izuzetaka
- ručnog debagovanja i popravljanja problema
premešta na:
- dizajn okvira za izvršenje i ograničenja Agent-a
- konfiguraciju interfejsa za pozive alata i granica dozvola
- definisanje prelaza stanja i mehanizama oporavka
- izgradnju sistema za posmatranje i reviziju
Unutar OpenAI-ja tim već koristi Agent-a da napiše milione linija koda, a uloga ljudskih inženjera se od "onoga ko piše kod" pretvorila u "onoga ko dizajnira sistem".
Pristup Anthropic-a je takođe zanimljiv. Oni rešavaju problem pristrasnosti samoprovere pomoću "razdvajanja uloga" — jedan Agent piše kod, drugi ga recenzira, a njih dvoje rade nezavisno, čime se izbegava slepa mrlja u kojoj "sam sebi daje ocenu".
Sve su to ideje Harness Engineering prakse: ne tražiti od jednog modela da uradi sve, već dizajnirati sistem u koom više uloga sarađuje, međusobno se proverava i konačno proizvodi pouzdan rezultat.
06. Kako sprovesti Harness Engineering
Ako želite da sprovedete Harness Engineering u svom timu, možete krenuti iz tri nivoa.

Sloj alata: dodajte kuke svom Agentu.
Pre i posle poziva alata dodajte interseptore koji rade proveru parametara, proveru dozvola i zapis u log. To je najlakanija implementacija Harness-a — mala cena prepravke, a rešava većinu problema gde "jedna greška sve sruši".
Sloj okvira: uvesti gotav Harness okvir.
LangChain-ov DeepAgents, okvir za izvršenje Claude Code-a, DeerFlow-ov sistem podagenata — sve su to stvari koje se mogu ponovo iskoristiti.
Nema potrebe graditi toplu vodu — brže je stajati na ramenima džinova.
Sloj platforme: izgraditi platformu za izvršno okruženje Agent-a.
Ako vaš tim ima mnogo zahteva za Agent-ima, razmislite o izgradnji objedinjene platforme za izvršno okruženje Agent-a — centralizovano upravljanje konfiguracijom, raspoređivanjem, nadzorom i revizijom Agent-a. To je najteži način, ali i sa najvećom dobiti.
Sa stanovišta odnosa cene i kvaliteta, preporuka je da krenete od sloja alata — prvo rešite najbolnije tačke, a zatim postepeno idite ka sloju okvira i platforme.
Stvaran slučaj implementacije.
Moj tim je imao zahtev: svakog dana automatski prikupiti podatke iz više izvora i generisati izveštaj o poslovanju. Ranije smo to radili jednostavnom skriptom, koja bi često pala jer je jedan izvor podataka imao prekid, a kada bi pala mi to ne bismo ni znali — tek sledećeg dana bismo otkrili da jučerašnji izveštaj nije generisan.
Nakon prepravke pristupom Harness-a:
Prepravka na sloju alata: dodata je kontrola isteka vremena i hvatanje izuzetaka za prikupljanje sa svakog izvora podataka. Ako jedan izvor padne, greška se zapisuje ali ne utiče na ostale izvore, a konačni izveštaj označava koji podaci nedostaju.
Prepravka na sloju okvira: uveden je lagan okvir za raspoređivanje zadataka sa podrškom za ponovni pokušaj pri neuspehu i obaveštavanje. Ako izveštaj ne uspe da se generiše, automatski se šalje poruka dežurnom.
Planovi na sloju platforme: namera je da se svi slični zadaci vremenskog pokretanja naknadno integrišu u objedinjenu platformu za raspoređivanje, sa centralizovanim upravljanjem i jedinstvenim nadzorom.
To je vrednost sprovođenja Harness Engineering-a: ne težiti jednim potezom rešiti sve, već graditi u fazama, u skladu sa bolnim tačkama biznisa.
ending
Nakon što sam proučio Harness Engineering, promenilo mi se razumevanje AI inženjerstva.
Ranije sam mislio da je AI inženjerstvo: odabrati dobar model, napisati dobar skup promptova, povezati se sa nekoliko interfejsa alata. Sada sam shvatio da je pravo inženjerstvo opremiti Agent-a kompletnim "radnim okruženjem" — sa procesima, ograničenjima, mrežom i revizijom.
Model može biti jak, ali bez Harness-a je kao vešti zanatlija bez radnog stola — ma koliko vešt bio, ne može da ispolji svoje umeće.
Harness Engineering radi upravo to — oprema tog zanatliju profesionalnim radnim stolom — alati su tu, procesi su jasni, ima podsetnika na greške, rezultati se kontrolišu.
[Dobar inženjer ne podešava model, već dizajnira okruženje.]
Ako se i vi bavite Agent-ima, tokovima rada ili složenim biznis sistemima, toplo preporučujem da odvojite vreme za proučavanje Harness Engineering-a. Neće učiniti vaš model pametnijim, ali će učiniti vašeg Agent-a pouzdanim.
U svetu inženjerstva, pouzdanost je važnija od pameti.
Vidimo se u sledećem!
