Prompty to za mało: wymuszanie sztywnych ograniczeń na wyjściu LLM

Demonstracje LLM wyglądają świetnie, dopóki nie napotkają surowych wymagań.

Modele działają w oparciu o prawdopodobieństwo. Systemy produkcyjne potrzebują gwarancji.

Dowiedziałem się o tym, budując potok przetwarzania wiadomości AI dla Radio del Volga w Argentynie. System przepisuje wiadomości i tworzy posty do mediów społecznościowych. Działał dobrze, dopóki nie pojawił się jeden problem. Gemini wciąż pisało w niewłaściwym hiszpańskim.

W Argentynie ludzie używają specyficznych słów. Mówią „podés” zamiast „puedes” i „sos” zamiast „eres”. Jeśli model używa neutralnego hiszpańskiego, tekst wydaje się nienaturalny dla lokalnych czytelników.

Najpierem próbowałem lepszego promptowania. Powiedziałem modelowi:

To pomogło, ale nie rozwiązało wszystkiego. Formalne źródła wiadomości spychały model z powrotem na neutralny hiszpański. Bez względu na to, jak dużo napisałem w prompcie, błędy pozostawały.

Przestałem traktować to jako problem z promptowaniem. Zacząłem traktować to jako problem z walidacją.

Niektóre rzeczy są probabilistyczne, jak ton czy styl. Inne są deterministyczne. Jeśli tekst zawiera „puedes”, jest błędny. Nie potrzebujesz AI, aby to wykryć. Potrzebujesz prostego kodu.

Dodałem krok postprocessingu. Uruchamia się on po zakończeniu pracy AI. Szuka konkretnych słów i zastępuje je:

Ta lista jest krótka i bezpieczna. Nie próbuję naprawić całego języka hiszpańskiego. Naprawiam tylko te reguły, które kod może zweryfikować z pewnością.

Lekcja nie dotyczy języka hiszpańskiego. Dotyczy ona ograniczeń inżynierii promptów.

Promptowanie poprawia wydajność, ale nie daje gwarancji. Jeśli reguła jest stabilna i możliwa do przetestowania, użyj kodu, aby ją wymusić.

Używaj LLM do generowania płynnego tekstu. Używaj deterministycznego kodu do wymuszania terminologii marki, sformułowań regulacyjnych i reguł formatowania.

Niezawodne systemy dzielą odpowiedzialność: • Model generuje treść. • Kod wymusza sztywne reguły. • Ludzie podejmują ostateczną decyzję redakcyjną.

Źródło: https://dev.to/zendev2112/prompts-arent-enough-enforcing-hard-constraints-on-llm-output-2hpo

Opcjonalna społeczność edukacyjna: https://t.me/GyaanSetuAi