Potřeboval jsem od AI podklad na poradu: shrnutí čtvrtletních čísel, tři hlavní závěry a e-mail kolegům, který to všechno oznámí. Napsal jsem to celé do jednoho promptu, dlouhého jako nákupní seznam před Vánocemi. Dostal jsem text, ve kterém se čísla, závěry a oslovení kolegů promíchaly do jednoho odstavce, jako by je někdo naházel do krabice a pořádně s ní zatřepal.
Druhý pokus vypadal jinak. Nejdřív jsem požádal jen o shrnutí čísel. Když sedělo, vzal jsem ten text a poprosil o tři závěry, které z něj plynou. Až s hotovými závěry v ruce jsem řekl: teď z toho napiš e-mail kolegům. Tři kratší zprávy místo jedné dlouhé, a každá stavěla na výstupu té předchozí.
Tomuhle postupu se říká řetězení promptů: jde jednoduše o způsob práce, při kterém se výstup jednoho zadání stane vstupem dalšího, dokud se z drobných kroků neposkládá výsledek, který by jeden prompt sám nezvládl stejně dobře. Žádné tlačítko v nastavení u toho hledat nemusíte.
Ta tři zadání z poslední porady vypadala v praxi takhle:
Krok 1: Shrň mi tahle čísla z přílohy do pěti vět, jen fakta, žádné hodnocení.
Krok 2: Z tohohle shrnutí vyvoď tři hlavní závěry pro vedení, každý na jeden řádek.
Krok 3: Napiš z těch tří závěrů krátký e-mail kolegům. Neformální tón, do deseti vět, s pozdravem na konci.
Žádný z těch tří pokynů sám o sobě nevypadá jako věda. Síla je v tom, že druhý staví na výstupu prvního a třetí na výstupu druhého, takže se model nikdy nemusí starat o víc než o jednu věc najednou.
Krok od kroku, ne všechno najednou
Model nemá problém přečíst dlouhé zadání. Potíž nastane ve chvíli, kdy má zároveň hlídat pět různých požadavků a ještě je poskládat do jednoho souvislého výstupu. Pozornost se rozptýlí a něco vždycky utrpí, tón, přesnost čísel nebo návaznost vět.
Řetězení tenhle problém obchází tak, že každému kroku dá jen jeden úkol. Shrň. Vyvoď závěry. Napiš e-mail. Model se u každého z nich soustředí na jednu věc, a vy navíc dostanete šanci zkontrolovat mezivýsledek dřív, než se stane základem pro krok další. Když se shrnutí čísel nepovede hned na první zastávce, zjistíte to okamžitě, ne až v hotovém e-mailu, kde by ta chyba zapadla mezi zdvořilostní fráze.
Řetěz promptů není agent
Řetězení se dnes snadno plete s AI agenty, a stojí za to ten rozdíl pojmenovat, protože se za ním skrývá úplně jiná míra kontroly. Agent dostane úkol a sám rozhoduje, jaký bude další krok, sám sahá po nástrojích, sám se dívá na výsledek vlastní akce a podle něj plánuje tu následující. Řetězení promptů dělá pořád člověk. Vy rozhodujete, co bude krok dvě, vy vezmete výstup kroku jedna a vložíte ho do dalšího zadání, ať už ručním kopírováním, nebo přes jednoduchý nástroj, který jen přesune text z jednoho okna do druhého, aniž by sám cokoli rozhodoval.
Je to podobný rozdíl jako mezi montážní linkou a mistrem, který na lince improvizuje z vlastní hlavy. Na lince ví každý dělník přesně, co dostane na vstupu a co má poslat dál, protože to tak předem naplánoval člověk. Agent by si linku zařídil sám za pochodu a klidně by si po cestě řekl o jiný nástroj, než jste čekali.
Snadno se to plete i s pojmem, který zní podobně: řetězec myšlenek, anglicky chain-of-thought. To je technika pro jediný prompt, model si sám pro sebe rozepisuje mezikroky úvahy, než vyplivne odpověď, a vy do toho nijak nezasahujete. Řetězení promptů je naopak vždycky víc samostatných zpráv za sebou, a mezi každou z nich máte možnost zasáhnout.
Vzory, na které narazíte pořád dokola
Osnova, pak rozpracování. Nejdřív požádáte o kostru, tedy jen body a nadpisy v logickém pořadí. Osnovu zkontrolujete a opravíte, co nesedí, a teprve pak necháte model každý bod rozepsat do plného textu. Oprava tří slov v osnově je věc pár vteřin. Oprava té samé chyby v hotových třech stranách textu je večer práce navíc.
Výtah, pak přepis. Z dlouhého podkladu, zápisu porady nebo přepisu rozhovoru necháte nejdřív vytáhnout jen fakta a čísla, bez stylizace. Až máte čistý výtah, poprosíte o přepis do finální podoby, e-mailu, shrnutí pro vedení nebo příspěvku na web. Model se tak nemusí starat o styl a o fakta zároveň, dělá to popořadě.
Návrh, kritika, oprava. Necháte vzniknout první verzi textu. V dalším kroku požádáte model, ať se na ni podívá očima kritického editora a řekne, co by opravil. Teprve třetí zpráva je pokyn k opravě podle připomínek z kroku dva. Funguje to překvapivě dobře i v jediném okně s jedním modelem, protože v roli kritika hodnotí text, aniž by byl zatížený tím, že ho sám před chvílí napsal jako svůj.
Text, pak obrázek. Řetězení se netýká jen psaní. Když popis scény pro generátor obrázků nesedí napoprvé, vyplatí se nechat si nejdřív textovým modelem rozepsat a zpřesnit samotný popis, a teprve tenhle zpřesněný text vložit jako obrazový prompt. Jak takový prompt pro obrázek správně poskládat, popisuju v článku Jak napsat prompt pro generování obrázku (s příklady).
Stejné okno, nebo nové vlákno
Nejjednodušší varianta se odehrává v jednom okně chatu. Model vidí celou předchozí konverzaci, stačí napsat další zprávu a odkázat se na to, co právě vzniklo, klidně jen slovem „teď”. Funguje to spolehlivě do doby, než se vlákno hodně natáhne a model začne ztrácet nit z úplného začátku rozhovoru.
Druhá varianta je založit pro každý krok nové vlákno a výstup mezi nimi přenášet ručně, kopírováním. Zní to jako krok zpátky, u dlouhých řetězů to ale má výhodu: každý krok dostane čistý kontext bez balastu z předchozích pokusů a oprav, které jste po cestě zahodili.
Pro řetězec, který spouštíte pořád dokola se stejnou strukturou kroků, se vyplatí sáhnout po jednoduchých nástrojích na automatizaci, které výstup jednoho volání AI samy přesměrují jako vstup dalšího. Rozdíl oproti agentovi zůstává stejný: pořadí kroků i to, co se mezi nimi má stát, jste předem naplánovali vy, ne model za běhu.
Kdy to jenom zdržuje
Řetězení má smysl tam, kde má výsledek víc vrstev, které se navzájem ovlivňují. Pro rychlou otázku, překlad věty nebo krátké shrnutí e-mailu je to zbytečná okolička. Rozdělit takový úkol na tři kroky jenom natáhne čas, aniž byste tím cokoli získali.
Druhé riziko je jiné: chyba z prvního kroku se rovnou stane součástí zadání pro krok druhý. Když shrnutí čísel v kroku jedna obsahuje překlep v součtu, e-mail z kroku tři ten překlep zdědí, a ještě ho zabalí do sebevědomě znějící věty, která na první pohled vypadá hotově. Řetězec je jen tak spolehlivý, jako jeho nejslabší článek. V řetězení promptů to platí doslova.
Na co si dát pozor
Kontrolujte mezivýsledek dřív, než ho pošlete dál. Chyba objevená uprostřed řetězu se opraví jednou větou. Chyba objevená až v hotovém výstupu znamená vracet se o kroky zpátky a opakovat část práce znovu.
Nenechávejte jedno vlákno růst do nekonečna. Když se řetězec táhne přes deset a víc zpráv na různá témata, založte pro další část raději nové okno. Model tím dostane čistší kontext a vy se nebudete louskat starým rozhovorem, abyste našli, kde se co pokazilo.
Držte formát předávání stejný v celém řetězu. Když v prvním kroku označíte výstup jako seznam bodů, druhý krok by měl počítat s tím, že seznam bodů dostane, ne najednou souvislý odstavec. Nejasné předání mezi kroky bývá nejčastější místo, kde se řetěz stočí jinam, než jste chtěli.
A pamatujte, že řetězení nezaručuje pravdivost o nic víc než jeden prompt. Když si model v kroku jedna něco domyslí, v kroku tři to zopakuje se stejnou jistotou, jenom o krok dál od místa, kde by se to dalo snadno ověřit.
Montážní linka, ne kouzelná hůlka
Řetězení promptů nikoho nenaučí kouzlit. Jenom rozloží úkol, který by jeden dlouhý prompt zvládl napůl, na kroky, které pořádně zvládne každý zvlášť. Je to blíž montážní lince než čarování: pomalejší než jedno gesto, ale s výsledkem, který jde po cestě zkontrolovat.
Příště, než napíšete zadání na deset řádků najednou, zkuste ho radši rozdělit na tři kratší zprávy za sebou. Uvidíte hned při první zkoušce, který z dílčích výstupů byste museli řešit dodatečně, kdyby vznikl až na konci jednoho dlouhého a nekontrolovatelného kroku.