Перевод большого гайда от Open AI: как писать промпты для GPT-4.1
14 апреля компания выпустила большой гайд по промптам к новой модели GPT-4.1. Мы его перевели и адаптировали, приятного чтения 🙃
Общие рекомендации. Контекстные примеры, подробные конкретные запросы, подталкивание модели к тому, чтобы она сама выстраивала логические цепочки, — всё это можно и нужно использовать с GPT-4.1, как и раньше.
Но прошлые модели свободнее интерпретировали запросы. А GPT-4.1 обучили следовать им более буквально. Она чётко реагирует на инструкции и легко управляется. Это удобно, если точно знаете, какой результат вам нужен. И если модель генерирует что-то не то, можно поправить её одним недвусмысленным предложением.
В гайде даём конкретные рекомендации и примеры. Только не забывайте, что работа с ИИ — это процесс, и универсальных рецептов нет. Корректируйте формулировки под себя.
1. Автономное решение задач
GPT-4.1 отлично подходит для самостоятельных рабочих процессов, в которых нейросеть сама идёт к нужному результату.
Чтобы обучить модель, разработчики использовали множество примеров автономного решения задач. Поэтому GPT-4.1 превосходит другие неспециализированные ИИ. Например, она корректно решает 55% задач из теста SWE-bench Verified (теста на исправление ошибок в коде).
Эффективная система промптов
Чтобы по максимуму задействовать автономные возможности GPT-4.1, включите в промпт три элемента.
2. Функция вызова инструментов (Tool-calling). Так модель активнее применяет готовые инструменты, что уменьшает вероятность «галлюцинаций» и случайных догадок. Пример промпта:
3. Логические цепочки (Planning). При включении этой функции модель заранее продумывает и описывает каждый шаг работы с инструментами, а не автоматически выполняет их друг за другом. Пример промпта:
В тестах с этими тремя запросами GPT-4.1 повысила эффективность почти на 20%. Если начинать работу с них, модель станет более «осознанным» участником процесса.
Вызов инструментов (Tool Calls)
Если сравнивать с предыдущими моделями, GPT-4.1 лучше натренирована использовать инструменты. Но не забывайте о четырёх правилах:
- Укажите нужные тулы в поле «Инструменты». Это минимизирует ошибки.
- Опишите их конкретно и чётко.
- Если ваш инструмент сложный, создайте раздел #Примеры в промпте и разместите референсы там. Не добавляйте их в #Описание. Примеры помогут нейросети сориентироваться, когда использовать инструмент.
- Если потребуется основа для новых инструментов, воспользуйтесь функцией «Сгенерировать что угодно» в Prompt Playground.
Логические цепочки промптов
Между вызовами инструментов можно организовать логическую связь. Тогда нейросеть будет опираться не только на задачу, но и на свои «размышления». Проанализирует запрос и логически свяжет его с предыдущим.
Важно: по умолчанию GPT-4.1 не планирует и не выстраивает логические связи. Но чёткий промпт, как пример в пункте «Логические цепочки», может побудить её «размышлять».
Эксперименты с тестом SWE-bench Verified показали: явная просьба пользователя выстраивать логическую цепочку повышает процент успешных решений на 4%.
Пример промпта, проверенного на SWE-bench Verified
Он оптимизирован для программирования, но его можно изменить для решения других задач.
2. Долгое сохранение контекста
GPT-4.1 поддерживает контекст до 1 миллиона токенов и эффективно справляется с большими задачами. Он может:
- анализировать структурированные документы,
- проводить повторную сортировку,
- выбирать релевантную информацию,
- размышлять с использованием контекста.
Оптимальный размер контекста
Модель отлично находит нужную информацию в длинных текстах и эффективно анализирует смешанный контент, где есть и полезные, и бесполезные данные.
Но эффективность может падать при анализе множества элементов одновременно или подготовке сложных выводов, учитывающих весь контекст.
Настройте зависимость от контекста
Перед тем как составлять запрос, подумайте, какие факты потребуются. Должна ли нейросеть задействовать собственные знания или только представленные в контексте данные? Уточните это в промпте:
Оптимальное место для инструкций
Положение инструкций в промпте влияет на производительность нейросети, особенно если контекст длинный.
Тесты показали, что размещать инструкции стоит в начале и в конце контекста. Если же выбирать из этого что-то одно, то эффективнее давать инструкции вверху.
3. Цепочка рассуждений (Chain of Thought)
Повторим: GPT-4.1 — не модель логического мышления, но пользователь может побудить её строить цепочки рассуждений. Это эффективно, когда модели нужно разбить задачи на более управляемые части. Так качество результатов повысится. Правда, при этом модель будет «думать» дольше.
Можно использовать в конце запроса такую инструкцию:
Чтобы улучшить цепочку рассуждений, нужно проанализировать ошибки в ответе. Более чёткие инструкции помогут устранить проблемы в логике.
Чаще всего нейросеть ошибается из-за неправильного понимания намерений пользователя, недостаточного сбора или анализа контекста, неполного или неверного пошагового рассуждения. На эти моменты стоит обращать особое внимание и корректировать их детализированными инструкциями. Вот как их можно сформулировать:
4. Следование инструкциям
GPT-4.1 умеет чётко следовать указаниям. Это позволяет пользователям контролировать результат без дополнительных усилий.
Но неявные запросы теперь действовать не будут. Промпты, оптимизированные для других GPT, могут не так эффективно работать в GPT-4.1. Ей нужно чётко указать, что делать и чего не делать. Модель понимает всё буквально.
Рекомендации по работе
Собрали советы для эффективных и безошибочных инструкций.
- Начинайте промпты с разделов: «Правила формирования ответа» или «Инструкции». Обозначьте в них общие рекомендации для модели.
- Если хотите изменить поведение модели точечно, добавьте раздел для дополнительных сведений.
- Чтобы модель выполняла определённые шаги в процессе работы, добавьте их чёткий список.
- Если нейросеть всё ещё ведёт себя не так, как вы ожидали, то:
а) Проверьте, нет ли противоречий в ваших указаниях. Если есть, GPT-4.1 следует тому, которое ближе к концу запроса.
б) Добавьте примеры желаемого поведения.
в) Поэкспериментируйте с дополнительными элементами: капсом или системой вознаграждения для модели — хотя обычно в этом нет необходимости.
Разработчикам полезно использовать IDE с ИИ-поддержкой для итеративной разработки промптов, чтобы проверять их согласованность, добавлять примеры и комплексно обновлять инструкции.
Распространённые причины ошибок
Эти ошибки свойственны не только GPT-4.1, но их важно упомянуть.
- Слишком строгие инструкции могут привести к ошибке.
Например, вы попросите:
Вызови инструмент перед ответом
Тогда модель может ошибочно использовать нулевые значения или «галлюцинировать». Поэтому добавьте:
При недостатке данных запроси их у пользователя
Это предотвратит ошибку.
- Если вы приведёте примеры фраз, все ответы модели могут стать похожими на них и будут выглядеть однообразно. Укажите, что она должна менять формулировки при необходимости.
- Без конкретных инструкций некоторые модели ищут дополнительную информацию для объяснения своих решений или дают больше ответов, чем надо. Чётко укажите, в какой информации вы нуждаетесь и в каком объёме.
Пример промпта: Служба поддержки клиентов
Этот промпт включает в себя все вышеупомянутые правила. Здесь указана специфика запроса и приведены примеры. В дополнительных разделах запрос детализируется так, чтобы модель лучше его поняла.
5. Общие советы
Структура промпта
Чтобы составить идеальный промпт, используйте следующую структуру:
Если надо, добавляйте или убирайте разделы. Экспериментируйте с формулировками, чтобы найти оптимальное решение вашей задачи.
Разделители контекста (Delimiters)
Их используют, чтобы запрос интерпретировался однозначно. Эти «визуальные маркеры» помогают модели чётко понимать, где начинается и где заканчивается разная информация в вашем запросе. Они бывают текстовые (---, ###, """, ***), кодовые ( , , ` ) и JSON/XML ({}, <>, []).
Вот как мы рекомендуем их применять.
1. Используйте разделители, если ваш промпт длиннее 2–3 предложений или содержит смешанные типы данных (код, текст, примеры).
2. При оформлении запроса, используйте элементы Markdown – тестовые разделители. Например:
3. Используйте XML-теги, если вам нужно разбить информацию на чёткие блоки и указать тип содержимого (задача, пример, код, контекст). Как уточняют разработчики, новая модель лучше понимает XML-теги, чем предыдущие. Пример использования:
4. Если ваша задача объёмная и сложная, используйте JSON (JavaScript Object Notation). Его разделители модели понимают лучше всего:
- Фигурные скобки { } обозначают объект (набор пар «ключ: значение»).
- Квадратные скобки [ ] обозначают массив (список значений).
- Двоеточие : разделяет ключ и значение в объекте и т. д.
Упрощенный пример, как можно использовать JSON:
GPT-4.1 понимает структуру в разных форматах. Опирайтесь на свой опыт и цели при выборе подходящих разделителей.
Итог. GPT-4.1 точнее прошлых моделей Open AI, но есть нюансы
Новая версия значительно превосходит предыдущие в точности выполнения задач и управляемости. Строго следует инструкциям, реже даёт неожиданные ответы и «галлюцинирует». Эффективно работает с длинным контекстом, до 1 млн токенов.
Однако GPT-4.1 требует более чётких указаний. Неявные формулировки могут привести к ошибкам. Учитывайте это, экспериментируя с промптами, и ориентируйтесь на наши примеры.
Приложение для разработчиков: Как создавать и применять diff (различия между версиями кода)
Diff — это инструмент, который показывает изменения в коде (например, что удалено или добавлено между версиями). Пользователи отмечали, что точность этого инструмента критически важна для работы с кодом.
В GPT-4.1 улучшилась поддержка любых форматов diff, она может генерировать его, например, в Unified Diff или Git Diff, если даны чёткие инструкции.
Рекомендованный формат
Приводим конкретный формат diff, на котором модель тщательно обучалась. Это упростит работу, особенно новичкам:
– не нужно гадать, как правильно оформить diff;
– модель работает с этим форматом максимально точно.
Покажем, как применять патч с diff рекомендованного формата.
Применяем патч
Эту пользовательскую утилиту необходимо включить в работу с кодом.
Эталонная реализация: apply_patch.py
Этот код использовался для тренировки модели. Даём его в оригинале. Чтобы GPT-4.1 мог выполнять команды, сделайте код доступным в соответствующей оболочке как apply_patch.
Другие эффективные форматы diff
Если хотите попробовать альтернативные форматы описания изменений в коде, то в ходе тестирования высокую точность показали SEARCH/REPLACE diff и псевдо-XML.
Общие ключевые особенности этих форматов:
- Не используют номера строк — вместо этого опираются на контекст.
- Чётко разделяют старый и новый код — явно указывают, что на что заменить.
Пример использования формата SEARCH/REPLACE
Пример использования формата псевдо-XML
Спасибо за чтение. Если друг захотите потестить GPT-4,1 в нашем сервисе с нейросетями - велкам.