Disain on kood

The Design is the Code

 

Kuidas rakkautomaatide loogika kujundab ümber agentsed disainisüsteemid ja miks võib veebiarenduse tulevik olla juba kirjutatud lihtsatesse reeglitesse

Disainisüsteemide, tehisintellekti ja arvutusteooria ristumiskohas toimub sügav muutus. See on nii põhjalik nihe, et seab kahtluse alla isegi selle, mida „disain“ autonoomsete agentide ajastul tähendab.

 

 

 

Aastakümneid oleme disaini ja koodi käsitlenud eraldi aladena: disain on inimese loovuse ja esteetilise otsustuse valdkond, kood aga nende ideede mehaaniline tõlge käivitatavasse vormi. Kuid nüüd, kui tehisintellekti agendid koostavad kasutajaliideseid üha iseseisvamalt, kasutavad disainisüsteeme masinloetava infrastruktuurina ja loovad semantilistest tokenitest koodi, läheneme ühtekulgemise punktile, milles kajab palju vanem arvutusteooria idee.

 

Milline idee? Disain ongi kood.

 

See pole pelgalt kõlav lause. See on äratundmine, et liigume võib-olla maailma poole, kus disainisüsteemid toimivad nagu rakkautomaadid: lihtsad reeglid sünnitavad keerukat, esilekerkivat käitumist. Kus erinevus millegi „disainimise“ ja „programmeerimise“ vahel kaob täielikult. Kus autonoomsed agendid ei kasuta disainisüsteeme pelgalt, vaid on disainisüsteemid tegevuses.

Koondumise hetk

11. detsembril 2025 liitus Brad Frost (Atomic Designi looja) Dominic Nguyeniga (Chromatici kaasasutaja) otseülekandes teemal „Agentsed disainisüsteemid 2026. aastal“. Nende sõnum oli selge: tehisintellekti agendid koostavad kasutajaliideseid juba praegu samadest komponentidest, mida kasutavad inimeste meeskonnad. Disainisüsteemid peavad arenema masinloetavaks infrastruktuuriks, muidu ähvardab neid muutuda möödunud ajastu reliktideks.

 

 

Nagu Storybooki meeskond teatas: „Tehisintellekt hakkab kasutama disainisüsteeme täpselt nii, nagu need on dokumenteeritud. Lüngad näidetes, olekutes & piirangutes viivad otse ettearvamatu kasutajaliideseni.“

See blogipostitus uurib rakkautomaatide, esilekerkiva käitumise ja agentsete disainisüsteemide tuleviku sügavaid seoseid. Jälgime teoreetilisi aluseid alates von Neumanni isepaljunevatest masinatest kuni tänaste tehisintellekti agentide parvedeni.

 

Vaatleme, kuidas Drupal ja kaasaegsed sisuhaldussüsteemid lõimivad tehisintellekti selliste moodulite kaudu nagu Schema.org Blueprints ja Drupal AI. Ning mõtleme, mida see kõik tähendab disaineritele, arendajatele ja digitoodete loomise tulevikule.


Rakkautomaadid ja esilekerkimise loogika

Lihtsate reeglite ilu

1970. aastal tutvustas matemaatik John Conway Elumängu (Game of Life) – „nullmängijaga mängu“, millest sai üks arvutusteooria enim uuritud süsteeme. Reeglid on hingematvalt lihtsad:

  1. Iga elus rakk, millel on vähem kui kaks elusat naabrit, sureb (alaasustatus)
  2. Iga elus rakk, millel on kaks või kolm elusat naabrit, jääb ellu
  3. Iga elus rakk, millel on rohkem kui kolm elusat naabrit, sureb (ülerahvastatus)
  4. Iga surnud rakk, millel on täpselt kolm elusat naabrit, ärkab ellu (paljunemine)

Neist neljast reeglist, mis on väljendatavad käputäie binaartingimustega, kasvab välja hämmastav keerukuse universum. Liuglejad rändavad üle lõpmatute ruudustike. Ostsillaatorid pulseerivad igavestes rütmides. Püssid tulistavad mustrivoogusid üle rakkude ruumi. Ja kõige tähelepanuväärsem: Elumängu on tõestatud olevat Turingi mõttes täielik: kõike, mida saab algoritmiliselt arvutada, saab põhimõtteliselt arvutada ka Conway lihtsal ruudustikul.

 

 

Joonis 1: Gosperi liugurikahur Conwayʼ Elu mängus. See muster toodab lakkamatut liuguritevoogu – nii näeb, kuidas lihtsad reeglid võivad sünnitada lõputut, ennast ülal hoidvat keerukust.

 

 

See on rakkautomaatide esimene õppetund: keerukus ei ole keerulise käitumise eeltingimus. Lihtsad reeglid, mida rakendatakse järjekindlalt kogu aluspinnal, võivad tekitada mustreid ja käitumist, mida keegi pole otseselt programmeerinud.

Oluline video: sissejuhatus rakkautomaatidesse

Sissejuhatus rakkautomaatidesse, sealhulgas Conwayʼ Elu mäng ja isepaljunevad Langtoni silmused

Videos on mitu animatsiooni, sealhulgas lõplik isehävinemine, mis tekiks siis, kui Langtoni silmustel lasta suurel torusel paljuneda (kus ruudustiku vastasküljed on omavahel ühendatud).

 

 

 

 

Lisamaterjalid videost:


Langtoni silmused ja isepaljunemine

1984. aastal viis Christopher Langton selle põhimõtte kaugemale oma isepaljunevate silmustega – rakkautomaadiga, mis näitas ehtsa tehiselu põhimõtteid. Erinevalt Conwayʼ Elu mängust, mis näitab esilekerkivat keerukust, näitavad Langtoni silmused esilekerkivat paljunemist.

Iga silmus koosneb tsüklilisest piirist, mille sees on rakuseisunditesse kodeeritud „genoom“. See genoom voolab pidevalt ümber silmuse ja välja mööda ehitusharu, mis ehitab 151 ajasammuga tütarsilmuse. Kui see on valmis, eraldub tütar emast ning mõlemad jätkavad paljunemist.

 

Grid art of a red path with blue, yellow, and cyan tiles, on a dark background.

Joonis 2: Langtoni silmus algseisundis. Geneetiline info ringleb silmuses ja suunab väljasirutuva haru kaudu tütarsilmuste ehitamist.

 

„Kui isepaljunev masin on rakkautomaadis võimalik, siis võib ka elu ennast olla võimalik masinatega luua.“

– Christopher Langton, „Studying Artificial Life with Cellular Automata“ (1986)

Järeldused on kaugeleulatuvad. Langtoni silmused näitavad, et isepaljunemine ei vaja bioloogiliste rakkude keerukust ega von Neumanni algse lahenduse universaalseid ehitusvõimeid. Selleks on vaja vaid:

  • Lihtsate kohalike reeglite kogumit
  • Mehhanismi juhiste kodeerimiseks
  • Protsessi, mille käigus neid juhiseid täidetakse

Reeglid on organism. Kujundus on kood.

1999. aastal tutvustas Hiroki Sayama evoloope – variante, mis hõlmavad struktuurset lahustuvust ja fenotüübilisi vastasmõjusid ning võimaldavad spontaanseid mutatsioone ja evolutsioonilist dünaamikat. Need silmused arenevad paljunemise ajal toimuvate otseste füüsiliste kokkupõrgete kaudu, mis toob kaasa genotüübi muutusi, suurema morfoloogilise mitmekesisuse ja keerukuse kasvu põlvkondade jooksul. Erinevalt Langtoni kindlast paljunemisest näitavad evoloopid pärilikke mutatsioone ilma välise sekkumiseta.

 

 

Reegel 110 ja universaalne arvutus

Stephen Wolframi elementaarsete rakkautomaatide uurimine kulmineerus üllatava avastusega: reegel 110, üks vaid 256 võimalikust reeglist kõige lihtsamat tüüpi ühemõõtmelise rakkautomaadi jaoks, suudab teha universaalset arvutust.

Reegel 110 saab täielikult määrata, kui anda tulemus kõigi kaheksa võimaliku lahtri ja selle kahe naabri kombinatsiooni jaoks. Ometi suudab see triviaalselt lihtne reegel – kaheksa kahendotsust – simuleerida universaalset Turingi masinat.

 

Rull 110 cellular automaton - Triangle pattern with black and white abstract geometric design.

Joonis 3: Reegli 110 rakkautomaat. Hoolimata lihtsast definitsioonist on Reegel 110 neljanda klassi käitumisega – keerukad mustrid, mis pole ei täiesti stabiilsed ega täiesti kaootilised – ning selle Turingi täielikkus on tõestatud.

 

„Universaalseks arvutuseks ei ole vaja midagi sellist nagu terve arvuti protsessor. Piisab sellest väikesest reeglist.“

– Stephen Wolfram, „A New Kind of Science“

2004. aastal avaldas Matthew Cook tõestuse, et Reegel 110 teatud korduva taustamustriga on Turingi täielik. Tõestus näitab, et Reegel 110 suudab emuleerida tsüklilisi märgendisüsteeme, mis omakorda suudavad emuleerida mis tahes Turingi masinat. 88 võimaliku unikaalse elementaarse rakkautomaadi seas on Reegel 110 ainus, mille Turingi täielikkus on otse tõestatud.

Wolframi pakutud arvutusliku ekvivalentsi printsiip viitab millelegi veelgi radikaalsemale: süsteemid, mis ületavad teatud minimaalse keerukuse lävendi, on oma arvutusvõimekuselt sisuliselt samaväärsed. Inimaju, ilmasüsteem ja Reegel 110 on mingis sügavas mõttes arvutuslikult samaväärsed.

Wolframi rakkautomaatide neli klassi

  • 1. klass: areng viib homogeense olekuni
  • 2. klass: areng viib eraldatud perioodiliste struktuurideni
  • 3. klass: areng viib kaootiliste, juhuslike mustriteni
  • 4. klass: areng viib keerukate mustriteni, milles on lokaalsed struktuurid – need on võimelised universaalseks arvutuseks

Reegel 110 käitub neljanda klassi järgi, mida Wolfram kirjeldab kui „kaose äärel“ asuvat – kriitilist piiri, kus lihtsad reeglid annavad maksimaalse arvutusvõimsuse.

0E0P metarakk: tõeline isereplikatsioon

2018. aasta oktoobris lõpetas Adam P. Goucher 0E0P metaraku ehitamise – mustri Conway Elumängus, mis on võimeline tõeliseks isereplikatsiooniks. Erinevalt varasematest metarakkudest, mis vajasid läheduses juba olemasolevaid koopiaid, suudab 0E0P metarakk ehitada oma koopiaid nullist, kaasa arvatud oma juhisteriba.

See saavutus on tähtis verstapost tehiselus: süsteem, mis suudab end arvutusliku substraadi kaudu levitada, kasutades ainult lokaalseid reegleid. 23. novembril 2013 ehitas Dave Greene Elumängus esimese replikaatori, mis loob endast täieliku koopia, kaasa arvatud juhisteriba – see näitab, et isegi Conway lihtne kaheolekuline automaat suudab toetada piiramatut isepaljunemist.

 

Uuri lähemalt: rakkautomaatide videod

 

Otsi veel põnevat rakkautomaatide sisu:

▶️ YouTube'i otsing: „cellular automata the design is the code“


Disainisüsteemid kui arvutuslikud substraadid

Aatomidisainist agentse disainini

Brad Frosti 2013. aastal tutvustatud Atomic Design'i metoodika muutis põhjalikult seda, kuidas me disainisüsteemidest mõtleme. Jagades liidesed aatomiteks (põhielemendid, nagu nupud ja sisendid), molekulideks (lihtsad kombinatsioonid), organismideks (keerukad kasutajaliidese osad), mallideks (lehekülje paigutused) ja lehtedeks (lõplikud teostused), lõi Atomic Design hierarhilise struktuuri keerukuse haldamiseks.

Kuid tagantjärele on tähelepanuväärne see, et Atomic Design kehastas juba rakkautomaatide põhimõtteid ilma neid sõnaselgelt tunnistamata.

Rakkautomaatide põhimõteAtomic Designi vaste
Lokaalsed reeglidIga komponenditase lähtub reeglitest, kuidas see võib teistega kombineeruda
EsilekerkimineKeerukad lehed kerkivad esile lihtsamate elementide kombinatsioonidest
TaastoodetavusSamad aatomid, mis on kokku pandud samade reeglite järgi, annavad järjepidevaid tulemusi
SkaleeritavusSüsteem skaleerub ilma tsentraalse juhtimiseta – iga komponent "teab" oma käitumist ise
IsekorraldumineDisainitokenid levitavad muudatused kogu süsteemis automaatselt

"Kui disainisüsteem on igav, vabastab see disainerid ja arendajad tegelema millegi uuega ja lahendama uusi probleeme. Disainisüsteem kannab igavuse koorma, et disainerid ja arendajad ei peaks seda tegema."

– Josh Clark, "The Most Exciting Design Systems Are Boring"

2023. aasta veebruaris kirjutas Brad Frost teemal "Design Systems in the Time of AI":

"Tehisintellekt on loomulik disainisüsteemi tarbija... Tegelikkus on see, et suur osa disainisüsteemi komponenditööst on tõepoolest mehaaniline ja ennustatav. Me kasutame juba tööriistu nagu PlopJS, et toota komponendi šabloonkood, mis vastab ülejäänud teegi kujule. Võtaksin heal meelel vastu tehisintellekti abi, et ta genereeriks minu eest suure hulga tavapäraseid šabloonlahendusi."

– Brad Frost

Disainisüsteemide mehaaniline ja ennustatav olemus teebki need sobivaks rakuautomaatide stiilis toimimiseks. Kui reeglid on selged, lokaalsed ja järjepidevalt rakendatud, saavad agendid tegutseda iseseisvalt – nii nagu Conway Game of Life'i rakud ei vaja keskset kontrollerit, et tekitada liugureid ja ostsillaatoreid.

Masinloetavuse nõue

Storybook MCP (Model Context Protocol) algatus kujutab endast selles suunas olulist arengusammu. 2025. aasta lõpus välja kuulutatud Storybook MCP annab tehisintellektil põhinevatele kodeerimisagentidele masinloetavad komponendi metaandmed olemasolevatest Storybooki seadistustest.

Peamine tähelepanek on, et agendid ei vaja toorest koodi ega visuaalset dokumentatsiooni. Neile on vaja:

  • Komponendimanifeste: Struktureeritud metaandmeid iga komponendi kohta – selle atribuute, variante, disainitokenite sidemeid ja kasutusnäiteid
  • Semantilist nimetamist: Kavatsusrikkaid tokeneid nagu action.primary.confirm, mis annavad agentidele edasi tähenduse, mitte ainult väärtusi
  • Valideerimistsükleid: Võimalust käivitada teste, näha tõrkeid ja ennast ise parandada

"Storybook MCP aitab agentidel järgida teie mustreid ja läbida teie teste. See annab agentidele kaks asja, mida neil pole varem olnud: masinloetavad komponendi metaandmed ja iteratiivse tsükli vigade ise parandamiseks."

- Storybooki meeskond

Storybook MCP sisaldab autonoomset parandustsüklit. See laseb agentidel käivitada teie komponenditeste (interaktsiooni- ja ligipääsetavuse teste), näha, mis ebaõnnestub, ja parandada oma vead ise. Arendaja peab sekkuma alles pärast seda, kui testid on läbitud. Enam ei pea prompte lapsehoidjana jälgima.

See on täpselt rakuautomaadi arhitektuur, mida on rakendatud disainile: lokaalsed reeglid (komponendi spetsifikatsioonid), naabrite vastasmõjud (kompositsioonimustrid) ja iteratiivsed uuendused (valideerimine ja eneseparandus).

 

Minu komponendimanifest kui genoom

Võrdlus Langtoni silmustega muutub veelgi tabavamaks, kui vaatleme, kuidas komponendimanifestid toimivad. Langtoni süsteemis sisaldab ringlevates rakkudes kodeeritud "genoom" juhiseid uue silmuse ehitamiseks. Masinloetavas disainisüsteemis sisaldab komponendimanifest juhiseid liideste kokkupanekuks.

Komponendimanifest võib määrata järgmist:

{
  "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" }
  ]
}

Ez a manifest on korraga nii disainispetsifikatsioon kui ka käivitatav kood – õigemini juhised, mille põhjal saab käivitatavat koodi genereerida. Seda manifesti kasutav agent ei pea mõistma esteetikat ega kasutajakogemust inimliku mõistes. Tal tuleb järgida reegleid, kombineerida elemente vastavalt nende piirangutele ja luua kehtivaid väljundeid.

 

Olen Brad Frostiga nõus, et yaml-vorming on õige valik.

 

Drupali komponendid kasutavad yaml-vormingut. Umbes selliselt:

$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

 

Disain on kood.

  • Variandid
  • Tokenid
  • Propsid
  • Piirangud (neid võiksime komponentidele lisada)

  • Slotireeglid (mida võib panna teistesse slottidesse ja mida tohib panna minu slotti)

  • Reeglid

  • Näited 

  • Animatsioonid  ( lubatud või soovitatud kasutada )

Seejärel jälgi ja katseta, kuidas see käitub.

nagu siin: https://storybook.demo.varbase.vardot.com/?path=/story/atoms-button--primary 

 

Disainitokenid keskkonnamuutujatena

Disainitokenid on veel üks oluline tükk selles mõistatuses. Rakukujulistes automaatides reageerivad rakud oma vahetule keskkonnale – naaberrakkude olekutele. Disainisüsteemides reageerivad komponendid disainitokenitele – kontekstuaalsetele väärtustele, mis määravad nende välimuse ja käitumise.

Tänapäevased tokenite arhitektuurid kasutavad mitut kihti:

  • Põhitokenid: toorväärtused, näiteks color.blue.500: #3B82F6
  • Semantilised tokenid: eesmärgist lähtuvad viited, näiteks color.action.primary: color.blue.500
  • Komponenditokenid: kitsama ulatusega rakendused, näiteks button.background.primary: color.action.primary

Kui agent genereerib Button-komponendi, ei pea ta teadma, et „primary“ tähendab sinist. Piisab, kui ta viitab tokenile button.background.primary ja usaldab, et tokenisüsteem lahendab selle õigeks väärtuseks. Keskkond (tokenikiht) kannab infot; komponent (rakk) peab sellele lihtsalt reageerima.

Tööriistad nagu Tokens Studio on arenenud nii, et kohtlevad disainitokeneid arvutusgraafidena koos lahendajatega – sõlmedega, mis teevad semantilisi otsuseid selle kohta, milliseid baastokeneid kontekstist lähtuvalt kasutada. See muudab disainitokenid staatilistest väärtustest dünaamilisteks, reeglipõhisteks süsteemideks.


Drupali ökosüsteem ja tehisintellekti lõimimine

Tehisintellekti lõimimine sisuhaldussüsteemidesse on suurepärane laboratoorium, kus uurida põhimõtet „disain on kood“. Sellised CMS-id nagu Drupal kannavad põhikontseptsioone juba sees: struktureeritud sisutüübid, väljade definitsioonid, seosed ja kompositsioonireeglid.

Ma poleks kunagi arvanud, et midagi sellist võiks öelda. Minu jaoks oli see tehnoloogia tippsaavutus.

 Ülim arvuti, mida võiksime omada. Mõned arendajad, kes võiksid pärineda tulevasest Star Trekist ja räägivad arvutiga, et see nende eest programmeeriks.

 

 

Agendikogemus (AX) ja uus kasutaja

Disainimine masinatele

2025. aasta alguses tutvustas Netlify tegevjuht Mathias Biilmann mõistet „Agent Experience“ (AX) – uut valdkonda, mis keskendub sellele, kuidas tehisintellekti agendid tooteid ja platvorme kasutavad.

Nihe on põhimõtteline. Aastakümneid optimeeris UX (kasutajakogemus) inimese tunnetust, taju ja käitumist. DX (arendajakogemus) optimeeris tarkvara loovaid inimarendajaid. AX tunnistab, et agentidest on saamas digisüsteemide peamised kasutajad – ja neil on täiesti teistsugused vajadused:

  • Neile ei lähe korda visuaalne esteetika– ainult struktureeritud, parsitavad andmed
  • Nad ei liigu mööda liideseid– nad kutsuvad API-sid ja loevad manifeste
  • Nad ei loe dokumentatsiooni nii nagu inimesed– neil on vaja masinloetavat konteksti
  • Nad ei tee subjektiivseid hinnanguid– nad järgivad reegleid ja piiranguid

"AI-agendid ei ole inimesed: neile ei lähe korda nupu suurus, kirjatüübi loetavus, veebilehe kaunis värvipalett ega rakenduse säravad animatsioonid. Mis siis AI-agentidele korda läheb? See on küsimus, millele täna konkreetset vastust pole, kuid mis muutub lähiaastatel üha olulisemaks."

– AX-i uuring

Vastus: selged reeglid, ennustatav käitumine, hästi struktureeritud andmed ja tagasisideahelad, mis võimaldavad neil oma tegevust kontrollida ja parandada.

Kahe liidese väljakutse

AX-i jaoks disainimine tähendab kahe liidese samaaegset loomist:

  1. Inimese ja agendi liides: Siin inimesed jälgivad, kinnitavad, muudavad ja suunavad agendi tegevust – see on „juhtimiskeskuse“ kiht. Mõelge töölaudadele ja kinnitusjärjekordadele, mitte vormidele ja nuppudele.
  2. Agendi ja süsteemi liides: Siin suhtlevad agendid API-de, andmebaaside ja tööriistadega – see on „töökiht“. See peab olema töökindel, hästi dokumenteeritud ja masina tõhususe jaoks optimeeritud.

See kordab rakukujuliste automaatide ülesehitust, kus kaasneb kaks erinevat vaatenurka:

  • Lokaalne vaatenurk: Iga rakk (agent) järgib lihtsaid reegleid, mis põhinevad selle vahetutel naabritel
  • Globaalne vaatenurk: Tekivad keerukad mustrid, mis on nähtavad alles suures mastaabis

"Agendikogemuse disain (AX) peaks tagama suurepärase kasutatavuse agentidele ja agentide jaoks. Seega viib hea AX suurepärase kasutajakogemuseni (UX). Kui tehisintellekti agent satub katkise protsessi, protokolli või isegi süsteemide vahel ebajärjepideva sõnastuse otsa, ei suuda ta ülesannet täita. See on agendile halb kogemus, mis omakorda viib halva kliendi- või töötajakogemuseni."

– Kat Holmes, Salesforce'i kogemusjuht (Chief Experience Officer)

UX-ist AX-ini: digitaalse disaini areng

UX (inimkasutajad)DX (arendajad)AX (AI-agendid)
Visuaalsed liidesedAPI-d ja SDK-dMasinloetavad manifestid
Emotsionaalne kaasatusDokumentatsioonStruktureeritud kontekst
NavigeerimisvoodKoodinäitedTööriistade definitsioonid
JuurdepääsetavusTüübiturvalisusPiirangute spetsifikatsioonid
VeateatedPinujäljedTagasisideahelad enesekorrektsiooniks


Stigmergia ja kaudne suhtlus

Üks võimsamaid parveintelligentsi mõisteid on stigmergia – kaudne koordineerimine keskkonna jälgede kaudu. Sipelgad ei suhtle otse toiduallikate asukohast; nad jätavad feromoonirajad, mida teised sipelgad järgivad. Keskkonnast saab suhtlusvahend.

Agentsetes disainisüsteemides on stigmergia kujul:

  • Jagatud komponendiraamatukogud: Agendid „näevad“, millised komponendid on olemas ja kuidas neid on kasutatud
  • Disainitokenid: Semantilised väärtused, mis kodeerivad disainiotsused keskkonna faktidena
  • Mustridokumentatsioon: Kasutusnäited, mis toimivad feromooniradadena tulevastele agentidele
  • Testikomplektid: Valideerimisreeglid, mis piiravad kehtivate väljundite ruumi
  • Giti ajalugu: Varasemate otsuste kirjed, millele agendid saavad viidata

Kui agent genereerib komponendi abil kasutajaliidese, jätab ta jälgi – koodibaasi, dokumentatsiooni ja loodavatesse mustritesse. Tulevasi sarnaseid ülesandeid täitvad agendid satuvad nende jälgede mõju alla, mis loob kollektiivse intelligentsi vormi, mis ei kuulu ühelegi üksikule agendile.

Agentsed disainimustrid

Andrew Ng ja teised on tuvastanud neli peamist mustrit agentsete tehisintellektisüsteemide jaoks:

  1. Reflektsioon: Tehisintellekt hindab oma väljundit ja parandab seda iteratiivselt
  2. Tööriistade kasutamine: Tehisintellekt suhtleb väliste tööriistade, API-de ja süsteemidega
  3. Planeerimine:Tehisintellekt jagab keerukad ülesanded alamülesanneteks ja täidab need järjest
  4. Multiagent: Mitu spetsialiseerunud agenti teeb keerukate ülesannete kallal koostööd

Need mustrid vastavad otse rakukujuliste automaatide mõistetele:

Agentne musterRakukujulise automaadi vaste
ReflektsioonRakud uuenevad praeguse oleku hinnangu põhjal
Tööriistade kasutamineRakud suhtlevad keskkonnamuutujatega
PlaneerimineMitme põlvkonna areng stabiilsete konfiguratsioonide suunas
MultiagentErinevad rakutüübid spetsialiseeritud reeglitega (mitmerakulised automaadid)

Disain on kood – sügavam lugemine

Mida „disain on kood“ tegelikult tähendab

Kui ütleme „disain on kood“, väidame korraga mitut asja:

1. Semantiline samaväärsus

Disainiotsused muutuvad korralikult kodeerituna käivitatavaks. Disainitoken ei ole pelgalt väärtus, vaid käsk. Komponendi spetsifikatsioon ei ole pelgalt dokumentatsioon, vaid programm. Kui agendid neid artefakte tarbivad, siis nad ühtaegu realiseerivad disaini ja täidavad seda.

2. Genereerimisvõime

Nii nagu Rule 110 suudab arvutada kõike arvutatavat, suudab piisavalt täielik disainisüsteem genereerida mis tahes kehtiva liidese. Süsteem kannab endas kõigi oma kehtivate väljendite potentsiaali. Mis sellest välja kasvab, sõltub vaid algtingimustest (nõuetest) ja reeglitest (piirangutest).

3. Esilekerkiv keerukus

Kõige keerukamaid liideseid ei kavandata ülevalt alla, vaid need kerkivad esile lihtsate reeglite järjekindlast rakendamisest. Hästi disainitud nupp, mida kasutatakse järjekindlalt, loob sidusa visuaalse keele ilma, et keegi seda sidusust selgesõnaliselt planeeriks.

4. Arvutuslik taandamatus

Mõnda disainitulemust ei saa ette ennustada ilma süsteemi tegelikult käivitamata. Te ei saa teada, milline näeb välja agendi kokku pandud liides, kui te ei lase agendil seda kokku panna. See on Wolframi arvutusliku taandamatuse printsiip, rakendatuna disainile.

5. Eneseteisendus

Nagu evoloopid, mis paljunemise käigus mutatsioone saavad, võivad agendivalmid disainisüsteemid kasutamise käigus areneda. Agentide loodud komponendid saavad osaks teegist, mida tulevased agendid tarbivad. Süsteem õpib, kohaneb ja kasvab.

Rakukujulise automaadi metafoor laiendatult

Rakukujulised automaadidAgentsed disainisüsteemid
Rakkude ruudustikKasutajaliidese elementide lõuend
Rakkude olekudKomponentide eksemplarid ja nende props-väärtused
NaabruskondPaigutuse kontekst ja külgnevad komponendid
UuendamisreeglidKompositsioonipiirangud ja disainitokenid
PõlvkonnadRenderdustsüklid ja olekuuuendused
Esilekerkivad mustridTerviklikud liidesed ja kasutajateekonnad
IsepaljunemineKomponenditeegid, mis võimaldavad luua uusi komponente
Universaalne arvutusDisainisüsteemid, mis suudavad väljendada mis tahes kehtivat kasutajaliidest
Liugurid (liikuvad mustrid)Taaskasutatavad mustrid, mis levivad üle toodete
Staatilised mustrid (stabiilsed mustrid)Väljakujunenud komponendid, mis ei muutu
OstsillaatoridAnimeeritud komponendid, laadimisolekud, üleminekud

Metafoorist kaugemale: tegelik lähenemine

Kuid see ei ole pelgalt metafoor. Lähenemine on päris ja toimub just praegu:

  • Storybook MCP muudab komponenditeegid masinloetavateks juhisteks, mida agendid täidavad
  • Model Context Protocol standardiseerib, kuidas agendid pääsevad ligi tööriistadele ja kontekstile, luues agentsetele toimingutele universaalse aluse
  • Multiagent-arhitektuurid jaotavad töö spetsialiseerunud agentide (arhitekt, koodija, ülevaataja) vahel, kes suhtlevad protokollide järgi, nagu eri funktsioonidega rakud
  • Isetervenevad tsüklidLubage agentidel käivitada teste, tuvastada vigu ja korrata – need on samasugused tagasisidemehhanismid, mida rakukujulised automaadid kasutavad stabiilsete konfiguratsioonide arendamiseks
  • Schema.org Blueprints muudavad sisustruktuurid masinloetavaks ja semantiliselt tähenduslikuks
  • Drupal AI pakub infrastruktuuri, mille abil tehisintellekti agendid saavad sisu iseseisvalt luua, muuta ja hallata

Me ei käsitle mõtet „disain on kood“ filosoofilise seisukohana. Me ehitame seda tehnilise infrastruktuurina.


Tähendus ja tee edasi

Disaineritele

Disaineri roll muutub „ristkülikute joonistajast“ „reeglite määrajaks“. Nagu Brad Frost märkis:

„Disainerid ja arendajad, kes peavad oma tööks ristkülikute loomist, peaksid muretsema üsna palju. Aga need disainerid ja arendajad, kes näevad oma tööd probleemide lahendamisena – ja kellel tuleb nende lahendamiseks muuhulgas ka mõni ristkülik luua –, võivad olla rahulikumad.“

– Brad Frost

Agentide tulevikus hakkavad disainerid:

  • määratlema semantilisi tokeneid ja nende omavahelisi seoseid
  • seadma kompositsioonipiiranguid ja mustreid
  • looma valideerimisreegleid, millele agendid peavad vastama
  • hoolitsema nende reeglite eest, mis juhivad esilekerkivat käitumist, ning neid edasi arendama
  • kujundama tagasisidemehhanisme, mis võimaldavad ennast ise parandada
  • paika panema „sobivusfunktsioonid“, mis otsustavad, millised tulemused on vastuvõetavad

 

Man in blue shirt examines colorful flowchart.

 

 

See on disain kõrgemal abstraktsioonitasemel – disainitakse reegleid, mis disaine toodavad, mitte disaine endid. Nagu rakukujulise automaadi reeglite määratlemine, selle asemel et joonistada iga rakku eraldi.

 

Arendajatele

Arendajatest saavad agentsüsteemide arhitektid. Nagu Anthropic kirjeldab:

„Tarkvaraarenduse valdkond on näidanud suurte keelemudelite funktsioonide jaoks märkimisväärset potentsiaali, kusjuures võimekus on arenenud koodi automaatsest lõpetamisest iseseisva probleemilahenduseni.“

Arendajad peavad:

  • looma agentide ja süsteemide vahele masinloetavad liidesed
  • kavandama tagasisideahelaid ja valideerimismehhanisme
  • ehitama tugiraamistiku, mille sees esilekerkiv käitumine aset leiab
  • säilitama inimliku järelevalve lõppotsustajana
  • määratlema protokollid, mille kaudu agendid omavahel suhtlevad
  • looma „liimkoodi“, mis ühendab erinevaid agentsüsteeme
Man with laptop amidst web development icons and chatbot graphic.

 

Veebiarenduse ja sisuhaldusplatvormide jaoks

Tehisintellekti lõimimine sellistesse platvormidesse nagu Drupal viitab tulevikule, kus:

  • Sisumudelid muutuvad agentidele tarbitavaks selliste standardite kaudu nagu Schema.org
  • Toimetustöövood muutuvad agentide toetatuks tehisintellektil põhineva kirjutamise, modereerimise ja optimeerimisega
  • Otsing areneb märksõnade sobitamisest semantilise mõistmiseni, kasutades vektoresitusi (embeddings) ja vektorandmebaase
  • Personaliseerimine muutub autonoomseks kui agendid õpivad tundma kasutajate eelistusi ja kohandavad sisu reaalajas
  • Arendus kiireneb kui agendid genereerivad komponente, teste ja dokumentatsiooni

Drupali ökosüsteemi avatus tehisintellektile – moodulite kaudu nagu Drupal AI, Drupal Canvas, Schema.org Blueprints ja tehisintellekti pakkujate lõimimine – näitab, et see tulevik on juba ehitamisel.

 

 

 

Organisatsioonidele

Konkurentsieelis kuulub organisatsioonidele, mille disainisüsteemid on kõige „agendivalmimad“. Agendivalmid süsteemid pakuvad:

  • komponentide olekute ja variantide täielikku katvust
  • semantilist nimetamist, mis väljendab kavatsust
  • masinloetavat dokumentatsiooni ja konteksti
  • valideerimis- ja testimisinfrastruktuuri
  • selgeid piiranguid, mis raamivad kehtivate väljundite ruumi
  • agendide tarbimiseks kavandatud API-sid (AX-first)
  • Schema.org-põhiseid sisuarhitektuure

 

 

 

Digitaalsete toodete tuleviku jaoks

Lõpptulemus meenutab digitaalset ökoloogiat: lugematud agendid tegutsevad kohalike reeglite järgi ja loovad esilekerkivaid liideseid, mida ükski disainer ega arendaja pole ette planeerinud, kuid mis mingil moel siiski moodustavad terviku, sest aluseks olevad reeglid on terved.

See pole sugugi nii kauge, kui kõlab. Täpselt nii toimivad bioloogilised süsteemid, nii kasvavad linnad, nii töötavad turud. Küsimus pole selles, kas jõuame sellesse seisu, vaid selles, kuidas me üleminekuga hakkama saame.

 

Kokkuvõte: kood on elus

John von Neumann, polümaat, kes leiutas rakkautomaadid, lähtus ühest põhiküsimusest: Milline on väikseim keerukus, mis on vajalik iseendaga paljunemiseks? Tema vastus, von Neumanni universaalne konstruktor, näitas, et isepaljunemine ei vaja bioloogilist masinavärki. Selleks on vaja vaid reegleid, mis kodeerivad oma rakendamise ise.

Seitsekümmend aastat hiljem avastame, et sama põhimõte kehtib ka disainisüsteemide puhul. Autonoomseks kasutajaliidese loomiseks pole vaja tehisüldintellekti ega inimtasemel loovust. Vaja on täielikku, järjepidevat ja masinloetavat reeglistikku, mida agendid saavad täita.

Kui Langtoni silmused paljunevad üle rakkruudustiku, ei ütle me, et silmused "disainivad" uusi silmuseid. Paljunemine on lihtsalt see, mida reeglid tekitavad. Ometi on tulemus, ehk üha laienevad iseendaga sarnaste mustrite kolooniad, vaieldamatult generatiivne ja teatud funktsionaalses mõttes loov.

Kui tehisintellekti agendid koostavad liideseid disainisüsteemi komponentidest, järgides semantilisi märke (tokenid) ja kompositsioonipiiranguid, teevad nad midagi sarnast. "Loovus" ei peitu agentides, vaid reeglites, mida nad täidavad. Need on reeglid, mille on loonud inimesed, kuid mis nüüd toimivad iseseisvalt.

Sügavaim tähendus

Selles peitubki fraasi "disain on kood" sügavaim tähendus: mitte ainult see, et disainispetsifikatsioonid muutuvad käivitatavaks, vaid et disainisüsteemid muutuvad elusarnaseks. Nad kasvavad. Nad kopeerivad oma mustreid. Nad arenevad kasutamise käigus. Neil ilmnevad käitumisviisid, mida keegi pole selgesõnaliselt programmeerinud.

Seisame uue digitaalse loomingu ajastu lävel. Agendid on siin. Protokollid kujunevad. Disainisüsteemidest on saamas tehiselu aluspinnas.

Disain on kood.
Ja kood ärkab ellu.

 

Olulisemad artiklid ja projektid

Drupal AI ressursid

Rakkautomaatide ressursid


Uurisin ideid, mis asuvad arvutusteooria, disainisüsteemide, tehisintellekti ja veebiarenduse ristumiskohas.

 Esitatud seisukohad on spekulatiivsed arutlused esilekerkivate suundumuste üle, mitte kindlate tulevikustsenaariumide ennustused.

 

Näen, kuidas loome tehisintellekti agente, mis töötavad ringis ja suhtlevad teiste tehisintellekti agentidega täiendavates ringides.

Disain on kood, kui süsteem töötab ringis, nagu eluring, valitud lõuendi ja reeglistiku piires.

The Design is the Code