Tradicionalni razvoj
- Ljudje pišejo kodo ročno.
- Deterministični nadzor že obstaja.
- Pretok ostaja omejen s človeško hitrostjo.
Človeško pisani, deterministični
Strateško delo 01
euphile vidi razvoj programske opreme AI kot evolucijo skozi ravni nadzora. Pomembno vprašanje ni le, koliko kode lahko AI proizvede, ampak kako deterministično, regulativno in ponovno uporablja okoliški sistem postane, kot AI prevzema več dela.
Od tradicionalnega programiranja do generiranja kode bližje stroju pravi napredek ni samo hitrost. Gre za premik k večjemu nadzoru, večjemu determinizmu in močnejšemu formalnemu vzvodu.
Človeško pisani, deterministični
Hitra, pod vodstvom Al, bolj krhka
AI-pogonski, povratno krmiljeni
Orodja in orodja
Formalna proizvodnja domene
Zahteva drugačno generacijo modelov AI
Kaj pravi model
Na začetku ljudje program pišejo neposredno. Na višjih ravneh organizacije uporabljajo AI za pomoč pri gradnji determinističnih sistemov, potrjevalcev in formalnih domenskih vmesnikov. Med temi točkami je ključna spremenljivka, koliko zanesljivega nadzora obstaja okoli proizvodnje programske opreme.
Vsaka raven spreminja, kdo proizvaja kodo, vendar je pomembnejše vprašanje, kaj ovira, potrjuje in ureja to proizvodnjo.
Avtokompletni in interni predlogi ostajajo lokalni pospeševalniki, razvijalec pa ostane na voznikovem sedežu. Uporaben, vendar ne še razvoj, ki ga vodi AI.
Testi, linterji, graditi preglede, varnostne preglede, validatorji, in regresijski apartmaji ustvarjajo deterministično povratno zanko, potrebno za varno korekcijo.
Skupne ontologije, DSL, prevajalci, generatorji in politični motorji pretvorijo tiho domensko znanje v sisteme, ki bolj zanesljivo kot samo neformalna interpretacija.
Ravni nadzora
Zaporedje je manj o praznovanju avtonomije zaradi sebe in bolj o razumevanju, kjer hitrost postane krhka, kjer postanejo potrebne zaščitne ograje in kjer formalni sistemi začnejo prekašati neformalne kodirane delovne tokove.
Ljudje ostajajo neposredni avtorji programske opreme. Delovni tok je večinoma deterministični, vendar je pretok omejen z ročnim naporom.
AI pospešuje lokalne ukrepe, kot so avtopopolnost, interni predlogi in majhni refaktorji, razvijalec pa ostaja glavni akter za izdelavo kod.
AI postane glavni kodirni akter s kodiranjem vibracij, avtonomnimi zankami, načrtovanjem-prvimi delovnimi tokovi, ali pa z željami od konca do konca.
Al še vedno piše velik del kode, vendar zdaj deluje znotraj nadzorovanega delovnega toka, ki preverja njegovo delo in vodi naslednji popravek.
Cilj se od večkratnega ustvarjanja kode premakne na generiranje orodij, ki lahko na ponovljive načine proizvajajo, preoblikujejo, validirajo, obliže in testne kode.
Organizacije formalizirajo domeno samo in naj GenAI pomaga pri oblikovanju in razvoju orodne verige okoli tega formalnega modela.
Sčasoma lahko AI generira artefakte, bližje temu, kar stroji dejansko izvajajo, kot današnjim človeku prilagojenim abstrakcijam, kot so datoteke, repozitoriji in izvorna koda, oblikovana s frameworki.
Strateške posledice
evfilov pogled je, da razvoj AI programske opreme vedno bolj postaja stvar pozivanja AI, da pomaga graditi deterministične sisteme, ki zanesljivo proizvajajo programsko opremo. Direktno ustvarjanje kode je še vedno pomembno, vendar trajnejša prednost prihaja iz urejenih potekov dela, orodij za ponovno uporabo in formalnih domenskih vmesnikov. Ker ta deterministična orodja postanejo veliko lažja za ustvarjanje, postane mogoče zgraditi veliko bolj zapletene sisteme z večjim zaupanjem. To pa lahko sčasoma omogoči prizadevanja, da bi pred kratkim okoli nove generacije modelov AI, ki delujejo veliko nižje v nizu, bližje prikazom na ravni stroj, kot pa današnjim odvzemom človeških izvornih kod.