Jednoobrátková a víceobrátková workflow: proč v CrossChat není obrátka jen jedna zpráva
Jak jsme v CrossChat rozlišili one-shot a multi-turn workflow, proč follow-up navazuje na artefakt běhu a ne na poslední zprávu a co to znamená pro chat UI.
CrossChat není obyčejný chat s jiným skinem. To je důvod, proč jsme se museli znovu podívat i na zdánlivě jednoduchou otázku: co vlastně znamená jedna obrátka konverzace?
V klasickém chatu je odpověď jednoduchá. Uživatel položí dotaz, model odpoví, tím jedna obrátka končí. V CrossChat ale jedna "obrátka" může znamenat tři odpovědi různých modelů, jejich vzájemné porovnání, judge vrstvu, průběžné mezikroky a teprve potom finální syntézu.
Právě proto jsme došli k závěru, že follow-up v CrossChat nemá navazovat na "poslední zprávu", ale na artefakt workflow běhu.
Rámec tvrzení
Co článek tvrdí: V workflow-first aplikaci nestačí navazovat na poslední zprávu. Follow-up má pracovat s artefaktem celého workflow běhu, přičemž jednoobrátkové a víceobrátkové workflow vyžadují odlišné režimy kontextu i UI.
Na čem to stojí: Interní produktová a UX analýza CrossChat nad reálnou architekturou workflow engine. Žádné externí akademické zdroje; článek je transparentně produktový design dokument.
Kde je to zjednodušení: Rozdělení na jednoobrátkové a víceobrátkové workflow je prezentováno jako jasná kategorizace. V praxi mohou uživatelé chtít navázat i na workflow označené jako jednoobrátkové a hranice mezi režimy nemusí být vždy jednoznačná.
Jak tohle rozhodnutí vzniklo
Tohle není teoretická úvaha od zeleného stolu. Návrh vznikl během interní produktové a UX revize CrossChat nad reálnou implementací aplikace:
- nad strukturou workflow engine,
- nad chat UI a streamingem jednotlivých kroků,
- nad tím, jak dnes funguje single-model chat oproti workflow route,
- a nad tím, co vlastně uživateli slibujeme, když aplikaci prezentujeme jako workflow-first produkt.
Jinými slovy: nezačínali jsme čistým listem papíru. Vycházeli jsme z konkrétní architektury a snažili se srovnat produktový jazyk s technickou realitou.
Proč v CrossChat nestačí pojem "poslední zpráva"
V běžném chatu dává smysl mluvit o poslední zprávě. V workflow-first aplikaci už méně.
U workflow typu Cross-check nebo CoVe totiž poslední viditelný výstup není jediná důležitá věc, která v běhu vznikla. Důležité mohou být i:
- dílčí odpovědi respondentů,
- neshody mezi modely,
- verifikační otázky,
- peer review komentáře,
- judge výstup,
- nebo konvergenční signál.
Pokud bychom navazování zredukovali jen na poslední textový odstavec, zahodili bychom podstatnou část hodnoty, kterou workflow vytváří.
Zároveň ale nechceme do každého follow-upu bezmyšlenkovitě cpát celý surový transcript. To by zvyšovalo cenu, latenci i prompt noise.
Proto jsme si rozlišili tři úrovně kontextu.
Tři úrovně kontextu pro follow-up
| Režim | Co znamená | Kdy dává smysl |
| --- | --- | --- |
| Final artifact | Jen finální výstup posledního workflow běhu | Když uživatel navazuje hlavně na výsledek |
| Workflow bundle | Strukturované shrnutí celé předchozí workflow obrátky | Když je důležitý i průběh, neshody a mezikroky |
| Full thread | Více předchozích workflow bundle za sebou | Když jde o delší výzkumné nebo rozhodovací vlákno |
Klíčový detail je ve druhém řádku tabulky. Workflow bundle není raw transcript. Je to kompaktní reprezentace celé obrátky, která zachová to důležité:
- původní dotaz,
- role a modely,
- hlavní kroky,
- shody a rozpory,
- otevřené nejistoty,
- a finální artefakt.
To je přesně bod, kde se CrossChat odlišuje od běžného chatu. Nepracujeme s "poslední větou", ale s výsledkem procesu.
Která serious workflow jsou jednoobrátková a která víceobrátková
Ne všechna workflow mají stejný produktový režim. Některá jsou z principu jednorázový běh. Jiná dávají smysl i jako navazující dialog nad předchozím během.
| Workflow | Režim | Finální artefakt | Typické mezikroky | Doporučený výchozí follow-up |
| --- | --- | --- | --- | --- |
| Cross-check | Jednoobrátkové | finální cross-check syntéza + judge závěr | odpovědi respondentů, judge, syntéza | Final artifact |
| CoVe | Jednoobrátkové | opravená finální odpověď po verifikaci | baseline, verifikační otázky, verifikace, corrected final | Final artifact |
| Self-Consistency | Jednoobrátkové | majority answer / finální majority syntéza | více sample odpovědí, majority rozhodnutí | Final artifact |
| ICE | Jednoobrátkové | convergence syntéza | úvodní odpovědi, iterace, convergence signál | Final artifact |
| Council | Víceobrátkové | expertní syntéza s review trail | expert opinions, peer review, chair synthesis | Workflow bundle |
| Debate | Víceobrátkové | adversarial synthesis / judgment | opening statements, rebuttals, revised positions, judgment | Workflow bundle |
| Think Tank | Víceobrátkové | recommendation / action plan | brainstorm, evaluace, synthesis | Workflow bundle |
Nejdůležitější sporný případ je ICE. Uvnitř workflow je iterativní, ale z pohledu uživatele je to stále jednoobrátkové workflow. Uživatel nevstupuje mezi jednotlivými interními koly. Dostává hotový výsledek až na konci. Proto nedává smysl nechat ho po doběhnutí působit jako otevřený víceobrátkový chat.
A co fun workflow
U fun workflow jsme došli k mnohem tvrdšímu závěru: všechna mají zůstat jednoobrátková.
| Workflow | Režim | Finální artefakt | Typické mezikroky | | --- | --- | --- | --- | | Kim Jong-un Cabinet | Jednoobrátkové | decree / bulletin / loyalty framing | decree, rewrite, validation, applause | | Trump Chaos | Jednoobrátkové | cabinet decision + chaos framing | opening, advisors, fake-news event, arbiter | | EU Bureaucracy | Jednoobrátkové | compromise draft / vote result | positions, amendments, compromise, votes | | Athenian Democracy | Jednoobrátkové | assembly decree | speeches, voting, decree | | Pirate Republic | Jednoobrátkové | captain's log / agreed route | captain plan, crew feedback, mutiny vote, final log | | Russian Oligarchy | Jednoobrátkové | backroom deal + public statement | proposals, bargain, announcement | | UN Security Council | Jednoobrátkové | final communique | statements, draft resolution, votes, communique | | Survivor | Jednoobrátkové | winner + final answer | confessions, elimination votes, finale | | Feudal System | Jednoobrátkové | royal synthesis / delegated plan | decree, duke interpretations, delegated plans | | Populist Rally | Jednoobrátkové | rally speech + reality check | polling, speech, fact-check |
Důvod není v tom, že by ta workflow měla málo kroků. Některá jich mají dost. Důvod je produktový: jejich smyslem je uzavřená simulace nebo performativní běh, ne dlouhodobé expertní navazování.
Co z toho plyne pro samotné rozhraní
Jakmile přijmeme, že workflow mají různé režimy, musí to být vidět i v UI.
| Typ workflow | Stav po dokončení běhu | Co má udělat composer | Primární další akce |
| --- | --- | --- | --- |
| Jednoobrátkové | běh je uzavřen | schovat composer a přejít do completion state | Nový dotaz |
| Jednoobrátkové s návazností | běh je uzavřen, ale lze navázat | composer otevřít až po kliknutí na Navázat z výsledku | Navázat z výsledku |
| Víceobrátkové | běh může přirozeně pokračovat | nechat composer otevřený | Pokračovat s workflow bundle |
To je důležitý rozdíl. U one-shot workflow nechceme uživateli podsouvat dojem, že jde o nekonečný chat. Chceme mu jasně říct: tento běh skončil, teď máš tři legitimní cesty:
- položit nový dotaz,
- navázat z výsledku,
- nebo spustit stejné workflow znovu.
U víceobrátkových workflow naopak chceme přiznat, že další otázka může být součást stejného pracovního vlákna.
Co má být součástí follow-up kontextu
Tady jsme museli být opatrní. Není dobrý nápad posílat do každého follow-upu automaticky celé vlákno. Je to drahé a často i zbytečné.
Proto doporučujeme tyto výchozí režimy:
- u jednoobrátkových workflow navazovat defaultně jen přes
Final artifact, - u
Council,DebateaThink Tanknavazovat defaultně přesWorkflow bundle, Full threadponechat jako pokročilou volbu s explicitním upozorněním, že více kontextu znamená vyšší cenu a delší latenci.
To je kompromis mezi dvěma extrémy:
- mezi ztrátou důležitého kontextu,
- a mezi nekontrolovaným přeposíláním všeho, co v chatu kdy zaznělo.
Proč jsme se nakonec rozhodli právě takto
Rozhodnutí stojí na čtyřech praktických důvodech.
1. Produktová poctivost
Nechceme předstírat, že CrossChat je obyčejný chat, když jeho hodnota stojí na workflow orchestrace. UI má ten rozdíl přiznat, ne ho maskovat.
2. Správná jednotka práce
V CrossChat není základní jednotkou jen textová odpověď. Je jí workflow běh se strukturou, rolemi a mezikroky.
3. Cena a latence
Celé vlákno není zdarma. Bohatší kontext je užitečný, ale musí být explicitní volba, ne tichý default.
4. Lepší navazování u expert workflow
U Council, Debate a Think Tank je průběh běhu často stejně důležitý jako finální závěr. Proto tam dává smysl navazovat nad bundle, ne jen nad posledním odstavcem.
Závěr
Nejdůležitější změna není kosmetická. Není to jen otázka, jestli necháme po odpovědi otevřený input box.
Jde o to, co v CrossChat považujeme za jednu obrátku práce. V běžném chatu je to pár zpráv. U workflow-first produktu je to běh, který může mít více kroků, více modelů a vlastní interní strukturu.
Proto jsme došli k jednoduchému pravidlu:
- one-shot workflow mají po doběhnutí skončit,
- multi-turn workflow mají umět navazovat,
- a follow-up se má opírat o artefakt workflow běhu, ne o iluzi, že všechno je jen obyčejná chatová historie.
To je přesnější technicky, poctivější produktově a čitelnější pro uživatele.
Zdroje
Žádné externí zdroje. Článek vychází z interní produktové a UX analýzy CrossChat.
Historie úprav
Koncept: interní produktová a UX revize CrossChat + Codex Verze 1: Codex + GPT-5.4 Kvalitativní audit (2026-03-23, Claude Code + Claude Opus 4.6): přidán Rámec tvrzení, ověřeny zdroje, jazyková úprava.