Практика: от плохого промпта к хорошему
Практика: от плохого промпта к хорошему
Ты освоил три принципа: конкретность, позитивные инструкции и детализацию. Теперь применим их вместе. В этом уроке мы возьмём реальный плохой промпт и пошагово превратим его в хороший, комментируя каждое изменение.
Исходный промпт
Допустим, перед нами задача: получить от модели план обучения JavaScript для новичка. Кто-то пишет:
Составь план обучения JavaScript.
Это уровень 0. Модель не знает: для кого план, на какой срок, какой глубины, в каком формате. Она сгенерирует среднестатистический план, который с вероятностью 90% не подойдёт.
Шаг 1: Добавляем конкретность (роль + аудитория + срок)
Ты — методист онлайн-школы программирования. Составь план обучения
JavaScript для человека, который никогда не программировал.
План должен быть рассчитан на 4 недели, занятия по 1 часу в день.
Что изменилось: модель теперь знает, КЕМ быть (методист), ДЛЯ КОГО план (абсолютный новичок) и НА КАКОЙ СРОК (4 недели по часу в день). Уже лучше. Но план всё ещё может быть слишком общим.
Шаг 2: Добавляем детализацию структуры
Ты — методист онлайн-школы программирования. Составь план обучения
JavaScript для человека, который никогда не программировал.
4 недели, занятия по 1 часу в день.
План должен содержать:
- На каждую неделю: главная тема недели.
- На каждый день: тема занятия + какой практический результат должен
получить студент (одно предложение).
- Для каждой недели: 1 мини-проект, который студент сделает
в последний день недели, чтобы закрепить материал.
Теперь модель знает структуру: неделя → дни → тема + результат → мини-проект. Ответ будет организованным, а не потоком сознания.
Шаг 3: Убираем отрицания, заменяем позитивными инструкциями
Добавим ограничения — позитивно:
...
Требования к плану:
- Используй только те темы, которые можно освоить в браузере,
без установки дополнительных программ (кроме редактора кода).
- Каждое занятие должно содержать практическое упражнение.
- Мини-проекты должны быть приближены к реальным задачам: калькулятор,
список дел, фильтрация данных, а не абстрактные упражнения.
- Для каждой темы указывай, что именно студент будет УМЕТЬ после
занятия (например, «умеет находить и исправлять ошибки в консоли»).
Шаг 4: Добавляем пример желаемого формата
Модель может по-разному оформить «план на неделю». Покажем:
...
Формат ответа — строго следуй этому шаблону:
## Неделя 1: [Название темы недели]
Мини-проект: [название и одно предложение описания]
### День 1. [Тема]
Результат: [что студент умеет после занятия]
### День 2. [Тема]
Результат: [что студент умеет после занятия]
...
(повторить для 7 дней, последний день — мини-проект)
Итоговый промпт
Собираем всё вместе:
Ты — методист онлайн-школы программирования.
Составь план обучения JavaScript для человека, который никогда
не программировал. 4 недели, занятия по 1 часу в день.
План должен содержать:
- На каждую неделю: главная тема недели.
- На каждый день: тема занятия + практический результат (одно
предложение — что студент будет уметь после занятия).
- Для каждой недели: 1 мини-проект в последний день для закрепления.
Требования:
- Только те темы, которые можно освоить в браузере — установка
дополнительных программ не требуется.
- Каждое занятие содержит практическое упражнение.
- Мини-проекты приближены к реальным задачам (калькулятор, список дел,
фильтрация данных), а не абстрактные упражнения.
- Для каждой темы указывай конкретное умение (например, «умеет находить
ошибки через консоль разработчика»).
Формат ответа — строго по шаблону:
## Неделя 1: [Название темы]
Мини-проект: [название + описание в одном предложении]
### День 1. [Тема]
Результат: [конкретное умение]
(повторить для 7 дней; день 7 — мини-проект)
(То же самое для недель 2–4)
Выход модели (фрагмент):
## Неделя 1: Основы синтаксиса и первые программы
Мини-проект: Калькулятор чаевых — пользователь вводит сумму счёта,
программа считает чаевые и итог.
### День 1. Что такое программирование и как работает JavaScript
Результат: умеет открыть консоль браузера, написать и выполнить
console.log("Hello, world!")
### День 2. Переменные и типы данных
Результат: умеет создавать переменные, различает строки и числа,
выводит значения в консоль
### День 3. Операторы и выражения
Результат: умеет писать арифметические выражения, понимает приоритет
операций
### День 4. Условные конструкции (if/else)
Результат: умеет писать программу, которая принимает решение
в зависимости от условия
### День 5. Функции
Результат: умеет создавать функцию, передавать параметры и получать
результат
### День 6. Практика: пишем вспомогательные функции для калькулятора
Результат: умеет соединять переменные, условия и функции в одной программе
### День 7. Мини-проект «Калькулятор чаевых»
Результат: умеет самостоятельно написать программу из 10–15 строк
с нуля, без подсказок
Разбор трансформации
| Версия | Что изменилось | Проблема |
|---|---|---|
| v0 (исходный) | «Составь план» | Нулевая конкретность |
| v1 (+конкретность) | Роль, аудитория, срок | Всё ещё нет структуры |
| v2 (+детализация) | Структура плана, мини-проекты | Нет требований к содержанию |
| v3 (+позитив) | Конкретные требования вместо запретов | Нет формата |
| v4 (итоговый) | Шаблон формата ответа | — |
Каждый шаг добавляет один слой управления. Вместе они дают промпт, который выдаёт предсказуемый, полезный результат.
Проверь себя
Вот плохой промпт: «Объясни, как работает интернет». Примени 4 шага из урока и напиши улучшенную версию. Опиши, что ты добавил на каждом шаге.
Итог
- Трансформация промпта — это не магия, а системный процесс: конкретность → детализация → позитивные инструкции → формат.
- Каждый шаг добавляет один слой управления. Не пытайся написать идеальный промпт с первой попытки — собирай его слоями.
- Показывай модели пример желаемого формата — это снимает неопределённость.
- Хороший промпт — результат итерации, а не таланта. В следующих модулях ты научишься тестировать промпты и улучшать их на основе ответов модели.
Что дальше
Ты освоил фундамент: конкретность, позитивные инструкции, детализацию. Но есть техника, которая выводит качество промпта на новый уровень — примеры внутри промпта. В следующем модуле разберём few-shot prompting: как несколько примеров могут заменить страницу инструкций.