Руководство по промпт-инжинирингу
Бесплатное руководство по промпт-инжинирингу для ChatGPT, Claude и Gemini: как писать промпты, основные техники, промпты для программирования и слабые места моделей. Каждый промпт на этих страницах можно изменить и открыть в своём ИИ-приложении.
Начать пошаговый курс по AI PromptsНачало работы
- Что такое промптПромпт: это текст, который вы даёте ИИ-модели, чтобы она знала, что создать. Из чего он состоит, реальные примеры промптов для текста, кода и картинок и чем промпт отличается от ответа и системного промпта.
- Промпт-инжинирингПромпт-инжиниринг: это практика написания и проверки инструкций для ИИ-модели, чтобы она выдавала нужный результат. Разбираем, почему это работает, и собираем карту всех основных техник.
- Как написать промптХороший промпт: это короткое техзадание. Роль, задача, контекст, который модель не угадает, материал для работы, форма ответа и ограничения. Каждая часть исправляет свой способ, которым ответ может пойти не так.
- Примеры промптовТринадцать готовых промптов для учёбы, кода, текстов и планирования. Заполните пропуски, а потом скопируйте промпт или откройте его в ChatGPT или Claude.
- Системный промптСистемный промпт: это набор постоянных инструкций, который действует на весь диалог с ИИ-моделью. Где он находится, что в него писать и чем он отличается от сообщения пользователя.
- Токены и контекстИИ-модели читают текст токенами, небольшими кусочками слов, и могут удерживать лишь ограниченное их число за раз: это контекстное окно. Как устроено и то и другое и что делать, когда чат становится длинным.
- ТемператураТемпература управляет тем, сколько случайности языковая модель использует при выборе каждого следующего слова. Как она меняет шансы слов, когда ставить её низкой или высокой и чем она отличается от top_p.
Базовые техники
- Zero-shot промптингZero-shot промптинг: это когда вы просите модель выполнить задачу только по инструкции, без примеров ответа. Так большинство людей и пользуется ChatGPT, Claude и Gemini, и это хорошо работает, когда задача распространённая, а инструкция точная.
- Few-shot промптингFew-shot промптинг: это несколько готовых примеров в промпте, каждый из которых состоит из входа и нужного ответа, чтобы модель повторила схему. Самый быстрый способ научить модель формату, набору меток или принятому у вас стилю, которые она не угадает.
- Chain of thoughtChain of thought (цепочка рассуждений) просит модель выписать рассуждение, прежде чем дать ответ. Больше всего это помогает в многошаговых задачах по математике и логике и меньше значит для рассуждающих моделей, которые и так думают перед ответом.
- Ролевой промптингРолевой промптинг даёт модели роль: репетитора, ревьюера кода, интервьюера. Роль меняет то, для кого написан ответ и каким требованиям он соответствует; знаний, которых у модели нет, она не добавляет.
- Структурированный выводСтруктурированный вывод: это ответ модели в заранее заданной форме, например JSON, таблица или шаблон, чтобы программа или человек могли использовать его без переделки. Дайте схему, скажите, что делать с отсутствующими значениями, и проверяйте результат в коде.
- Разделители и XML-тегиРазделители отмечают, где вставленный материал начинается и где заканчивается, чтобы модель отличала ваши инструкции от текста, с которым нужно работать. Годятся кавычки, тройные обратные кавычки, строки ### и XML-теги; XML-теги лучше всего масштабируются, когда в промпте несколько кусков материала.
- Шаблоны промптовШаблон промпта: это уже проверенный промпт с пропусками для частей, которые каждый раз меняются. Копируйте готовые шаблоны с полями для заполнения, а потом превратите свой лучший промпт в шаблон за пять шагов.
Продвинутые техники
- Цепочки промптовЦепочка промптов делит работу на последовательность небольших промптов, где результат каждого шага становится входом следующего. Каждый шаг делает одно дело, и его результат можно проверить до того, как запустится следующий.
- Self-consistencySelf-consistency промптинг задаёт один и тот же вопрос на рассуждение несколько раз, позволяет каждому запуску рассуждать по-своему и оставляет ответ, который встречается чаще всего. Как это работает, как делать это вручную и как в коде.
- Tree of thoughtTree of thought (дерево мыслей) заставляет модель исследовать несколько частичных решений, оценивать каждое и оставлять только перспективные ветви. Как работает исходный метод, версия в одном промпте, которую можно попробовать, и где эта версия не дотягивает.
- ReAct промптингReAct промптинг заставляет модель чередовать рассуждение о задаче и вызов инструмента, читая каждый результат, прежде чем решить, каким будет следующий шаг. Это цикл, на котором работает большинство ИИ-агентов.
- Мета-промптингМета-промптинг: это когда модель работает над промптами. Пишет промпт с нуля, улучшает ваш промпт или делит задачу на промпты для других вызовов модели. Как делать каждое из этого и не получить в ответ раздутый промпт.
- Контекст-инжинирингКонтекст-инжиниринг: это решение о том, что попадает в контекстное окно модели при каждом вызове. Инструкции, документы, результаты инструментов, память и история диалога, а также их порядок. Промпт, который вы вводите, лишь одна из частей.
Промпты для кода
- Промпты для написания кодаПромпты для кода работают, когда читаются как маленькое техзадание: язык и версия, входы и выходы, крайние случаи и тесты, которые код должен пройти. Просите по одному небольшому шагу за раз.
- Промпты для отладкиЧтобы отлаживать код с ChatGPT или Claude, вставьте полный текст ошибки и код, который её вызвал, скажите, что ожидали и что произошло, перечислите, что уже пробовали, и просите причину до исправления.
- Объяснение кодаПросите ИИ объяснить код построчно, на вашем уровне, с таблицей того, как меняются значения при выполнении. Скажите, что вы уже знаете, чтобы объяснение начиналось с того места, где вы находитесь.
- Промпты для код-ревьюХороший промпт для код-ревью говорит, что искать, требует оценку серьёзности для каждой находки, конкретный вход, на котором код ломается, и дифф, а стиль просит пропустить. Потом вы проверяете каждую находку, потому что некоторые окажутся неверными.
Ограничения и безопасность
- Галлюцинации ИИГаллюцинация ИИ: это уверенный ответ, который оказывается ложным. Выдуманный факт, ссылка, функция или пакет. Так происходит потому, что языковая модель предсказывает вероятный текст, а не ищет ответ. Промпты могут сократить галлюцинации; поймать их может только проверка.
- Промпт-инъекцииПромпт-инъекция: это атака, при которой текст, прочитанный моделью, будь то сообщение пользователя или текст, спрятанный в письме, на веб-странице или в файле, переопределяет инструкции, данные ей приложением. Разделители помогают, но не останавливают её; останавливает ограничение того, что модель может сделать.
- Доработка промптовУлучшать промпт лучше всего как небольшой эксперимент: решить, как выглядит хороший ответ, держать несколько постоянных тестовых входов, менять по одной вещи за раз и сравнивать результаты бок о бок.