14 февраля, 23:40. Дедлайн через 12 часов, $3 200 на кону, и я смотрю на экран уже шестой час подряд.
Баг в системе рекомендаций для клиента из США. Я скормил проблему GPT-4 три раза подряд. Три уверенных ответа. Все три - мусор.
---
GPT не тупил. Он делал ровно то, о чём я просил - давал ответ.
Я описывал симптом, он выдавал решение. Быстро, уверенно, с объяснением. Я пробовал, не работало, возвращался, переформулировал, снова получал ответ. Цикл повторился раз восемь.
Проблема была в архитектуре. Два модуля системы работали по разной логике приоритетов - один сортировал по весу пользовательских действий, другой по времени. В определённых условиях они давали взаимоисключающие результаты, и рекомендации просто ломались. Это не баг в одной строке - это логическое противоречие на уровне проектирования.
GPT каждый раз смотрел на симптом и чинил симптом. Потому что я просил именно это.
В 23:50 я от отчаяния написал иначе. Добавил в начало промпта одну фразу: «разбери задачу по шагам, прежде чем давать решение». Не потому что знал что делаю. Просто больше нечего было пробовать.
Через 40 минут баг был найден. Моделью. Не мной.
Я собрал промпты по этой теме в PDF. Забери бесплатно: https://t.me/airozov_bot
---
Chain of thought - это не магия и не фича. Это способ заставить модель думать вслух перед тем, как она даёт тебе итог.
Когда ты просишь ответ напрямую, модель делает предсказание: «что, скорее всего, - это правильным ответом на этот вопрос». Это статистика по паттернам из обучающих данных. Быстро и часто достаточно точно - но на сложных задачах с противоречиями внутри это не работает.
Когда ты просишь сначала разобрать по шагам, модель строит цепочку рассуждений. Каждый шаг становится контекстом для следующего. Противоречие, которое не видно в симптоме, вылезает где-то на третьем-четвёртом шаге.
Именно это и случилось. GPT начал разбирать архитектуру последовательно, дошёл до момента где два модуля должны были договориться о приоритетах - и написал что-то вроде «здесь возникает конфликт между логикой весов и логикой времени, который не разрешён на уровне интеграции». Я прочитал это и понял где копать.
Три конкретных способа запустить этот режим в любом промпте.
Первый - прямая инструкция. «Прежде чем отвечать, разбери задачу по шагам» или «думай вслух, потом дай итог». Работает в 80% случаев. Именно то, что я написал в 23:50.
Второй - структурный запрос. Ты явно просишь модель сначала описать проблему своими словами, потом назвать возможные причины, потом предложить решение. Это дольше, но точнее - особенно когда задача многоуровневая. Я использую это когда работаю с архитектурными решениями для клиентов: «1. Перефразируй задачу как ты её понял. 2. Назови три возможных источника проблемы. 3. Предложи решение для каждого».
Третий - ролевой контекст с процессом. «Ты senior backend разработчик. Когда ты видишь баг, ты сначала строишь гипотезы, потом проверяешь каждую. Сделай то же самое с этой проблемой». Модель начинает имитировать процесс мышления специалиста, а не просто выдавать ответ специалиста. Разница ощутимая.
Последние полгода я использую этот подход в Claude, а не в GPT. Claude держит цепочку рассуждений лучше на длинных технических задачах - меньше срезает углы на середине. Это субъективно, но я перешёл и не вернулся.
---
Я думал что проблема была в том, как я формулировал задачу. Что надо было лучше описать баг, дать больше контекста, приложить больше кода.
Это не так.
Проблема была в том, что я просил у модели продукт, а не процесс. Ответ вместо мышления. И именно это различие я не понимал шесть часов подряд.
Когда ты просишь ответ - ты получаешь то, что статистически похоже на правильный ответ. Когда ты просишь мышление - ты получаешь процесс, в котором можешь участвовать, который можешь остановить, скорректировать, направить в другую сторону.
Второе превращает ИИ в партнёра. Первое оставляет его автоответчиком.
Я потерял шесть часов потому что использовал инструмент не по назначению. Не его назначению - своему. Я хотел делегировать думать, а не думать вместе.
После той ночи я начал строить промпты по другому принципу: сначала спрашиваю как модель понимает задачу, потом прошу гипотезы, потом решение. Три шага вместо одного. Это занимает на 10-15 минут больше. Зато я перестал получать уверенные бесполезные ответы.
Контракт я сдал. В 11:20, за 40 минут до дедлайна. Клиент остался доволен и продлил на следующий месяц. Но те шесть часов я помню хорошо.
Каждый день разбираю один такой инструмент в Telegram: https://t.me/yevheniirozov
---
Зайди на claude.ai или в ChatGPT. Возьми любую задачу которую ты уже пробовал решить с ИИ и получил неудачный ответ.
Напиши вот этот промпт:
*«Прежде чем давать решение, разбери задачу по шагам. Сначала перефразируй проблему как ты её понял. Потом назови возможные причины. Потом предложи решение с объяснением почему именно оно. Задача: [твоя задача]»*
Посмотри что изменится в качестве ответа. Не в скорости - в качестве.
Один промпт. Одна попытка. Мне хватило этого чтобы найти баг, который я не видел шесть часов.
• [Как я сократил 3 часа работы до одного запроса к ИИ](https://telegra.ph/Kak-ya-sokratil-3-chasa-raboty-do-odnogo-zaprosa-k-II-04-10)
• [Как я нашёл лучший бесплатный аналог ChatGPT на русском](https://telegra.ph/Kak-ya-nashyol-luchshij-besplatnyj-analog-ChatGPT-na-russkom-04-10)
• [Как я получаю $800 в месяц, тратя 20 минут на ИИ](https://telegra.ph/Kak-ya-poluchayu-800-v-mesyac-tratya-20-minut-na-II-04-10)
[teletype] Оказывается, ChatGPT работает иначе, если знать его системный промпт
[hashnode] Оказывается, ChatGPT работает иначе, если знать его системный промпт
Оказывается, ChatGPT работает иначе, если знать его системный промпт