Jak psát lepší Prompty pro lokální modely AI
Lokální model není menší kopie špičkového chatovacího produktu. Má kratší užitečný kontext, hůř drží instrukce a méně snese nejednoznačné formulace. Úpravy níže jsou ty, které na běžném domácím počítači mění výstup: dejte úkol na začátek, uzamkněte formát, nechte úkol malý, pište Prompt prostým jazykem, kontrolu přidejte jen když ji úkol potřebuje, a omezte délku.
Verze těchto vzorců připravené ke zkopírování jsou v Nejlepších šablonách Promptů pro lokální LLM. Delší poznámky z testů jsou v textu Co opravdu funguje.
1. Dejte instrukce před zdrojový text
Mnoho lokálních modelů váží začátek Promptu víc než konec. Když vložíte dlouhý článek a teprve potom řeknete „shrňte to“, model může v článku pokračovat, shrnout jen úvod, nebo odpovědět na otázku, která byla uvnitř zdroje. Nejdřív uveďte roli, úkol a pravidla. Text vložte až pod jasný štítek, například Text:.
Příklady, které fungují
Protipříklad
Proč to selže: instrukce přichází pozdě, je krátká a vágní. Model už „četl“ tak, jako by článkem byl samotný úkol. „Ať je to dobré“ neříká, co dobré znamená. Přesuňte konkrétní instrukci ke shrnutí na první řádky a „ať je to dobré“ smažte.
2. Pojmenujte formát, ne dojem
Slova jako „pěkné“, „profesionální“ a „vševědoucí“ nejsou formát. Formát je počet, tvar, nebo zákaz. Lokální modely častěji poslechnou počty a zákazy než vkus.
Příklady, které fungují
Protipříklad
Proč to selže: není tu délka, počet bodů ani zákaz úvodu. Často dostanete nadpis, nabuzený úvod, pět nestejných odstavců a „snad to pomůže“. Nahraďte to počtem a limitem vět.
3. Žádejte jeden výstup
Jediný Prompt, který žádá koncept, překlad, seznam titulků a popisek na sociální síť, jsou čtyři úkoly. Na malém modelu se pozdější úkoly ztratí, nebo se smíchají do prvního. Rozdělte je. Můžete je zřetězit sami: vezměte koncept, začněte nový Prompt a žádejte jen překlad.
Příklady, které fungují
Protipříklad
Proč to selže: čtyři výstupy, žádná délka a „buďte kreativní“ jde proti stálosti. Model obvykle napíše krátký text a ke zbytku jen volně mávne. Spusťte čtyři Prompty, nebo nejvýš dva, pokud máte větší model a výstupy očíslujete.
4. Pište Prompt jednodušším jazykem než výstup
Můžete žádat formální sdělení. Samotné instrukce ať jsou pořád krátké věty. Vložené věty, naskládané zápory a žargon v systémovém Promptu jsou místa, kde menší modely ztratí nit.
Příklady, které fungují
Protipříklad
Proč to selže: instrukce je těžší než úkol. Model může žargon opakovat, nebo zamrznout do vágní eseje. Řekněte, pro koho to je, jak je to dlouhé a co má obsahovat.
5. Sebekontrolu přidejte jen u křehkých úkolů
Sebekontrola pomáhá, když výstup musí sedět na tvar: JSON, pevný počet odrážek, nebo kód, který nemá obsahovat prózu. U běžného přepisu nepomáhá a na malých modelech může model vytisknout kontrolu místo odpovědi. Použijte jeden řádek, na konci.
Příklady, které fungují
Protipříklad
Proč to selže: kontrola je těžší než úkol. Chtěli jste přání. Často dostanete odstavec o uvažování a na konci strnulé přání. U přání k narozeninám sebekontrolu vynechte a místo toho nastavte limit slov.
6. Omezte délku v Promptu i v aplikaci
Lokální modely se rozepisují, když strop nenastaví ani Prompt, ani aplikace. Nastavte obojí. V Promptu použijte počet slov nebo počet odrážek. V Ollama, LM Studio nebo Jan nastavte maximální počet Tokenů kousek nad tento počet, aby model dokončil poslední větu a nebyl useknutý uprostřed slova. Nejste-li si jistí, jak dlouhý je samotný Prompt, projeďte ho Počítadlem Tokenů, než vložíte dlouhý zdrojový dokument.
Příklady, které fungují
Protipříklad
Proč to selže: není tu konec. Lokální model bude vypisovat obecné tipy, dokud nenarazí na maximum Tokenů v aplikaci, a často se bude opakovat. Pojmenujte publikum a délku: „Dejte uživateli domácího počítače 6 kroků zálohování, každý v jedné větě.“
Krátké před a po
Je to stejná žádost. První je způsob, jakým lidé často píšou. Druhá je verze, kterou model 7B zvládne.
Chcete-li druhý průchod, nežádejte stejný model ve stejném Promptu, aby to „taky udělal hezčí“. Začněte nový Prompt s upravenými poznámkami a jedinou novou instrukcí.
Co tohle nespraví
- Model, který nikdy nebyl trénovaný na jazyk, o který žádáte, se plynulým nestane jen proto, že je Prompt úhledný.
- Model 3B bude s dlouhou revizí kódu pořád zápasit. Zkraťte úryvek, nebo použijte větší lokální model.
- Fakta, která model nezná, nevynutíte přísnějším formátem. Požádejte ho, ať použije jen text, který jste vložili.
- Vysoká teplota (temperature) bude pořád přehazovat formulace, i když je Prompt dobrý. U opakovatelných úkolů viz Jak získat stabilní výsledky z lokálních modelů.