![Smart duck Smart duck](https://habrastorage.org/getpro/habr/upload_files/d8f/60b/c26/d8f60bc26db28016b7313b4480ec22a4.jpg)
Вы когда-нибудь пробовали говорить с резиновой уточкой? Ну, или хотя бы с коллегой, который выступал бы уткой-заменителем, когда ход ваших мыслей по задаче зашёл в тупик и нужно как-то всё переосмыслить? Теперь у вас есть способ не мучать больше своих занятых коллег и оставить в покое ваших резиновых уточек. ?
В последнее время я всё чаще замечаю, что многие разработчики обращаются к таким инструментам, как ChatGPT. Но не всем удаётся найти в них какую-то практическую пользу в рамках своих повседневных задач. Некоторые экспериментируют с ботами, кидаясь в них какими-то задачами по написанию кода, но быстро разочаровываются их возможностями. В любых задачах чуть сложнее LeetCode боты начинают писать что-то абсолютно несуразное, и для получения приемлемого результата ваши промты становятся всё сложнее и сложнее. В какой-то момент вы осознаёте, что написание промта для получения рабочего кода по трудозатратам и времени становится больше, чем самостоятельное написание этого кода. На этом этапе многие прекращают использовать чат-ботов в повседневных рабочих задачах и кладут их пылиться на полку неиспользуемых инструментов.
Однако я предлагаю по-другому взглянуть на бота в качестве вашего помощника. Многие из вас слышали о методике, которая называется «Метод утёнка». Кто-то даже применял или применяет его в работе. Для тех, кто никогда не слышал о нём или забыл, дам короткую справку:
Тестируемый ставит на рабочем столе игрушечного утёнка (резиновая уточка — это условность, на практике можно использовать любой предмет, символизирующий одушевлённого помощника), и когда у него возникает вопрос, на который трудно ответить, он задаёт вопрос игрушке так, словно она действительно может ответить. Автор книги предполагает, что правильная формулировка вопроса содержит половину ответа на него, при этом постановка задачи в виде вопроса воображаемому собеседнику даёт толчок мыслям, направляя их в нужное русло, переводя «поток сознания» в вид формальных.
Метод также используется при отладке. Если определённая часть программы не работает, программист пытается последовательно объяснить утёнку, что делает каждая строка программы, и, в процессе этого, сам находит ошибку. Такой метод отладки, по сути, представляет собой Code review, в ходе которого программист «призывает» на помощь воображаемого помощника.
Метод действительно достаточно простой, а заменяя утёнка коллегой, вы можете добиваться ещё лучших результатов. Но к коллеге вы обычно пойдёте только в крайнем случае, так как отвлекать его и просить побыть утенком всё же хочется только в том случае, когда ход мыслей зашёл в окончательный тупик. Вот тут и стоит достать с полки новомодный и неосвоенный инструмент в виде чат-бота. И попробовать дать ему шанс стать вашей супер-умной уткой. Правда, с причудами, но об этом далее.
![Ducktalk Ducktalk](https://habrastorage.org/getpro/habr/upload_files/5ae/cf8/6fc/5aecf86fca779ea64bd851b66e9e0bcb.jpg)
Попробуйте начать общаться с чат-ботом именно в таком ключе: как с утёнком. Вам не нужно от него готовое решение в виде рабочего кода. Вам нужно сдвинуть с места мыслительный процесс, в котором вы застопорились. Пытайтесь объяснить ему задачу, просите его задавать вам много вопросов о том, что он считает непонятным в ваших объяснениях. В отличие от утки или даже коллеги, возможности утка-бота гораздо, гораздо шире. Просите его рассказать об аналогичных задачах, решения которых он знает. Об аналогичных решениях в других известных ему системах. Просите его критиковать ваши предложения. Просите это делать развёрнуто и по пунктам. В общем, общайтесь с ним, и в какой-то момент вы поймёте, что при составлении очередного промта, которым вы пытаетесь объяснить боту задачу или её часть, вы окончательно сформируете в голове её решение для себя. Или какой-то из ответов бота толкнёт вашу мысль в нужную сторону, и у вас наступит прозрение, которое вы так долго ждали.
Пернатое с прибабахами
Но отдельно хотелось бы заметить, что ваша супер‑утка обладает некоторыми «странностями». Она порой любит приврать, сочинить или сказать что‑то совсем невпопад. И в этом случае это даже в чём-то хорошо. Не воспринимайте слова вашей бото-утки как истину в последней инстанции. Критически смотрите на все её ответы, всё дальше и дальше двигая свой мыслительный процесс. Попробуйте эту методику, и очень может быть, что именно она наконец даст вам действительно полезное применение чат-бота в вашей работе.
Дам ещё один полезный совет по работе с ботом, им поделился со мной один коллега. Просите вашего бота перед началом беседы давать порядковый номер каждому сообщению в диалоге. Это очень помогает и упрощает возвращение его в нужный контекст, когда он немного начинает уходить в сторону от нити беседы, которую вы хотели бы развить с ним. Говорите ему номер сообщения, которое содержало правильные высказанные им мысли, от которых он отклонился, или номер сообщения, где вы ему точно объясняли подробности обсуждаемого вопроса. Часто это помогает боту быстрее переосмыслить и понять, чего от него хотят.
![Duck knowledge Duck knowledge](https://habrastorage.org/getpro/habr/upload_files/872/6d6/59c/8726d659cfaee9be4caed123a5b06edf.jpg)
Если у вас есть ещё какие-то интересные и полезные методики по работе с чат-ботами, в частности с ChatGPT, то можете поделиться ими в комментариях. Возможно, кому-то они тоже очень пригодятся. Также было бы интересно послушать, как вы уже сейчас применяете ботов в своих повседневных задачах.