LLM-судья для образовательного контента: как мы добились 80-85% согласия с экспертами при стоимости $0.014 за курс

AI генерирует контент. Но кто проверяет, что этот контент не содержит галлюцинаций, соответствует педагогическим стандартам и не ушёл в Wikipedia-подобную сложность? Мы построили систему автоматической валидации с ROI 5,700-17,000x по сравнению с ручной проверкой.

Автор

Игорь Масленников, в IT с 2013 года. Последние 2 года занимаюсь AI и автоматизацией разработки. Работаю в DNA IT, где мы создали AI Dev Team — подразделение из 3 человек + 33 AI-агента, которое конкурирует с традиционными командами из 20+ специалистов.

Реальность: всё больше клиентов выбирают AI-подразделение вместо традиционных команд. Причина: быстрее (1-2 недели vs 2-3 месяца), дешевле (-80% стоимости), качественнее (автоматические проверки качества).

Сейчас мы строим платформу для генерации образовательных курсов. Это исследование — часть работы над Stage 6 нашего пайплайна: валидация сгенерированного контента уроков.

Проблема: спецификация не гарантирует качество

Мы используем многоэтапный пайплайн генерации курсов. Stage 5 создаёт спецификацию урока (цели, структура, архетип контента). Stage 6 генерирует сам контент на основе этой спецификации.

Наивная гипотеза: "Если спецификация валидна, контент будет качественным."

Реальность: Это опасное заблуждение.

Почему спецификация недостаточна?

1. Стохастическая природа LLM

Даже идеальная спецификация может дать галлюцинированный контент. LLM — это вероятностная модель. Она предсказывает следующий токен на основе распределения, не факта.

Пример: Спецификация требует урок "Ньютоновская физика" с хуком "Историческая аналогия". Stage 5 валидация подтверждает — всё корректно. Stage 6 генерирует историю про Исаака Ньютона, которого ударил по голове арбуз вместо яблока.

Спецификация была идеальной. Исполнение — нет.

2. Педагогический дрифт

LLM обучены на огромных корпусах интернет-данных. Они тяготеют к "среднему" уровню сложности — типичной Wikipedia-статье.

Что происходит: Урок начинается простым введением для 5-го класса (как указано в спецификации). Постепенно язык усложняется. К концу — академический жаргон, непонятный целевой аудитории.

Этот дрифт происходит во время генерации, невидимо для валидатора спецификаций.

3. "Assertiveness Bias" — уверенность не равна истине

Исследование Galileo.ai показало: люди систематически принимают уверенно написанный контент за достоверный. Профессиональный тон и чёткая структура "продают" галлюцинации.

Следствие: Если система полагается на человеческую проверку непровалидированного контента, люди будут одобрять уверенно звучащие ошибки.

Решение: LLM-судья с кросс-модельной архитектурой

Почему нужен отдельный судья?

Stage 5 проверяет намерение (спецификацию). Stage 6 Judge проверяет исполнение (контент).

Без судьи Stage 6 наш Hybrid Map-Reduce-Refine пайплайн превращается в waterfall: Plan -> Generate -> Publish. Компонент "Refine" не получает сигнала для исправления.

С судьёй Stage 6 создаётся feedback loop: Judge идентифицирует проблемы -> Refiner исправляет конкретные секции -> Re-evaluation.

Критическое открытие: Self-Evaluation Bias

Использование той же модели для генерации и оценки создаёт измеримый bias:

Модель - Self-Preference Bias

GPT-4 - +10% (оценивает свой output выше)

Claude-v1 - +25% (наиболее выраженный bias)

GPT-3.5 - Минимальный (исключение)

Причина: Perplexity-based familiarity. Модели предпочитают output с низкой perplexity (знакомые паттерны), независимо от реального качества.

Наше решение: Cross-Model Adjudication. Qwen3-235B генерирует -> DeepSeek Terminus оценивает. Разные архитектуры, разные training distributions.

Архитектура валидации: каскадное голосование

Проблема наивного 3x voting

Стандартный подход: каждый урок проходит 3 оценки, итог — консенсус.

Проблема: В 80% случаев урок либо явно отличный, либо явно провальный. Тратить 3 inference-вызова на подтверждение очевидного — waste бюджета.

Cascading Evaluation Architecture

Tier 1 (Single Pass): DeepSeek Terminus, Temperature 0.0.

  • Если score > 0.85 (Clear Pass) или < 0.50 (Clear Fail) -> решение принято
  • Стоимость: 1x

Tier 2 (Consensus Check): Если score в "Ambiguity Zone" (0.50-0.85):

  • 2 дополнительных оценки
  • Temperature 0.1-0.2 (diversity в reasoning paths)
  • Финальный score — weighted average
  • Стоимость: 3x (только для 20% уроков)

Результат: 67% экономии по сравнению с blanket 3x voting.

CLEV (Consensus via Lightweight Efficient Voting)

# Начинаем с 2 судей

judge1 = gemini_flash(content, temp=0.1) judge2 = gpt4o_mini(content, temp=0.1)

if judge1.score == judge2.score: # 70-85% случаев

return judge1 # Agreement - 3-й судья не нужен

else: judge3 = claude_haiku(content, temp=0.1) # Tiebreaker

return majority_vote([judge1, judge2, judge3])

Cost reduction: 3-й судья вызывается только в 15-30% случаев.

Рубрика оценки: OSCQR + веса

OSCQR Framework

OSCQR (Open SUNY Course Quality Review) — 50 стандартов для оценки образовательного контента. Мы выбрали релевантные для автоматической проверки:

LLM-судья для образовательного контента: как мы добились 80-85% согласия с экспертами при стоимости $0.014 за курс

Weighted Hierarchical Rubric

Не все критерии равны. Провал в Factual Integrity делает урок опасным. Провал в Engagement делает его скучным.

LLM-судья для образовательного контента: как мы добились 80-85% согласия с экспертами при стоимости $0.014 за курс

Veto Rules: Критический провал в первых двух категориях отклоняет урок независимо от общего score.

JSON Output Format

Структурированный output критичен для programmatic correction workflows:

{

"overall_score": 0.82,

"verdict": "PASS",

"dimensions": {

"factual_integrity": {

"score": 0.9,

"reasoning": "No hallucinations detected. Claims align with RAG context."

},

"pedagogical_alignment": {

"score": 0.8,

"reasoning": "Covers 2/3 objectives. Misses the 'application' objective."

},

"engagement": {

"score": 0.6,

"reasoning": "Tone is academic. Lacks analogies or hook."

}

},

"fix_recommendation": "Rewrite the introduction to include a real-world analogy."

}

Почему JSON, а не категории: Программный парсинг, multi-dimensional feedback для targeted fixes, confidence scores для CLEV conditional voting.

Детекция галлюцинаций без RAG

Проблема: RAG дорогой

Для проверки фактической точности судье нужен доступ к source materials (RAG context). Но передача 5,000+ токенов контекста для каждого урока съедает бюджет.

Дополнительная проблема: "Lost in the Middle" phenomenon — большие контексты деградируют reasoning performance модели.

Решение: Log-Probability Entropy как proxy

Когда LLM галлюцинирует, её внутренняя уверенность обычно ниже, даже если generated text выглядит assertive.

Механизм:

  1. Token-Level Analysis: Во время Stage 6 генерации запрашиваем logprobs для каждого токена
  2. Entropy Calculation: Для каждого предложения вычисляем среднюю entropy (uncertainty)
  3. Heuristic Trigger: Если предложение содержит factual claims (Named Entity Recognition) И имеет высокую entropy -> флаг "Potential Hallucination"

Implementation:

# Step 1: Вычисляем entropy во время генерации (бесплатно)

entropy_scores=calculate_sentence_entropy(logprobs)

# Step 2: Если Entropy > Threshold -> Flag for RAG Check

flagged_sentences= [sforsinsentencesifs.entropy>0.8]

# Step 3: Conditional RAG

ifflagged_sentences:

# Только для flagged случаев передаём RAG context

deep_verify(flagged_sentences, rag_context)

else:

# 80% уроков — "safe", RAG не нужен

pass

Результат: Избегаем RAG-based verification для 80% "safe" уроков. Conditional RAG только для high-uncertainty случаев.

Ограничения: Этот метод ловит "Confabulations" (uncertainty-based errors), но может пропустить "Misconceptions" (модель уверенно ошибается, потому что training data был неверным).

Стратегия исправлений: Targeted Self-Refinement

Почему не полная регенерация?

При score < 0.75 наивный подход: регенерировать весь урок.

Проблема: Это отбрасывает успешные части контента и надеется, что новый random seed даст лучший результат.

Targeted Self-Refine

Исследования показывают: LLM значительно лучше улучшают контент на основе конкретного feedback, чем генерируют идеальный контент zero-shot.

Workflow:

  • Diagnosis: Judge идентифицирует конкретную failing dimension: "Engagement Score: 0.4. Reason: The hook is weak and unrelated to the topic."
LLM-судья для образовательного контента: как мы добились 80-85% согласия с экспертами при стоимости $0.014 за курс
  • Context Preservation: Fixer получает surrounding context (параграф до и после target section) для seamless blending.

Cost Implications

LLM-судья для образовательного контента: как мы добились 80-85% согласия с экспертами при стоимости $0.014 за курс

Даже с overhead Fix Prompt: refinement стоит 20-30% от full regeneration.

Iteration Limits

Research показывает: performance gains plateau после 2-3 iterations. После этого модель циклится между субоптимальными состояниями или деградирует текст через over-editing.

Наша политика:

  • Max Refinements: 2
  • Fallback: Если score < 0.75 после 2 fixes -> "Manual Review Required" + judge critique для ускорения human review

Экономика: $0.014 за курс

Budget Constraint

Наш target: $0.20-$0.50 на курс (10-30 уроков). Это $0.006-$0.05 на урок.

Cost Modeling (DeepSeek Terminus)

Цены:

  • Input: $0.27 / 1M токенов
  • Output: $1.10 / 1M токенов
  • Context caching: $0.07 / 1M токенов

Сценарий A (простой, без исправлений):

  • Input 2,5k токенов (рубрика 1k — в кэше) Стоимость: (1.5k × 0.27) + (1k × 0.07) = $0.000475
  • Output 200 токенов: $0.00022

Итог: $0.0007 за оценку (~10% от минимального бюджета $0.006/урок — ок)

Сценарий B (сложный: голосование + 1 правка):

  • Tier 1 eval: $0.0007
  • Tier 2 voting (ещё 2 прогона): $0.0014
  • Refinement generation: $0.0005
  • Re-evaluation: $0.0007

Итог: $0.0033 (всё ещё ~половина минимального бюджета за урок)

Hybrid Cascade: $0.014 за курс

Stage 1 — бесплатные эвристики

  • длина, читабельность, ключевые слова → отсев 30–50%

Stage 2 — дешёвый judge (50–70% после Stage 1)

  • Gemini Flash (T=0.1)
  • confidence > 0.8 → ACCEPT
  • иначе → Stage 3

Stage 3 — CLEV 3× voting (15–20% контента)

  • 2 судьи
  • 3-й только при расхождении

Разбивка стоимости:

  • Stage 1: $0 (отсев 30–50%)
  • Stage 2: $0.00065 × 50% = $0.00033/урок
  • Stage 3: $0.00195 × 20% = $0.00039/урок

Итого: $0.00072/урок 20 уроков: $0.014

ROI (vs ручная проверка): Человек: $4–12 за урок / $80–240 за курс LLM: $0.014 за курс Экономия: 5,700–17,000×

Эскалация к человеку:

  • Score < 0.75 после 2 итераций
  • Низкая уверенность модели
  • Критические фактические ошибки
  • Стоимость итераций > 5× стоимости генерации

Human-in-the-Loop Workflow

LLM-судья для образовательного контента: как мы добились 80-85% согласия с экспертами при стоимости $0.014 за курс

Бюджет на ручную проверку:

  • 10% выборка Tier 2: 2 урока × $1 = $2 за курс
  • Полная проверка Tier 3: 2 урока × $8 = $16 за курс

Итого: $18 за курс

Общая стоимость с автоматической проверкой: $18 (ручная проверка) + $0.014 (автоматическая) = $18.014 за курс

Всё ещё 4-13x дешевле 100% human review ($80-240/course).

Производственные метрики

LLM-судья для образовательного контента: как мы добились 80-85% согласия с экспертами при стоимости $0.014 за курс

Что LLM-Judge делает хорошо (80–90% совпадение с человеком)

  • Лингвистическое качество: беглость, связность, читабельность
  • Педагогическая структура: логика «введение — основная часть — вывод»
  • Проверка на соответствие целям обучения
  • Факторы вовлечения: качество «hook», уместность примеров

Где LLM-Judge нуждается в помощи (требуется RAG/человек)

  • Фактическая точность: ~70% ошибок без референс-материалов
  • Математическое рассуждение: даже GPT-4 ошибается в базовой математике
  • Экспертные домены: только 60–68% совпадения с профильными экспертами

Дорожная карта внедрения

LLM-судья для образовательного контента: как мы добились 80-85% согласия с экспертами при стоимости $0.014 за курс

1 этап: Запуск гибридной каскадной проверки в работе

2 этап: Настройка панели мониторинга и раз в три месяца проверка точности Постоянно: Проверка 10% уроков человеком для контроля качества

Сухие факты:

  • Medical Education (2024): GPT-4 и Gemini достигли moderate agreement с преподавателями на 2,288 студенческих работах
  • Science Writing (Garuda et al., 2024): GPT-4 matched instructor grades на astronomy/astrobiology MOOCs — reliable than peer grading
  • Programming Assessment (2025): GPT-4o achieved statistically equivalent grading to humans (±5 points on 0-100)

Если не согласны — отлично. Изучите исследования, попробуйте на своих данных, потом скажите, где я неправ. Я предпочитаю технические аргументы эмоциональным реакциям.

Обратна связь и мои контакты

Telegram

Канал (редкие, но интересные посты): https://t.me/maslennikovigor Заходите, читайте мои мысли и статьи. Пишу редко, но когда пишу — стоит прочитать.

Прямой контакт: https://t.me/maslennikovig Нужно поговорить? Пишите напрямую. Всегда рад общению.

Feedback: я максимально открыт

Что мне интересно услышать:

  • Критику — Что не так с этим подходом? Где слабые места?
  • Идеи — Как улучшить рубрику? Какие критерии добавить?
  • Предложения — Какие модели работают лучше для вашего домена?
  • Вопросы — Что-то непонятно? Спрашивайте.

Каналы для feedback:

Итого

Мы построили систему автоматической валидации образовательного контента:

  • Cross-Model Architecture: Qwen генерирует -> DeepSeek оценивает (eliminates self-preference bias)
  • Cascading Voting: 67% cost savings vs blanket 3x voting
  • OSCQR-Based Rubric: 4 weighted dimensions, veto rules для critical failures
  • Reference-Free Hallucination Detection: Log-probability entropy как cheap proxy, conditional RAG
  • Targeted Self-Refinement: 20-30% cost of regeneration, max 2 iterations

Результат: $0.014/course при 80-85% human agreement. ROI 5,700-17,000x vs manual review.

Stage 6 validation — необходимый слой между генерацией и публикацией. Без него идеальная спецификация может дать галлюцинированный, педагогически дрифтующий контент.

Исследование протестировано на реальных данных. Battle-tested на клиентских проектах DNA IT / AI Dev Team.

Начать дискуссию