Как далеко на самом деле заходит «не может галлюцинировать»
TypeSafe говорит, что Jev не может галлюцинировать. Фраза держится только на типе: ответ не может выйти из таблицы, заданной заранее. Калибровку и верность надо разделять, а workflow eval выстраивается по среднему Astra и Fable.
Соавтор: folkbench.com (Folkbench — проверяемая платформа оценки и выбора для API ИИ, модельных сервисов и связанных сайтов. Она опирается на опубликованные сведения о сервисе, цены, доступность, задержку и окна доказательств, чтобы помочь пользователям сравнить варианты и выбрать путь.)
Десять текстов в этой серии:
- JEV - Суставу не нужен мозг
- JEV - Почему Jev, который не умеет общаться, подходит Agent
- JEV - Как далеко на самом деле заходит «не может галлюцинировать»
- JEV - Хватает ли «да или нет», выбора и уровня на язык?
- JEV - Лаборатория могла бы это собрать. Почему всё равно может не выпустить.
- JEV - Два demo, которые я прогнал
- JEV - Люди отходят от середины цикла к краю
- JEV - За этой чертой я уже не различаю, кто умнее
- JEV - Некоторые вопросы ему не принадлежат
- JEV - Предельно простая модель, комплект и одна, которая не говорит
TypeSafe говорит, что Jev «не может галлюцинировать». Фраза звучит так, будто галлюцинацию запретили одним махом. Тот же текст её сужает. Они написали, что совпадение со schema — гарантия, а не статистика, поэтому ошибки типа можно записать как 0%. Одного контрпримера хватило бы, чтобы это опровергнуть. Они говорят, что это математически невозможно.
Единственный слой, на котором эта фраза стоит, — тип. Jev отказался от генерации строк. Он возвращает структуру, зафиксированную заранее, а не кусок текста, порождённый на месте. Точна ли вероятность и верно ли суждение — две другие вещи. Если читатель их не разделит, «он не написал прозу» услышится как «ответ верен».
Он не может выйти за таблицу
Типов вопросов только три, и все они запечатаны. Noul спрашивает, держится ли одно, и обратно приходит вероятность от 0 до 1. Варианты Choice должен заранее записать вызывающий, не больше 255 на одной таблице. Обратно приходит выбранный вариант, с вероятностью на каждом варианте и уверенностью. Уровни Score тоже надо записать заранее, не меньше двух и не больше десяти. Оценка может лечь между двумя уровнями. Ответ несёт вероятность каждого уровня и уверенность одновременно. Эта оценка всё ещё положение на шкале, а не свежий абзац.
Он не может выйти за таблицу вариантов. Модель также не может вдруг написать кусок прозы и словами довести ответ до формы. Документация говорит это прямо. Модель возвращает распределение по вариантам или уровням, которые прислал вызывающий. Значение вне этого распределения она не возвращает. Код может использовать эти значения напрямую, не выкапывая сначала поля из порождённого абзаца.
Чат-модели обычно так работу не сдают. Они сдают строки. Строка может быть обычным ответом, а может быть галлюцинацией. Программе всё равно надо её разобрать и проверить. Если проверка не проходит, программа не может использовать её напрямую. TypeSafe ставит типовую безопасность и галлюцинацию рядом и считает типовую безопасность минимальным условием автоматизации. Если тип неверен глубоко в цепи вызовов, поздние ветки стыкуются не туда. В официальном тексте ещё сказано, что нынешние модели, как бы ни были умны, всё ещё галлюцинируют и всё ещё делают ошибки типа.
Оставаться внутри типа не мешает суждению быть неверным. Выбрать не тот пункт в закрытом вопросе — всё равно ошибка. В публичном потоке тревоги безопасности модель должна выбрать среди «закрыть», «отдать аналитику» и «сдержать сейчас». Все три варианта на таблице. Если модель выбирает не тот, тип всё равно законен.
Официально System One не называют всегда верным. Они написали, что мышление System 1 производит впечатление подверженного ошибкам. Они верят, что модели System One можно сделать надёжнее альтернатив. Конкретные причины они оставляют на потом. Это их направление. Это не «всегда верно».
У Choice есть ещё жёсткий край. Как только вариантов больше 255, одна таблица их не держит. Гонка по Wikipedia, которая идёт по ссылкам, на шаге должна выбрать среди сотен или тысяч ссылок. Они переходят на два этапа: оценить независимо, потом сделать выбор. Иногда это замедляет. Это замедление показалось в demo гонки по Wikipedia. Большое число вариантов не бесконечно. «Без галлюцинаций» здесь всё ещё значит только то, что он не вернёт ссылку, которой нет на таблице. Варианты нельзя добавлять без предела.
Уверенность — отдельный вопрос
Калибровка — отдельное дело. Официально ответы несут вероятность и уверенность. Когда уверенность выше, точность выше. Похожие входы возвращают похожие ответы. С другой стороны они пишут о чат-моделях. Даже если вы prompt-ом просите сообщить уверенность, она часто чрезмерна и неустойчива. Если задачу можно сделать верно в 95% случаев, а модель не говорит, в каких 5% она не уверена, эту задачу нельзя автоматизировать.
Уверенность у Choice и Score — не отдельная фраза уверенности, которую сообщает модель. Число считается из формы распределения. Вероятность свалена на один вариант или один уровень — число высокое. Вероятность размазана по нескольким местам — число низкое. Вызывающий действует, когда число высокое, и отдаёт случай человеку, когда оно низкое. Noul отдельной уверенности не прикладывает. Вероятность «да или нет» сама и есть сигнал. Официальная сравнительная таблица пишет вероятность и уверенность вместе. В применении к трём вопросам у Choice и Score есть оба, а у Noul только вероятность.
Уверенность 1.0 значит только то, что распределение целиком прижато к одному результату. Она описывает форму этого ответа. Когда распределение целиком прижато к неверному варианту, уверенность всё ещё может быть высокой. Большое число не значит, что результат верен.
Ошибка типа выйти не может. Это математически невозможно. У калибровки такой гарантии нет. Официально дано соответствие: выше уверенность — выше точность. Если это соответствие рвётся, тип всё равно не может вырваться, а уверенность больше не может быть порогом. Так что у этого слоя есть механизм и есть утверждение. Становится ли ошибок меньше, когда число выше, и возвращаются ли похожие входы похожими распределениями — на оба надо смотреть отдельно. То, что поле есть каждый раз, значит только, что вызывающий может прочитать число.
Верное — это не мир
Правое и неверное надо разделить ещё раз. Workflow eval мерит, насколько модель внутри одного и того же потока близка к эталону. Этот эталон — не объективный ответ мира. Они предполагают, что код потока верен, и не спорят, верны ли метки. Эталонные метки — среднее GPT-6 Astra и Claude Fable 5.1. Оба используют high thinking, и каждый отвечает на каждый вопрос потока. Остальные модели сравниваются при рассуждении по умолчанию каждого поставщика.
Приближение Jev к этому среднему значит приближение к согласию этих двух моделей. Это нельзя записать как более истинное, чем факты. Если согласие кренится, ответ, прилипший к согласию, кренится тоже. В официальном тексте сказано, что среднее этих двух как эталон смещает ответы к моделям OpenAI и Anthropic.
Во время сравнения большие модели завёрнуты в System One LLM adapter, который заставляет их тоже выдавать структурированные решения, чтобы их можно было сравнить внутри одних и тех же типов вопросов. Официально признают, что спрашивать с вероятностями обычно медленнее и дороже, чем дать решение без вероятностей. Их вывод: это самый точный способ взять решение у большой модели. Эта точность сравнивается с решением, которое вероятностей не несёт. Она не значит, что решение совпало с внешним фактом.
Числа ошибок типа у больших моделей на графике приходят из OpenRouter, и они смещены. Более сложные запросы могут маршрутизироваться к более сильной модели. 0% у Jev — не статистика того же рода. В официальном тексте сказано, что их число — не эмпирический результат. Совпадение со schema гарантировано, поэтому график можно заполнить 0%. Одна сторона — наблюдение после маршрутизации. Другая — число, вписанное из гарантии. Это не одна и та же доля ошибок.
Сравнение рядом с GPT-5.6 Terra использовало рассуждение по умолчанию. Официально эту модель выбрали потому, что, как они читают, её интеллект в среднем ближе всего к Jev. В записанном прогоне единственное расхождение — «Churn likelihood level». Официально вопрос двусмысленный, и ответ нельзя сказать чисто. На двусмысленном вопросе распределение честнее жёсткой метки.
«Не может галлюцинировать» в итоге значит, что он не производит выход вне типа. Поэтому они и пишут ошибки типа как 0%. Калибровку надо принимать саму по себе, по тому, можно ли уверенность использовать как порог. Верно ли суждение, эта оценка потока не может дать собственный ответ мира. С чем она выстраивается — это среднее Astra и Fable.
Источники
- https://typesafe.ai/blog/introducing-system-one-models-and-jev
- https://evals.typesafe.ai/
- https://github.com/typesafe-ai/system-one-adapter-python
- https://docs.typesafe.ai/primitives/choice
- https://docs.typesafe.ai/primitives/score
- https://docs.typesafe.ai/confidence