Ваш тестовый фреймворк солжет вам раньше, чем ваша модель

Ваша таблица результатов оценки показала, что обе модели не справились.

Llama3.2 не справилась в 5 из 6 случаев. Anthropic Sonnet не справилась в 6 из 6 случаев.

Метка была «malformed». Но причины были разными.

Один сбой был ошибкой API из-за окончания кредитов. Один сбой был вызван управляющими байтами терминала из CLI-команды, которые повредили текст. Один сбой был вызван валидным JSON, обернутым в markdown-разметку, которую парсер не смог прочитать.

Если бы я опубликовал тот первый отчет, я бы солгал. Я бы обвинил модели в ошибках собственного кода.

Я обнаружил эти баги, изучив необработанные (raw) записи, вместо того чтобы слепо доверять сводке.

Первый баг возник из-за того, что я использовал CLI-подпроцесс для вызова Ollama. Команда создавала анимации терминала, такие как спиннеры и перемещения курсора. Эти ANSI-управляющие байты попали в мои данные. Парсер увидел невидимые символы и аварийно завершил работу.

Решение: Перейти от CLI-подпроцесса к прямому HTTP API.

Второй баг возник из-за того, что LLM часто оборачивают JSON в markdown-разметку. Мой парсер использовал json.loads() для необработанной строки. Он увидел обратные кавычки и выдал ошибку.

Решение: Добавить функцию для удаления блоков кода перед парсингом.

Как только я исправил конвейер, появились реальные результаты.

Модели не были «мертвы». Их данные просто искажались тестовым фреймворком. После исправления разрыв в качестве между двумя моделями стал заметным и измеримым.

Уроки для вашего конвейера оценки ИИ:

  • Сохраняйте необработанные (raw) выходные данные. Если в сводке указано «malformed», необработанные данные — ваш единственный источник истины.
  • Фиксируйте причину сбоя. Не пишите просто «malformed». Пишите «API error» или «parse error».
  • Зафиксируйте стандарты тестирования. Не меняйте правила, чтобы результаты выглядели лучше.
  • Относитесь к тестовому фреймворку как к части тестируемой системы.

Под вопросом не только модель. Ваш код тоже.

Источник: https://dev.to/kenielzep97/your-harness-will-lie-to-you-before-your-model-does-662

Дополнительное сообщество для обучения: https://t.me/GyaanSetuAi