~/wiki / spravka / deepseek-promting

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

◷ 7 мин чтения 04.06.2026

Основной чат

Чат для вайбкодеров: новости, гайды, поиск исполнителей, маркетплейс и разбор реальных кейсов.

$ cd раздел/ $ join vibe dev
Как правильно составлять промты для DeepSeek: полное руководство - обложка

DeepSeek — мощная AI-модель, но многие получают от неё посредственные результаты не потому, что модель плохая, а потому что промт написан не так. В этой статье разбираем, как правильно формулировать запросы, чтобы получать точные, структурированные и предсказуемые ответы.


Сначала важное: DeepSeek — это не одна модель

Прежде чем писать промт, нужно понять, с какой версией DeepSeek вы работаете. Это напрямую влияет на стратегию.

DeepSeek-V3 / V4 (Chat) — универсальная модель для текстов, анализа, структурированных ответов. Работает как GPT-4o: понимает системные промты, роли, примеры, форматы. Именно эту модель чаще всего используют в сервисах и API-интеграциях.

DeepSeek-R1 (Reasoning) — модель-«мыслитель». Перед ответом строит внутреннюю цепочку рассуждений. Заточена под математику, логику, сложный анализ. Требует совершенно другого подхода к промтингу.

Если вы используете DeepSeek через API в своём сервисе — скорее всего, это модель серии V3/V4. Именно на неё ориентировано большинство советов ниже.


Принципы составления промтов для DeepSeek V3/V4

1. Давайте роль через системный промт

DeepSeek V3 отлично реагирует на чёткое определение роли в системном промте. Это задаёт тон, стиль и рамки всего дальнейшего ответа.

Плохо:

code
Оцени этот текст.

Хорошо (system prompt):

code
Ты — эксперт по оценке качества речи. Анализируешь транскрибированные тексты 
переговоров и звонков. Твои оценки точные, структурированные, без воды. 
Ты указываешь конкретные фрагменты текста как доказательство каждого балла.

2. Структурируйте промт блоками

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

Шаблон структуры:

code
<context>
Ты оцениваешь качество работы менеджера по продажам на основе 
транскрипции звонка с клиентом.
</context>

<task>
Оцени транскрипцию по следующим критериям:
1. Приветствие и установление контакта (0-10)
2. Выявление потребностей клиента (0-10)
3. Работа с возражениями (0-10)
4. Закрытие сделки / следующий шаг (0-10)

Для каждого критерия: поставь балл, процитируй конкретный фрагмент 
из транскрипции как обоснование, дай короткую рекомендацию.
</task>

<transcription>
[ТЕКСТ ТРАНСКРИПЦИИ ЗДЕСЬ]
</transcription>

3. Указывайте формат вывода явно

Если вам нужен конкретный формат — опишите его. DeepSeek умеет выдавать JSON, таблицы, списки, Markdown — но только если вы об этом попросили.

Пример для оценки звонка:

code
Выведи результат строго в следующем формате JSON:
{
  "criteria": [
    {
      "name": "Название критерия",
      "score": 0,
      "quote": "цитата из текста",
      "comment": "краткий комментарий"
    }
  ],
  "total_score": 0,
  "overall_summary": "итоговый вывод"
}
Никакого текста за пределами JSON.

4. Передавайте контекст перед данными

Статичный контекст (правила оценки, критерии, шкала) всегда ставьте в начало промта — до текста транскрипции. Это соответствует архитектуре кэширования DeepSeek и улучшает точность ответа.

Правильный порядок блоков:

  1. Роль / системный промт
  2. Критерии оценки и шкала
  3. Примеры (если нужны)
  4. Сам текст для анализа
  5. Инструкция по формату вывода

5. Используйте отрицательные ограничения

Явно запрещайте то, что не нужно в ответе. Это сильно улучшает предсказуемость.

code
Не добавляй вводных фраз вроде "Конечно!" или "Отличный вопрос!".
Не пиши выводы о личности менеджера — только о конкретных действиях в звонке.
Не оценивай то, что не отражено в транскрипции.
Если фрагмент для цитаты не найден — пиши "не зафиксировано в тексте".

6. Разбивайте сложные задачи на этапы

Если нужно несколько разных типов анализа — не валите всё в один промт. Попросите модель сначала сделать одно, потом другое.

Вместо:

code
Оцени звонок, выдели ключевые фразы, дай рекомендации по скрипту и 
определи тип клиента.

Лучше:

code
Шаг 1. Оцени звонок по критериям (список). Выведи в JSON.
Шаг 2. На основе оценки из шага 1 сформулируй 3 конкретные рекомендации 
для менеджера.

Особые правила для DeepSeek-R1

Если вы работаете с R1 — правила меняются кардинально:

  • Не используйте системный промт — размещайте все инструкции в user-сообщении
  • Не просите "рассуждай пошагово" — R1 делает это автоматически, повторная просьба ломает вывод
  • Не давайте примеры (few-shot) — R1 начинает копировать паттерн примера вместо того, чтобы рассуждать самостоятельно
  • Ставьте температуру 0.5–0.6 — высокая температура разрушает логику рассуждений
  • Запрашивайте только финальный ответ — внутренние рассуждения логируйте на сервере, не показывайте пользователю

Практический шаблон: оценка транскрибированного звонка

Вот готовый промт для системы оценки качества звонков на основе транскрипции:

code
[SYSTEM PROMPT]
Ты — система автоматической оценки качества звонков. Анализируешь 
транскрибированный текст разговора менеджера с клиентом и выставляешь 
оценки строго по заданным критериям. Опираешься только на то, что есть 
в тексте. Не домысливаешь и не предполагаешь.

[USER PROMPT]
Оцени транскрипцию звонка по следующим критериям. Шкала: 0–10.

Критерии:
- Приветствие: представился ли менеджер, назвал ли компанию
- Выявление потребности: задавал ли открытые вопросы, слушал ли клиента
- Презентация: объяснил ли ценность продукта под задачу клиента
- Работа с возражениями: как реагировал на сомнения и отказы
- Закрытие: зафиксирован ли следующий шаг (договорённость, дата, действие)

Формат ответа — JSON:
{
  "scores": {
    "greeting": {"score": 0, "evidence": "цитата или 'не зафиксировано'"},
    "needs_identification": {"score": 0, "evidence": "..."},
    "presentation": {"score": 0, "evidence": "..."},
    "objection_handling": {"score": 0, "evidence": "..."},
    "closing": {"score": 0, "evidence": "..."}
  },
  "total": 0,
  "summary": "2-3 предложения общего вывода"
}

Транскрипция:
---
[ТЕКСТ ТРАНСКРИПЦИИ]
---

Частые ошибки

Ошибка Почему плохо Как исправить
Слишком общий запрос Модель угадывает, что вы хотите Опишите критерии, формат, ограничения
Всё в одном блоке текста Модель теряет приоритеты Разделите на теги/секции
Нет примера формата Структура ответа непредсказуема Покажите желаемый JSON/таблицу
Просите оценить то, чего нет в тексте Модель начинает галлюцинировать Явно запретите выходить за пределы транскрипции
Используете few-shot с R1 R1 копирует паттерн, а не рассуждает Уберите примеры для R1-модели

Итог

Качество ответа DeepSeek напрямую зависит от того, насколько точно вы описали задачу, контекст и ожидаемый формат. Хороший промт — это не «умный вопрос», а чёткое техническое задание: роль, данные, критерии, формат вывода, ограничения.

Для задач анализа транскрипций особенно важно:

  • Передавать шкалу оценки и критерии явно
  • Требовать цитаты как доказательство каждой оценки
  • Запрещать выход за пределы текста
  • Фиксировать формат вывода (JSON предпочтителен для дальнейшей обработки)

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

$ cd ../ ← назад к Справка