Перейти к содержанию

Промпт-инженеринг

~7 минут чтения

Полный гайд по техникам промптинга для AI/LLM инженеров (2025-2026)


Ключевые концепции

Сдвиг парадигмы 2025-2026

Было Стало
Craft prompts вручную Проектирование reasoning systems
Статические промпты Динамические, адаптивные
Single-shot Multi-turn, итеративное уточнение

Иерархия техник:

Уровень Техника Сложность Прирост точности
Базовый Zero-shot, Few-shot Низкая Baseline
Средний Chain-of-Thought, Role Средняя +10-30%
Продвинутый Tree of Thoughts, Self-Consistency Высокая +20-50%
Передний край Atom of Thoughts, Graph of Thoughts Очень высокая +30-70%

1. Zero-Shot Prompting

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

Classify the sentiment: {text}

2. Few-Shot Prompting

2-5 примеров перед задачей. Performance ~ log(num_examples) -- после 5 примеров diminishing returns.

Text: "Great product!" -> Positive
Text: "Terrible experience" -> Negative
Text: "{input}" ->
Задача Zero-Shot Few-Shot (3) Прирост
Classification 70% 85% +15%
Translation 75% 88% +13%
Reasoning 55% 72% +17%

Best practices: 3-5 diverse examples, consistent format, most relevant first.

3. Chain-of-Thought (CoT)

Промежуточные шаги рассуждения. Формула: P(answer | question, reasoning) > P(answer | question).

Варианты:

Вариант Описание Когда
Zero-shot CoT "Let's think step by step" Быстрые задачи
Few-shot CoT Примеры с рассуждениями Pattern learning + reasoning
Auto-CoT Модель генерирует примеры сама Автоматизация
Manual CoT Человек пишет reasoning chains Критические задачи

Прирост по типу задачи:

Задача Без CoT С CoT Прирост
Math (GSM8K) 17% 58% +41%
Reasoning (StrategyQA) 55% 72% +17%
Symbolic 20% 60% +40%
Simple Q&A -- -- 0-10% (overhead)

Прирост по размеру модели:

Модель Без CoT С CoT
7B 15% 35%
70B 35% 65%
GPT-4 55% 85%

4. Tree of Thoughts (ToT)

Исследование нескольких ветвей рассуждений с backtracking.

graph TD
    P["Problem"] --> A1["Thought A1"]
    P --> A2["Thought A2"]
    P --> A3["Thought A3"]
    A1 --> B1["B1"]
    A1 --> B2["B2"]
    A2 --> B3["B3"]
    A3 --> B4["B4"]
    B1 --> EVAL["Evaluation"]
    B2 --> EVAL
    B3 --> EVAL
    B4 --> EVAL
    EVAL --> SOL["Solution"]

    style P fill:#e8eaf6,stroke:#3f51b5
    style EVAL fill:#fff3e0,stroke:#ff9800
    style SOL fill:#e8f5e9,stroke:#4caf50
Аспект CoT ToT
Путей 1 Множество
Backtracking Нет Да
Стоимость Ниже 5-20x
Для Линейные задачи Задачи с ветвлением

Реализация:

def tree_of_thoughts(problem, max_depth=3):
    thoughts = generate_initial_thoughts(problem, k=3)
    for depth in range(max_depth):
        new_thoughts = []
        for thought in thoughts:
            branches = expand_thought(thought, k=2)
            evaluated = [evaluate(t) for t in branches]
            new_thoughts.extend(top_k(evaluated, k=1))
        thoughts = new_thoughts
    return best_solution(thoughts)

Best practices: 3-5 мыслей за шаг, глубина 3-5, early pruning low-scoring paths.

5. Self-Consistency

Генерация множества reasoning paths + majority voting.

\[Answer = \arg\max_{a} \sum_{i=1}^{n} \mathbb{1}[answer_i = a]\]
Paths Math (GSM8K) Прирост Cost multiplier
1 (CoT) 58% -- 1x
5 68% +10% 5x
10 74% +16% 10x
20 78% +20% 20x
40 80% +22% 40x

Diminishing returns после 10-20 paths. Используй для high-stakes decisions, не для quick prototyping.

6. Least-to-Most Prompting

Декомпозиция сложной задачи на подзадачи, решение от простого к сложному.

Problem: "What's the population of the capital of the country
          that won the 2018 World Cup?"

Sub-problems:
1. Who won the 2018 World Cup? -> France
2. Capital of France? -> Paris
3. Population of Paris? -> 2.1M

Прирост +50-200% на compositional tasks. Cost 3-10x.

7. Graph of Thoughts (GoT)

Расширение ToT: произвольные графовые структуры вместо деревьев. Позволяет мёрджить мысли из разных веток, нелинейное рассуждение.

8. Atom of Thoughts

Маркеры естественного языка для управления reasoning: "I wonder if...", "Let me try a different approach...", "Wait, what if...", "Actually, I should reconsider...". Более натуральный reasoning flow + self-correction.

9. Meta-Prompting

Использование LLM для генерации/оптимизации других промптов.

You are a prompt engineer. Create an optimal prompt for:
{task_description}
Requirements: clear instructions, format, edge cases.

Применения: генерация промптов, рефайнмент, task decomposition, format specification.

10. Role-Based Prompting

Назначение persona/expertise. Прирост +10-50% для domain tasks.

Тип роли Прирост
Expert +5-10%
Careful thinker +8-15%
Specific domain +10-20%

Детали и практика

Принципы 5C

Принцип Описание
Clear Однозначные инструкции
Concrete Конкретные примеры
Complete Весь необходимый контекст
Consistent Единая терминология
Concise Без лишних слов

2026 Чеклист (перед каждым промптом)

  1. Success criteria -- что значит "сделано" и как проверить?
  2. Output contract -- формат, длина, тон, обязательные секции
  3. Constraints -- scope, исключения, что делать при неопределённости
  4. Inputs -- минимальный контекст + данные
  5. Examples -- 1-3 примера если формат важен
  6. Verification -- рубрика/чеклист для поимки ошибок
  7. Iteration -- запросить уточняющие вопросы при низкой уверенности

4-блочный макет промпта

## INSTRUCTIONS
{{что делать}}

## INPUTS
{{данные, документ, контекст}}

## CONSTRAINTS
{{scope, исключения, uncertainty rule}}

## OUTPUT FORMAT
{{контракт / схема}}

Output Contract

{
  "summary": "2-3 sentences",
  "key_points": ["..."],
  "assumptions": ["..."],
  "risks": ["..."],
  "next_steps": ["..."]
}

Self-Check Evaluator

Before finalizing, verify:
- Output matches the requested format exactly
- All success criteria are satisfied
- Claims not supported by inputs marked as [UNCERTAIN]
- Next steps are specific and actionable

Score the draft (0-5): Correctness, Completeness, Clarity, Actionability
If any score < 4, revise and rescore.

Iterative Refinement

def iterative_refine(prompt, max_iterations=3):
    response = llm.generate(prompt)
    for i in range(max_iterations):
        critique = llm.generate(f"Critique:\n{response}")
        response = llm.generate(f"Improve based on:\n{critique}\n\nOriginal: {response}")
    return response

Заметки по моделям

Модель Что работает лучше
ChatGPT Explicit formatting + constraints; structured outputs
Claude Contract-style instructions, critique/evaluation steps
Gemini Clear input labeling (multimodal), explicit verification

Анти-паттерны

CoT overhead на простых задачах

Chain-of-Thought добавляет 2-5x токенов. На простых задачах (classification, fact retrieval) CoT не даёт прироста и только увеличивает cost/latency. Используй zero-shot для простых задач, CoT только для reasoning.

Анти-паттерн Проблема
Keyword dumping Длинные списки инструкций без приоритетов
Hidden constraints Ожидание формата/длины без явного указания
Context dumping Большой input без "what matters most"
Conflicting goals "Short" и "comprehensive" одновременно
One-shot shipping Без self-check и итерации

Инструменты

Инструмент Назначение
Promptfoo Тестирование и сравнение промптов
LangSmith Tracing и evaluation
DSPy Декларативное промптирование (определяешь signature, DSPy оптимизирует)
Outlines Structured generation с JSON Schema
Instructor Pydantic models для LLM output
LMQL Query language для constrained generation

Метрики оценки промптов

\[\text{Quality} = \frac{\text{Successful Outputs}}{\text{Total Attempts}}\]
\[\text{Consistency} = 1 - \frac{\sigma(\text{outputs})}{\mu(\text{outputs})}\]
\[\text{Efficiency} = \frac{\text{Quality Score}}{\text{Token Cost}}\]

Выбор техники (Decision Matrix)

Задача Техника Стоимость
Простой Q&A Zero-shot 1x
Формат/паттерн Few-shot 2-3x
Математика/логика CoT + Self-Consistency 2-10x
Сложные решения ToT 5-20x
Композиционные задачи Least-to-Most 3-10x
Код Few-shot CoT + Role 3-5x
Creative writing ToT + Role 5-20x
Structured extraction Schema + Few-shot 2-3x
Оптимизация промптов Meta-prompting 2-4x

Enterprise Adoption (2026)

Техника Adoption
Few-shot 90%+
CoT 80%+
Structured output 70%+
Self-Consistency 30-50%
ToT 10-20%

Для интервью

Q: "Разница между zero-shot и few-shot?"

Zero-shot -- прямая инструкция без примеров, опирается на pretrained knowledge. Best for simple tasks. Few-shot -- 2-5 примеров перед запросом. Лучше для novel/complex tasks. Diminishing returns после 5.

Q: "Когда использовать Chain-of-Thought?"

Использовать: математика, multi-step logic, complex decisions, промежуточная верификация. Не использовать: простая классификация, fact retrieval, time-sensitive приложения (добавляет latency). CoT бесполезен для моделей <7B. Максимальный прирост на GSM8K: +41%.

Q: "Как работает Self-Consistency?"

Генерируешь 5-10 reasoning paths с разным sampling. Извлекаешь финальные ответы. Majority voting. Для p > 0.5 majority vote ВСЕГДА лучше single sample. Diminishing returns после 10-20 paths. Trade-off: 10x стоимость за +16% accuracy.

Q: "ToT vs CoT -- когда что?"

CoT -- линейные задачи (math word problems). ToT -- задачи с ветвлением (game strategy, debugging, decisions with tradeoffs). ToT стоит 5-20x дороже, даёт +30-150% на подходящих задачах.

Q: "Как изменился промптинг с reasoning models (o1/o3)?"

Раньше: ты пишешь reasoning steps (CoT). Теперь: модель генерирует hidden reasoning chain автоматически. Сдвиг: фокус на problem specification вместо reasoning guidance. Trade-off: меньше контроля над рассуждением, но выше качество на complex tasks.

Q: "DSPy vs традиционный промптинг?"

Traditional: ручной craft, итерация вручную. DSPy: декларативно -- определяешь signature, DSPy оптимизирует промпты автоматически. DSPy для: production systems, complex pipelines, teams. Traditional для: quick prototyping, simple tasks.

Q: "Как бороться с prompt injection?"

  1. Input validation и sanitization
  2. Role separation (system vs user prompts)
  3. Output filtering
  4. Structured formats (JSON schema enforcement)
  5. Content moderation layer

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

Ошибка Влияние Исправление
Слишком много examples Confusion, cost Max 3-5
Inconsistent format Ненадёжный output Стандартизировать
CoT для простых задач Лишние токены Zero-shot
Single path для complex Низкая accuracy Self-Consistency
CoT для моделей <7B Не работает Bigger model или few-shot

See Also


Источники

  1. PromptingGuide.ai -- "Prompt Engineering Techniques"
  2. Lakera -- "The Ultimate Guide to Prompt Engineering in 2026"
  3. IBM -- "Prompt Engineering Techniques"
  4. K2View -- "Top 6 Techniques for 2026"
  5. Galileo AI -- "8 Chain-of-Thought Techniques To Fix AI Reasoning Failures"
  6. Digital Applied -- "Prompt Engineering: Advanced Techniques for 2026"
  7. Kovisys -- "Prompt Engineering 2026: 12 Advanced Techniques"
  8. Adaline Labs -- "Reasoning Prompt Engineering Techniques"
  9. PromptBuilder.cc -- "Prompt Engineering Best Practices"
  10. CodeSignal -- "Best Practices 2025"
  11. Claude Blog -- "Best Practices for Prompt Engineering"
  12. arXiv -- "Demystifying Chains, Trees, and Graphs of Thoughts"