ai-engineer.sh
GitHub

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:

Plain Text
pre-commit

Pre-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:

Plain Text
write code

attempt commit

automatic validation runs

failure detected

feedback returned to AI

AI fixes the issue

validation re-runs

Ovo 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:

AlatUloga
HuskyUpravlja git hook-ovima unutar projekta (da su versionirani i deljeni, ne samo lokalni).
lint-stagedPokreće validator-e samo na fajlovima koji su zapravo staged — drži hook brzim.
PrettierAutomatski 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:

Bash
npx lint-staged
pnpm typecheck
pnpm run test

Ovo 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:

Plain Text
humans manually maintaining quality

ka:

Plain Text
automated systems continuously enforcing quality

U 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-commit prekida 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