Deterministic Feedback Loops
Raniji feedback loops oslanjaju se na ohrabrenje — instrukcije koje govore agentu da pokrene testove, type-check i validira pre commit-a. Ohrabrenje nije dovoljno. Agent i dalje može da zaboravi validaciju, preskoči check ili commit-uje pokvaren kod ako njegov plan to ne zahteva.
Sledeća evolucija je činiti ove provere kvaliteta determinističkim: ne traženim, već nametnutim.
Git hooks as automatic quality gates
Najefikasniji mehanizam nametanja je nešto što developeri imaju godinama i uglavnom slabo koriste: git hooks — skripte koje se automatski izvršavaju tokom git lifecycle događaja.
Za AI workflow-e, kritičan je:
pre-commitPre-commit hook se izvršava automatski pre nego što se svaki commit finalizuje. Efekat je jasan:
- Validacija postaje neizbežna
- Pokvaren kod ne može da uđe u istoriju
- Agent dobija trenutan feedback kada nešto padne
Hook pretvara sam repository u vrata kvaliteta. Nije bitno kako se agent oseća prema validaciji — commit se ne dešava dok provere ne prođu.
Why pre-commit hooks work especially well for AI
Istorijski, ljudski developeri imali su tegoban odnos sa pre-commit hook-ovima. Friction je stvaran:
- Testovi mogu da traju nekoliko minuta
- Type-checking usporava iteraciju
- Ponavljana validacija postaje dosadna
Pa timovi smanjuju hook-ove, preskaču ih sa --no-verify, ili ih u potpunosti premeštaju u CI.
AI agenti nemaju taj problem.
AI agents don't get frustrated by repetition. When code fails type checking or tests, the agent simply tries again. (aihero.dev)
Ono što se ljudima čini restriktivnim postaje feature za autonomne sisteme. Agent ne gubi strpljenje, ne uzvraća, i pretvara svaki neuspeh u sledeći prompt za sebe. Friction koji usporava čoveka postaje signal za agenta.
The self-correcting workflow
Kada se pre-commit hook-ovi postave, workflow se sam restrukturiše:
write code
↓
attempt commit
↓
automatic validation runs
↓
failure detected
↓
feedback returned to AI
↓
AI fixes the issue
↓
validation re-runsOvo je deterministička feedback petlja. Repository uči agenta kako prihvatljiv kod izgleda — ne tako što mu se kaže, već tako što odbija da prihvati bilo šta drugo.
The tooling stack
Za JavaScript/TypeScript projekte, tri alata se kombinuju čisto:
| Alat | Uloga |
|---|---|
| Husky | Upravlja git hook-ovima unutar projekta (da su versionirani i deljeni, ne samo lokalni). |
| lint-staged | Pokreće validator-e samo na fajlovima koji su zapravo staged — drži hook brzim. |
| Prettier | Automatski nameće formatting pre nego što se kod commit-uje. |
Zajedno, ovi alati ne dokumentuju samo inženjerske standarde — aktivno ih nameću.
Typical validation pipeline
Uobičajen pre-commit setup izgleda ovako:
npx lint-staged
pnpm typecheck
pnpm run testOvo na svakom commit-u garantuje:
- Formatting pravila su primenjena
- Statički tipovi prolaze
- Test suite prolazi
Ako bilo koji korak padne, commit je blokiran. Agent dobija output greške i pokušava ponovo.
The repository becomes an active system
Jedan od važnijih arhitektonskih pomaka u AI-asistiranom inženjeringu je shvatanje da repository sam treba aktivno da učestvuje u kontroli kvaliteta.
Tradicionalni repository-ji su bili pasivni. Konvencije su živele u dokumentaciji, u code review komentarima, u glavama senior inženjera. Sprovođenje je zavisilo od discipline.
Moderni AI workflow-i se kreću ka repository-ima koji su:
- Self-validating — provere se izvršavaju automatski na svakoj izmeni
- Self-enforcing — loše izmene ne mogu da prođu
- Entropy-resistant — kvalitet je strukturni, ne aspiracioni
Sam sistem postaje deo inženjerskog procesa.
Infrastructure matters more than prompts
Dosledna lekcija kroz AI coding workflow-e: AI quality depends less on prompting sophistication and more on engineering infrastructure.
Snažna AI coding okruženja obično sadrže:
- Determinističku validaciju
- Snažne sisteme tipova
- Automatizovano testiranje
- Sprovođenje formatting-a
- CI pipeline-e
- Modularnu arhitekturu
- Kratke feedback cikluse
Ovi sistemi kontinuirano vode i ograničavaju agenta ka izlazu višeg kvaliteta. Bez njih, AI jednostavno ubrzava entropy. (Vidite Software Quality in the AI Era za razlog.)
The bigger shift
Industrija se pomera od:
humans manually maintaining qualityka:
automated systems continuously enforcing qualityU toj budućnosti:
- Humans dizajniraju sisteme
- Infrastructure definiše pravila
- AI agents rade unutar tih ograničenja
Cilj više nije generisanje koda brže. Cilj je graditi okruženja gde je low-quality code becomes difficult to produce, feedback je trenutan, a i ljudi i AI po default-u konvergiraju ka održivim sistemima.
Further reading
- Customizing Git — Git Hooks — zvanična Pro Git referenca za hook-ove, uključujući kako
pre-commitprekida commit pri ne-nultom izlazu. - Husky — instalirajte i upravljajte git hook-ovima u projektu da budu versionirani i deljeni, ne samo lokalni.
- lint-staged — pokrenite validator-e samo nad staged fajlovima i držite pre-commit hook brzim.
- Prettier — "opinionated" formatter koji formatiranje čini determinističkim pre svakog commit-a.
Pogledajte i: Feedback Loops za sloj ohrabrenja na koji se ovo nadograđuje, i Software Quality in the AI Era zašto je ovo važnije u AI-asistiranim okruženjima.
Izmeni stranicu na GitHub-u