Kolegyně z marketingu mi ukazovala rozhovor s AI, ve kterém už poosmé přepisovala stejné zadání na popisek k produktu. Pokaždé jiná slova, stejný výsledek: text, který sice sedí k tématu, ale zní jako z brožury, kterou by nikdo nečetl dobrovolně. Nakonec to vzdala se slovy, že „tenhle nástroj prostě neumí psát lidsky“. Problém nebyl v nástroji. Problém byl v tom, že po každém nepovedeném pokusu napsala úplně nové zadání místo toho, aby opravila to, co konkrétně nefungovalo. Ladění promptu není o tom zkoušet pořád dokola totéž jinými slovy. Je to o tom nejdřív zjistit, kde přesně se odpověď rozešla s tím, co jste chtěli, a opravit přesně tohle místo.

Nejdřív diagnóza, teprve pak oprava

Než cokoli přepíšete, pojmenujte si, co konkrétně na odpovědi nesedí. „Není to ono“ je pocit, ne diagnóza, a s pocitem se prompt opravit nedá. Zkuste místo toho odpovědět na jednu otázku: je problém v obsahu, v tónu, v délce, ve formátu, nebo v tom, že model prostě nepochopil zadání?

Každá z těchhle čtyř kategorií se opravuje jinak. Přidávat příklady stylu nepomůže, když model odpovídá věcně správně, ale příliš dlouze. Zkracovat prompt nepomůže, když model odpovídá krátce, ale úplně mimo téma. Diagnóza nejdřív ušetří o dost víc pokusů než hádání nazdařbůh.

Odpověď je pravdivá, ale nudně obecná

Tohle je nejčastější případ. Model odpoví technicky správně, ale text by mohl sedět na cokoli, žádný konkrétní detail, žádný úhel, který by odpověď odlišil od tisíce podobných. Oprava spočívá v přidání konkrétního kontextu, který v prvním zadání chyběl: pro koho text je, v jaké situaci ho čtenář potká, čím se má lišit od samozřejmého. Místo „napiš popisek k termohrnku“ zkuste „napiš popisek k termohrnku pro lidi, kteří dojíždí do práce vlakem a chtějí mít kávu teplou ještě po hodině cesty, bez marketingových frází jako ‘ideální společník na cesty’“. Konkrétní scénář nutí model opustit obecnou šablonu, protože šablona na tenhle konkrétní scénář nesedí.

Podobný princip platí i mimo psaní textu, u promptů pro generování obrázků nebo videa je rozdíl mezi obecným a konkrétním zadáním ještě vidět víc, protože výsledek je vizuální a nepřesnost se pozná na první pohled. Detailně to rozebírá návod, jak napsat prompt pro generování videa.

Tón sedí jinam, než potřebujete

Text může být obsahově v pořádku a přesto zní špatně, moc formálně na neformální e-mail, moc žoviálně na oficiální dokument, moc „AI“ na cokoli, co má znít jako od člověka.

Nejrychlejší oprava je dát modelu konkrétní referenční vzorek. „Uprav tón, ať zní jako zpráva kolegovi, ne jako tisková zpráva“ funguje, ale ještě líp funguje vložit krátkou ukázku vlastního psaní a napsat „piš v tomhle stylu“. Model se přizpůsobí konkrétnímu vzoru rychleji, než abstraktnímu popisu „piš neformálně“.

U delší spolupráce se vyplatí nastavit tón hned na začátku rozhovoru, ne až u opravy hotového textu. Věta „od teď piš věcně, bez nadbytečných příslovcí a bez zdvořilostních frází navíc“ na začátku konverzace ušetří opakované doladění u každé další zprávy, protože model instrukci bere jako platnou pro celý zbytek rozhovoru, ne jen pro jednu odpověď.

Odpověď je třikrát delší, nebo třikrát kratší, než potřebujete

Délka je nejsnáz opravitelná věc ze všech, a přitom se na ni nejčastěji zapomíná zmínit dopředu. Model bez instrukce k délce často volí bezpečný střed, dost dlouhý na to, aby pokryl víc možných očekávání, což u konkrétního zadání skoro nikdy nesedí přesně. Řešení je napsat délku rovnou do promptu, ne ji řešit až u opravy. „Tři věty“, „jeden odstavec“, „do 100 slov“ fungují spolehlivěji než „stručně“, protože „stručně“ je pro model stejně neurčité jako pro dva různé lidi. Když délka nesedí až u hotové odpovědi, stačí napsat „zkrať to na polovinu“ nebo „rozveď třetí bod“, model upraví stejnou odpověď v kontextu rozhovoru, není potřeba psát zadání znovu od nuly.

Model pořád netrefuje, co chcete

Někdy ani opakované doladění nepomůže a odpověď se pořád míjí s očekáváním. V tu chvíli obvykle nejde o formulaci, ale o to, že úkol má víc kroků najednou a model je řeší v jiném pořadí, nebo v jiné hloubce, než jaké čekáte.

Pomůže úkol rozdělit. Místo „naplánuj mi týdenní jídelníček s nákupním seznamem podle rozpočtu“ zkuste nejdřív „navrhni mi kostru sedmi jednoduchých večeří“ a teprve po schválení pokračujte „teď k tomuhle sestav nákupní seznam podle rozpočtu 1500 korun“. Menší kroky se dají po každém z nich zkontrolovat a opravit, než se chyba z prvního kroku vleče do všech dalších. Druhá možnost je nechat model, ať se sám zeptá na chybějící detaily, než začne odpovídat. „Než mi navrhneš jídelníček, zeptej se mě na všechno, co k tomu potřebuješ vědět“ změní pořadí, model nejdřív doplní chybějící kontext sám, místo aby ho domýšlel a pak se minul cíli. Hodí se to hlavně u úkolů, kde dopředu ani sami nevíte, jaké všechno detaily jsou pro dobrý výsledek potřeba.

Když navíc chcete, aby model postupoval promyšleně krok za krokem, ne jen naházel odpověď najednou, funguje to spolehlivěji s technikou popsanou v článku chain-of-thought: jak přimět AI uvažovat krok za krokem.

Model si něco vymyslel, i když netušil odpověď

Tenhle problém se od ostatních liší, protože odpověď zní naprosto sebejistě, přestože je vymyšlená. Model neřekne „tohle nevím“, pokud ho o to výslovně nepožádáte, prostě vygeneruje nejpravděpodobnější pokračování, i když je fakticky mimo. Oprava má dvě vrstvy.

První je přímo do promptu napsat, že pokud si model není jistý nebo informaci nezná, má to říct, místo aby si něco domyslel, „když nevíš jistě, napiš, že si nejsi jistý, nehádej“. Druhá, spolehlivější vrstva je nespoléhat na to, co si model pamatuje z tréninku, a rovnou mu do promptu vložit zdrojový text, ze kterého má vycházet, konkrétní dokument, článek nebo data. Model, který dostane podklad přímo v zadání, si míň vymýšlí, protože nemusí spoléhat na neurčitou paměť.

Dobrý výsledek u jednoho zadání, špatný u skoro stejného

Frustrující varianta: prompt jednou fungoval skvěle a při mírně jiném vstupu selže. Typicky se to stává u opakovaných úloh, třídění recenzí podle nálady, přepis poznámek do jednotného formátu, kde model najednou u jednoho konkrétního případu vybočí ze vzorce.

Pomůže přidat do promptu jeden nebo dva konkrétní příklady, jak má vypadat vstup a jemu odpovídající správný výstup, než jen popisovat pravidlo slovy. Model se drží ukázaného vzoru spolehlivěji, než abstraktního popisu, protože vidí přesně, jak má formát a uvažování vypadat, ne jen co má obsahovat.

Formát odpovědi je k ničemu

Souvislý odstavec tam, kde jste čekali tabulku. Odrážky tam, kde jste potřebovali plynulý text do e-mailu. Tenhle problém se plete s obsahovým, ale řeší se jinak, prostým vyjmenováním požadovaného formátu.

„Odpověz jako tabulka se sloupci název, cena, dostupnost“ nebo „vrať to jako číslovaný seznam kroků“ nechává modelu minimum prostoru k domýšlení. Kdo potřebuje formát pravidelně, třeba data ve strukturované podobě pro další zpracování, najde podrobný postup v článku strukturovaný výstup: tabulky, odrážky a JSON z AI.

Rozhovor se zamotal a oprava přes opravu nefunguje

Někdy se konverzace zacyklí, každá další oprava přidá novou chybu, aniž by zmizela ta předchozí. Model se drží nesprávného směru z dřívější zprávy a nový pokyn ho z něj nedostane. V tu chvíli je rychlejší najet na svoji vlastní zprávu výš v historii, přímo tu, kde zadání zabočilo špatným směrem, upravit ji tam a odeslat znovu. Model pokračuje od téhle opravené verze, jako by se ta špatná odbočka nikdy nestala, místo aby vršil další a další záplaty na porouchaný základ.

Když ani úprava zprávy nepomůže, protože se toho v konverzaci nakupilo příliš mnoho, je rychlejší otevřít nový rozhovor a zadání napsat rovnou v opravené a doplněné podobě, se vším, co jste se z předchozích pokusů dozvěděli o tom, co model potřebuje vědět. Zní to jako krok zpátky, ve výsledku ale bývá rychlejší než rozplétat konverzaci, která se zamotala do několika vrstev protichůdných instrukcí.

Na co si dát pozor

Ladění promptu má hranici. Když ani po několika přesných úpravách výsledek pořád nesedí, nemusí být chyba ve formulaci. Model může na daný typ úlohy prostě nestačit, matematika s víc kroky, práce s velmi dlouhým dokumentem, nebo úloha, kde je potřeba aktuální informace, kterou model nemá k dispozici. V takovém případě nepomůže pátý pokus o stejný prompt, pomůže změna přístupu, jiný model, jiný nástroj, nebo rozdělení úkolu na menší části. Pomůže si taky hlídat, kolik pokusů už jste na jednom zadání strávili. Tři až čtyři cílené opravy obvykle stačí na to, aby bylo jasné, jestli se výsledek blíží tomu, co chcete, nebo ne. Desátý pokus se stejným základním problémem většinou znamená, že je čas změnit přístup, ne formulaci.

Shrnutí

Nejrychlejší cesta k dobré odpovědi nevede přes psaní nových a nových promptů od nuly. Vede přes přesné pojmenování toho, co konkrétně na odpovědi nesedí, obsah, tón, délka, formát nebo pochopení zadání, a přes opravu přesně tohohle místa. Většina lidí to zkouší obráceně, dokud jim nedojde trpělivost. Stačí to otočit a trpělivosti je potřeba mnohem míň.