DEV Community

Geka Cross
Geka Cross

Posted on • Originally published at telegra.ph

Один промпт заставил ChatGPT думать - и я перестал переделывать

#ai

A woman types on a laptop using a messaging app in a modern office setting.

15 марта 2023 года, около 11 утра. Я сидел в кофейне на Крещатике, смотрел в экран и понимал, что потратил на этот проект уже 12 часов - а результат стал хуже, чем был вчера.

Клиент из Сан-Франциско ждал рабочий прототип AI-ассистента. Я переписывал промпты снова и снова. Модель отвечала быстро, уверенно, и почти всегда мимо.


Почему ChatGPT даёт уверенный ответ вместо правильного

Проблема была не в модели. Проблема была в том, как я с ней разговаривал.

Я давал задачу - и сразу просил ответ. Модель отвечала. Ответ выглядел логично, был хорошо оформлен, и при проверке разваливался на третьем шаге.

Это классика. ChatGPT оптимизирован на то, чтобы ответить убедительно, а не на то, чтобы ответить правильно. Это разные вещи.

Когда ты просишь решение в лоб - модель берёт самый короткий путь к ответу, который звучит хорошо. Она не рассуждает. Она предсказывает текст, который похож на правильный ответ.

Для простых задач это работает. Для сложных - нет.

Я переделывал выходные эти вручную, добавлял условия, уточнял постановку. Каждая итерация занимала 20-40 минут. За 12 часов я прошёл примерно 18 таких кругов и по факту стоял на месте.

Клиент видел прогресс в отчётах. Я видел, что проект горит.

Я собрал промпты по этой теме в PDF. Забери бесплатно: https://t.me/airozov_bot


Промпт, который изменил всё за 40 минут

Случайность выглядела вот так. Я устал переформулировать задачу и написал просто:

"Прежде чем отвечать - разбери задачу по шагам. Какие допущения ты делаешь? Где может быть ошибка в логике? Только после этого дай ответ."

Модель выдала что-то неожиданное. Она начала рассуждать вслух. Нашла два противоречия в моей же постановке задачи. Предложила три варианта решения с объяснением, почему каждый работает или не работает.

Я использовал второй вариант. Он закрыл задачу.

Это называется chain of thought - цепочка рассуждений. Ты не просишь ответ. Ты просишь модель думать вслух перед тем, как отвечать.

Вот три конкретных конструкции, которые я с тех пор использую постоянно.

Первая - "шаг за шагом". Самый простой вариант. Добавь в конец любого запроса: "Думай шаг за шагом." Звучит банально. Работает стабильно. На задачах с логикой, кодом или анализом качество ответа вырастает заметно - в моём случае количество переделок сократилось примерно на 40% по сравнению с прямыми запросами.

Вторая - "сначала допущения". Перед ответом прошу модель написать, что она считает истинным в условии задачи. Это ловит момент, когда я сам плохо сформулировал запрос. Часто оказывается, что проблема не в модели - я поставил задачу с дырой, и модель честно туда провалилась.

Третья - "три варианта и один лучший". Вместо одного ответа прошу три подхода к задаче и объяснение, какой из них предпочтительнее и почему. Это работает особенно хорошо для архитектурных решений и формулировок. Я трачу немного больше токенов, зато сразу вижу пространство решений, а не одну точку.

Те 40 минут в кофейне окупили 12 часов потерянного времени. Проект я сдал через два дня. Клиент остался доволен и вернулся с ещё одним заказом на $650.


То, что я не ожидал обнаружить

Я думал, что chain of thought - это про качество ответов. Оказалось, это в первую очередь про качество моих вопросов.

Когда модель думает вслух - ты видишь, как она понимает твой запрос. И очень часто понимает не так, как ты хотел. Это не баг модели. Это зеркало твоей формулировки.

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

Это улучшило работу не только с ChatGPT. С Claude, который я использую сейчас как основной инструмент, такие промпты дают ещё более чистый результат - потому что модель лучше держит контекст длинной цепочки рассуждений.

Есть ещё один момент, который мало кто упоминает. Chain of thought замедляет ответ. Модель пишет больше текста. Новичкам это кажется неэффективным - зачем столько слов, если можно сразу получить ответ?

Но я считаю иначе. Мне не нужен быстрый ответ. Мне нужен ответ, который я не буду переделывать следующие два часа.

Каждый день разбираю один такой инструмент в Telegram: https://t.me/yevheniirozov


Что сделать прямо сейчас

Зайди на claude.ai или в ChatGPT. Возьми любую задачу, с которой застрял в последние дни.

Напиши вот этот промпт:

"Прежде чем отвечать, выпиши все допущения, которые ты делаешь о задаче. Затем разбери решение по шагам. Укажи, где в логике может быть слабое место. После этого дай итоговый ответ."

Посмотри, что изменится в ответе по сравнению с тем, что получал раньше.

Это займёт 5 минут. И с высокой вероятностью сэкономит тебе следующие несколько часов переделок.


Подписывайся на мой Telegram:

  • Промпты, которые использую сам
  • Ошибки, которые стоили мне денег
  • Инструменты до того, как о них напишут все

https://t.me/yevheniirozov

Top comments (0)