Что такое оптимизатор prompt?
Оптимизатор prompt - это бесплатный инструмент, который превращает черновой, не до конца сформированный prompt в понятный структурированный prompt, дающий гораздо лучшие результаты в любом AI. Вставьте свою черновую идею, и этот бесплатный оптимизатор prompt перепишет её, добавив действительно важные элементы - роль для AI, задачу, контекст, ваши требования и нужный формат вывода. Разница между расплывчатым запросом и структурированным prompt - это разница между безликим и действительно полезным результатом.
Он также работает как улучшатель prompt и оптимизатор prompts для ChatGPT: созданный им структурированный prompt универсален, поэтому его можно сразу вставить в Claude, ChatGPT, Gemini или любой AI-чат. Знания в области prompt-инжиниринга не нужны - просто опишите желаемый результат простыми словами, а оптимизатор сам займётся структурой.
Нужен prompt с нуля? Выберите выше Создать prompt: опишите цель одним предложением, и генератор prompts создаст полный многоразовый prompt с ролью, пошаговыми инструкциями, ограничениями, форматом вывода и [placeholders] только для тех деталей, которые известны лишь вам.
Хотите полностью отказаться от составления промптов для повторяющихся задач? Готовый набор промптов или файл Skill от KissMySkills превращает Claude или ChatGPT в специалиста по конкретной задаче, поэтому вы получаете экспертный результат, не создавая prompts вообще. Впервые работаете с prompts? Узнайте, что такое Claude Skills, чтобы понять, почему сохранённый Skill лучше, чем каждый раз заново писать prompt.
То, где вы размещаете элементы в prompt, меняет ответ
Позиция - наименее обсуждаемая и наиболее измеримая часть структуры prompt, и два из трёх крупнейших поставщиков моделей публикуют одинаковую рекомендацию.
В рекомендациях Anthropic по созданию prompt для входных данных объёмом от 20 000 токенов советуют «размещать длинные документы и входные данные в верхней части prompt, перед запросом, инструкциями и примерами» и утверждают, что запросы в конце «могут повысить качество ответа до 30 процентов в тестах, особенно для сложных входных данных из нескольких документов». Считайте этот процент внутренним показателем без опубликованной методологии, но сама рекомендация по порядку однозначна. Google даёт ту же инструкцию для Gemini: «При предоставлении большого объёма контекста (например, документов или кода) сначала передавайте весь контекст. Размещайте конкретные инструкции или вопросы в самом конце prompt», а также добавляет полезный приём-переходник с такой фразой, как «Исходя из приведённой выше информации...»
У этой интуиции есть научное обоснование. Исследование Lost in the Middle (Liu и др., arXiv:2307.03172) показало, что производительность моделей «часто максимальна, когда релевантная информация находится в начале или конце контекста входных данных, и значительно снижается, когда моделям приходится обращаться к релевантной информации в середине длинных контекстов, даже если это модели с явно заявленной поддержкой длинного контекста». Если нужный факт зарыт где-то в середине вставленного документа, его перемещение будет более надёжным решением, чем переформулировка вопроса.
Текущая рекомендация OpenAI предлагает другой порядок для сообщения разработчика: идентичность, инструкции, примеры, затем контекст; при этом отмечается, что контекст «обычно лучше размещать ближе к концу prompt». Это скорее не противоречие, а различие в том, что именно размещается: справочные материалы, относящиеся к конкретному запросу, versus объёмные документы. Практический вывод таков: универсальной схемы не существует, и prompt, настроенный с учётом позиции элементов для одной модели, следует заново проверять на другой.
Структура важнее прилагательных
Методы, которые поставщики действительно описывают, имеют структурный характер, и ни один из них не подразумевает, что модели нужно сообщать, будто она эксперт мирового класса.
Формулировка Anthropic для ясности - это проверка, а не правило: «Покажите свой prompt коллеге, дав ему минимум контекста о задаче, и попросите его следовать ему. Если он растеряется, Claude тоже растеряется». В той же рекомендации советуют объяснять, почему существует ограничение, а не просто формулировать его без пояснений, поскольку модель «достаточно умна, чтобы обобщать на основе объяснения» - инструкция с обоснованием переносится на случаи, которые вы не перечислили.
Разделители - ещё одна рекомендация, с которой все согласны. Anthropic: XML-теги «помогают Claude однозначно разбирать сложные prompts», а заключение каждого типа содержимого в собственный тег, например <instructions>, <context>, <input> «снижает вероятность неправильной интерпретации». OpenAI: «Заголовки и списки Markdown могут помогать обозначать отдельные разделы prompt», а «XML-теги могут помочь отделить один фрагмент содержимого... от другого». Google, напротив, предупреждает о примерах: единообразное форматирование в примерах few-shot имеет значение, а «если включить слишком много примеров, модель может начать подгонять ответ под примеры». Anthropic предлагает от трёх до пяти, заключённых в <example> теги.
Роли дают меньше, чем обещает интернет, но не бесполезны. Позиция Anthropic скромна и конкретна: «Задание роли в системном prompt фокусирует поведение и тон Claude под ваш сценарий использования. Даже одно предложение имеет значение». Одно предложение в системном prompt, а не абзац выдуманной биографии в сообщении пользователя.
Два распространённых совета по prompts, которые теперь неверны
Руководства по prompts быстро устаревают, и два самых часто повторяемых совета уже опровергнуты собственной документацией поставщиков.
«Всегда говорите ему думать шаг за шагом». Рекомендации OpenAI по рассуждению говорят об обратном для reasoning-моделей: «Избегайте prompts с цепочкой рассуждений: поскольку эти модели выполняют рассуждения внутренне, побуждать их “думать шаг за шагом” или “объяснять свои рассуждения” не нужно», а в другом месте говорится, что такие методы «могут не повышать производительность (а иногда даже мешать ей)». На той же странице рекомендуется сначала попробовать режим без примеров, добавляя их только при необходимости. Стоит сохранить аналогию OpenAI: reasoning-модель «подобна опытному коллеге. Вы можете поставить перед ней цель и доверить ей проработать детали. GPT-модель похожа на младшего коллегу». Цепочка рассуждений не умерла - Anthropic по-прежнему документирует ручную CoT с тегами <thinking> и <answer>, - но теперь она описывается как запасной вариант, когда встроенное рассуждение отключено, а не как настройка по умолчанию.
Также стоит знать, что утверждалось в оригинальной статье. В статье Chain-of-Thought Prompting Elicits Reasoning in Large Language Models (Wei et al., arXiv:2201.11903) сообщалось, что такие способности «естественным образом проявляются в достаточно больших языковых моделях». Знаменитый результат с фразой «давайте подумаем шаг за шагом» (Kojima et al., arXiv:2205.11916) был получен на модели 2022 года. Ни то ни другое не является вечным законом.
«Предварительно задайте первые слова ассистента». В актуальной документации Anthropic указано, что начиная с последних моделей Claude предварительно заполненные сообщения ассистента в последнем ходе «больше не поддерживаются», а запросы, содержащие их, «возвращают ошибку 400». Документированные альтернативы - структурированные выходные данные, прямое указание отвечать без вступления или вызов инструментов. Любое руководство, в котором по-прежнему рекомендуется prefill как приём форматирования, описывает запрос, который теперь завершается ошибкой.
Есть ещё одно важное различие: self-consistency (Wang et al., arXiv:2203.11171) - это стратегия декодирования, при которой выбираются несколько ходов рассуждения и берётся наиболее часто встречающийся ответ. Её нельзя реализовать переписыванием prompt, поскольку для этого требуется несколько генераций.
Что этот оптимизатор не может
Он не может предоставить знания, которыми модель не располагает. Согласно объяснению OpenAI, контекст добавляют, чтобы дать модели «доступ к закрытым данным или любым другим данным за пределами набора данных, на котором модель обучалась». Если не хватает факта, нужно вставить сам факт, а не лучше сформулировать вопрос.
Он не может устранить галлюцинации. Anthropic прямо говорит, что даже продвинутые модели «иногда могут генерировать фактически неверный текст», а методы смягчения - разрешение отвечать «я не знаю», извлечение дословных цитат перед ответом на вопросы по длинным документам и ограничение модели предоставленными источниками - «значительно сокращают число галлюцинаций», но «не устраняют их полностью».
Он не может защитить вас от внедрения инструкций в prompt. Anthropic выделяет две модели угроз: прямое внедрение, при котором злоумышленником является пользователь, и косвенное внедрение, при котором prompt доверенного пользователя заставляет модель обрабатывать сторонний контент - веб-страницы, электронные письма, документы и результаты работы инструментов - содержащий вредоносные инструкции. Формулировки не являются средством обеспечения безопасности.
Он не может задать параметры сэмплирования. Temperature и top-p указываются в вызове API, а не в prompt. Кроме того, они несопоставимы у разных поставщиков: Anthropic указывает диапазон 0,0-1,0 и предупреждает, что «даже при temperature 0,0 результаты не будут полностью детерминированными», тогда как OpenAI указывает диапазон 0-2 и рекомендует «изменять этот параметр или top_p, но не оба».
Он не может сказать, хорош ли результат. В документации Anthropic по разработке prompt предполагается, что у вас уже есть определение успеха и способ его проверить. Без этого более длинный и лучше структурированный prompt просто выдаёт более длинную и лучше структурированную догадку.

