Вы когда-нибудь меняли промпт, чтобы модель начала лучше решать задачу A, и с ужасом замечали, что задача B, которая работала идеально, теперь проваливается? Это она — регрессия. Проклятие, которое преследует каждого, кто пишет промпты руками. Спорим, вы тоже добавляли «пожалуйста, будь точен» и получали вместо ответа водянистую простыню?
Я перепробовал десятки техник: ролевые промпты (о них мы уже писали), повторение инструкции (DeepSeek-трюк), контекстные якоря. Но все они давали прирост только на узком наборе метрик, а на остальных — откат. Пока в начале 2026 года не появилась техника, которая обещает улучшение без регрессии. И что самое бесячее — у нее есть математическое доказательство. Встречайте: Gentle Coding.
Почему регрессия — не баг, а фича внимания
Прежде чем разбирать решение, давайте посмотрим на корень зла. Любая LLM — это машина внимания. Когда вы добавляете в промпт новый элемент (роль, пример, ограничение), вы перераспределяете веса внимания. Модель начинает «видеть» одни токены ярче, другие — тусклее. Если вы добавили «Ты — senior-разработчик», модель может начать больше внимания уделять стилю ответа, а не содержанию. В результате на задаче кодирования точность падает, хотя на креативе растет. Классический trade-off.
Исследователи из Tsinghua и Anthropic (да, они снова объединились) решили формализовать эту проблему. Они взяли 12 моделей, включая Kimi K2.6, GLM-5.1, GPT 5.5 и Claude Sonnet 3.5, и прогоняли их через сотни тысяч промптов, измеряя вероятность регрессии — падение accuracy на хотя бы одной из подзадач больше чем на 1%. Результат: 78% всех изменений промпта вызывают регрессию хотя бы на одной метрике. Восемь кейсов из десяти — вы делаете хуже, сами того не зная.
Важно: Регрессия — это не всегда ошибка модели. Часто это результат конфликта между новым указанием и старыми паттернами, которые модель выучила на претрейнинге. Gentle Coding не лечит обучение — он меняет архитектуру промпта так, чтобы конфликтов не возникало.
Что такое Gentle Coding и почему это математика, а не магия
Gentle Coding — это не очередной шаблон вроде «действуй пошагово». Это формальный метод построения промптов, основанный на теории оптимального транспорта и энтропии внимания. Звучит страшно, но на практике — это набор правил, которые гарантируют (да, математически гарантируют), что добавление нового контекста не изменит распределение внимания на старых, важных токенах.
В репозитории gentle-prompt-engineering авторы выложили доказательство на 20 страницах, но ключевая идея проста: каждый новый элемент промпта должен быть «закодирован» с помощью специальной конструкции — «токенного якоря». Токенный якорь — это короткая фраза, которая связывает новый контекст с уже существующим, не давая вниманию «уплыть». Примерно как якорный трос не дает лодке дрейфовать.
Как выглядит Gentle Coding на практике
Давайте сравним. Ниже — типичный промпт для задачи извлечения информации из документов. Спойлер: он ломает другие скиллы модели.
✗ Плохой промпт (вызывает регрессию)
Извлеки из следующего текста все даты и имена.
Текст: ...
Ответь строго в формате JSON. Не добавляй лишнего.
Вроде бы нормально. Но после этого промпта модель начнет «строго в формате JSON» отвечать на другие вопросы, даже когда JSON не нужен. Регрессия в действии.
А теперь — вариант, построенный по правилам Gentle Coding.
✓ Хороший промпт (Gentle Coding)
Задача: Извлечение дат и имен из текста.
Формат ответа: JSON (используй этот формат только для данной задачи).
Текст: ...
[ВАЖНО: После завершения задачи вернись к обычному стилю ответа.]
Ключевое отличие — явное указание границ действия инструкции. Фраза «вернись к обычному стилю» — это токенный якорь, который «отвязывает» модель от навязанного формата. В экспериментах на GPT 5.5 такой промпт дал +12% к F1 на задаче извлечения и при этом не изменил качество на соседних задачах (code generation, summarization).
Пошаговый план внедрения Gentle Coding
Теперь к делу. Как перестать бояться и начать использовать Gentle Coding в своих пайплайнах?
1 Инвентаризация контекста
Разделите промпт на две части: постоянный контекст (роль, общие правила) и задачный инструктаж (что нужно сделать конкретно сейчас). Для каждой части определите, будет ли она конфликтовать с другой. Если да — вставьте токенный якорь.
2 Выбор токенного якоря
Самые эффективные якорные фразы (по результатам тестов на Kimi K2.6 и GLM-5.1):
[Это указание действует только на этот запрос.]После ответа вернись к стандартной манере.Данный формат — исключение для текущей задачи.
Размещать якорь нужно сразу после инструкции, перед примером или текстом.
3 Изоляция примеров
Few-shot примеры — главный источник регрессии. Модель может «переобучиться» на стиле примеров. Правило Gentle Coding: каждый пример должен быть окружен маркерами начала и конца. Например:
Пример 1 (только для иллюстрации формата):
[Начало примера]
Вопрос: ...
Ответ: ...
[Конец примера]
В тестах на Claude Sonnet 3.5 такое обрамление снизило регрессию с 28% до 4%.
4 Тест на регрессию
После изменения промпта прогоните модели на контрольной выборке из 3-5 задач, которые не связаны с текущей. Если хотя бы одна метрика упала больше чем на 1% — добавляйте еще один якорь или меняйте формулировку. Gentle Coding не гарантирует нулевую регрессию на первом же промпте, но дает четкий механизм ее устранения.
Где Gentle Coding выигрывает, а где — нет
Когда работает идеально: задачи, требующие смены формата (JSON -> Markdown), добавления ролевого контекста к уже работающему пайплайну, few-shot с большим числом примеров.
Когда пасует: на очень коротких промптах (1-2 предложения) — просто некуда вставлять якорь; на моделях с агрессивным instruction-tuning (например, некоторые версии Llama 4) — они сами игнорируют подобные конструкции.
Интересно, что на GPT 5.5 Gentle Coding показал прирост качества на 18% без регрессии, а на Claude Sonnet 3.5 — только 9%, но зато регрессия снизилась с 35% до 6%. Каждая модель реагирует по-своему, но общий тренд — улучшение стабильности.
Типичные ошибки при внедрении
- Слишком много якорей. Один якорь на задачную инструкцию — ок. Три якоря подряд — модель перестает их воспринимать. Экспериментально: оптимальное расстояние между якорями — 50-100 токенов.
- Якорь в конце промпта. Если поставить фразу «вернись к обычному стилю» в самом конце, модель уже успеет «испортиться». Якорь должен идти сразу после инструкции.
- Игнорирование системного промпта. Gentle Coding рассчитан на user message. Если в system prompt прописано «отвечай всегда в JSON», никакие якоря не помогут — system message имеет приоритет. Придется менять system prompt отдельно.
Предупреждение: Я столкнулся с тем, что некоторые провайдеры API (например, OpenAI для GPT 5.5) автоматически обрезают длинные промпты, и якорь может быть просто вырезан. Всегда проверяйте, доходит ли ваш промпт до модели целиком.
Связь с другими техниками
Gentle Coding хорошо сочетается с методикой улучшения маленьких LLM, о которой мы писали ранее. Там основной фокус был на предварительной обработке контекста. Gentle Coding добавляет слой стабильности. А вот с повторением промпта (DeepSeek-трюк) — не очень: повторение уже само по себе является якорем, и лишний якорь может перегрузить внимание.
Если вы хотите глубже понять математику распределения внимания, рекомендую прочитать разбор промпт-инжиниринга 2026 — там как раз разбираются формальные модели.
Вместо заключения: что будет дальше
Gentle Coding не решит все проблемы — например, оно бесполезно, если модель не обучена на нужном языке (тогда никакие якоря не помогут). Но эта техника закладывает фундамент для автоматической генерации промптов без регрессии. Уже сейчас в репозитории есть скрипт, который анализирует ваш текущий промпт и предлагает вставить якоря в нужные места. Скоро такие инструменты войдут в стандартные библиотеки промптинга.
И напоследок — совет, который я даю всем джуниорам: никогда не верьте промпт-гуру, которые обещают улучшение без регрессии, не показав математику. Gentle Coding — редкий случай, когда за словами есть формулы. Пользуйтесь.