Forge
AI-native tvorba BPMN — produkt ADF.

- NestJS
- bpmn-js
- Camunda 7
- OpenRouter
- RAG
- Angular
Forge — produkt ADF — je produkční AI BPMN-authoring: od základu napsaná NestJS mikroslužba se server-side agentní tool-loop přes SSE (function-calling + RAG), která řídí reálné bpmn-js Camunda-7 Designer plátno.
Problém
Camunda-7 proces není diagram, který načrtnete — je to spustitelný kontrakt. Každý task, gateway, sequence flow i boundary event musí být správně utvořený, otypovaný a propojený, jinak ho engine odmítne spustit. „Popište proces a AI ho nakreslí“ zní snadno, dokud jazykový model nevymyslí element, který neexistuje, nenechá viset tok bez cíle nebo nevygeneruje XML, které Designer nepřečte.
Těžké tedy nikdy nebylo přimět LLM, aby o procesu plynně mluvil. Těžké bylo přimět ho, aby ho skutečně vytvořil tak, že ho produkční Designer přijme za vlastní — element po elementu, spoj po spoji — bez toho, aby po každém generování musel uklízet člověk.
To znamenalo, že model nesměl dostat volnou ruku nad plátnem. Musel pracovat přes stejné operace jako lidský designér a nad stejným modelem, který nakonec konzumuje engine.
Agentní smyčka
Forge jsem postavil kolem NestJS mikroslužby napsané od nuly, která běží agentní smyčku na serveru a každý krok streamuje do prohlížeče přes SSE. Model nikdy nemaluje pixely na plátno. Volá nástroje.
Každý nástroj je otypovaná mutace nad reálným bpmn-js Camunda-7 modelem, vyvolaná přes function-calling — vytvoř service task, propoj sequence flow, nastav typ gateway, přidej boundary event. Smyčka volání aplikuje, přečte si výsledný model zpět a tento stav předá do dalšího kola. Plátno, na kterém uživatel sleduje, jak se proces sám staví, je skutečný Designer, ne jeho napodobenina.
RAG grounding drží model při zemi: místo aby si vymýšlel typy elementů nebo názvy properties, dohledává je v reálném BPMN slovníku a v existující knihovně procesů, takže sahá po věcech, které opravdu existují. Běh smyčky na serveru drží přihlašovací údaje, retrieval kontext i validaci mimo klienta — na plátno doputují jen správně utvořené operace.
Jednotkou správnosti je smyčka, ne prompt. Každé kolo je omezený, zvalidovaný a pozorovatelný krok — a právě to mění „AI nakreslila diagram“ v „AI vytvořila proces, který engine spustí“.
Poctivý rozsah
Řeknu přesně, co je produkční a co demo, protože obojí se snadno splete. Produkční je ta NestJS služba: serverová agentní smyčka, function-calling plus RAG, řídící skutečné bpmn-js Camunda-7 plátno Designeru.
Plocha forge-studio je něco jiného. Je to ukázka „sleduj, jak se to staví“ postavená na React Flow s klientským OpenRouter streamingem — záměrně mockovaná zkušenost, která má předvést pocit z agentního authoringu. Není to bpmn-js, není to validované proti Camundě a její vyleštěnost se nesmí číst jako parita s enginem.
Udržet tuhle hranici ostrou je celý smysl. Forge jako produkt ADF je produkční agentní smyčka nad reálným Camunda-7 plátnem; studio je demo zážitku okolo ní. Smíchat obojí dohromady by bylo přesně to přehnané tvrzení, kterému se má tahle práce vyhnout.