Preskoči na sadržaj

Naš dizajn sistem upakovan kao skill ubrzao je AI agenta barem dvostruko

AI agent je isti dizajn napravio za 31,7 sati s našim dizajn sistemom kao bibliotekom, a zatim za 2,5 sata s istim sistemom kao skillom. Dio razlike objašnjava noviji model.

5 min čitanja6 sekcija

Sajt koji čitate napravljen je dva puta po istom dizajnu, u razmaku od jednog dana. Oba puta je posao radio AI agent za programiranje, a ja sam ga usmjeravao. Obje izrade koristile su istu arhitekturu dizajn sistema.

Prva izrada trajala je 31,7 sati do commita i nikad nije pogodila dizajn. Druga je trajala 2,5 sata i pogodila ga je iz prve.

Nisam ovo planirao kao eksperiment, pa nije ni čist eksperiment. Sesije agenta ipak ostavljaju potpune transkripte, i zahvaljujući njima mogao sam izmjeriti obje izrade. Rezultate je vrijedilo zapisati, zajedno s onim što ne mogu pokazati.

01

Dvije izrade: prvo biblioteka, pa skill

U prvoj izradi postojeći sajt je već koristio naš dizajn sistem za više platformi kao biblioteku, uključenu kao git submodule. Agent je dobio novi export dizajna i zadatak da sajt prebaci na njega. Dizajn sistem je poznavao samo iz koda koji je mogao pročitati.

Za drugu izradu otvoren je novi repozitorij, s istim exportom dizajna. Ovaj put agent je krenuo od skilla: arhitekture dizajn sistema upakovane kao uputstva, uz radni scaffold. To znači sloj tokena, vezivanje teme za web i native, jedan potpuno urađen primitiv, verifikacione skripte i lint pravila, a uz svaki dio i obrazloženje zašto postoji.

Arhitektura je u obje izrade bila ista. Razlika je bila u tome što ju je agent u prvoj izradi morao ponovo otkriti iz koda, a u drugoj ju je dobio kao skup već donesenih odluka.

02

Brojevi

Prva izrada: bibliotekaDruga izrada: skill
Vrijeme od starta do commita31,7 h2,5 h
Aktivno vrijeme, glavna sesija10,5 h2,5 h
Agent-sati, sa subagentima16,8 h4,0 h
Isporučenih komponenti46 (31 nova)80
Komponenti po agent-satu~2,7~20
TypeScript linija u commitu+16,5k / −6,8k+23,9k
Output tokeni5,41M0,77M
Moje korekcije i guranja tokom izrade70
Pogodio dizajnNe, ni nakon još 12 satiDa, iz prve

U tabeli se najmanje vidi koliko je važan posljednji red. Nakon commita prve izrade proveo sam još 12 sati samo na početnoj stranici, na razne načine govoreći agentu „i dalje ne izgleda kao na dizajnu“. Druga izrada je od exporta dizajna do „super, commitaj“ prošla bez ijedne korekcije. U +23,9k linija uračunat je i sam dizajn sistem, koji je druga izrada napravila od nule, umjesto da ga uveze.

U drugoj izradi većina od 80 komponenti napisana je za otprilike sat i 45 minuta. Šest subagenata gradilo je stranice paralelno, svi prema istom ugovoru za tokene i primitive.

03

Zašto je 7× samo gornja granica

Lako bi bilo staviti „7× brže“ u naslov i tu stati. Evo šta bi time ostalo skriveno.

Promijenio se model. Prvu izradu uglavnom je radio manji, brži model, a veći samo u dijelu koraka: oko 5.300 od 7.600 odgovora dao je manji model. Druga izrada je cijelo vrijeme koristila noviji, veći model. Samo to je već stvaran faktor, a s ovim podacima ga ne mogu odvojiti od skilla.

Druga izrada je ujedno bila drugi pokušaj. Dizajn je već jednom bio pažljivo pročitan, a moj brief za drugu izradu bio je mnogo detaljniji zbog onoga što me prva naučila. Dio te brzine je iskustvo iz prve izrade.

Prva izrada bila je migracija. Morala je ukloniti ili prepraviti 6,8k linija starog sajta, dok je druga krenula od praznog repozitorija, a rad od nule je lakši.

I ovo je samo jedno poređenje, bez ponavljanja i bez kontrolne grupe.

Ono što ovi brojevi mogu potvrditi uže je od tabele. Bez problema podržavaju „barem dvostruko brže“, čak i kad se velikodušno odbije uticaj modela i drugog pokušaja, a 7× je samo gornja granica.

04

U prvoj izradi agent je arhitekturu smišljao usput

Jednu razliku promjena modela očito ne objašnjava, a to je oblik posla.

U prvoj izradi agent je stranicu po stranicu odlučivao kako nazvati vrijednost razmaka, kako izraziti breakpoint i u koji sloj ide novi dio. Onda bi kasnija stranica donijela malo drugačiju odluku, pa je nešto trebalo uskladiti. Zato sam u prvoj izradi prije commita sedam puta morao reći „nastavi“ i „popravi“. Pitanja koja je stalno ponovo otvarao bila su laka.

U drugoj izradi ta pitanja su bila zatvorena prije prve stranice. Skill je određivao gdje ide koja komponenta, kako se zovu tokeni, kako izgledaju propsi primitiva i zbog kojih skripti build pada kad se bilo šta od toga prekrši. Agent je prvih 25 minuta pretvarao dizajn u tokene i primitive. Nakon toga je izrada stranice bila uglavnom slaganje gotovih dijelova, a slaganje se može paralelizovati. Šest subagenata može graditi šest stranica odjednom samo kad nijedan od njih ne izmišlja konvencije za koje ostali ne znaju.

Zaključak koji bih izvukao i izvan našeg projekta je da dizajn sistem agentu štedi vrijeme isto kao i timu, zato što su odluke već donesene, a ne zato što se manje kuca. Biblioteka daje komponente, ali ne i razloge iza njih, pa svaki novi ekran ponovo otvara ista pitanja. Kad se ista arhitektura upakuje kao uputstva, uz provjere koje osiguravaju da se poštuju, ta su pitanja zatvorena prije nego što posao počne.

05

Kako je mjereno

Sve brojke iznad uzete su iz sačuvanih zapisa:

  • Vrijeme je uzeto iz transkripata sesija agenta, uključujući transkripte subagenata. „Aktivno vrijeme“ sabira vrijeme između uzastopnih događaja i odbacuje svaku pauzu dužu od 15 minuta, tako da se noćna pauza ne računa kao rad.
  • Komponente su .tsx fajlovi u komponentama i u paketima dizajn sistema u svakom commitu, prema git show. Vremenska linija druge izrade uzeta je iz vremena nastanka fajlova na disku, jer je većina fajlova napisana shell komandama, a ne alatom za pisanje fajlova.
  • Korekcije su moje poruke u transkriptu koje agenta preusmjeravaju ili ga poguraju („nastavi“, „zašto si to preskočio“, „i dalje nije isto“). Pitanja i odobrenja se ne računaju.
06

Šta bih uradio drugačije

Mjerio bih namjerno. Ovo poređenje postoji samo zato što su transkripti još bili na disku. Sljedeće treba unaprijed osmisliti: iste tri ili četiri komponente, isti model, jednom sa skillom i jednom bez njega. Tako bi se izdvojio dio rezultata koji danas ne mogu odvojiti.

Razloge bih upakovao ranije. Dizajn sistem je sedmicama postojao kao biblioteka prije nego što je postao skill, i svaki projekat koji ga je u tom periodu koristio platio je istu cijenu ponovnog otkrivanja kao prva izrada. Pokazalo se da je upravo zapisivanje razloga za svako pravilo omogućilo da se sve ostalo ponovo koristi.

Uz sate bih brojao i korekcije. Vrijeme zavisi od modela, mašine i dana. Broj puta kad sam morao intervenisati pokazuje koliko je agent razumio sistem, i to bih pratio od prve sesije.

Kako je nastao ovaj tekstIz dvije izrade ovog sajta po istom dizajnu, u razmaku od jednog dana.Pročitajte više o projektu →Povezana uslugaAI u vašem inženjerskom timuPogledajte uslugu →Sljedeći tekstČitanje NFC čipa u pasošu iz React NativeaPročitajte →

Blog

Ako radite na nečemu sličnom, javite nam se s detaljima.

Prvi poziv traje 30 minuta i ni na šta vas ne obavezuje.

Opišite nam svoj projekatcontact@microtech.consulting