# Урок 11: Практика с промптами — из теории в практику

> [HTML-версия](https://learnvibecoding.ru/publiclessons/urok-11-praktika-s-promptami-iz-teorii-v-praktiku) · [Индекс для LLM](https://learnvibecoding.ru/llms.txt) · [Политика использования материалов](https://learnvibecoding.ru/politika-materialov)
> Материалы защищены. Обучение LLM без согласия запрещено. При разрешённом использовании — обязательна прямая ссылка на страницу-источник.

**Курс:** Основы ИИ обновленный

# Урок 11: Практика с промптами — из теории в практику

## Контекст

**Ты прошёл все 10 уроков теории. Ты знаешь как работают LLM, температуру, как писать промпты, про галлюцинации и безопасность. Ты знаешь про четыре компетенции AI-грамотности.**

Но между знанием и умением есть огромная разница. Промпт-инженерство — это не лекция. Это ПРАКТИКА.

В этом уроке ты будешь писать промпты, видеть результаты, адаптировать, и итерировать. Через три часа практики ты будешь писать промпты лучше чем 90% людей.

**Что будешь делать:**
- Писать 5+ промптов для разных задач
- Видеть результаты и понимать почему они такие
- Итерировать и улучшать результаты
- Применять техники из Уроков 0.8-0.9
- Развивать свой стиль написания промптов

**Главное:** Лучший способ научиться писать промпты — это писать плохие промпты, видеть что получается, и переписывать. Не опасайся ошибок. Они — часть процесса.

---

## Блок 1: Практика 1 — Простой промпт: Генерация текста

### Упражнение 1.1: Напишите письмо

**Задача:** Ты написал черновик письма, но оно скучное. Даёшь LLM чтобы она улучшила.

#### Версия 1: Плохой промпт

```
Промпт: "Улучши это письмо"

[вставляешь письмо]
```

**Что произойдёт:** LLM может:
- Не понять что "улучшить" (сделать короче? интереснее? формальнее?)
- Дать общую доработку без контекста
- Изменить смысл письма

---

#### Версия 2: Лучше (добавляем контекст)

```
Промпт: "Улучши это письмо. 
Письмо от меня (Маша) к моему начальнику (Петя).
Я прошу отпуск на неделю.
Тон: профессиональный но теплый.
Не меняй основное содержание, только улучши стиль."

[письмо]
```

**Что произойдёт:** Лучше!
LLM теперь знает контекст и может улучшить правильно.

---

#### Версия 3: Отлично (добавляем требования и примеры)

```
Промпт: "Улучши это письмо от сотрудника Маши к начальнику Пете.

КОНТЕКСТ: Маша просит отпуск на неделю. Она хороший сотрудник, работает 5 лет.

ТРЕБОВАНИЯ:
- Тон: Профессиональный но теплый (не холодный, не слишком дружеский)
- Длина: Примерно столько же слов (не сокращай сильно, не раздувай)
- Структура: 
  * Приветствие → уважение к начальнику
  * Запрос → ясная просьба
  * Обоснование → почему именно в эти даты
  * Заключение → благодарность
- Стиль: Деловой русский (нет слэнга, нет излишних эмоджи)

ПРИМЕРЫ ХОРОШЕГО ТОНА:
'С глубоким уважением прошу...' (не 'умоляю')
'Я понимаю загруженность отдела...' (не 'я знаю что занято')

Вот письмо:"

[письмо]
```

**Что произойдёт:** Отлично!
LLM теперь имеет точные требования и примеры.

---

### Что я заметил:

```
ВЕРСИЯ 1: "Улучши письмо" ❌
→ Слишком расплывчато

ВЕРСИЯ 2: добавили контекст ✅
→ Лучше результаты

ВЕРСИЯ 3: добавили требования + примеры ✅✅
→ Отличные результаты

КЛЮЧ: Чем больше деталей в промпте → тем лучше результат
      (но не заполняй промпт лишним)
```

---

## Блок 2: Практика 2 — Среднее: Классификация

### Упражнение 2.1: Классифицируй твиты

**Задача:** Ты имеешь список твитов. Нужно классифицировать их на позитивные/негативные/нейтральные.

#### Версия 1: Простой промпт (плохой)

```
Промпт: "Классифицируй эти твиты"

Твиты:
"Люблю этот день!"
"Ненавижу этот день!"
"Интересно что будет завтра"
```

**Что произойдёт:** LLM может дать:
❌ "Люблю этот день!" → "Хороший твит"
❌ "Ненавижу этот день!" → "Плохой твит"
(Не структурировано, результат сложно парсить)

---

#### Версия 2: Добавляем структуру (лучше)

```
Промпт: "Классифицируй эти твиты на позитивные, негативные, нейтральные.

Ответ в формате:
[Твит] → [Классификация]

Твиты:
'Люблю этот день!'
'Ненавижу этот день!'
'Интересно что будет завтра'"
```

**Что произойдёт:** Лучше!
```
"Люблю этот день!" → позитивный
"Ненавижу этот день!" → негативный
"Интересно что будет завтра" → нейтральный
```

Структурировано, легко распарсить.

---

#### Версия 3: Добавляем примеры (отлично)

```
Промпт: "Классифицируй эти твиты на позитивные, негативные, нейтральные.

ПРИМЕРЫ:
'Отличный день!' → позитивный
'Плохое настроение' → негативный
'Может быть хороший день' → позитивный (потому что всё же надежда)
'В 10:00 встреча' → нейтральный (просто факт)

ПРАВИЛА:
- Если есть чувство (люблю, ненавижу, счастлив) → позитивный/негативный
- Если просто факт → нейтральный
- Если надежда на хорошее → позитивный

Ответ в формате: [Твит] → [Классификация]

Твиты:
'Люблю этот день!'
'Ненавижу этот день!'
'Интересно что будет завтра'"
```

**Что произойдёт:** Отлично!
Классификация согласованна и точна.

---

### Что я заметил:

```
Версия 1: Просто просьба ❌
→ Неструктурировано

Версия 2: Просим структурированный ответ ✅
→ Легко парсить

Версия 3: Добавляем примеры (few-shot) ✅✅
→ LLM видит примеры и классифицирует как примеры
→ Максимально консистентно

КЛЮЧ: Few-shot learning (примеры) = супер мощно для классификации
```

---

## Блок 3: Практика 3 — Сложное: Анализ с Chain-of-Thought

### Упражнение 3.1: Почему клиент уходит?

**Задача:** Ты имеешь текст обратной связи от клиента. Нужно понять ПОЧЕМУ он жалуется.

#### Версия 1: Просто просим анализ

```
Промпт: "Проанализируй почему клиент недоволен"

[Текст обратной связи]
```

**Результат:** Поверхностно:
"Клиент недоволен качеством"
(Не глубоко, не детально)

---

#### Версия 2: Просим Chain-of-Thought

```
Промпт: "Проанализируй почему клиент недоволен.

Отвечай пошагово:
Шаг 1: Какая основная жалоба?
Шаг 2: Какие детали поддерживают эту жалобу?
Шаг 3: Какая основная причина?
Шаг 4: Что это значит для нашего бизнеса?
Шаг 5: Какое решение?

[Текст обратной связи]"
```

**Результат:** Глубоко!
```
Шаг 1: Клиент жалуется что товар долго доставляется
Шаг 2: Он пишет "заказал 2 недели назад, всё ещё не пришло"
Шаг 3: Основная причина: слабая логистика или неправильное отслеживание
Шаг 4: Это значит мы теряем клиентов на доставке
Шаг 5: Решение: улучшить логистику или улучшить коммуникацию о сроках
```

Гораздо более полезный анализ!

---

### Что я заметил:

```
Версия 1: Просто просьба → поверхностный ответ ❌

Версия 2: Chain-of-Thought (пошагово) → глубокий ответ ✅✅

КЛЮЧ: Chain-of-Thought помогает LLM думать пошагово
      Вместо быстрого (и неправильного) ответа
```

---

## Блок 4: Практика 4 — Кейс: Полная система (для advanced)

### Упражнение 4.1: Спроектировать чат поддержки

**Сценарий:** Ты создаёшь чат поддержки для помощника по готовке.

**Задача:** Написать system prompt который будет хорошо работать.

#### Попытка 1: Просто инструкция

```
System Prompt:
"Ты помощник по готовке. Помогай пользователям готовить."
```

**Проблема:** 
- Нет границ (может давать вредный контент)
- Нет контекста (что такое "помощник по готовке"?)
- Нет структуры (что ответить если пользователь просит что-то вне scope?)

---

#### Попытка 2: Полный system prompt

```
System Prompt:
"""
# Ты — помощник по готовке для приложения "RecipeHelper"

## Твоя роль:
- Помогать пользователям найти рецепты
- Объяснять как готовить
- Дать советы по приготовлению
- Помочь с ингредиентами если нет какого-то

## Границы (ЧТО НЕЛЬЗЯ):
- Не давай медицинский совет (если про аллергии → скажи проконсультироваться с врачом)
- Не давай личную информацию о других пользователях
- Не обсуждай политику, религию (только готовка)
- Если пользователь просит что-то вне готовки → вежливо перенаправь

## Как отвечать:
- Тон: Дружеский но профессиональный
- Структура: Если рецепт → сначала список ингредиентов, потом шаги
- Язык: Русский
- Если сомневаешься про ингредиент (аллергены) → скажи "я не уверена, 
  проконсультируйся с врачом или специалистом"

## Примеры хорошего ответа:
- "Привет! Отличный выбор. Макароны Болоньезе простые для начинающих. 
   Вот что нужно..."
- "Я не полностью уверена про эту комбинацию. Может быть хорошо, 
  может быть неудачно. Посоветую попробовать небольшое количество первый раз."

## Примеры плохого ответа:
- "Не знаю" (всегда пытайся помочь)
- "Это опасно" (без объяснений)
- Очень длинный ответ (максимум 2 абзаца если вопрос простой)
"""
```

**Результат:** 
Система работает хорошо! Она знает:
- Что делать (помогать с готовкой)
- Чего не делать (медицина, политика)
- Как отвечать (дружеский тон, структура)
- Когда сомневаться (аллергены, комбинации)

---

### Что я заметил:

```
Попытка 1: Минимум информации ❌
→ Система может делать непредсказуемое

Попытка 2: Полное описание роли + границы + примеры ✅✅
→ Система работает консистентно и безопасно

КЛЮЧ: Хороший system prompt = предсказуемое поведение
      Плохой system prompt = хаос
```

---

## Блок 5: Практика 5 — Реальная задача из твоей жизни

### Упражнение 5.1: Своя задача

**Инструкция:**

1. **Выбери свою задачу** (что-то ЧТО ТЫ РЕАЛЬНО ДЕЛАЕШЬ):
   - Написание писем
   - Анализ данных
   - Написание кода
   - Генерация идей
   - Перевод текста
   - Что угодно!

2. **Напиши ПЛОХОЙ промпт** (первый draft):
   ```
   Промпт: [твой первый промпт]
   ```

3. **Запусти его в ChatGPT / Claude.ai**:
   - Посмотри результат
   - Заметь что получилось

4. **Напиши ХОРОШИЙ промпт** (версия 2):
   - Добавь контекст
   - Добавь требования
   - Добавь примеры (если нужно)
   - Добавь формат ответа (если нужно)

5. **Запусти опять**:
   - Сравни результаты
   - Заметь разницу

6. **Напиши ОТЛИЧНЫЙ промпт** (версия 3):
   - Рефайн требования
   - Добавь negative constraints (что НЕЛЬЗЯ)
   - Если сложно → добавь Chain-of-Thought

7. **Сравни все три версии**:
   - Какая разница в результатах?
   - Что помогло больше?

---

### Пример: Маша пишет письмо VIP клиенту

**Версия 1 (плохо):**
```
"Напиши письмо VIP клиенту"
```
Результат: Стандартное письмо, может быть неправильное для вашего контекста.

**Версия 2 (лучше):**
```
"Напиши письмо VIP клиенту нашего помощника по готовке.
Клиент работает с нами 3 года.
Тон: профессиональный и теплый.
Длина: 2-3 абзаца."
```
Результат: Хорошее письмо, подходит контексту.

**Версия 3 (отлично):**
```
"Напиши письмо VIP клиенту нашего помощника по готовке (RecipeHelper).

КОНТЕКСТ:
- Клиент Маша Иванова, работает с нами 3 года
- Она часто использует приложение, очень верна нам
- Мы хотим предложить ей эксклюзивную подписку

ТРЕБОВАНИЯ:
- Тон: Профессиональный но тёплый (она должна чувствовать что она особенная)
- Структура:
  * Приветствие по имени
  * Благодарность за 3 года
  * Что нового в эксклюзивной подписке
  * Специальная скидка для VIP
  * Приглашение ответить
- Стиль: Русский, деловой, но не сухой
- Длина: 3-4 абзаца

ПРИМЕРЫ ХОРОШЕГО ТОНА:
- 'Маша, мы очень благодарны вам за то что вы с нами с самого начала'
- 'Для нас вы — часть RecipeHelper семьи'

ПРИМЕРЫ ПЛОХОГО ТОНА:
- 'Уважаемая Маша Иванова' (слишком холодно для 3-летнего клиента)
- 'Покупай подписку' (слишком торговое)
- Множество эмоджи (непрофессионально)"
```
Результат: Идеальное письмо, ровно то, что нужно.

---

## Блок 6: Общие ошибки которые я буду делать и как их избежать

### Ошибка 1: Слишком расплывчатый промпт

❌ "Напиши статью про фотосинтез"

✅ "Напиши статью про фотосинтез для школьников 10-12 лет, длина 800 слов, 
   включи 2 аналогии и не используй химические формулы"

---

### Ошибка 2: Противоречивые требования

❌ "Напиши очень короткий текст с много деталей"

✅ "Напиши краткое резюме (100 слов) которое содержит самые важные детали"

---

### Ошибка 3: Не тестировать результат

❌ Написал промпт, получил результат, отправил пользователю

✅ Написал промпт, получил результат, проверил что правильно, потом отправил

---

### Ошибка 4: Не итерировать

❌ "Результат не идеален, но сойдет"

✅ "Результат не идеален, переписываю промпт и пробую опять"

---

### Ошибка 5: Слишком длинный промпт

❌ 2000 слов в промпте

✅ 200-300 слов в промпте (достаточно информации без лишнего)

---

## Блок 7: Финальный чеклист для каждого промпта

Перед тем как считать промпт "готовым", проверь:

- [ ] Промпт содержит точную задачу (что нужно?)
- [ ] Промпт содержит контекст (почему? для кого?)
- [ ] Промпт содержит требования (как? в каком формате?)
- [ ] Если нужно → есть примеры (few-shot)
- [ ] Если нужно → есть negative constraints (что НЕ делать)
- [ ] Промпт не слишком длинный (но содержит нужное)
- [ ] Я протестировал результат
- [ ] Результат соответствует требованиям

**Если все чек-боксы отмечены → промпт готов!**

---

## Блок 8: Как продолжить практиковаться после этого урока

```
ДЕНЬ 1-7: Напиши 1-2 промпта в день на свою реальную задачу
- Версия 1: Простой промпт
- Версия 2: Улучшенный
- Версия 3: Отличный

НЕДЕЛЯ 2: Добавь сложность
- Используй Few-shot learning
- Используй Chain-of-Thought
- Используй negative constraints

НЕДЕЛЯ 3-4: Создай систему
- Напиши system prompt для своего помощника
- Протестируй на разных входах
- Адаптируй на основе результатов

МЕСЯЦ 2: Интеграция
Если готов → спроектируй полную систему (теория 0.7 про Augmentation/Automation/Agency)
```

---

## Финальное слово

После этого блока ты будешь писать промпты значительно лучше чем когда начинал.

Помни:
- Нет "идеального" промпта (всегда можно улучшить)
- Best learning через практику (не через чтение)
- Ошибки — это нормально (даже хорошо)
- Итерация → ключ к успеху

**Начни практиковаться прямо сейчас. После 50+ промптов будешь pro.**

[Все уроки](https://learnvibecoding.ru/publiclessons.md) · HTML: https://learnvibecoding.ru/publiclessons