AI Prompt Engineering · Урок

Проверка с помощью самокритики

Результаты, проверенные моделью

Урок 4 из 413 шагов

«Проверка с помощью самокритики» — бесплатный урок AI Prompt Engineering на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения AI Prompt Engineering, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс AI Prompt Engineering содержит 4 уроков всего.

Модель в роли собственного критика

Самокритика использует LLM для оценки вывода LLM по набору критериев или политике. Она обнаруживает сложные сбои, которые невозможно выразить с помощью детерминированных валидаторов: фактические противоречия, проблемы с тоном, недостаточную полезность и незаметные нарушения политики.

Это дополнение на основе модели к валидаторам схем и правил.

Отделяйте критика от автора

Запускайте критику как отдельный вызов с собственной инструкцией, а не как заключительную инструкцию при генерации. Критик с изолированным контекстом, которого просят только оценивать, гораздо надёжнее, чем автор, которому предлагают оценить себя во время генерации: в последнем случае он склонен предвзято поддерживать собственный ответ.

draft = author_model(task_prompt)
verdict = critic_model(
  'You are a strict reviewer. Judge ONLY the answer below against the rubric.\n'
  'Rubric: ' + rubric + '\nAnswer: ' + draft
)

Структурированный вывод критики

Пусть критик формирует структурированные вердикты, чтобы конвейер мог действовать программно. Критика в свободной форме непригодна для машинной обработки.

CRITIC_SCHEMA = {
  'type': 'object',
  'properties': {
    'pass': {'type': 'boolean'},
    'violations': {'type': 'array', 'items': {'type': 'string'}},
    'severity': {'type': 'string', 'enum': ['none','minor','major','critical']},
    'fix_hint': {'type': 'string'}
  },
  'required': ['pass','violations','severity','fix_hint'],
  'additionalProperties': False
}

Цикл «критика — затем исправление»

Объединяйте критика с редактором. Критик находит проблемы, автор исправляет ответ с учётом критики, после чего цикл повторяется до получения положительного результата или исчерпания бюджета. Это аналог цикла исправления на основе модели.

draft = author_model(task)
for _ in range(2):
    c = critic_model(draft)
    if c['pass']:
        break
    draft = author_model(task + '\nRevise to fix: ' + c['fix_hint'])
final = draft

Критерии оценки делают критику надёжной

Расплывчатая инструкция ('это хорошо?') приводит к нестабильным вердиктам. Конкретные критерии оценки с явными проверяемыми условиями дают согласованные результаты. Разбейте оценку на вопросы с ответами «да» или «нет», на которые критик отвечает по отдельности.

RUBRIC = [
  'Does the answer directly address the user question?',
  'Are all factual claims supported by the provided context?',
  'Is any disallowed content present?',
  'Is the response within the requested length?'
]

Проверка фактов с опорой на источники

Для обнаружения галлюцинаций предоставьте критику контекст источника и попросите отметить любое утверждение, которое из него не следует. Так самокритика превращается в проверку логического следования и становится гораздо надёжнее, чем вопрос «это правда?» без доказательств.

verdict = critic_model(
  'For each claim in the ANSWER, state whether the CONTEXT entails it. '
  'Flag any unsupported claim.\nCONTEXT:\n' + ctx + '\nANSWER:\n' + draft
)

Варианты сбоев критика

Критик сам является LLM и может ошибаться:

  • Поддакивание — бездумное одобрение ответа автора.
  • Излишняя критика — пометка правильного вывода как ошибочного.
  • Общие слепые зоны — одна и та же модель не замечает одни и те же ошибки.

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

Используйте более дешёвого или другого критика

Критик не обязательно должен быть самой дорогой моделью. Часто меньшая модель с чёткими критериями оценки служит экономичным фильтром, а использование модели из другого семейства уменьшает общие слепые зоны. Самую сильную модель оставляйте для написания ответа.

Когда доверять, а когда проверять

Самокритика снижает количество ошибок, но не является доказательством. Для материалов с низкими рисками достаточно одного прохода критики. Для выводов с высокими рисками объединяйте самокритику с детерминированными валидаторами и проверкой человеком; никогда не позволяйте модели быть единственным арбитром в решениях, критичных для безопасности.

Стоимость, задержка и кэширование

Самокритика примерно вдвое увеличивает число вызовов на запрос. Контролируйте это: запускайте критику только после детерминированных проверок, кэшируйте критику для одинаковых черновиков и ограничивайте число раундов исправления. По возможности выполняйте критику параллельно с неблокирующей работой.

if deterministic_ok(draft):
    verdict = critic_model(draft)   # only spend critique on viable drafts

Калибруйте по человеческой разметке

Проверьте критика, прежде чем доверять ему. Создайте набор выводов, размеченных людьми, запустите критика и измерьте согласие — точность и полноту относительно человеческих вердиктов. Настраивайте критерии оценки и роль, пока суждения критика не начнут коррелировать с человеческими; повторяйте проверку после обновления модели.

agreement = mean(critic(d)['pass'] == human_label[d] for d in eval_set)
assert agreement > 0.9

Быстрая проверка

Вы хотите, чтобы критик надёжно обнаруживал галлюцинации в ответе RAG. Что сильнее всего повысит надёжность?

Итоги

Проверка с помощью самокритики:

  • Отдельный критик с чистым контекстом оценивает вывод автора.
  • Формируйте структурированные вердикты и запускайте цикл «критика — затем исправление».
  • Конкретные критерии оценки и проверки логического следования с опорой на источники повышают надёжность.
  • Остерегайтесь поддакивания и общих слепых зон; используйте другую модель в роли критика.
  • Учитывайте стоимость, объединяйте проверку с детерминированными проверками и калибруйте её по оценкам людей.

Вы завершили изучение защитных механизмов. Следующий курс: атакующее тестирование и состязательная оценка.

Можно начать бесплатно

Изучай AI Prompt Engineering с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
53
Уроки
199

Часто задаваемые вопросы

Урок «Проверка с помощью самокритики» бесплатный?

Да — полный текст урока «Проверка с помощью самокритики» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс AI Prompt Engineering, подпишись на CoddyKit PRO. Курс AI Prompt Engineering содержит 4 уроков всего.

Чему я научусь в уроке «Проверка с помощью самокритики»?

Результаты, проверенные моделью Ты практикуешь AI Prompt Engineering с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать AI Prompt Engineering?

Предыдущий опыт не требуется. AI Prompt Engineering на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Проверка с помощью самокритики»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке AI Prompt Engineering?

Да. Каждый урок AI Prompt Engineering включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Что такое защитные ограничения
  2. Фильтрация входных и выходных данных
  3. Проверяющие схемы и правила
  4. Проверка с помощью самокритики
← Назад к AI Prompt Engineering