Автор разработал инструмент llm-judge для оценки и выбора языковых моделей под конкретные задачи. Решение реализовано в виде Go-бинарника, который запускает бенчмарки как отдельные подпроцессы. Это позволяет собирать метрики, сравнивать результаты прогонов и анализировать работу моделей в составе конкретных программных обвязок.
Бенчмарки делятся на три типа: генеративные, embedding-ные и decision-ные. В генеративных задачах используются метрики F1 и ROUGE для сравнения текста с эталоном. Для оценки кода применяется pass_rate, проверяющий фактическое выполнение программы на тестовых кейсах, а не просто схожесть текста.
Decision-ные бенчмарки оценивают выбор, уверенность и шкалы через метрики вроде Brier и MAE. Для работы с векторами (эмбеддингами) используются корреляция Спирмена и nDCG, определяющие качество ранжирования документов. Дополнительно система фиксирует расход токенов, задержку ответа и стабильность результатов.
Агентская часть инструмента используется для интерпретации данных и обсуждения итогов, а не для самой оценки. Автор подчеркивает, что сухие цифры не всегда отражают реальную картину из-за шума при генерации, поэтому важно сочетать метрики с субъективным анализом и учитывать стоимость и скорость работы модели.
Основная цель подхода — переход от поиска универсальной модели к подбору комбинации «модель — задача — цена — скорость». Автор рекомендует отдавать предпочтение детерминированным алгоритмам и коду там, где это возможно, так как LLM не гарантируют защиту от генерации неверных данных.






