Как составлять промты для DeepSeek: принципы, структуры и работа с ограничениями

Как составлять промты для DeepSeek: принципы, структуры и работа с ограничениями

Разбираем, как устроены инструкции для модели, почему срабатывают отказы и какие техники дают предсказуемый результат без нарушения правил безопасности.

Промт-инженерия DeepSeek R1 / V3 Безопасность ИИ

Что такое промт для языковой модели

Промт — это не просто вопрос. Это структурированная инструкция, которая задаёт контекст, роль, формат ответа, ограничения и критерии качества. Качество генерации прямо зависит от полноты этого описания.

DeepSeek, как и другие крупные модели, обрабатывает ввод как последовательность токенов. Чем чётче границы задачи заданы в промте, тем меньше степеней свободы у модели для интерпретаций, уводящих от цели.

Главные составляющие рабочего промта: роль, контекст, задача, формат, ограничения, примеры.

Структура промта
6 ключевых блоков
  • Роль: «Ты — эксперт по… »
  • Контекст: вводные данные
  • Задача: что сделать
  • Формат: JSON, таблица, код
  • Ограничения: длина, стиль, табу
  • Примеры: few-shot демонстрации

Принципы, которые делают промты работающими

Явная роль

Задайте персону: «Ты — старший разработчик на Python с 10-летним стажем». Модель подстроит лексику, глубину и подход под эту роль.

Контекст перед задачей

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

Формат ответа — в промте

Требуйте конкретный вывод: «Верни JSON со полями name, score, reason». Без этого модель выбирает формат сама, часто неудобный.

Отрицательные ограничения

Пишите, чего не делать: «Не используй markdown», «Не придумывай факты», «Не превышай 200 слов». Это эффективнее позитивных инструкций.

Few-shot примеры

2–3 пары «ввод — идеальный вывод» внутри промта калибруют модель точнее любых словесных правил. Примеры показывают паттерн.

Chain-of-Thought

Для сложных задач добавляйте: «Размышляй шаг за шагом перед ответом». DeepSeek-R1 делает это нативно, но явное указание усиливает эффект.

Как DeepSeek обрабатывает инструкцию: от токенов к ответу

Условная схема: упрощённый пайплайн обработки промта в transformer-архитектуре с слоем безопасности

Цензура или выравнивание: в чём разница

Что воспринимается как «цензура»

  • Отказ отвечать на допустимый вопрос из-за ложного срабатывания фильтра
  • Шаблонные отказы вида «Я не могу помочь с этим запросом» без объяснения причины
  • Блокировка тем, которые не нарушают политику, но попадают под широкие эвристики

Что есть выравнивание безопасности

  • Защита от генерации инструкций по созданию оружия, взлому систем, производству наркотиков
  • Предотвращение выдачи персональных данных, медицинских диагнозов, юридических заключений
  • Блокировка разжигания ненависти, harcèlement, поощрения tự-хARM

Готовые структуры промтов для типичных задач

Анализ кода / рефакторинг
# SYSTEM
Ты — старший инженер по Python.
Задача: проанализировать код, найти баги,
предложить рефакторинг под PEP 8,
улучшить типизацию и производительность.

Формат ответа:
1. Критические проблемы (баги)
2. Стиль и типизация
3. Производительность
4. Готовый исправленный код

Ограничения:
- Не меняй публичный API
- Сохрани обратную совместимость
- Не используй внешние зависимости

--- КОД ДЛЯ АНАЛИЗА ---
{вставьте_код_здесь}
Структурированная выгрузка данных
# SYSTEM
Ты — аналитик данных. Извлеки сущности
из текста и верни строго валидный JSON.

Схема JSON:
{
  "entities": [
    {"type": "PERSON|ORG|LOC|DATE",
     "value": "строка",
     "confidence": 0.0-1.0
    }
  ]
}

Примеры:
Ввод: "Иван Петров из ООО Ромашка
подписал договор 12.03.2024"
Вывод: {"entities":[{...

--- ТЕКСТ ---
{вставьте_текст_здесь}
Объяснение сложной концепции
# SYSTEM
Ты — преподаватель компьютерных наук.
Объясни концепцию новичку через аналогию.

Структура ответа:
1. Однострочное определение
2. Аналогия из быта (2-3 предложения)
3. Техническая суть (3-5 пунктов)
4. Типичные ошибки понимания
5. Мини-задача для самопроверки

Ограничения:
- Без жаргона без объяснения
- Максимум 350 слов
- Тон: дружелюбный, не居高临下

Концепция: {тема}

Модель отказала: что делать дальше

Если отказ — ложный срабатывание

  • Переформулируйте нейтрально: уберите эмоциональные слова, сленг, двусмысленность
  • Добавьте контекст: «Это для учебного проекта», «Нужен обзор литературы», «Пишу документацию»
  • Разбейте на подзапросы: сначала контекст, потом уточняющие вопросы

Если тема в зоне риска (медицина, право, финансы)

  • Просите обзор источников, а не совет: «Какие руководства НИЦ по протоколу лечения X?»
  • Требуйте ссылки на первоисточники: DOI, номера статей, разделы законов
  • Добавляйте дисклеймер в промт: «Ответ только для информационных целей, не заменяет консультацию специалиста»

Если нужен код/скрипт, который блокируется

  • Проверьте, не попадает ли запрос под запреты: эксплойты, брутфорс, обход WAF, сбор PII
  • Для легальных задач (тестирование своих систем) укажите: «Авторизованное пентестирование, scope согласован»
  • Или спросите про защиту: «Как защититься от этой уязвимости?» — модель ответит на оборону

Особенности DeepSeek R1 и V3: что учитывать в промтах

R1: Reasoning-токены

Модель «думает» в скрытом блоке <think>. Не просите «показать рассуждения» — они недоступны. Дайте задачу, требующую логики, и ждите итоговый ответ.

Длинный контекст (128k)

Можно передавать большие файлы целиком. Используйте разделители ### DOCUMENT 1, ### DOCUMENT 2 и ссылайтесь на них в задаче.

Строгое следование формату

DeepSeek лучше конкурентов держит JSON/Markdown/XML схемы. Требование «только JSON, без пояснений» выполняется почти всегда при правильном промте.

Мультиязычность

Русский и английский на уровне native. Для задач на русском пишите промт на русском — так меньше артефактов перевода. Код и технические термины можно оставлять на английском.

Мифы о промтах и реальность

Миф

«Существует универсальный промт-джелбрейк, который работает всегда»

Реальность

Каждое обновление модели закрывает известные векторы атаки. Поиск «волшебной фразы» — потеря времени. Инвестируйте в грамотную структуру промта.

Миф

«Чем длиннее промт, тем умнее ответ»

Реальность

Шум в контексте снижает качество. Идеальный промт — минимально достаточный. Удаляйте всё, что не меняет результат.

Миф

«Roleplay («Ты — Дудь без морали») снимает ограничения»

Реальность

Роль меняет стиль, не политику безопасности. RLHF-слой срабатывает после генерации, независимо от персоны. Попытки обхода фиксируются и ведут к ухудшению качества.

Миф

«Temperature = 0 гарантирует детерминизм»

Реальность

Temperature=0 убирает стохастичность сэмплирования, но не детерминизм на уровне железа (race conditions в GPU, батчинг). Для воспроизводимости нужен seed + идентичное окружение.

Чек-лист: аудит промта перед отправкой

Три принципа, которые стоит запомнить

  1. Структура побеждает хитрость. Чёткий промт с ролью, контекстом, форматом и ограничениями даёт стабильный результат. «Джелбрейки» ломаются за ночь.
  2. Отказ — не баг, а сигнал. Если модель отказывает, значит запрос задел слой безопасности. Переформулируйте задачу в легальном ключе: обзор, анализ, защита, обучение.
  3. Промт-инженерия — итеративный процесс. Первый вариант редко идеален. Тестируйте, убирайте шум, добавляйте примеры, зафиксируйте рабочую версию как шаблон.

Качество ответа определяется не тем, как «обмануть» модель, а тем, насколько точно вы описали задачу.