Načrtovanje sistemov, ki se gradijo sami
Večina razvijalcev programske opreme, tehničnih vodij in inženirjev DevOps svojo pot začne kot graditelji.
Gradijo sisteme, aplikacije, komponente, teme, vzorce, module in cevovode. Optimizirajo postavitve, rešujejo robne primere, skrbijo za združljivost in sisteme poganjajo naprej, commit za commitom. Delo je natančno, praktično in globoko tehnično.
A na neki točki se nekaj premakne.
Najboljši strokovnjaki ne nehajo graditi, vendar začnejo misliti v sistemih.
Od graditelja do sistemskega mislece
Premik: od izdelka k pravilom
Graditelj je osredotočen na izdelek: komponente, predloge, strani, funkcije, knjižnice, aplikacije.
Sistemski misleč se osredotoča na pravila: omejitve, interakcije, povratne zanke.
Namesto vprašanja »Kako je videti ta komponenta?« sistemski misleci postavljajo drugačna vprašanja: Kakšna pravila urejajo to komponento? Kaj sme z njo komunicirati? Kako se obnaša ob spremembah? Kako namen preživi skozi čas?
Ta premik nas povsem naravno pripelje do agentnih sistemov.
Ko oblikovanje preneha biti statično
Sodobni oblikovalski sistemi že zdaj vsebujejo logiko: žetoni določajo omejitve, komponente določajo strukturo, vzorci določajo obnašanje.
Vendar večina sistemov še vedno zahteva obsežno človeško usklajevanje.
Agenti umetne inteligence prinašajo drugačen model, v katerem lahko sistemi sami uveljavljajo svoja pravila, nenehno preverjajo odločitve, se odzivajo na kontekst in se usklajujejo od znotraj.
Tu se oblikovanje iz dokumentacije razvije v izvedljivo logiko.
Kam to vodi
Zdaj je v ospredju uresničevanje teh idej v resničnih, delujočih sistemih, ne kot eksperimentov, temveč kot temeljev.
1. Globlja integracija agentov UI z oblikovalskimi orodji (Figma)
Na poti k agentnim oblikovalskim sistemom
Oblikovalska orodja ne bi smela biti pasivna platna.
Cilj je v Figmo vključiti agente UI, ki razumejo oblikovalske žetone in omejitve komponent, sproti preverjajo odločitve, oblikovalski namen prevajajo v pravila na ravni sistema in delujejo kot sodelavci, ne kot izvozniki.
Tako se oblikovanje premakne više v verigi, kjer se namen ohrani, namesto da bi ga pozneje ugibali.

2. Razširljivo upravljanje agentov UI
Cilj: 150 agentov, po eden na komponento
Namesto enega splošnega UI se ekipe usmerjajo k številnim specializiranim agentom.
Vsaka komponenta dobi svojega agenta z jasno določenimi odgovornostmi, jasnimi mejami in zavedanjem o sorodnih komponentah.
To odraža, kako se skalirajo zdravi sistemi: s specializacijo, usklajevanjem in jasnimi pogodbami.
3. Agenti z resničnimi veščinami, orodji in vtičniki
Agenti morajo znati delovati.
To pomeni, da jih opremimo z veščinami (razmišljanje o dostopnosti, preverjanje oblikovanja, zavedanje o zmogljivosti), orodji (linterji, zaganjalniki testov, oblikovalski API-ji) in vtičniki (Storybook, Drupal, cevovodi CI, integracije s Figmo).
Agent brez orodij je zgolj teorija. Agent z orodji postane del samega sistema.
4. Pametnejše samodejno funkcionalno sprejemno testiranje
Z umetno inteligenco in zavedanjem namena
Tradicionalno testiranje preverja izhod. Testiranje z agenti razume obnašanje.
Poudarek je na agentih UI, ki razmišljajo o uporabniških poteh, funkcionalnih testih, ki razumejo namen in ne le selektorjev, sistemih, ki testne primere razvijajo skupaj s komponentami, ter zmanjševanju krhkih testov ob hkratnem povečanju semantične zanesljivosti.
Testiranje postane še ena plast sistemske inteligence.
TDD in BDD v dobi UI: zakaj agenti UI zahtevajo 100 % več razvoja, ki se začne s testi
Zakaj je to pomembno
Ekipe gradijo sisteme, ki preživijo svoje ustvarjalce, se nenehno prilagajajo in dolgoročne oblikovalske odločitve nosijo naprej.
V takšnem svetu ročni nadzor ne skalira. Dobro opredeljena pravila pa.
Oblikovalci, razvijalci in agenti UI morajo delovati znotraj istega logičnega okvira, enega skupnega sistema omejitev in namenov.

Prehod od graditelja k sistemskemu misleču ne pomeni opustitve implementacije. Gre za to, da sisteme vidimo kot več kot le zbirko delov.
Naslednji korak je oblikovanje pravil, ki sistemom omogočajo razmišljanje, prilagajanje in razvoj.
Razvijalci programske opreme, tehnični vodje in inženirji DevOps, ki naredijo ta korak, ne le gradijo, ampak ustvarjajo pogoje, da se sistemi gradijo sami.