Dizainas yra kodas
Kaip ląstelinių automatų logika performuos agentines dizaino sistemas ir kodėl žiniatinklio kūrimo ateitis gali būti jau užrašyta paprastomis taisyklėmis
Dizaino sistemų, dirbtinio intelekto ir skaičiavimo teorijos sankirtoje vyksta esminė transformacija. Tai tokia gili kaita, kad ji meta iššūkį pačiam mūsų supratimui, ką autonominių agentų amžiuje apskritai reiškia „dizainas“.
Dešimtmečius dizainą ir kodą laikėme atskiromis sritimis: dizainas – žmogaus kūrybos ir estetinio sprendimo karalystė, kodas – mechaninis tų idėjų vertimas į vykdomą pavidalą. Tačiau dirbtinio intelekto agentams vis dažniau savarankiškai surenkant vartotojo sąsajas, naudojantis dizaino sistemomis kaip mašinai suprantama infrastruktūra ir generuojant kodą iš semantinių žetonų, artėjame prie susiliejimo taško, primenančio daug senesnę skaičiavimo teorijos idėją.
Kokią idėją? Dizainas yra kodas.
Tai ne šiaip skambi frazė. Tai pripažinimas, kad galime judėti link pasaulio, kuriame dizaino sistemos veikia kaip ląsteliniai automatai: paprastos taisyklės sukuria sudėtingą, emergentinį elgesį. Kur riba tarp „projektuoti“ ir „programuoti“ visiškai išnyksta. Kur autonominiai agentai dizaino sistemomis ne tik naudojasi, bet jomis yra – tai dizaino sistemos veikiančios.
Susiliejimo akimirka
2025 m. gruodžio 11 d. Bradas Frostas (Atominio dizaino kūrėjas) kartu su Dominicu Nguyenu („Chromatic“ bendraįkūrėju) vedė tiesioginę sesiją „Agentinės dizaino sistemos 2026 metais“. Jų žinutė buvo aiški: dirbtinio intelekto agentai jau dabar renka sąsajas iš tų pačių komponentų, kuriuos naudoja žmonių komandos. Dizaino sistemos privalo tapti mašinai suprantama infrastruktūra, kitaip rizikuoja virsti praeities epochos artefaktais.
Kaip paskelbė „Storybook“ komanda: „DI pradeda naudoti dizaino sistemas lygiai taip, kaip jos aprašytos dokumentacijoje. Pavyzdžių, būsenų & apribojimų spragos tiesiogiai lemia nenuspėjamą sąsajos rezultatą.“
Šiame tinklaraščio įraše nagrinėjame gilius ryšius tarp ląstelinių automatų, emergentinio elgesio ir agentinių dizaino sistemų ateities. Atsekame teorinius pamatus nuo fon Neumanno save atkuriančių mašinų iki šiandienos dirbtinio intelekto agentų spiečių.
Pažiūrėsime, kaip „Drupal“ ir šiuolaikinės turinio valdymo sistemos integruoja dirbtinį intelektą per tokius modulius kaip „Schema.org Blueprints“ ir „Drupal AI“. Ir pamąstysime, ką visa tai reiškia dizaineriams, programuotojams ir skaitmeninių produktų kūrimo ateičiai.
Ląstelių automatai ir emergencijos logika
Paprastų taisyklių grožis
1970 m. matematikas Johnas Conway pristatė „Gyvenimo žaidimą“ – „žaidimą be žaidėjų“, kuris tapo viena labiausiai tyrinėtų skaičiavimo teorijos sistemų. Taisyklės kvapą gniaužiančiai paprastos:
- Bet kuri gyva ląstelė, turinti mažiau nei du gyvus kaimynus, žūva (nepakankamas apgyvendinimas)
- Bet kuri gyva ląstelė, turinti du ar tris gyvus kaimynus, išgyvena
- Bet kuri gyva ląstelė, turinti daugiau nei tris gyvus kaimynus, žūva (perteklinis apgyvendinimas)
- Bet kuri negyva ląstelė, turinti lygiai tris gyvus kaimynus, atgyja (dauginimasis)
Iš šių keturių taisyklių, išreikštų saujele dvejetainių sąlygų, išauga stulbinamai sudėtingas visata. Sklandytuvai (angl. gliders) keliauja begaliniais tinkleliais. Osciliatoriai pulsuoja nesibaigiančiu ritmu. Patrankos paleidžia srautus raštų per ląstelių erdvę. O žymiausia, kad įrodyta, jog Gyvenimo žaidimas yra Tiuringo pilnas: viskas, ką galima apskaičiuoti algoritmiškai, iš principo gali būti apskaičiuota ir Conway paprastame tinklelyje.

Pav. 1: Goperio sklandytuvų patranka Conway „Gyvenimo žaidime“. Šis darinys nenutrūkstamai kuria sklandytuvų srautą ir rodo, kaip paprastos taisyklės gali sukurti begalinį, save palaikantį sudėtingumą.
Tai pirmoji ląstelinių automatų pamoka: sudėtingam elgesiui sudėtingumo nereikia. Paprastos taisyklės, nuosekliai taikomos visai terpei, gali sukelti raštus ir elgesį, kurio niekas aiškiai neprogramavo.
Būtinas vaizdo įrašas: įvadas į ląstelinius automatus
Įvadas į ląstelinius automatus, įskaitant Conway „Gyvenimo žaidimą“ ir save atkuriančias Langtono kilpas
Šiame vaizdo įraše rodoma keletas animacijų, tarp jų ir galiausiai įvykstantis savaiminis sunaikinimas, kuris ištiktų, jei Langtono kilpoms būtų leista daugintis didelėje toroidinėje plokštumoje (kur priešingi tinklelio kraštai sujungti).
Papildomi vaizdo įrašo šaltiniai:
Langtono kilpos ir save atkūrimas
1984 m. Christopheris Langtonas šį principą išplėtojo dar toliau – sukūrė save atkuriančias kilpas, ląstelinį automatą, kuris parodė tikrus dirbtinės gyvybės principus. Conway „Gyvenimo žaidimas“ rodo atsirandantį sudėtingumą, o Langtono kilpos rodo atsirandantį dauginimąsi.
Kiekvieną kilpą sudaro ciklinė riba, apimanti ląstelių būsenomis užkoduotą „genomą“. Šis genomas nenutrūkstamai teka aplink kilpą ir išilgai statymo atšakos, kuri per 151 laiko žingsnį sukuria dukterinę kilpą. Kai ji baigta, dukterinė kilpa atsiskiria nuo motininės ir abi toliau daugina save.
Pav. 2: Langtono kilpa pradinėje konfigūracijoje. Genetinė informacija cirkuliuoja kilpoje, o besitęsianti atšaka nukreipia dukterinių kilpų kūrimą.
„Jei save dauginanti mašina galima ląsteliniame automate, tai gyvybę gali sukurti ir mašinos.“
– Christopheris Langtonas, „Dirbtinės gyvybės tyrimas ląstelinių automatų pagalba“ (1986)
Pasekmės didžiulės. Langtono kilpos rodo, kad save atkūrimui nereikia nei biologinių ląstelių sudėtingumo, nei visuotinių konstravimo gebėjimų, kuriuos turėjo pirminis fon Neumanno sumanymas. Pakanka tik:
- paprastų vietinių taisyklių rinkinio
- instrukcijų kodavimo mechanizmo
- proceso, kuriuo tos instrukcijos vykdomos
Taisyklės yra organizmas. Dizainas yra kodas.
1999 m. Hiroki Sayama pristatė evoloops – variantus, kuriuose yra struktūrinis tirpumas ir fenotipinė sąveika, leidžianti atsirasti spontaniškoms mutacijoms ir evoliucinei dinamikai. Šios kilpos evoliucionuoja tiesioginių susidūrimų per dauginimąsi metu, todėl atsiranda genotipo variacijų, didesnė morfologinė įvairovė ir sudėtingumo augimas kartose. Skirtingai nei Langtono nekintamas atkūrimas, evoloops rodo paveldimas mutacijas be išorinio įsikišimo.
Taisyklė 110 ir universalus skaičiavimas
Stephenui Wolframui tyrinėjant elementarius ląstelinius automatus, pasiekta stulbinanti atradimas: Taisyklė 110 – viena iš vos 256 galimų paprasčiausio vienmačio ląstelinio automato taisyklių – gali atlikti universalų skaičiavimą.
Taisyklę 110 galima visiškai apibrėžti nurodžius rezultatą kiekvienam iš aštuonių galimų ląstelės ir dviejų jos kaimynių derinių. Vis dėlto ši paprastutė taisyklė – aštuoni dvejetainiai sprendimai – gali imituoti universaliąją Tiuringo mašiną.
3 paveikslas. Taisyklės 110 ląstelinis automatas. Nepaisant paprasto apibrėžimo, Taisyklė 110 pasižymi 4 klasės elgsena – sudėtingais raštais, kurie nėra nei visiškai stabilūs, nei visiškai chaotiški – ir įrodyta, kad ji yra Tiuringo pilna.
„Universaliam skaičiavimui visai nereikia viso kompiuterio centrinio procesoriaus. Pakanka šios mažos taisyklės.“
– Stephenas Wolframas, „A New Kind of Science“
2004 metais Matthew Cookas paskelbė įrodymą, kad Taisyklė 110 su tam tikru pasikartojančiu fono raštu yra Tiuringo pilna. Įrodymas parodo, kad Taisyklė 110 gali emuliuoti ciklines žymų sistemas, o jos savo ruožtu gali emuliuoti bet kurią Tiuringo mašiną. Iš 88 galimų unikalių elementariųjų ląstelinių automatų Taisyklė 110 yra vienintelė, kurios Tiuringo pilnumas įrodytas tiesiogiai.
Wolframo pasiūlytas skaičiuojamosios ekvivalentiškumo principas byloja dar radikalesnį dalyką: sistemos, pranokstančios minimalią sudėtingumo ribą, savo skaičiavimo gebėjimais iš esmės yra lygiavertės. Žmogaus smegenys, orų sistema ir Taisyklė 110 giliąja prasme yra skaičiuojamąja prasme ekvivalentiškos.
Keturios Wolframo ląstelinių automatų klasės
- 1 klasė: evoliucija veda į homogenišką būseną
- 2 klasė: evoliucija veda į atskiras periodines struktūras
- 3 klasė: evoliucija veda į chaotiškus, atsitiktinius raštus
- 4 klasė: evoliucija veda į sudėtingus raštus su lokalizuotomis struktūromis, gebančiais universaliai skaičiuoti
Taisyklė 110 pasižymi 4 klasės elgsena, kurią Wolframas apibūdina kaip esančią „chaoso paribyje“ – kritinėje riboje, kur paprastos taisyklės sukuria didžiausią skaičiavimo galią.
0E0P metaląstelė: tikras savęs dauginimas
2018 m. spalį Adamas P. Goucheris baigė sukonstruoti 0E0P metaląstelę – Conway Gyvenimo žaidimo (Game of Life) raštą, gebantį tikrai pats save daugintis. Skirtingai nei ankstesnės metaląstelės, kurioms šalia reikėjo jau esamų kopijų, 0E0P metaląstelė gali sukurti savo kopijas nuo nulio, įskaitant ir savo instrukcijų juostą.
Šis pasiekimas yra svarbus dirbtinės gyvybės etapas: sistema, galinti plisti skaičiavimo substrate naudodama tik lokalias taisykles. 2013 m. lapkričio 23 d. Dave'as Greene'as sukūrė pirmąjį Gyvenimo žaidimo replikatorių, kuris sukuria visą savo kopiją, įskaitant instrukcijų juostą, – tai įrodo, kad net paprastas Conway dviejų būsenų automatas gali palaikyti neribotą savęs atkūrimą.
Daugiau: ląstelinių automatų vaizdo įrašai
Ieškokite daugiau žavaus ląstelinių automatų turinio:
▶️ „YouTube“ paieška: „cellular automata the design is the code“
Dizaino sistemos kaip skaičiuojamieji substratai
Nuo atominio dizaino iki agentinio dizaino
Brado Frosto Atominio dizaino (Atomic Design) metodika, pristatyta 2013 metais, iš esmės pakeitė mūsų požiūrį į dizaino sistemas. Skaidydamas sąsajas į atomus (pagrindinius elementus, pvz., mygtukus ir įvesties laukus), molekules (paprastus junginius), organizmus (sudėtingas vartotojo sąsajos dalis), šablonus (puslapių maketus) ir puslapius (galutines realizacijas), Atominis dizainas pasiūlė hierarchinę struktūrą sudėtingumui valdyti.
Tačiau žvelgiant atgal stebina štai kas: Atominis dizainas jau įkūnijo ląstelinių automatų principus, nors jų aiškiai ir nesuvokė.
| Ląstelinių automatų principas | Atominio dizaino atitikmuo |
|---|---|
| Lokalios taisyklės | Kiekvienas komponentų lygis turi taisykles, kaip jį galima derinti su kitais |
| Emergencija | Sudėtingi puslapiai atsiranda iš paprastesnių elementų derinių |
| Atkartojamumas | Tie patys atomai, sujungti pagal tas pačias taisykles, duoda nuoseklius rezultatus |
| Mastelio keitimas | Sistema plečiasi be centralizuoto valdymo – kiekvienas komponentas „žino“ savo elgseną |
| Savaiminė organizacija | Dizaino žetonai (design tokens) pakeitimus automatiškai paskleidžia po visą sistemą |
„Kai dizaino sistema nuobodi, dizaineriai ir kūrėjai gali užsiimti nauju – spręsti naujus uždavinius. Dizaino sistema prisiima nuobodžios rutinos naštą, kad jos nereikėtų nešti dizaineriams ir kūrėjams.“
– Josh Clark, „The Most Exciting Design Systems Are Boring“
2023 m. vasarį Brad Frost parašė apie „Design Systems in the Time of AI“ („Dizaino sistemos DI laikais“):
„DI yra natūralus dizaino sistemos vartotojas... Iš tiesų daugelis dizaino sistemos komponentų darbų yra mechaniški ir nuspėjami. Komponento šabloną, atitinkantį likusios bibliotekos formą, jau dabar sukuriame tokiomis priemonėmis kaip PlopJS. Mielai sutikčiau, kad DI padėtų man sugeneruoti daugybę įprastų šabloninių dalykų.“
– Brad Frost
Dizaino sistemų mechaniškumas ir nuspėjamumas kaip tik ir daro jas tinkamas veikti ląstelinių automatų principu. Kai taisyklės aiškios, vietinės ir nuosekliai taikomos, agentai gali veikti savarankiškai – kaip ir Conway „Gyvenimo žaidimo“ (Game of Life) ląstelėms nereikia centrinio valdiklio, kad atsirastų sklandytuvai ir osciliatoriai.
Būtinybė, kad viskas būtų suprantama mašinoms
Storybook MCP (Model Context Protocol) iniciatyva yra svarbi evoliucija šia kryptimi. 2025 m. pabaigoje paskelbtas Storybook MCP suteikia DI kodavimo agentams mašininiu būdu skaitomus komponentų metaduomenis iš esamų Storybook sąrankų.
Svarbiausia įžvalga ta, kad agentams nereikia nei neapdoroto kodo, nei vizualinės dokumentacijos. Jiems reikia:
- Komponentų manifestų: struktūruotų metaduomenų apie kiekvieną komponentą – jo savybes (props), variantus, dizaino žetonų susiejimus ir naudojimo pavyzdžius
- Semantinių pavadinimų: prasmę išreiškiančių žetonų, pavyzdžiui,
action.primary.confirm, kurie agentams perteikia reikšmę, o ne vien vertes - Patikros ciklų: galimybės paleisti testus, pamatyti klaidas ir pačiam jas ištaisyti
„Storybook MCP padeda agentams laikytis jūsų šablonų ir išlaikyti jūsų testus. Jis suteikia agentams du dalykus, kurių jie niekada anksčiau neturėjo: mašininiu būdu skaitomus komponentų metaduomenis ir iteracinį ciklą, leidžiantį pačiam save pagydyti nuo klaidų.“
Storybook MCP turi savarankišką taisymo ciklą. Jis leidžia agentams paleisti jūsų komponentų testus (sąveikos ir prieinamumo), pamatyti, kas nepavyko, ir pačiam ištaisyti savo klaidas. Kūrėjui reikia įsikišti tik tada, kai testai praeina. Daugiau nereikia auklėti užklausų.
Būtent tokia ir yra ląstelinio automato architektūra, pritaikyta dizainui: vietinės taisyklės (komponentų specifikacijos), sąveika su kaimynais (kompozicijos šablonai) ir iteraciniai atnaujinimai (patikra ir savaiminis taisymas).
Mano komponentų manifestas kaip genomas
Palyginimas su Langtono kilpomis (Langton's Loops) tampa dar taiklesnis, kai pažvelgiame, kaip veikia komponentų manifestai. Langtono sistemoje cirkuliuojančiose ląstelėse užkoduotas „genomas“ turi nurodymus, kaip sukurti naują kilpą. Mašininiu būdu skaitomoje dizaino sistemoje komponento manifestas turi nurodymus, kaip surinkti sąsajas.
Komponento manifestas gali nurodyti:
{
"name": "Button",
"variants": ["primary", "secondary", "destructive"],
"sizes": ["sm", "md", "lg"],
"props": {
"label": "string",
"disabled": "boolean",
"onClick": "function"
},
"tokens": {
"background": "color.action.primary",
"borderRadius": "radius.md",
"padding": "space.3"
},
"constraints": [
"Must have accessible contrast ratio",
"Label required for non-icon buttons",
"Minimum touch target 44x44px"
],
"examples": [
{ "variant": "primary", "label": "Submit", "size": "md" },
{ "variant": "destructive", "label": "Delete", "size": "sm" }
]
}Šis manifestas yra kartu dizaino specifikacija ir vykdomasis kodas – tiksliau, instrukcijos, pagal kurias galima sugeneruoti vykdomąjį kodą. Šį manifestą naudojančiam agentui nereikia suprasti estetikos ar naudotojo patirties žmogiškąja prasme. Jam reikia laikytis taisyklių, derinti elementus pagal jų apribojimus ir kurti teisingus rezultatus.
Sutinku su Bradu Frostu, kad reikia naudoti yaml formatą.
Drupal komponentai naudoja yaml formatą. Maždaug taip:
$schema: https://git.drupalcode.org/project/drupal/-/raw/HEAD/core/assets/schemas/v1/metadata.schema.json
name: Button
status: experimental
description: Use Bootstrap custom button styles for actions in forms, dialogs, and more with support for multiple sizes, states, and more.
props:
type: object
properties:
html_tag:
type: string
title: The HTML tag to use for the button (button | a). Defaults to `button`.
default: button
enum:
- button
- a
url:
type: string
title: URL Link
description: URL link for the button when the HTML tag is an anchor link.
$ref: "ui-patterns://url"
color:
type: string
title: Color
description: Bootstrap includes several predefined button styles, each serving its own semantic purpose, with a few extras thrown in for more control.
default: ''
enum:
- ''
- primary
- secondary
- success
- danger
- warning
- info
- dark
- light
- link
outline:
type: boolean
title: Outline
description: In need of a button, but not the hefty background colors they bring? Replace the default modifier classes with the .btn-outline-* ones to remove all background images and colors on any button.
default: false
size:
type: string
title: Size
description: Bootstrap button size
default: ''
enum:
- ''
- btn-sm
- btn-lg
disabled:
type: boolean
title: Disabled
description: Disabled button
default: false
button_utility_classes:
type: array
title: Utility Classes
default: []
items:
type: 'string'
description: An array of utility classes that can be used to add extra Bootstrap utility classes or custom classes to this component.
attributes:
type: object
title: Attributes
description: HTML attributes for the containing element.
$ref: 'ui-patterns://attributes'
slots:
content:
type: string
title: Content
description: The content for the button
minLength: 1
examples:
- Press
- Submit now
- Save
- Login
- Read more
Dizainas yra kodas.
- Variantai
- Žetonai (Tokens)
- Savybės (Props)
Apribojimai (galėtume pridėti prie komponentų)
Lizdų taisyklės (ką galima dėti į kitus lizdus arba ką leidžiama dėti į mano lizdą)
Taisyklės
Pavyzdžiai
Animacijos ( leidžiama naudoti arba rekomenduojama naudoti )
Tada stebėkite ir eksperimentuokite su elgsena.
kaip čia: https://storybook.demo.varbase.vardot.com/?path=/story/atoms-button--primary
Dizaino žetonai kaip aplinkos kintamieji
Dizaino žetonai – dar viena svarbi dėlionės dalis. Ląstelinio automato ląstelės reaguoja į artimiausią aplinką – kaimyninių ląstelių būsenas. Dizaino sistemose komponentai reaguoja į dizaino žetonus – kontekstines reikšmes, nulemiančias jų išvaizdą ir elgseną.
Šiuolaikinės žetonų architektūros naudoja kelis sluoksnius:
- Pagrindiniai žetonai: neapdorotos reikšmės, pavyzdžiui,
color.blue.500: #3B82F6 - Semantiniai žetonai: paskirtimi grįstos nuorodos, pavyzdžiui,
color.action.primary: color.blue.500 - Komponentų žetonai: konkrečiam komponentui skirti pritaikymai, pavyzdžiui,
button.background.primary: color.action.primary
Kai agentas generuoja mygtuko (Button) komponentą, jam nereikia žinoti, kad „primary“ reiškia mėlyną spalvą. Pakanka nurodyti button.background.primary ir pasitikėti, kad žetonų sistema pati parinks tinkamą reikšmę. Informaciją saugo aplinka (žetonų sluoksnis); komponentui (ląstelei) tereikia į ją sureaguoti.
Tokie įrankiai kaip Tokens Studio išsivystė iki to, kad dizaino žetonus traktuoja kaip skaičiavimo grafus su sprendikliais (resolvers) – mazgais, kurie semantiškai nusprendžia, kuriuos bazinius žetonus naudoti pagal kontekstą. Taip dizaino žetonai iš statinių reikšmių virsta dinamiškomis, taisyklėmis grįstomis sistemomis.
Drupal ekosistema ir dirbtinio intelekto integracija
Dirbtinio intelekto integravimas į turinio valdymo sistemas (CMS) – puiki laboratorija principui „dizainas yra kodas“ tyrinėti. Tokios CMS kaip Drupal jau įkūnija pagrindines sąvokas: struktūrizuotus turinio tipus, laukų apibrėžimus, ryšius ir kūrimo taisykles.
Niekada nemaniau, kad galėsime pasakyti ką nors panašaus. Man tai buvo meno viršūnė.
Geriausias kompiuterių rinkinys, kokį tik galėtume turėti. Kai kurie programuotojai tarsi atkeliavo iš būsimo „Žvaigždžių kelio“ ir kalbasi su kompiuteriu, kad jis programuotų už juos.
Agento patirtis (AX) ir naujasis naudotojas
Dizainas mašinoms
2025 m. pradžioje „Netlify“ vadovas Mathias Biilmann pristatė sąvoką „agento patirtis“ (Agent Experience, AX) – naują discipliną, nagrinėjančią, kaip dirbtinio intelekto agentai sąveikauja su produktais ir platformomis.
Tai esminis poslinkis. Dešimtmečius UX (naudotojo patirtis) buvo optimizuojama žmogaus suvokimui, pojūčiams ir elgesiui. DX (kūrėjo patirtis) buvo optimizuojama žmonėms programuotojams, kuriantiems programinę įrangą. AX pripažįsta, kad agentai tampa pagrindiniais skaitmeninių sistemų naudotojais, o jų poreikiai visiškai kitokie:
- Jiems nerūpi vizualinė estetika – tik struktūrizuoti, lengvai nuskaitomi duomenys
- Jie nenaršo sąsajų – jie kviečia API ir naudoja manifestus
- Jie neskaito dokumentacijos kaip žmonės – jiems reikia mašininiu būdu skaitomo konteksto
- Jie nevertina subjektyviai – jie laikosi taisyklių ir apribojimų
„Dirbtinio intelekto agentams nerūpi mygtuko dydis, tipografijos įskaitomumas, graži jūsų svetainės spalvų paletė ar akį traukiančios programėlės animacijos. Jie juk ne žmonės. Tad kas rūpi DI agentams? Šiandien šiam klausimui dar nėra konkretaus atsakymo, bet artimiausiais metais jis taps vis svarbesnis.“
– AX tyrimai
Atsakymas: aiškios taisyklės, nnuspėjamas elgesys, gerai struktūruoti duomenys ir grįžtamojo ryšio kilpos, leidžiančios agentams patikrinti ir pataisyti savo veiksmus.
Dvigubos sąsajos iššūkis
Kurti AX reiškia kartu projektuoti dvi sąsajas:
- Žmogaus ir agento sąsaja: Čia žmonės prižiūri, tvirtina, redaguoja ir kreipia agento elgesį – tai „misijos valdymo centro“ sluoksnis. Galvokite apie skydelius ir tvirtinimo eiles, o ne apie formas ir mygtukus.
- Agento ir sistemos sąsaja: Čia agentai bendrauja su API, duomenų bazėmis ir įrankiais – tai „veiklos“ sluoksnis. Jis turi būti patikimas, gerai dokumentuotas ir optimizuotas mašinų efektyvumui.
Tai primena ląstelinių automatų architektūrą, kur kartu egzistuoja dvi skirtingos perspektyvos:
- Vietinė perspektyva: kiekviena ląstelė (agentas) laikosi paprastų taisyklių, pagrįstų tuo, ką daro artimiausi kaimynai.
- Visuminė perspektyva: atsiranda sudėtingi dėsningumai, kurie matomi tik dideliu mastu.
„Agento patirties dizainas (AX) turėtų užtikrinti puikų agentų naudojimo patogumą – tiek agentams, tiek jų dėka. Todėl puikus AX veda prie puikios vartotojo patirties (UX). Jei DI agentas susiduria su sugedusiu procesu, protokolu ar net nenuosekliais formuluočių skirtumais tarp sistemų, jis negali atlikti užduoties. Agentui tai bloga patirtis, o ji savo ruožtu virsta bloga kliento ar darbuotojo patirtimi.“
– Kat Holmes, vyriausioji patirties vadovė (Chief Experience Officer), Salesforce
Nuo UX prie AX: skaitmeninio dizaino evoliucija
| UX (žmonės vartotojai) | DX (kūrėjai) | AX (DI agentai) |
|---|---|---|
| Vizualinės sąsajos | API ir SDK | Mašinai skaitomi manifestai |
| Emocinis įsitraukimas | Dokumentacija | Struktūruotas kontekstas |
| Naršymo srautai | Kodo pavyzdžiai | Įrankių apibrėžimai |
| Prieinamumas | Tipų saugumas | Apribojimų specifikacijos |
| Klaidų pranešimai | Steko pėdsakai (stack traces) | Grįžtamojo ryšio kilpos savikorekcijai |
Stigmergija ir netiesioginė komunikacija
Viena galingiausių spiečiaus intelekto sąvokų – stigmergija – netiesioginis koordinavimas per aplinkoje paliktus pėdsakus. Skruzdėlės tiesiogiai nesikalba apie maisto vietą; jos palieka feromonų takus, kuriais seka kitos. Aplinka tampa komunikacijos terpe.
Agentinėse dizaino sistemose stigmergija pasireiškia taip:
- Bendros komponentų bibliotekos: agentai „mato“, kokie komponentai egzistuoja ir kaip jie buvo naudojami.
- Dizaino žetonai (design tokens): semantinės reikšmės, užkoduojančios dizaino sprendimus kaip aplinkos faktus.
- Šablonų dokumentacija: naudojimo pavyzdžiai, tarnaujantys kaip feromonų takai būsimiems agentams.
- Testų rinkiniai: tikrinimo taisyklės, ribojančios galimų teisingų rezultatų erdvę.
- Git istorija: ankstesnių sprendimų įrašas, į kurį agentai gali remtis.
Kai agentas sukuria sąsają naudodamas komponentą, jis palieka pėdsakus – kodo bazėje, dokumentacijoje, nustatytuose šablonuose. Būsimus panašias užduotis atliksiančius agentus šie pėdsakai paveiks, ir taip atsiras kolektyvinio intelekto forma, kokios neturi joks pavienis agentas.
Agentiniai dizaino šablonai
Andrew Ng ir kiti išskyrė keturis pagrindinius agentinių DI sistemų šablonus:
- Refleksija: DI įvertina savo paties rezultatą ir jį iteratyviai tobulina.
- Įrankių naudojimas: DI bendrauja su išoriniais įrankiais, API ir sistemomis.
- Planavimas:Dirbtinis intelektas suskaido sudėtingas užduotis į dalines užduotis ir vykdo jas paeiliui
- Daugiaagentė sistema: Keli specializuoti agentai bendradarbiauja spręsdami sudėtingas užduotis
Šie modeliai tiesiogiai atitinka ląstelinių automatų sąvokas:
| Agentinis modelis | Ląstelinių automatų atitikmuo |
|---|---|
| Refleksija | Ląstelės atnaujinamos pagal dabartinės būsenos įvertinimą |
| Įrankių naudojimas | Ląstelės sąveikauja su aplinkos kintamaisiais |
| Planavimas | Kelių kartų evoliucija link stabilių konfigūracijų |
| Daugiaagentė sistema | Skirtingi ląstelių tipai su specializuotomis taisyklėmis (daugialąsteliai automatai) |
Dizainas yra kodas: gilesnis skaitymas
Ką iš tikrųjų reiškia „dizainas yra kodas“
Sakydami „dizainas yra kodas“, vienu metu teigiame kelis dalykus:
1. Semantinis ekvivalentiškumas
Tinkamai užkoduoti dizaino sprendimai tampa vykdomi. Dizaino žetonas (design token) yra ne šiaip reikšmė, o instrukcija. Komponento specifikacija yra ne šiaip dokumentacija, o programa. Kai agentai naudoja šiuos artefaktus, jie dizainą ne tik įgyvendina, bet ir vykdo.
2. Generatyvinė galia
Kaip Rule 110 gali apskaičiuoti viską, kas apskaičiuojama, taip ir pakankamai išbaigta dizaino sistema gali sukurti bet kokią galiojančią sąsają. Sistemoje slypi visų jos galimų raiškų potencialas. Kas išauga, priklauso tik nuo pradinių sąlygų (reikalavimų) ir taisyklių (apribojimų).
3. Emergentinis sudėtingumas
Pačios sudėtingiausios sąsajos nekuriamos iš viršaus į apačią; jos išauga nuosekliai taikant paprastas taisykles. Gerai suprojektuotas mygtukas, naudojamas nuosekliai, sukuria darnią vizualinę kalbą, nors niekas to darnumo aiškiai neplanavo.
4. Skaičiavimo neredukuojamumas
Kai kurių dizaino rezultatų neįmanoma nuspėti iš anksto, nepaleidus sistemos. Negali žinoti, kaip atrodys agento surinkta sąsaja, kol neleidi agentui jos surinkti. Tai Wolframo skaičiavimo neredukuojamumo principas, pritaikytas dizainui.
5. Savęs modifikavimas
Kaip evoloopai, mutuojantys dauginimosi metu, ir agentams paruoštos dizaino sistemos gali evoliucionuoti jas naudojant. Agentų sukurti komponentai tampa biblioteka, kuria vėliau naudosis kiti agentai. Sistema mokosi, prisitaiko ir auga.
Išplėsta ląstelinių automatų metafora
| Ląsteliniai automatai | Agentinės dizaino sistemos |
|---|---|
| Ląstelių tinklelis | Sąsajos elementų drobė |
| Ląstelių būsenos | Komponentų egzemplioriai ir jų savybės (props) |
| Kaimynystė | Išdėstymo kontekstas ir gretimi komponentai |
| Atnaujinimo taisyklės | Kompozicijos apribojimai ir dizaino žetonai |
| Kartos | Atvaizdavimo ciklai ir būsenų atnaujinimai |
| Emergentiniai raštai | Išbaigtos sąsajos ir naudotojų srautai |
| Savireplikacija | Komponentų bibliotekos, leidžiančios kurti naujus komponentus |
| Universalus skaičiavimas | Dizaino sistemos, galinčios išreikšti bet kokią galiojančią naudotojo sąsają |
| Sklandytuvai (judantys raštai) | Pakartotinai naudojami raštai, plintantys visuose produktuose |
| Stabilūs raštai (still lifes) | Nusistovėję komponentai, kurie nesikeičia |
| Osciliatoriai | Animuoti komponentai, įkėlimo būsenos, perėjimai |
Daugiau nei metafora: tikra konvergencija
Tačiau tai ne šiaip metafora. Konvergencija yra tikra ir vyksta dabar:
- Storybook MCP paverčia komponentų bibliotekas mašininiu būdu skaitomomis instrukcijomis, kurias vykdo agentai
- Model Context Protocol standartizuoja, kaip agentai pasiekia įrankius ir kontekstą, sukurdamas universalų agentinių operacijų pagrindą
- Daugiaagentės architektūros paskirsto darbą specializuotiems agentams (architektui, programuotojui, recenzentui), kurie sąveikauja pagal protokolus, tarsi ląstelės su diferencijuotomis funkcijomis
- Savaime gyjančios kilposleiskite agentams vykdyti testus, aptikti klaidas ir kartoti ciklą – tuos pačius grįžtamojo ryšio mechanizmus, kuriais ląstelinių automatų sistemos išugdo stabilias konfigūracijas
- Schema.org Blueprints paverčia turinio struktūras mašinai suprantamomis ir semantiškai prasmingomis
- Drupal AI suteikia infrastruktūrą, kad DI agentai galėtų savarankiškai kurti, keisti ir valdyti turinį
Požiūrio „dizainas yra kodas“ nelaikome filosofine pozicija. Mes jį kuriame kaip techninę infrastruktūrą.
Pasekmės ir kelias į priekį
Dizaineriams
Dizainerio vaidmuo kinta: iš „stačiakampių kūrėjo“ jis tampa „taisyklių apibrėžėju“. Kaip pastebėjo Bradas Frostas:
„Dizaineriams ir kūrėjams, kurie savo darbą suvokia kaip stačiakampių braižymą, yra dėl ko nerimauti. O tie, kurie savo darbą supranta kaip problemų sprendimą – ir tik tarp kitko, spręsdami jas, turi sukurti ar pavaldyti kokį stačiakampį, – turi mažiau ko bijoti.“
– Bradas Frostas
Agentų ateityje dizaineriai:
- apibrėš semantinius žetonus (tokenus) ir jų tarpusavio ryšius
- nustatys kompozicijos apribojimus ir šablonus
- kurs patikros taisykles, kurias agentai privalės tenkinti
- prižiūrės ir tobulins taisykles, valdančias spontanišką atsiradimą (emergenciją)
- suprojektuos grįžtamojo ryšio mechanizmus, leidžiančius save taisyti
- formuos „tinkamumo funkcijas“, nulemiančias, kokie rezultatai priimtini
Tai dizainas aukštesniu abstrakcijos lygiu: projektuojamos ne pačios dizaino išraiškos, o taisyklės, iš kurių jos gimsta. Tarsi apibrėžtum ląstelinio automato taisykles, užuot piešęs kiekvieną ląstelę atskirai.
Programuotojams
Programuotojai tampa agentų sistemų architektais. Kaip teigia Anthropic:
„Programinės įrangos kūrimo sritis atskleidė puikų DLM funkcijų potencialą – nuo kodo užbaigimo iki savarankiško problemų sprendimo.“
Programuotojams reikės:
- kurti mašinai suprantamas sąsajas tarp agentų ir sistemų
- projektuoti grįžtamojo ryšio kilpas ir patikros mechanizmus
- statyti karkasą, kurio ribose atsiranda spontaniškas elgesys
- išlaikyti žmogaus priežiūrą kaip galutinį sprendėją
- apibrėžti protokolus, kuriais agentai bendrauja tarpusavyje
- įgyvendinti „klijų kodą“, jungiantį skirtingas agentų sistemas
Žiniatinklio kūrimui ir TVS platformoms
DI integravimas į tokias platformas kaip Drupal rodo ateitį, kurioje:
- Turinio modeliai tampa tinkami agentams per tokius standartus kaip Schema.org
- Redakciniai darbo procesai gauna agentų pagalbą – DI padeda rengti juodraščius, moderuoti ir optimizuoti
- Paieška keičiasi – nuo raktažodžių atitikimo pereinama prie semantinio supratimo, paremto įterpiniais (embeddings) ir vektorinėmis duomenų bazėmis
- Personalizavimas tampa savarankiškas – agentai mokosi vartotojų pageidavimų ir realiu laiku pritaiko turinį
- Kūrimas įsibėgėja nes agentai generuoja komponentus, testus ir dokumentaciją
Tai, kaip Drupal ekosistema priima DI – per tokius modulius kaip Drupal AI, Drupal Canvas, Schema.org Blueprints ir DI tiekėjų integracija – rodo, kad ši ateitis jau kuriama.
Organizacijoms
Konkurencinį pranašumą turės organizacijos, kurių dizaino sistemos labiausiai „paruoštos agentams“. Tokioms sistemoms būdinga:
- visapusiškas komponentų būsenų ir variantų aprėpimas
- semantiniai pavadinimai, perteikiantys paskirtį
- mašinai suprantama dokumentacija ir kontekstas
- patikros ir testavimo infrastruktūra
- aiškūs apribojimai, nubrėžiantys leistinų rezultatų ribas
- agentų vartojimui sukurtos API (AX-first)
- Schema.org-first turinio architektūros
Skirta skaitmeninių produktų ateičiai
Galutinė būsena primena skaitmeninę ekologiją: begalė agentų, veikiančių pagal vietines taisykles, kuria kylančias (emergentines) sąsajas, kurių niekas – nei dizaineris, nei kūrėjas – neplanavo, bet kurios kažkaip dera tarpusavyje, nes jų pagrindu esančios taisyklės yra tvirtos.
Tai skamba ne taip jau fantastiškai, kaip gali pasirodyti. Būtent taip veikia biologinės sistemos, auga miestai, funkcionuoja rinkos. Klausimas ne tas, ar pasieksime šią būseną, o tai, kaip įveiksime perėjimą.
Išvada: kodas gyvas
Johnas von Neumannas, erudicijos šviesulys, išradęs ląstelinius automatus, vadovavosi esminiu klausimu: Kokio minimalaus sudėtingumo reikia savaiminiam atgaminimui? Jo atsakymas – von Neumanno universalusis konstruktorius – parodė, kad savireplikacijai nereikia biologinio mechanizmo. Pakanka taisyklių, kurios užkoduoja savo pačių taikymą.
Po septyniasdešimties metų atrandame, kad tas pats principas galioja ir dizaino sistemoms. Minimalus autonominio sąsajų generavimo reikalavimas – ne dirbtinis bendrasis intelektas ir ne žmogaus lygio kūrybiškumas. Tai išsamus, nuoseklus, mašinai suprantamas taisyklių rinkinys, kurį agentai gali vykdyti.
Kai Langtono kilpos dauginasi ląstelių tinklelyje, nesakome, kad kilpos „projektuoja“ naujas kilpas. Dauginimasis tiesiog yra tai, ką sukuria taisyklės. Vis dėlto rezultatas – nuolat plečiamos panašių į save darinių kolonijos – neabejotinai generatyvus, tam tikra funkcine prasme kūrybiškas.
Kai dirbtinio intelekto agentai surenka sąsajas iš dizaino sistemos komponentų, laikydamiesi semantinių žetonų ir kompozicijos apribojimų, jie daro kai ką panašaus. „Kūrybiškumas“ slypi ne agentuose, o taisyklėse, kurias jie vykdo – taisyklėse, kurias sukūrė žmonės, bet kurios dabar veikia savarankiškai.
Giliausia prasmė
Tai giliausia posakio „dizainas yra kodas“ prasmė: ne tik tai, kad dizaino specifikacijos tampa vykdomos, bet ir tai, kad dizaino sistemos tampa panašios į gyvas. Jos auga. Jos dauginasi savo raštais. Jos vystosi naudojamos. Jos pasižymi elgesiu, kurio niekas aiškiai neprogramavo.
Stovime naujos skaitmeninės kūrybos eros slenksčio. Agentai jau čia. Protokolai formuojasi. Dizaino sistemos tampa dirbtinės gyvybės substratu.
Dizainas yra kodas.
O kodas atgyja.
Pagrindiniai straipsniai ir projektai
- Dizaino sistemos dirbtinio intelekto laikais – Brad Frost
- Storybook MCP – žvilgsnis iš anksto – Storybook
- Pristatome AX: kodėl agento patirtis svarbi – Mathias Biilmann
- Veiksmingų agentų kūrimas – Anthropic
Drupal AI ištekliai
Ląstelinių automatų ištekliai
- Conway's Game of Life leksikonas – apie 1500 figūrų
- Veikianti Tiuringo mašina žaidime „Game of Life“
- Langton's Loops – Vikipedija
- Ląstelinių automatų taisyklių rinkiniai
- A New Kind of Science internete – Stephen Wolfram
- Ląsteliniai automatai – Nature of Code
Nagrinėtos idėjos skaičiavimo teorijos, dizaino sistemų, dirbtinio intelekto ir interneto kūrimo sankirtoje.
Išsakyti požiūriai yra spekuliatyvūs naujų tendencijų apmąstymai, o ne tam tikros ateities prognozės.
Matau, kad kuriame dirbtinio intelekto agentus, kurie veikia ciklu ir kitais ciklais sąveikauja su kitais dirbtinio intelekto agentais.
Dizainas yra kodas, kai sistema veikia cikle, tarsi gyvenimo ciklas pasirinktame audinyje ir taisyklių rinkinyje.