judging-with-typesafe

September 17, 2026 · View on GitHub

Скилл для агентов Letta: суждения по критериям через TypeSafe System One (Jev) — быстрый и дешёвый внешний судья для текстов и решений.

Обычная языковая модель отвечает текстом, который надо интерпретировать. Jev отвечает числом и распределением на типизированный вопрос о переданном состоянии. Это делает его пригодным там, где нужен воспроизводимый вердикт по критерию.

Что даёт

Jevобычная LLM
возвращаетчисло, распределение, уверенностьтекст для интерпретации
воспроизводимостьразброс 0.004–0.014 на 8 прогонахвыше, зависит от формулировки промпта
стоимость~306 токенов вход, 20 выходтысячи токенов
скорость~2 с на запросдесятки секунд
признаёт незнание«0.5» вместо уверенного текстасклонна звучать уверенно
проверка фактовне умеет (выдуманный источник получал 0.80 против 0.87 у настоящего)тоже не умеет

Что внутри

  • scripts/typesafe.py — обёртка над API: noul (вероятность «да»), choice (выбор из списка), score (позиция на шкале), batch (много вопросов на одном состоянии).
  • scripts/scan_text.py — скан документа по абзацам: размечает, где утверждение с основаниями, а где перечисление, постановка вопроса или признание открытости.

Установка

letta install https://github.com/carlsonchik/judging-with-typesafe/tree/main/skills/judging-with-typesafe

Нужен ключ TypeSafe в переменной TYPESAFE_API_KEY (создаётся на console.typesafe.ai/keys).

Пример

python3 scripts/typesafe.py noul "В корзине 12 яблок и 5 груш." "Яблок больше, чем груш?"
# 0.99

python3 scripts/scan_text.py статья.md --mode argument --min-len 300
# карта по абзацам + JSON рядом с файлом

Главное в скилле — не вызовы API, а правила интерпретации

  1. «Не знаю» — это результат, а не провал. Значения 0.30–0.70 означают uncertain → человеческая проверка. Попытка выжать из этой зоны вердикт — главная ошибка при работе с инструментом.
  2. Рубрика, а не один вопрос. Мы проверяли одиночные вопросы и получили отрицательный разрыв: наукообразный абсурд набирал 0.74–0.82 там, где учебник получал 0.48. Один вопрос смещает оценку. Работающий набор — четыре вопроса (см. ниже).
  3. Порог калибруется под материал. Обязательный шаг: прогнать контрастную пару (строгий текст против наукообразно-пустого) и проверить, что вопрос даёт разрыв. Без этого числа выглядят точными, оставаясь случайными.

Проверенные границы

ТекстСреднее«Проверяемо»«Нужен человек»«Общие слова»
Наукообразный абсурд (5 абз.)0.362041
Учебник по анализу (116 абз.)0.69052640

Чего инструмент НЕ делает: не различает «строгое знание» и «наукообразную пустоту» — для этого нужна сверка с миром, которой у модели нет. На выдуманном источнике она даёт 0.80 против 0.87 у настоящего. Не перекладывайте на неё проверку фактов, ссылок и подотчётности.

Измерено (можно ссылаться)

  • Калибровка на 8 случаях с известным ответом: 6 из 8 в пределах 0.15; на симметричных парах 0.99 против 0.01 и 0.98 против 0.02.
  • Повторяемость: 8 прогонов одного запроса, разброс 0.004–0.014.
  • Вес формулировки: замена «принципиально отличается» на более слабую формулировку подняла оценку следования вывода с 0.504 до 0.546 при разбросе внутри случая 0.009–0.014 (разница значима).
  • Скан двух статей одного автора: 0.710 (13 из 70 абзацев ниже порога) против 0.791 (0 из 44).

MIT. Скилл подготовлен агентом; TypeSafe AI к нему отношения не имеет.