Manifest Genesis: Autonomní Softwarová Agentura

Genesis není program. Je to ekosystém spolupracujících AI agentů, jejichž jediným cílem je transformovat lidský záměr na funkční, robustní a udržovatelný software. Stojí na fundamentálním principu: Lidé by měli myslet, stroje by měly pracovat.

Základním stavebním kamenem Genesis je deklarativní toolkit (CodeGen a jeho atributy), který slouží jako univerzální, vysokoúrovňový jazyk, jímž agenti komunikují a materializují své návrhy do podoby kódu.

Vstup: Lidský Záměr

Vše začíná jednoduchým textovým zadáním v přirozeném jazyce:

"Potřebuji systém pro správu firemní knihovny. Zaměstnanci si mohou půjčovat knihy. Knihy mají ISBN a název. Chci mít přehled, kdo má co půjčeno a kdy to má vrátit. Pokud knihu nevrátí do 14 dnů, systém by měl poslat automatickou upomínku."

Fáze 1: Návrh a Verifikace (Tým Architektů)

Tento text neputuje k jednomu agentovi, ale k celému týmu pro návrh:

  1. Agent: Doménový Analytik (Architect)
    • Přečte zadání a extrahuje klíčové koncepty. Identifikuje entity (Kniha, Zaměstnanec, Výpůjčka), jejich vlastnosti a vztahy.
    • Výstup: První verze strukturovaného, deklarativního modelu.
      • Entita: Kniha { ISBN: string, Nazev: string }
      • Entita: Vypujcka { KnihaId: FK, ZamestnanecId: FK, DatumPujceni: date, DatumVraceni: date? }
  2. Agent: Kritik / Etický Hacker (Red Teamer)
    • Okamžitě napadne návrh.
    • "Co když je více kopií jedné knihy? Tvůj model s ISBN jako klíčem nestačí. Potřebujeme entitu Exemplář."
    • "Co se stane, když si někdo chce půjčit už půjčenou knihu? Chybí ti stavový model (Dostupná, Půjčená)."
    • "Jak systém pozná, kdo je přihlášený? Kde jsou uživatelé a autorizace?"
    • "Co je to 'upomínka'? Email? SMS? Notifikace v aplikaci? Návrh je neúplný."
  3. Agent: Procesní Inženýr (Elsa Specialist)
    • Analyzuje větu: "Pokud knihu nevrátí do 14 dnů, systém by měl poslat automatickou upomínku."
    • Výstup: Deklarativní popis byznys procesu.
      • Workflow: PripomenutiVraceni
      • Spouštěč (Trigger): Event 'VypujckaVytvorena'
      • Krok 1: Čekat 14 dní (Timer)
      • Krok 2: Zkontrolovat, zda jeDatumVracenistále null (Condition)
      • Krok 3: Pokud ano, poslat upomínku (Action: SendReminder)

Tito agenti spolu iterují, dokud není návrh robustní a kompletní. Mohou klást doplňující otázky člověku, pokud si nejsou jisti.

Fáze 2: Materializace (Tým Vývojářů)

Jakmile je model schválen, přebírá ho tým pro implementaci:

  1. Agent: Kodér Deklarací (Toolkit Specialist)
    • Vezme finální model a přeloží ho do C# kódu s tvými atributy. Nevymýšlí žádnou logiku, jen mechanicky překládá.
    • Výstup: Soubory Kniha.cs, Exemplar.cs, Vypujcka.cs plné atributů [GenerateDto], [GenerateCrudHandlers], [Ownership], [AuthorizeOperation] a [TriggersWorkflow].
  2. Nástroj: CodeGen (Naše Továrna)
    • Tento "hloupý", ale extrémně výkonný nástroj se spustí.
    • Mechanicky a bez přemýšlení vygeneruje desítky souborů: DTOs, handlery, repozitáře, Refit klienty, Blazor komponenty a kostry Elsa workflow.

Fáze 3: Zajištění Kvality (Tým QA)

Paralelně s materializací pracuje tým pro zajištění kvality:

  1. Agent: Unit Tester
    • Analyzuje vygenerovaná DTO a handlery.
    • Výstup: Sada unit testů, které ověřují mapování, správné volání mockovaných repozitářů a základní logiku.
  2. Agent: Integrační Tester
    • Analyzuje vygenerované API (přes Refit) a byznys požadavky.
    • Výstup: Sada integračních testů, které simulují reálné scénáře:
      • test_pujceni_dostupne_knihy_musi_uspet()
      • test_pujceni_pujcene_knihy_musi_selhat_s_chybou_409()
      • test_neautorizovany_uzivatel_nevidi_vypujcky_jinych_uzivatelu()
  3. Agent: E2E Tester (Playwright/Selenium Specialist)
    • Analyzuje vygenerované Blazor komponenty.
    • Výstup: Sada end-to-end testů, které proklikávají uživatelské rozhraní.
      • test_po_prihlaseni_se_zobrazi_seznam_knih()
      • test_po_kliknuti_na_pujcit_se_kniha_zobrazi_v_me_sekci()

Fáze 4: Nasazení a Učení (Tým DevOps a Zpětné Vazby)

  1. Agent: DevOps Inženýr
    • Pokud všechny testy projdou, automaticky vezme vygenerovaný kód, sestaví ho, zabalí do Docker kontejnerů a nasadí do testovacího prostředí.
  2. Zpětnovazební smyčka: Systém monitoruje své chování v provozu. Pokud se objeví chyby nebo neefektivita, data se vrací zpět k Agentu Kritikovi, který je použije pro vylepšení svých budoucích návrhů.

Závěrečná Vize: Od Instruování AI k Posílení AI

Viděli jsme, jak dokážeme z jednoduchých definic automaticky generovat datové vrstvy, byznys logiku a API. Ale skutečná síla tohoto přístupu se projeví, když ho propojíme s umělou inteligencí. A zde je klíčový rozdíl oproti všemu, co dnes vidíte na trhu.

Současný trend je snažit se přimět AI, aby přímo psala kód. Lidé se pokoušejí v dlouhých a složitých promtech popsat, jak má vypadat jejich MediatR handler nebo React komponenta. Je to v podstatě snaha naučit stroj napodobovat práci juniorního programátora. Tento přístup je ale z principu křehký, nepředvídatelný a naráží na tvrdé limity kontextového okna. AI nezná vaši architekturu, vaše standardy, vaše bezpečnostní pravidla. Pokaždé je to sázka do loterie.

My na to jdeme z druhé strany. My se nesnažíme AI instruovat, my ji posilujeme.

Náš systém, Genesis, nedává AI za úkol psát detailní implementační kód. Místo toho jsme vytvořili vysokoúrovňový, deklarativní jazyk – náš toolkit atributů. Tento jazyk slouží jako most mezi abstraktním byznys požadavkem a konkrétní, robustní implementací.

Jak to funguje v praxi?

  1. AI Architekt neřeší, jaký using použít v handleru. Jeho úkolem je na základě textového zadání vytvořit čistý doménový model – sadu C# tříd.
  2. AI Kodér pak neprogramuje. Jeho jediným úkolem je tento model anotovat – ozdobit ho našimi atributy. Místo psaní 50 řádků kódu pro autorizaci napíše jeden jediný řádek: [AuthorizeOperation(Policy = AuthorizationPolicy.OwnerOnly)].
  3. Teprve potom přichází na řadu naše deterministická továrna CodeGen, která tento vysokoúrovňový popis spolehlivě a bezchybně přeloží na stovky řádků optimalizovaného, konzistentního a testovatelného kódu, který přesně odpovídá naší architektuře.

Ten rozdíl je fundamentální. Odstraňujeme z rovnice největší slabinu současných AI – nespolehlivost a nedostatek kontextu při generování komplexního kódu. Dáváme AI jednoduchý a extrémně mocný nástroj, jak vyjádřit svůj návrh. Tím dramaticky zmenšujeme prostor pro chyby a uvolňujeme její potenciál pro řešení skutečně složitých problémů v návrhu systému, místo aby se trápila se syntaxí a boilerplatem.

Ve výsledku tak nevytváříme jen další "AI kopilota". Budujeme autonomní systém, kde AI navrhuje a náš toolkit staví. To je cesta k skutečně škálovatelné a spolehlivé automatizaci softwarového vývoje.

Subscribe to Blog

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
jamie@example.com
Subscribe