У LLM-судьи для оценки агентов три привычные боли. Он медленный, дорогой и нестабильный: один и тот же трейс сегодня и завтра получает разный вердикт. В продакшене это вынуждает проверять не все трейсы, а сэмпл, и резать число критериев. Петля обратной связи растягивается, и команда реже запускает оценки, чтобы уложиться в бюджет.
В LangChain рассказывают про третий тип оценки: System One модель Jev от TypeSafe AI. Это не LLM и не пишет текст. На вход даётся состояние (трейс агента, сообщение, любой контекст), на выходе типизированный ответ с вероятностью. Три формы вопросов: noul выдаёт да/нет с вероятностью, choice выбирает из набора, score оценивает по упорядоченной шкале. По данным TypeSafe AI, на задачах классификации Jev до ~450 раз дешевле и до ~200 раз быстрее сравнимых LLM, а несколько вопросов к одному состоянию оцениваются параллельно в одном вызове.
Почему это меняет расклад
Jev оценивает все вопросы запроса вместе, поэтому второй и третий критерий почти не добавляют времени и стоят только токены за сам вопрос. У LLM-судьи каждый новый критерий становится отдельным вызовом или раздувает выходные токены в одном промпте.
В тесте LangChain против GPT-5.6 Luna, GPT-5.6 Terra и Claude Sonnet 4.6 Jev оказался точнее, заметно стабильнее и обгонял LLM-судьи по скорости и цене. На полном наборе проверок стоимость составила $0.34 против $0.39, $2.90 и $28.17 у сравнивавшихся моделей. Среднее время вызова 0.44 секунды против 2.16–2.83. Дисперсия по решениям ниже, чем у LLM-судей, в 92–913 раз; Jev при этом совпал с человеческим ревьюером по каждому решению.
Главное ограничение: Jev закрывает узкие типизированные решения, сделанные в большом объёме. Для открытых критериев, где нужен письменный разбор вместе с вердиктом, LLM-судья остаётся лучшим выбором. Дорогую модель также можно заменить на дообученную или открытую, это дешевле, чем использовать передовую модель как судью.
Подход уже идёт шире оценок. В подкасте команды OpenClaw обсуждают, что правильный способ встраивать Jev не как инструмент для LLM, а как детерминированную функцию внутри обычного кода. У них уже около 15 пул-реквестов от сообщества. Среди идей: фильтрация определений инструментов и навыков перед вызовом LLM, проверка «обращаются ли к агенту в групповом чате» перед ответом.
Как применить
- Получите API-ключ TypeSafe AI и в LangSmith откройте Settings → Provider secrets, добавьте секрет с провайдером TypeSafe. Учтите: TypeSafe пока не поддерживает zero data retention, промпты и выводы могут сохраняться у провайдера.
- В любом tracing-проекте откройте вкладку Evaluators, нажмите + Evaluator и выберите LLM-as-a-Judge Evaluator. В Model Configuration поставьте провайдера TypeSafe и модель jev-latest.
- Определите state, контекст, который Jev будет оценивать. Переменные ран или треда подставляются через маппинг. Инструкции по выставлению оценок сюда класть не надо, они идут в вопросы.
- В Feedback Configuration добавьте по вопросу на критерий. Каждый вопрос станет отдельным feedback key. noul формулируйте как да/нет, где высокая вероятность означает «да»; choice задавайте с полным списком вариантов; score описывайте уровнями от низкого к высокому.
- Сохраните evaluator. Jev начнёт скорить входящие раны и треды, каждый критерий появится как свой ключ. Дальше их можно использовать в фильтрах, графиках и алертах, как и любой другой feedback в LangSmith.
- Для экспериментов локально поставьте плагин llm-typesafe, по заметке Саймона Уиллисона: llm install llm-typesafe, задайте ключ через llm keys set typesafe и пробуйте три формы вопросов: noul, choice, score.