Промптинг: как ставить задачу
Главный принцип: ставьте задачу агенту так, как ставили бы её сильному стажёру, который вышел на работу сегодня утром. Он умный, быстрый и много знает, но ничего не знает о вашем проекте, ваших договорённостях и ваших ожиданиях. Всё, что вы не сказали, он додумает сам, и не всегда так, как вам нужно.
Отсюда практическое правило: хороший запрос (промпт, prompt) содержит четыре вещи: цель, контекст, ограничения и критерии готовности. Не обязательно оформлять их отдельными пунктами, но проверить, что все четыре есть, стоит.
Анатомия хорошего запроса
Заголовок раздела «Анатомия хорошего запроса»- Что сделать. Конкретный результат, а не направление мысли. «Разберись с логином» — направление. «Найди причину, по которой после логина пользователь видит пустую страницу, и исправь её» — результат.
- Где. Файлы, каталоги, системы, документы. Агент умеет искать сам, но каждая подсказка экономит время и снижает шанс, что он полезет не туда.
- Что не трогать. Ограничения так же важны, как цель: не менять публичный API, не трогать миграции, не переписывать соседний модуль «заодно», не менять структуру документа.
- Как проверить. Критерий готовности: тесты проходят, проект собирается, в тексте нет цифр без источника. Если критерий выполняется командой, агент сможет проверить себя сам.
Плохо → хорошо: три пары
Заголовок раздела «Плохо → хорошо: три пары»Постановка бага.
Плохо: «Поиск сломался, почини».
Хорошо: «В поиске по каталогу запрос “кофе-машина” возвращает пустой список, хотя товары с таким названием есть. Похоже, дело в обработке дефиса. Логика поиска находится в
src/search/. Найди причину, исправь и добавь тест на запросы с дефисом. Индексацию не трогай. Готово, когдаnpm testпроходит и запрос из примера возвращает товары».
Первый вариант заставляет агента угадывать, что именно сломалось и как выглядит «починено». Второй даёт воспроизводимый сценарий, место поиска, границу и проверку.
Новая функциональность.
Плохо: «Добавь экспорт в CSV».
Хорошо: «Добавь на страницу отчёта кнопку “Экспорт в CSV”. Экспортируется текущая отфильтрованная таблица, колонки как на экране. Кодировка UTF-8 с BOM, чтобы файл открывался в Excel. Посмотри, как сделан экспорт в PDF в
src/reports/export/, и сделай в том же стиле. Формат отчёта и логику фильтров не меняй».
Не-кодовая задача: черновик документа.
Плохо: «Напиши анонс новой версии».
Хорошо: «Напиши черновик анонса версии 2.4 для рассылки клиентам. Аудитория — администраторы, не разработчики. Источник —
CHANGELOG.md: возьми оттуда три заметных для пользователей изменения, внутренние рефакторинги пропусти. Объём до 200 слов, тон деловой, без восклицаний. Не обещай сроков по функциям, которых нет в списке изменений».
Заметьте: в «хороших» вариантах нет никакой магии. Там просто проговорено то, что автор и так держал в голове.
Итерации — это нормально
Заголовок раздела «Итерации — это нормально»Не пытайтесь написать идеальный промпт с первого раза. Диалог с агентом — не запрос в поисковик, а именно диалог: посмотрели на первый результат, уточнили курс, попросили переделать кусок. Три коротких уточнения обычно дешевле, чем «исчерпывающий» промпт на страницу, который вы сочиняли двадцать минут и в котором всё равно чего-то не хватит.
Если результат ушёл совсем не туда, часто быстрее не спорить с агентом в той же сессии, а поправить исходную формулировку и начать заново. Подробнее об этом в разделе Контекст-инжиниринг.
Три приёма, которые окупаются
Заголовок раздела «Три приёма, которые окупаются»Попросите план перед выполнением. «Сначала опиши план изменений и ничего не делай, пока я не подтвержу». Для любой задачи крупнее правки одного файла это самый дешёвый способ поймать неверное понимание, до того как агент напишет сто строк не туда. Подробнее об этом в разделе Рабочий цикл.
Попросите задать уточняющие вопросы. «Если для уверенного решения чего-то не хватает, сначала спроси». По умолчанию модель склонна додумывать пробелы, а не признаваться в них; эта фраза заметно меняет поведение.
Дайте пример желаемого результата. Один образец часто заменяет абзац объяснений: «сделай карточку товара по образцу ProductCard.tsx», «отчёт в формате прошлого квартала, файл приложил». Модели хорошо копируют структуру и стиль с примера.
Что дальше
Заголовок раздела «Что дальше»- Контекст-инжиниринг: как управлять содержимым контекстного окна.
- Рабочий цикл с агентом: как встроить хорошие постановки в повторяемый процесс.