Промпт-инженерия: 30 приёмов для продвинутых
Chain-of-thought, few-shot, мега-промпты, system prompts, temperature — полное руководство по продвинутой работе с LLM.
Почему промпт-инженерия важна
Разница между новичком и экспертом в ИИ — не в инструментах, а в промптах. Один и тот же Claude может выдать посредственный ответ или гениальный — всё зависит от того, как вы задали вопрос.
Промпт-инженерия — это не "магические заклинания". Это понимание того, как работают языковые модели, и использование этого знания для получения лучших результатов.
Эта статья — для тех, кто уже использует ИИ, но хочет выжать максимум. 30 приёмов, разбитых по категориям.
Категория 1: Структура промпта
Приём 1: Role + Task + Context + Format
Базовая формула для любого промпта:
Role: Ты — [роль/эксперт]
Task: Тебе нужно [конкретная задача]
Context: [контекст, ограничения, аудитория]
Format: Ответь в формате [желаемый формат]
Пример:
Ты — опытный копирайтер, специализирующийся на SaaS.
Напиши 5 вариантов заголовка для лендинга CRM-системы.
Целевая аудитория: владельцы малого бизнеса, 30-50 лет.
Формат: нумерованный список, каждый заголовок до 10 слов,
после каждого — объяснение в 1 предложении, почему он работает.
Приём 2: Negative prompting
Скажите модели, чего НЕ делать:
Напиши описание продукта.
НЕ используй: "инновационный", "уникальный", "лучший на рынке".
НЕ начинай с вопроса.
НЕ пиши более 100 слов.
Негативные инструкции часто работают лучше позитивных, потому что ограничивают пространство ответов.
Приём 3: Step-by-step instructions
Разбивайте сложные задачи на шаги:
Проанализируй этот код и улучши его. Действуй по шагам:
Шаг 1: Прочитай код и определи его назначение
Шаг 2: Найди баги и потенциальные проблемы
Шаг 3: Определи узкие места по производительности
Шаг 4: Предложи улучшения по каждому пункту
Шаг 5: Напиши улучшенную версию с комментариями
Приём 4: Delimiter separation
Используйте разделители для структурирования входных данных:
Переведи текст между тройными кавычками на английский.
Сохрани форматирование Markdown.
\"\"\"
# Заголовок статьи
Это **важный** текст с [ссылкой](url).
- Пункт 1
- Пункт 2
\"\"\"
Другие разделители: ---, ###, <text></text>, [START]...[END].
Приём 5: XML-теги для структуры
Claude особенно хорошо работает с XML-тегами:
<task>Напиши email клиенту</task>
<context>
Клиент: Иван, CEO стартапа, купил наш план Pro месяц назад
Ситуация: хотим предложить апгрейд до Enterprise
Тон: дружелюбный, но профессиональный
</context>
<constraints>
- Длина: до 150 слов
- Без pressure tactics
- Один конкретный CTA
</constraints>
Категория 2: Техники рассуждений
Приём 6: Chain-of-Thought (CoT)
Попросите модель думать вслух:
Реши задачу шаг за шагом, показывая ход рассуждений:
У компании 1000 пользователей. Конверсия в платных — 5%.
Средний чек — $29/мес. Churn — 8%/мес.
Какой будет MRR через 6 месяцев, если рост пользователей 10%/мес?
CoT увеличивает точность на математических, логических и аналитических задачах на 30-50%.
Приём 7: Self-consistency
Попросите модель дать несколько ответов и выбрать лучший:
Предложи 3 разных архитектурных решения для этой задачи.
Для каждого укажи плюсы и минусы.
Затем выбери лучшее и объясни почему.
Приём 8: Рефлексия
Попросите модель проверить свой ответ:
Напиши функцию сортировки массива.
Затем проверь её на edge-кейсах:
- Пустой массив
- Один элемент
- Уже отсортированный
- Обратный порядок
- Дубликаты
Если найдёшь баг — исправь.
Приём 9: Adversarial thinking
Попросите модель атаковать собственное решение:
Вот мой бизнес-план: [план]
Теперь представь, что ты — скептичный инвестор,
который ищет причины НЕ инвестировать.
Найди 5 слабых мест в этом плане.
Для каждого предложи, как его закрыть.
Приём 10: Persona switching
Используйте разные "персоны" для разных аспектов задачи:
Оцени этот лендинг с трёх точек зрения:
1. Как UX-дизайнер: удобство, навигация, читаемость
2. Как маркетолог: конверсия, копирайтинг, CTA
3. Как разработчик: код, производительность, SEO
Категория 3: Few-shot и примеры
Приём 11: Few-shot prompting
Дайте модели примеры желаемого формата:
Напиши описание товара в таком стиле:
Пример 1:
Товар: Беспроводные наушники
Описание: Погрузись в музыку без проводов. 40 часов автономности,
активное шумоподавление и кристальный звук. Созданы для тех,
кто не идёт на компромиссы.
Пример 2:
Товар: Умные часы
Описание: Твой личный тренер на запястье. Пульс, шаги, сон —
всё под контролем. Водонепроницаемые, стильные, незаменимые.
Теперь напиши для:
Товар: Портативная колонка
Приём 12: One-shot с идеальным примером
Один очень качественный пример лучше, чем три средних:
Вот идеальный пример code review комментария:
"Функция processOrder() на строке 42 имеет потенциальную проблему:
если payment_status === 'pending', мы всё равно отправляем товар.
Предлагаю добавить проверку: if (payment_status !== 'confirmed') return;
Это предотвратит отправку неоплаченных заказов."
Теперь сделай code review для этого кода: [код]
Приём 13: Counter-examples
Покажите, чего вы НЕ хотите:
Напиши описание вакансии.
ПЛОХО (не так):
"Мы ищем рок-звезду разработки! Если ты ниндзя кода
и гуру JavaScript, присоединяйся к нашей семье!"
ХОРОШО (так):
"Ищем Middle Frontend-разработчика. React, TypeScript,
Next.js. Удалёнка, гибкий график, $4,000-6,000."
Напиши вакансию для: Senior Backend Developer (Python)
Категория 4: System Prompts
Приём 14: Базовый system prompt
System prompt задаёт "характер" модели для всего диалога:
System: Ты — Senior Frontend Developer с 10-летним опытом.
Специализация: React, TypeScript, Next.js, Tailwind.
Стиль ответов: конкретный, с code-примерами, без воды.
При обнаружении потенциальных проблем — предупреждай.
Всегда предлагай типобезопасные решения.
Приём 15: Правила для system prompt
System:
ПРАВИЛА:
1. Всегда пиши TypeScript, не JavaScript
2. Используй функциональные компоненты, не классовые
3. Используй named exports, не default
4. Комментарии — на русском
5. Имена переменных — на английском, camelCase
6. Если задача неоднозначна — задай уточняющий вопрос
Приём 16: Мета-промпт
Промпт, который генерирует промпты:
Ты — эксперт по промпт-инженерии.
Я опишу задачу, а ты создай оптимальный промпт для Claude,
который даст лучший результат.
Включи в промпт:
- Роль
- Контекст
- Конкретные инструкции
- Формат вывода
- Примеры (если нужно)
- Ограничения
Задача: [описание]
Категория 5: Параметры модели
Приём 17: Temperature
Temperature (0.0 - 1.0) контролирует "креативность":
| Temperature | Использование | |-------------|--------------| | 0.0 | Код, математика, фактический ответ — нужна точность | | 0.3 | Рерайт, рефакторинг — немного вариативности | | 0.7 | Креативный текст, идеи, нейминг — нужна оригинальность | | 1.0 | Брейншторм, поэзия — максимальная свобода |
# Пример через API
response = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=1024,
temperature=0.0, # Для кода
messages=[{"role": "user", "content": prompt}]
)
Приём 18: Max tokens
Ограничивайте длину ответа:
- Заголовок: 20-50 tokens
- Описание: 100-200 tokens
- Статья: 2000-4000 tokens
- Код: зависит от задачи
Меньше tokens = быстрее ответ = дешевле.
Приём 19: Stop sequences
Задайте последовательности, при которых модель останавливается:
response = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=1024,
stop_sequences=["---", "КОНЕЦ"],
messages=[{"role": "user", "content": prompt}]
)
Полезно для генерации структурированных ответов.
Категория 6: Продвинутые техники
Приём 20: Мега-промпт
Один длинный промпт, который заменяет несколько итераций:
Ты — Full-Stack разработчик.
ЗАДАЧА: Создай REST API для блога.
ТРЕБОВАНИЯ:
- Express.js + TypeScript
- PostgreSQL через Prisma
- JWT авторизация
- CRUD для постов и комментариев
- Валидация через Zod
- Rate limiting
- Error handling middleware
СТРУКТУРА ОТВЕТА:
1. Prisma Schema
2. Все route-файлы
3. Middleware
4. Утилиты
5. Пример .env
6. Команды для запуска
СТИЛЬ КОДА:
- Async/await, не callbacks
- Dependency injection
- Separation of concerns
- Meaningful error messages
ОГРАНИЧЕНИЯ:
- Не используй ORM кроме Prisma
- Не используй Express middleware кроме cors и helmet
- Пароли хэшируй через bcrypt
Приём 21: Iterative refinement
Улучшайте ответ в несколько итераций:
Итерация 1: Напиши первый черновик
Итерация 2: Теперь улучши: добавь конкретные цифры и примеры
Итерация 3: Сократи на 30%, убрав повторы и воду
Итерация 4: Проверь факты и логику
Приём 22: Constraint satisfaction
Задайте несколько ограничений одновременно:
Напиши email с этими ограничениями:
- Ровно 3 абзаца
- Первый абзац — проблема (до 30 слов)
- Второй абзац — решение (до 50 слов)
- Третий абзац — CTA (до 20 слов)
- Тон: дружелюбный, но профессиональный
- Без вопросов в тексте
- Одна ссылка в CTA
Приём 23: Structured output
Заставьте модель отвечать в строгом формате:
Проанализируй конкурента и ответь СТРОГО в таком JSON:
{
"company": "название",
"strengths": ["сила1", "сила2", "сила3"],
"weaknesses": ["слабость1", "слабость2"],
"pricing": {"min": число, "max": число, "currency": "USD"},
"target_audience": "описание",
"threat_level": "low|medium|high"
}
Конкурент: [описание]
Приём 24: Tree of Thought
Модель исследует несколько путей решения:
Задача: [описание]
Рассмотри 3 подхода к решению:
Подход A: [опиши]
- Продумай на 3 шага вперёд
- Оцени вероятность успеха
Подход B: [опиши]
- Продумай на 3 шага вперёд
- Оцени вероятность успеха
Подход C: [опиши]
- Продумай на 3 шага вперёд
- Оцени вероятность успеха
Выбери лучший подход и реализуй его.
Приём 25: Emotional prompting
Добавление эмоционального контекста улучшает качество:
Это критически важный код для медицинской системы.
Ошибка может стоить жизни. Будь максимально внимателен
к edge-кейсам, валидации данных и обработке ошибок.
Исследования показывают, что emotional prompting повышает точность на 10-15%.
Приём 26: Контекстное окно как ресурс
У Claude контекстное окно 200K токенов. Используйте это:
Вот полная документация нашего API (50 страниц): [текст]
Вот текущий код клиента: [код]
Вот список багов: [список]
На основе всей этой информации: исправь баги,
обнови код под новую документацию, добавь обработку
новых эндпоинтов.
Приём 27: Прогрессивное раскрытие
Начните с простого и усложняйте:
Сообщение 1: Объясни концепцию microservices в 3 предложениях
Сообщение 2: Теперь подробнее — какие паттерны коммуникации?
Сообщение 3: Покажи пример на Node.js с gRPC
Сообщение 4: Добавь service discovery и circuit breaker
Приём 28: Prompt chaining
Разбейте сложную задачу на цепочку промптов:
Промпт 1: "Проанализируй рынок CRM и выдели 5 болевых точек"
→ результат_1
Промпт 2: "На основе {результат_1} предложи 3 продуктовые идеи"
→ результат_2
Промпт 3: "Для лучшей идеи из {результат_2} напиши PRD"
→ результат_3
Промпт 4: "На основе {результат_3} создай техническую архитектуру"
Приём 29: Калибровка через примеры с оценками
Оцени качество текста по шкале 1-10.
Примеры калибровки:
- "Купи наш продукт он лучший" → 2/10 (нет аргументов, давление)
- "Наш CRM помогает увеличить продажи на 30%" → 6/10 (есть цифра, но общо)
- "Компания X увеличила конверсию с 2% до 7% за 3 месяца
с помощью нашего CRM. Вот их кейс." → 9/10 (конкретика, доказательство)
Теперь оцени: [текст]
Приём 30: Мультимодальный промптинг
Комбинируйте текст с изображениями:
[прикрепить скриншот UI]
Вот скриншот нашего дашборда. Проанализируй UI:
1. Что можно улучшить с точки зрения UX?
2. Где нарушена визуальная иерархия?
3. Предложи конкретные правки (шрифт, цвет, отступы)
4. Напиши CSS/Tailwind код для исправлений
Шпаргалка
| Задача | Лучший приём | |--------|-------------| | Генерация кода | Мега-промпт (#20) + Рефлексия (#8) | | Анализ текста | CoT (#6) + Structured output (#23) | | Креативный текст | Few-shot (#11) + Temperature 0.7 (#17) | | Бизнес-решения | Adversarial (#9) + Tree of Thought (#24) | | Code review | Step-by-step (#3) + Persona switching (#10) | | Рефакторинг | Negative prompting (#2) + Constraint (#22) |
Хочешь изучить это глубже? Смотри наш курс — разберём продвинутые техники промптинга на реальных проектах.