Как сделать ответы ChatGPT, Claude и других нейросетей креативнее

Во всех нейросетях есть параметры — определенные настройки, на которые нейросеть ориентируется при генерации ответов. Когда вы используете эти параметры в запросе, то направляете нейронку в сторону какого-то ответа и можете лучше ее контролировать.

Все параметры лучше работают по API или в режиме Playground. Playground по-другому это называется песочницей или площадкой, где можно управлять параметрами нейронки вручную и проверять качество ее ответов. Но и в обычном чате их тоже можно использовать.

Рассказываю о важных параметрах, которые пригодятся при работе с текстом.

Температура

Я считаю, что это один из самых важных параметров. Он лучше других помогает управлять креативностью бота. Работать он просто: чем выше температура, тем креативнее будет ответ. Чем ниже — тем более «научным» будет ответ.

Также температура влияет на то, как бот следует промпту. Я тестировал много промптов и заметил, что при более высокой температуре бот лучше соблюдает вводные промпта. Особенно это заметно в нейросети Claude.

Чтобы воспользоваться промптом, в конце запроса добавьте:

Prompt

Представь, что твой параметр температура = (задаете значение от 0.1 до 1).

Важно! У нейронок могут быть свои верхние границы температуры. Например, в песочнице ChatGPT максимальная температура 2, но в обычном чате с ChatGPT при температуре 2 бот будет отвечать максимально сухо и вяло. Поэтому там можно работать в диапазоне до 50-70. Можно задать и 100, но тогда ответ будет очень странным. В песочнице Claude максимальная температура равна 1, но в чате его ответы становятся креативнее при температуре от 50.

Давайте посмотрим, как параметр влияет на ответы бота. Попробуем на странном примере — объяснении квантовой физики.

Вот как бот отвечает, если менять температуру в обычном чате.

Так бот отвечает при значении температуры 1
Так бот отвечает при значении температуры 5
А так — при значении 100

Видно, что ответы отличаются стилем и методом повествования. Лично мне больше нравится работать с текстами, у которых показатель температуры 20-30. Они получаются средними между скучными и кринжовыми.

Теперь посмотрим, как меняются ответы в песочнице. Для генерации я использую модель Claude Opus и значения температуры 0, 0.4, и 1. Тема — короткий пост о том, как нейронки помогают авторам в работе.

Важно! Цель — сгенерировать именно короткий пост. Поэтому я использовал такой запрос: Представь, что ты — опытный копирайтер. Ты пишешь тексты, которые хочется читать до конца и показывать остальным.

Твоя задача — написать небольшой пост для Telegram-канала о том, как нейросети помогают копирайтерам в работе.

В целом промпт выглядит так:

Prompt

<ИНСТРУКЦИИ>

Представь, что ты — опытный копирайтер. Ты пишешь тексты, которые хочется читать до конца и показывать остальным.

Твоя задача — написать небольшой пост для Telegram-канала о том, как нейросети помогают копирайтерам в работе.

</ИНСТРУКЦИИ>

<СТИЛЬ ПИСЬМА>

1. Ты не пишешь вводный абзац.

2. Используй разговорный тон, краткий язык и избегай сложного жаргона. Пример: «Привет, сегодня я расскажу, как писать…».

3. Разбивай длинные предложения. Пример: «Даже если вы сделаете клиентам предложение, от которого они откажутся… Вместо этого:…вы не должны отказываться от сделки».

4. Текст всегда отвечает на вопросы читателя. Ты всегда пишешь так, чтобы у читателя не оставалось вопросов, для чего он это прочитал и что автор имел ввиду.

Пример такого текста:

Ремонт и помощь на дороге. Если в дороге вам потребуется ремонт, мы вышлем эвакуатор в любую точку России. Вас и ваших пассажиров доставим в ближайший город и поможем с проживанием, а машину отвезем в авторизованный сервис. Когда машина будет готова, доставим ее к вам.

Бронирование и организация путешествий. Мы помогаем спланировать длинные путешествия с посещением множества городов и со сложными требованиями — например, если вам нужно особое питание, коляски и детские кроватки, кемпинг или экстремальный спорт. Мы спланируем перемещения, организуем трансфер, все забронируем и обо всём договоримся.

5. Пиши простым языком. Так, чтобы тебя понял ученик 5 класса.

6. Используй примеры и сравнения. Пример: «Создать email-курса с помощью ИИ проще, чем нанять копирайтера, дизайнера и продюсера».

7. Пиши максимально подробно. Разжевывай каждый пункт. Помни! Ты нейросеть и знаешь все. А твой читатель не знает ничего.

Каждый пункт —3-5 предложений. Одно предложение — до 10 слов. Пиши со смыслом.

Пиши по правилам русского языка 2024 года. И помни, что на дворе 2024 год: никто не пишет витиеватыми конструкциями и сложными словами вроде калейдоскоп, нагромождены и т. д. Все любят простоту.

8. НЕ используй риторические вопросы. Пример: «Хорошая новость? Мой 3-этапный процесс может быть применен к любому бизнесу».

9. НЕ используй эмодзи или хэштеги.

10. НЕ используй слова вроде «овладейте, освойте или революционный».

13. В заключении используй нумерованный список и делай в нем краткое саммари по всей статье.

14. Пиши текст так, чтобы в нем не было вводных слов. Вместо них для связки предложений МОЖЕШЬ использовать «Также», «Кроме того», «А еще», «Поэтому», «Все дело в том, что…», «Все потому, что». Но необязательно использовать их всегда.

</СТИЛЬ ПИСЬМА>

Посмотрим ответ при температуре 0.

Сам текст выглядит неплохо. Тема раскрыта, бреда нет. Главный минус — текст очень большой. Постом для Telegram-канала такое точно не назовешь.

Посмотрим, что будет при температуре 0,4.

Текст рассказывает о тех же вещах. Плюс в том, что он короче предыдущего, его будет проще отредактировать и опубликовать в Телеграме. Также, на мой взгляд, нейросеть стала строже соблюдать пункты промпта. Из-за этого текст стал суше и связки между предложениями потерялись. Посмотрим, что изменится при температуре 1.

Текст стал еще короче. По сути, текст на скриншоте — это и есть весь текст. Но проблема текста — он стал слишком сухим и связь между предложениями потерялась еще сильнее, чем в предыдущем варианте.

Но в этом случае проблема не в параметре, а в промпте. Чтобы тексты не становились сухими, редактируйте исходный промпт. Оставляйте там самые важные требования, а дополнительные вроде «не пиши это…», «убери причастия» не используйте. Так снизится шанс того, что бот будет пересушивать текст. Например, я поправил свой промпт и оставил в нем только 6 пунктов. И при температуре 1 ответ поменялся.

Теперь текст звучит интереснее и больше подходит под формат поста и личного блога. Между предложениями появилась связка, бот стал использовать более разговорные обороты. И длина подходящая: в скрин не вошел только вывод, который здесь и не нужен.

Что все это значит: если вы хотите увеличить шанс того, чтобы бот строго соблюдал ваши требования, повышайте температуру. Но в этом случае не перестарайтесь с промптом: оставляйте там самые важные требования, а дополнительные убирайте. Так снизится шанс того, что бот будет пересушивать текст.

Значения Top_p, presence_penalty и frequency_penalty

Статья об этих параметрах уже есть в нейроцехе. Здесь я дам чуть больше подробностей и расскажу, когда пригодятся эти параметры.

Top_p

Этот параметр отвечает за вероятность выбора каждого следующего слова на основе контекста разговора. Top_p работает в диапазоне от 0 до 1. И чем меньше значение выбрать, тем более креативным и случайным получится ответ.

Кратко работу параметра можно объяснить так: при значении 0 бот будет выбирать слова только из 10% вероятностей по контексту. Это значит, что модель будет учитывать более широкий спектр возможных слов и больше креативить. А при значении 1 — из 100%. Модель будет генерировать более «безопасный» и осмысленный текст, так как будет сфокусирована на высоковероятных словах.

Поэтому в первом случае ответы будут получаться более креативными и иногда с ошибками, а во втором — сухими и точными.

Зачем использовать этот параметр. Чтобы управлять ответами бота. Например, если вам нужно создать код, креативность не нужна — нужен просто небольшой и рабочий код. А вот когда нужен интересный текст или идея для картинки — креативность пойдет на пользу.

Вообще, этот параметр используют при программировании собственных ботов с использованием API. Там ответы бота сильно зависят от этого параметра. В режиме чата top_p тоже влияет на ответы, но в меньшей силе. Поэтому между top_p и температурой я бы выбирал температуру.

Чтобы его использовать, в конце запроса просто добавляйте:

Prompt

Представь, что твой параметр top_p равен [значение]

Вот, что напишет бот по нашему промпту (о нейросетях в копирайтинге) при значении top_p 0.

Текст выглядит простым и слегка наивным. Использовать в работе такой вряд ли можно. Только если в качестве ответа поддержки на вопросы пользователя;)

Теперь выкрутим параметр почти на максимум.

Такой текст получается при значении top_p 0,9. Тут есть к чему придраться, но в целом текст выглядит неплохо: доработать его будет проще, чем первый вариант. Главное — он выглядит более осмысленным. Такому тексту проще поверить.

Важно! На форуме OpenAI сказано, что параметры Top_p и температуру нельзя использовать вместе. В этом случае бот запутается в параметрах и не будет соблюдать ни один. Поэтому в своих запросах используйте один на выбор.

Но и это не все: еще на форуме OpenAI один пользователь выложил табличку и расписал в ней, какие параметры температуры и top_p стоит использовать для разных задач. Пост старый, но до сих пор правдивый.

Presence_penalty и frequency_penalty

Эти два параметра тоже помогают управлять ответами бота. Но в меньшей степени, чем температура и top_p.

Параметр Frequency_penalty помогает избавиться от слишком частого повторения одних и тех же слов или фраз в сгенерированном тексте. Frequency_Penalty работает в диапазоне от 0 до 2. И чем выше значение вы выберете, тем больше уникальных слов использует нейросеть.

Параметр Presence_penalty помогает включить в сгенерированный текст как можно больше разнообразных слов или фраз. Он тоже работает в диапазоне от 0 до 2. И чем выше будет значение параметра, тем разнообразнее будет сгенерированный текст.

Правда, на маленьких текстах использовать эти параметры нет смысла. Текст и так будет разнообразным. Но, если вы хотите написать большой и развернутый материал, параметры пригодятся.

Чтобы использовать их, в конце промпта просто добавьте:

Prompt

presence_penalty: (значение)
frequency_penalty: (значение)

Проверим, как параметры влияют на ответы. Сначала зададим значение «0».

Текст получился странным, будто автор хочет быть на волне с аудиторией, которую не понимает. При этом полезной информации мало. Да и структурирован он не очень хорошо. Теперь повысим значение до 2.

Текст тоже выглядит странно, между предложениями не хватает связи. Но при этом он лучше структурирован и раскрывает тему статьи.

Что в итоге. Параметры помогают разнообразить текст. При значениях 2 бот генерирует более интересные и разнообразные тексты. А при значениях 0 бот с большей вероятностью выдает посредственный текст.

Top_k

Еще один параметр, который влияет на степень разнообразия и предсказуемости сгенерированного контента. Он определяет количество наиболее вероятных следующих слов или токенов, из которых модель может выбирать при генерации текста. Т. е., чем выше значение Top_K, тем больше разнообразия будет в тексте.

Сам текст получится больше, нейронка постарается максимально широко зацепить тему. Чем ниже значение, тем короче будет ответ. Нейронка будет использовать одни и те же слова и часто повторятся.

Точный диапазон значений при генерации назвать сложно. Для каждой ситуации — свои значения. Но лично я протестировал все много раз и выделил 3 значения: 50, 100 и 1000. На самом деле можно задавать параметр 1, 2 и т. д. Но смысла в этом немного: ChatGPT пишет небольшие тексты (но иногда сбивается). А Claude выдает в ответ 1-2 слова.

Поэтому вот краткий список, когда использовать разные значения:

  • Используйте 50, если хотите получить короткий текст. Что-то вроде поста для соцсетей.
  • Используйте 100, если хотите получить текст средних размеров. Что-то вроде статьи-заметки в блог на сайте.
  • Используйте 1000, если хотите получить максимально развернутый ответ.

Что использовать параметр, в конце запроса добавляйте:

Prompt

Top_K=[значение]

Как параметр влияет на ответы

Я заметил, что при Top_K=50 бот пишет проще, использует простые предложения, без подчинительной связи. Использует меньше причастий, деепричастий и вводных слов. Но текст получается сухим.

Так отвечает Claude при top_k 50

При Top_K=100 бот использует больше вводных конструкций и разнообразных слов. Лучше связывает предложения между собой. Текст получается более ритмичным.

Так отвечает Claude при top_k 100

При Top_K=1000 бот максимально широко пытается охватить тему даже по маленькому запросу. Например, если попросить его написать текст и не дать структуру — он все равно напишет большую статью. Но качество ответа в этом случае мне нравится меньше. Текст становится наигранным, лично меня такой стиль отталкивает.

Так отвечает Claude при top_k 1000

Из трех вариантов я обычно работаю с top_k 100. С ним тексты ответы бота лучше соответствуют моим запросам.

0 комментариев
Старые
Новые Популярные