Pydantic проверяет форму данных (типы, диапазоны -- pre/post по сути) для одного вызова.
Всяческие NeMo, Llama Guard, Outlines/LMQL проверяют выходы LLM по JSON-схеме, что по сути то же самое.
А Мили-машина добавляет инвариант на состоянии между вызовами, что ловит целые классы багов, которые Pydantic не видит: "бюджет на токены ушёл в минус через хитрую последовательность агентов" :) И главное, все эти "фильтры в цепочке" чистая инженерия, а правильно, когда " контракт компонента А + контракт компонента Б + ... + компонента Я = автоматический контракт композиции".
Поясняю в ФА, как избавиться от этого слабого места всех guardrail-фреймворков (stateful-инварианты и композиция контрактов): Мили-машина, композиции раннеров...
Post #2424
624
- 👍 35
- 🔥 8
- ❤ 4
- ✍ 2
- 🤯 2