Что остаётся, что уходит: сопоставление ваших знаний в области веб-тестирования с новым миром магистерских программ.
Пример приложения
В этой серии статей вы будете использовать ThemeBuilder в качестве примера приложения. ThemeBuilder выводит JSON-объект, содержащий сгенерированный LLM девиз и цветовую палитру.
- Девиз и цветовая палитра должны соответствовать исходному названию бренда, описанию, целевой аудитории и тону.
- Девиз не должен быть токсичным и должен быть коротким (менее 6 слов).
- Контрастность цветовой палитры должна быть доступной, как определено в минимальных рекомендациях WCAG, с коэффициентом контрастности 4,5:1 .

Объективные и субъективные оценки
Как проверить, что ThemeBuilder работает должным образом?
Оценки, основанные на правилах (иногда называемые точными оценками), — это объективные тесты с бинарным ответом: правильно или неправильно. Они лучше всего подходят для вопросов о формате данных, коэффициенте контраста или других вопросах, требующих однозначного ответа. Эти тесты можно реализовать с помощью обычного программного кода.
Некоторые проверки являются объективными, с бинарным ответом «правильно» или «неправильно». Они лучше всего подходят для вопросов о формате данных, коэффициенте контраста или других вопросах, требующих однозначного ответа. Эти проверки можно реализовать с помощью обычного программного кода. Они называются проверками на основе правил или точными проверками .
Например:
// Example rule-based eval: data format
function evaluateFormat(appOutput) {
// Check if JSON is valid, colors are hex, no empty strings, motto is 6 words or fewer
// Use deterministic tools like zod for schema validation
return "PASS"; // or "FAIL"
}
Другие проверки носят субъективный характер, например, соответствие девиза и цветовой палитры бренду и целевой аудитории. Хотя выявление токсичности является задачей классификации, оно также субъективно, поскольку предполагает принятие решений.
Хотя субъективные тесты также включают классификацию, диапазон того, что правильно, а что неправильно, может сильно различаться. Например, оценка соответствия бренда и целевой аудитории слогану и цветовой палитре. Выявление токсичности также является субъективным процессом.
Хотя оценка субъективных качеств может показаться делом, под силу лишь человеку-эксперту, вы можете автоматизировать эти тесты в больших масштабах с помощью метода "магистр права в качестве эксперта" .
[Судьи LLM] работают быстро, просты в использовании и относительно недороги [...] Это стало одним из самых распространенных, если не самым распространенным, методов оценки моделей ИИ в производственной среде.
— Инженерное дело в области искусственного интеллекта, Чип Хуен
Например:
// Example LLM-as-a-judge eval for a subjective quality like brand fit
async function evalBrandFit(userInput, appOutput) {
const brandPrompt = `You are an expert brand strategist. Evaluate the
following generated motto for the company whose target audience is
${userInput.audience}, and who describes itself as
${userInput.companyDescription}: ${appOutput.motto}`
// Call the LLM judge
const evalResult = evalWithLLM(brandPrompt);
// Return the consolidated results
return {
mottoBrandFit: evalResult,
};
}
// Helper that communicates with the LLM API
async function evalWithLLM(prompt) {
// ... Call LLM with the prompt ...
// ... Parse the resulting judgement ("PASS" or "FAIL") + rationale
return {
status: "PASS",
rationale: "This motto perfectly captures the brand and tone, because..."
};
}
Модель имитирует человеческое суждение, поэтому вам нужен способ точно объяснить судье, что именно вы ищете. Вы можете сделать это, предоставив судье критерии оценки.
Рубрика — это структурированный набор критериев или руководящих принципов оценки, которые судья (человек или ИИ) использует для оценки результата. Она обеспечивает последовательную основу для оценки субъективных качеств в рамках каждой оценки.
Другие виды оценок
Возможно, вам стоит использовать оценку на основе эталонных значений или попарную оценку.
на основе эталонных значений
Эти показатели измеряют сходство с эталонным ответом. Используйте их для таких задач, как перевод или анализ технических фактов, где уже существует заведомо правильный ответ.
Попарно
Судья может присвоить оценку PASS двум разным версиям, даже если одна из них лучше другой. Попарная оценка решает эту проблему, предоставляя судье два результата (A и B) для одного и того же входного значения и инструктируя его выбрать победителя.
Например, представьте, что вы оцениваете девиз для уютного кафе:
Input: "Friendly cafe"
Pointwise evaluation:
Output A: "Come get coffee." // PASS
Output B: "Your morning smile in a cup." // PASS
2 PASS. Unconclusive!
Pairwise evaluation:
Output B wins. It captures the "friendly" tone more effectively than the generic Output A.
Используйте попарную оценку, чтобы выбрать, какую версию вашей модели вы будете развертывать, или для сравнения двух разных запросов.
Стандартное веб-тестирование против оценки с помощью ИИ

Мы предполагаем, что вы, читатель этого курса, уже знаете, как тестировать веб-сайты и веб-приложения. При внедрении ИИ вам необходимо изменить свою существующую модель мышления. Используйте оценку с помощью ИИ для выполнения следующих действий:
- Проведите регрессионное тестирование : ломается ли приложение при изменении запроса или модели? Появляются ли некорректные цветовые палитры или токсичные слоганы? В отличие от веб-приложения, где поломка связана с функциональностью программного обеспечения, здесь вы проверяете, является ли результат LLM качественным и безопасным. Это предполагает субъективность.
- Оптимизируйте свое приложение : улучшается ли ваше приложение? Улучшаются ли желаемые показатели, например, появляются ли более соответствующие бренду слоганы без увеличения уровня токсичности?
- Выберите подходящую модель : существует ли модель, которая лучше подходит для вашего случая? До появления ИИ вы выбираете свой веб-стек один раз. С ИИ же следует регулярно сравнивать модели и выявлять возможности для перехода на более совершенную (и потенциально более дешевую) модель.
Послойно прорабатывайте тесты

Здоровая кодовая база должна иметь несколько уровней тестирования: модульные тесты, регрессионные и интеграционные тесты, а также сквозные тесты. Ваши оценки также должны быть многоуровневыми.
- Используйте оценку на основе правил в сочетании с оценкой, проводимой экспертами-лидерами, для полной автоматизации тестирования вашего приложения на основе ИИ. Таким образом, вы сможете выявлять проблемы на этапах ежедневной разработки и CI/CD, а также проверять, соответствуют ли ваши релиз-кандидаты вашим стандартам качества.
- Для проверки качества в масштабе предприятия проведите интеграционные и регрессионные тесты.
- Проведите ручную оценку результатов экспертами в качестве приемочного теста.
В дополнение к этим оценкам, которые вы проводите во время сборки, отслеживайте производственный трафик с помощью оценок, выполняемых в процессе работы. Это поможет вам выявить проблемы качества или безопасности на реальных входных данных.
Продолжайте совершенствовать свои оценки.
Оценочные версии должны развиваться вместе с вашим приложением. По мере того, как ваши модели становятся умнее, обновляйте старые оценочные версии.
Регулярно добавляйте в свои тестовые наборы данных сложные примеры, такие как новые граничные случаи или неожиданные пользовательские данные, которые вы встречаете в рабочей среде.
Что измеряют ваши оценки?
Прежде чем разрабатывать системы оценки, следует понять, как оценивать результаты. Для этого необходимо знать несколько терминов.

Критерии — это правила, параметры, которые необходимо проверить. Например, соответствие бренду, токсичность и доступность.
Каждый критерий оценки измеряется метрикой. Метрика — это единый, конкретный показатель, который измеряет соответствие выходных данных модели критерию. Этот показатель может быть бинарным или значением в диапазоне, измеряющим, насколько близко или далеко выходные данные соответствуют ожиданиям оценщика.
Один и тот же критерий можно измерить с помощью разных типов метрик. Например, для оценки соответствия бренду:
- «Соответствует ли этот девиз бренду?» Критерий оценки —
PASSилиFAIL. - «Насколько хорошо девиз соответствует бренду по шкале от 1 до 5?» Показатель представляет собой целое число от одного до пяти.
Оценщик — это код или модель, которая оценивает критерий. Оценщики определяют метрики.