Parsowanie odpowiedzi LLM
Parsowanie i wyciąganie ustrukturyzowanych danych z tekstowej odpowiedzi LLM — oraz radzenie sobie z sytuacją, gdy model nie trzyma się dokładnie żądanego formatu. Brudna rzeczywistość stojąca za uzyskiwaniem niezawodnego, maszynowo czytelnego wyniku od modelu, który generuje swobodny tekst.
Problem: poproś model o JSON, a często dostaniesz coś „prawie jak JSON” — dodatkowy komentarz wokół („Oto JSON:”), zepsute cudzysłowy, ucięty wynik albo znaczniki markdown. Naiwne JSON.parse się wywala. Parsowanie wyjścia to obsługuje: odporne parsery wyciągają JSON z otaczającego tekstu, naprawiają typowe błędy, walidują względem schematu, a przy porażce proszą model o ponowną próbę („retry with error”). Biblioteki: OutputParsers z LangChain, walidacja Pydantic. Lepsze rozwiązanie, gdy jest dostępne: dekodowanie z ograniczeniami / structured output (wymuszenie na poziomie tokenów, by model generował wyłącznie poprawny JSON), które eliminuje problem u źródła. Parsowanie wyjścia to obrona, gdy takiej gwarancji nie ma. Codzienny, a zarazem kluczowy element budowy niezawodnych aplikacji LLM. Wiąże się ze structured output i function calling.