TL;DR
Когда ты учишь ChatGPT новой задаче — кастомному формату, нестандартной логике, придуманным правилам — работает лучше, если ты прямо описываешь правило, а не просто показываешь примеры и ждёшь, что модель сама угадает закономерность. Исследователи сравнили оба подхода на пяти новых задачах и увидели: чёткое правило почти всегда даёт точнее результат, чем набор примеров без объяснений.
Интуиция "покажи примеры — модель разберётся" работает не всегда. Модели плохо угадывают правило по примерам, если задача требует комбинировать условия — например "срочно, если A ИЛИ B, И при этом C". По нескольким демонстрациям такую логику восстановить трудно: примеры показывают точки, а не саму формулу. Модель либо угадывает слишком узкое правило, либо слишком широкое.
Правило решает эту проблему просто: оно прямо называет условие, вместо того чтобы модель реверс-инженерила его из кусков данных. Добавление примеров сверху к уже чёткому правилу почти не улучшает результат — если правило написано полно и без двусмысленностей, демонстрации становятся избыточными.
Схема подхода
ПОДХОД 1 (правила): Опиши логику и формат словами → модель применяет её к новому случаю
ПОДХОД 2 (примеры): Покажи 5-10 пар "вход-выход" без объяснений → модель угадывает правило сама
ПОДХОД 3 (комбо): Правило + примеры вместе → почти не лучше, чем просто правило
Всё это — один промпт, без итераций и отдельных запросов.
Пример применения
Задача: Ты хочешь научить ChatGPT сортировать обращения в поддержку по кастомной логике приоритета — не как обычно ("жалоба = срочно"), а по своим критериям бизнеса.
Промпт (рабочий вариант — через правило):
Классифицируй обращение клиента как СРОЧНОЕ или ОБЫЧНОЕ по такому правилу:
Обращение СРОЧНОЕ, если:
(клиент упоминает "потеря денег" ИЛИ "юридические риски")
И
тон сообщения агрессивный или встревоженный.
Во всех остальных случаях — ОБЫЧНОЕ.
Формат ответа: только слово СРОЧНОЕ или ОБЫЧНОЕ.
Обращение клиента: {текст обращения}
Менее надёжный вариант (через примеры):
Вот 10 примеров обращений с меткой срочности:
[10 пар "текст — метка" без объяснения логики]
Классифицируй это обращение: {текст}
Результат: Вариант с правилом стабильно правильно обрабатывает граничные случаи — например, агрессивный тон без упоминания денег или юридических рисков. Вариант с примерами чаще путается именно на таких "составных" условиях (И/ИЛИ), потому что модель не видит логику напрямую, а реконструирует её из ограниченного набора точек.
Почему это работает
Когда модель учится по примерам, ей приходится угадывать скрытое правило — как в игре "найди закономерность". Это работает нормально, если правило простое (одна переменная, знакомая категория). Но если задача требует комбинировать несколько условий — как арифметический оператор из нескольких шагов или логика "И/ИЛИ" — угадать формулу по нескольким примерам сложно: примеры просто не покрывают всё пространство вариантов.
Сильная сторона современных LLM — они хорошо выполняют явно прописанные инструкции. Это специально усиливается инструктивным обучением (instruction tuning): модели натренированы слушаться словесных правил.
Метод просто убирает необходимость угадывать: вместо того чтобы модель реверс-инженерила логику из данных, ты отдаёшь ей готовую формулу. Отсюда и эффект — правило прямее достаёт до цели, чем куча примеров.
Рычаги управления: - Сложность логики условия (сколько И/ИЛИ комбинируется) → чем сложнее условие, тем сильнее выигрыш от явного правила - Завязка на "общие знания" модели (жаргон, культурные категории, языковые паттерны) → там правило почти не даёт преимущества, примеры справляются так же - Количество примеров сверху правила → можно смело убирать, если правило написано чётко — это экономия места в промпте без потери качества
Шаблон промпта
Выполни задачу по следующему правилу. Не полагайся на угадывание — правило описывает логику полностью.
ПРАВИЛО: {опиши точное условие, включая случаи объединения через И/ИЛИ, если такие есть}
ФОРМАТ ОТВЕТА: {точно опиши, как должен выглядеть результат}
Входные данные: {твои данные}
🚀 Быстрый старт — вставь в чат:
Вот шаблон для обучения модели через явное правило. Адаптируй под мою задачу: {твоя задача}.
Задавай вопросы, чтобы заполнить поля.
[вставить шаблон выше]
LLM спросит, какая именно логика лежит в основе классификации/задачи (условия, форматы, граничные случаи) — потому что метод работает только если правило описано полно и без двусмысленности.
Ограничения
⚠️ Задачи "на чувство" не выигрывают от правил: если задача завязана на знакомые модели категории (языковые паттерны, устоявшиеся ассоциации, "жаргон отрасли") — правило почти не даёт преимущества. Примеры работают так же хорошо, потому что модель уже "знает" эти категории из обучения.
⚠️ Плохое правило хуже, чем никакого: если правило написано нечётко или неполно, оно не спасёт результат. Правило должно быть протестировано и однозначно — иначе выигрыша не будет.
⚠️ Добавление примеров сверху почти не помогает: если правило уже чёткое, лишние демонстрации в промпте — просто трата места, не прибавка к точности.
Как исследовали
Команда придумала пять новых задач в разных областях — от карточной игры на поиск "сета" и настольной игры на 3×3 поле до придуманного математического оператора и искусственного языка с грамматическим согласованием. Каждую задачу давали модели тремя способами: только правило, только примеры, и правило плюс примеры вместе — на одинаковых тестовых случаях.
Проверяли несколько семейств моделей (Gemma 3, Qwen 2.5/3, OLMo 3) разных размеров, а GPT-5.4 использовали как ориентир для сравнения. Результат: правило обыгрывает примеры почти во всех задачах, особенно там, где нужна алгебраическая логика — вычисления по шагам, комбинация условий через И/ИЛИ. Разница меньше или незаметна там, где задача завязана на "чутьё" — грамматику или знакомые смысловые категории.
Удивительным оказалось то, что добавление примеров к уже чёткому правилу почти не добавляло точности — как и простое увеличение количества примеров. А инструктивно натренированные модели усилили преимущество правил, но не потеряли способность учиться по примерам.
