Od diagramov k aplikáciám
Editor diagramov štruktúrovaný Event Storming s AI asistenciou pre tímy vývoja business softvéru. Vytvára konzistentné softvérové špecifikácie pre agentné SDLC workflow. Žiadne úlohy, žiadne šprinty.
Demo
Toto je skutočná e-commerce doména, „Customers“, modelovaná v StormPilote: Actors, Actions, Aggregates, Events, Rules, Views a Terms, plne prepojené. Implementoval ho kódovací agent a publikoval na https://github.com/codelev/stormpilot.

Doručenie softvérového produktu na druhý deň
To, čo skutočne spomaľuje Time to Market softvérového produktu, málokedy je samotné programovanie. Je to všetko, čo musí prebehnúť predtým, než agent alebo inžinier môže bezpečne zmeniť produkt. Akonáhle ste začali prevádzkovať multiagentný SDLC, znova a znova ste narážali na rovnaké štyri problémy.
Rozdrobené znalosti
Znalosti o produkte boli rozdrobené medzi technických a netechnických vedúcich, aplikácie, nástroje na sledovanie úloh, repozitáre kódu a dokumenty. Zvyčajne boli neúplné, zastarané a rôzne interpretované podľa toho, kto ich čítal. Predtým, než ste vôbec mohli zostaviť balík meniacich úloh (Sprint), museli ste najprv synchronizovať všetky tieto rozdrobené znalosti.
Odhady úloh zamerané na človeka
Každá meniaca úloha niesla odhad zameraný na človeka (story points), ktorý nehral žiadnu úlohu, keď prácu robil agent. Agent nepotrebuje na začatie odhad v story points. Čo zostalo, bola plánovacia ceremónia: rozdeľovanie úloh a rozplietanie závislostí medzi úlohami alebo tímami, úsilie, ktoré existovalo len preto, že úlohy boli dimenzované pre ľudí, nie pre agentov.
Spätné inžinierstvo existujúceho stavu
Meniaca úloha popisuje rozdiel medzi existujúcim a požadovaným stavom. To nútilo kódovacieho agenta najprv spätne zrekonštruovať existujúci stav, kým mohol vôbec konať na základe rozdielu. Vzhľadom na súčasné obmedzenia LLM sa táto rekonštrukcia niekedy podarila nesprávne alebo neúplne a produkt sa zmenil spôsobom, ktorý ste nechceli.
Interpretačný drift
Každá meniaca úloha bola napísaná prirodzeným jazykom, čo prinášalo riziko interpretačného driftu: priepasť medzi zamýšľaným správaním domény a správaním, ktoré bolo skutočne implementované, spôsobenú stratou informácie alebo nejednoznačnosťou. Vzhľadom na súčasné obmedzenia LLM mohla rovnaká úloha zadaná rovnakému agentovi zakaždým vytvoriť iný kód a produkt sa znova zmenil spôsobom, ktorý ste nechceli.
Spec-Driven Development
Aby to napravili, tímy prijímajú jeden z frameworkov Spec-Driven Development (SDD): špecifikačné súbory, napísané v prirodzenom alebo zmiešanom prirodzene-formálnom jazyku, napísané pred programovaním, sa stávajú vstupom pre agenta. Existuje porovnanie 15 frameworkov Spec-Driven Development, ktoré ich radí do troch úrovní.
Úroveň 1 · Spec-First
Zaobchádzajú so špecifikáciou ako s predbežnou zmluvou alebo listom o zámere.
GitHub Spec Kit, Superpowers, Behavioral Meta-Architectural Design, Goal-Driven Development, SpecSwarm
Úroveň 2 · Spec-Anchored
Udržiavajú špecifikáciu ako živý dokument počas celého životného cyklu projektu.
MUSUBI, Intent, OpenSpec
Úroveň 3 · Spec-as-Source
Zavádzajú nastavenie bez driftu, kde je špecifikačný súbor absolútnym jediným zdrojom pravdy.
Tessl, Contractual Specification-Driven Development
Porovnanie 15 frameworkov Spec-Driven Development
Túto cestu sme vyskúšali. Špecifikačné súbory skutočne pomohli zhromaždiť znalosti na jednom mieste, popísať existujúci a požadovaný stav a obmedziť interpretačný drift. Špecifikačný súbor však bol stále ešte jeden dokument žijúci v repozitári kódu, ktorý potreboval vlastnú synchronizáciu so zvyškom artefaktov produktu. A obchodní zainteresovaní stále nemohli spolupracovať na špecifikačnom súbore: rozdrobené znalosti medzi technickými a netechnickými ľuďmi zostali nevyriešené.
Preto sme vytvorili StormPilot, ktorý rieši všetky štyri problémy naraz.
Event Storming
EventStorming je nízkonákladová kolaboratívna workshopová technika, ktorú vytvoril Alberto Brandolini na skúmanie komplexných obchodných procesov ako časovej osi opakujúcich sa prvkov. EventStorming nemal byť digitálnym nástrojom. Jeho hlavným účelom je kolektívne učenie: obchodní a technickí experti spoločne objavujú a diskutujú o tom, ako doména funguje. Tabuľa je zámerne ľahká a taktilná, čo účastníkom umožňuje rýchlo pridávať, presúvať, zoskupovať, spochybňovať a odstraňovať prvky. Fyzické médium samolepiacich lístkov je súčasťou metódy. Notácia nie je zamýšľaná ako prísny formálny modelovací jazyk.
Štruktúrovaný Event Storming
StormPilot je do veľkej miery verný konceptom Event Storming. Vyhýba sa terminológii CQRS použitím "View" namiesto "Read Model", "Action" namiesto "Command", "Rule" namiesto "Policy". Pridáva "Term" ako explicitný prvok na udržiavanie jednotného doménového jazyka. Štruktúrovaný Event Storming mení techniku učenia na špecifikačný systém. Vkladá formálne notácie priamo do prvkov, aby sa znížil posun vo výklade: priepasť medzi tým, za čo doména zodpovedá, a tým, čo sa skutočne postaví, spôsobenú stratenými alebo nejednoznačnými informáciami. Výsledná softvérová špecifikácia slúži ako deterministický vstup pre agentné generovanie kódu, čo umožňuje, aby doménové znalosti riadili zmeny v softvérovom produkte dodávanom do nasledujúceho dňa.
AI asistencia
AI asistent číta váš skutočný model domény a navrhuje konkrétne opravy: vylepšenia pomenovania, chýbajúce prvky, definície rolí, medzery v toku, spresnenia obmedzení. Prijmite, čo je užitočné, zvyšok odmietnite.

Verzovanie
Úloha ako samostatný artefakt projektového riadenia nedáva zmysel v multiagentnom SDLC ani v ekonomike tokenov. Zmeny v znalostiach zachytených v diagrame štruktúrovaný Event Storming sa priamo premietajú do zmien v produkte, ktorý chceme vydať. Preto StormPilot nahrádza úlohy a balíky úloh verzovaním produktu. Takto sa riešia odhady úloh zamerané na človeka a spätné inžinierstvo existujúceho stavu.

Časté otázky
Musím platiť, aby som to vyskúšal?
Nie. Demo je bezplatný verejný sandbox bez registrácie so všetkými dostupnými rolami. Resetuje sa denne a je obmedzené na 5 domén, každú s 2 verziami.
Čo je verzia domény?
Facilitator môže zmraziť aktuálny stav diagramu ako verziu. Verzie sú nemenné, s časovou pečiatkou a iba na čítanie.
Čo exportuje?
StormPilot exportuje User Interface, Application Programming Interface, dátový model a scenáre Behavior.
Programuje AI kód?
Nie. AI StormPilotu špecifikuje ČO programovať: model domény a jeho správanie. Technologický stack zostáva rozhodnutím vývojárskeho tímu.
Prečo OpenRPC?
Obchodné Actions presahujú REST sémantiku. OpenRPC presne zodpovedá notácii Event Storming, vyhýba sa interpretačnému driftu a je protokolovo agnostický.
Prečo Gherkin?
Given/When/Then odráža štruktúru Event Storming Rules a vyhýba sa interpretačnému driftu, keďže je priamo podporované ekosystémom nástrojov BDD.
Prečo PlantUML?
Event Storming je svojou podstatou vizuálny, zatiaľ čo PlantUML si to zachováva pri exporte. Syntax je priamo podporovaná ekosystémom nástrojov.
Prečo SSE?
Events prúdia iba jedným smerom, takže zložitosť WebSockets zostáva nevyužitá. Server-Sent Events zostáva jednoduchým HTTP a automaticky sa znova pripája.

