AI Radar — лентаsolvi 0.5.0: язык модели, Python — как контракт, а код — арбитр
Автор solvi выкатил версию 0.5.0 открытой Python-библиотеки, где языковая модель предлагает факты, а детерминированный код их проверяет и решает.
Python-аннотации стали формальным контрактом: раньше правила, модель и вопросы договаривались «на словах», теперь — через типы. На CORD (чеки) 99.7% ответов проходят порог точности ≥99%, у модели Laya — 14.2%. На CUAD (договоры) — 94.8% против 77.5%.
Как это устроено. Аннотации описывают, какие факты бывают, какие вопросы можно задать и каких типов ответы. Модель предлагает значение, код сверяет его с типом — и отклоняет, если не совпадает. Жёсткие правила работают независимо от уверенности модели, а аудитор в следе видит, что именно правило, а не модель, приняла решение.
Производительность. На столе страховых выплат с шестью сервисами solvi тратит 463 мс, скрипт, считающий всё подряд, — 1122 мс. Когда полис уже истёк и дальнейшие проверки не нужны, хватает 152 мс. Калибровка ошибки (ECE) — 0.008–0.027 на задачах документов.
Ограничения. Базовый извлекатель даёт 46.5–73.1% на незнакомых полях — рекомендовано 25–100 размеченных документов под новую задачу. Порог уверенности, настроенный на своих данных, не держит долю ошибок на новом домене: при «ошибка ≤10%» на трёх отложенных наборах реальная ошибка была 32–39%.
Что это значит: контракт через типы делает рассуждения модели аудируемыми — модель предлагает, код проверяет, человекописанные правила страхуют критические случая. Подход важен для регулируемых доменов — страхование, договоры, чеки, — где нужна воспроизводимость, а не только «модель сказала».
Оригинальная публикация в Telegram