Najbezbednija jedinica AI razvoja jeste izmena koju možeš da objasniš, pregledaš i proveriš u jednom sedenju.

Veliki prompt krije više odluka u jednom zahtevu. Model mora da pogodi njihov redosled, prenese pretpostavke kroz više fajlova i sam odluči kada je posao završen.

Odgovor može da zvuči ubedljivo, a da repo ostane u poluzavršenom stanju.

Počni od dela koji možeš da proveriš

Deli posao po ponašanju, ne po broju fajlova. „Dodaj reset lozinke“ je ceo feature. Jedan proverljiv deo je: „Vrati isti odgovor za postojeću i nepostojeću adresu.“

Dobar mali zadatak ima četiri osobine:

  • jedan vidljiv ishod;
  • mali skup relevantnih fajlova;
  • poznatu komandu za proveru;
  • jasnu tačku završetka.

Zadatak može da obuhvati kontroler, servis i test. Bitno je da dokazuje jedno ponašanje. Zahtev „uradi prvo backend“ često pravi veću granicu koju je teže proveriti.

Napiši ugovor zadatka

Pre nego što tražiš kod, napiši kratak ugovor:

Cilj: Vrati 202 kada je zahtev za reset prihvaćen.
Obim: auth kontroler, reset servis i njihovi testovi.
Ograničenje: Ne otkrivaj da li adresa postoji.
Dokaz: Pokreni ciljane auth testove i prikaži diff.
Stani: Još ne dodaj slanje mejla.

Ovo je kratko, ali uklanja skupa nagađanja. Cilj određuje ponašanje. Obim ograničava štetu. Ograničenja čuvaju pravila sistema. Dokaz definiše šta znači „gotovo“.

Zatvori petlju pre sledeće izmene

Pregledaj rezultat dok je zadatak još mali. Počni od diff-a. Traži nepovezane izmene, dupliranu logiku, promenjene javne ugovore i testove koji pokrivaju samo srećnu putanju.

Zatim pokreni najjeftinije korisne provere:

  1. formatter i statičku analizu;
  2. ciljane unit ili integration testove;
  3. širi test suite ako je izmenjeno deljeno ponašanje;
  4. ručnu proveru za UI, mrežu ili bazu.

Ne dodaj drugi zahtev preko neproverenog prvog. Svaka neproverena izmena postaje novi kontekst koji model kasnije može pogrešno da protumači.

Prepoznaj prevelik zadatak

Petlja je prevelika kada model stalno ponovo otkriva zahteve, menja udaljene module bez jasnog razloga ili prijavljuje uspeh bez jedne komande koja ga dokazuje.

Podeli ponovo. Traži posebno padajući test, promenu interfejsa ili migraciju. Mali commit-i istu granicu čine vidljivom i u istoriji repoa.

Zadrži ljudske odluke

Model može da predloži kod i pokrene alate. Ja i dalje biram granicu, prihvatam kompromise, proveravam bezbednosne posledice i odlučujem da li su dokazi dovoljni.

Tu AI kodiranje postaje korisno. Model ubrzava izvršenje. Kratke povratne petlje drže inženjering pod kontrolom.