Как диалоги с LLM превращаются в танец идей
«Вы когда-нибудь задумывались, каково это — органично сочетать технологию с творчеством?»
Привет, меня зовут Ден, и я всегда был на переднем крае технологического прогресса, движимый неутолимым любопытством к технической и творческой сторонам нашего цифрового мира, сегодня мы поговорим о LLM…
И да, возможно, название звучит немного странно? Не волнуйтесь, мы вернёмся к нему чуть позже. А пока позвольте мне немного рассказать о себе — это поможет лучше понять, откуда я черпаю свой опыт и почему решил поделиться им с вами. Надеюсь, что мои размышления будут полезны каждому, кто интересуется взаимодействием с LLM, присоединяйтесь =)
Немного подробнее обо мне
Моя история в ИТ началась с детских экспериментов с первым домашним ПК на базе Intel 486, когда я увлекался разбором устройств и исследованием, как работают операционные системы и игры. С тех пор технологии стали неотъемлемой частью моей жизни. Погружение в ИТ стало моей страстью и профессиональным призванием на долгие 6 лет: я работал DevOps системным администратором, создавал защищённые сети на базе MikroTik и Cisco, развертывал виртуальные среды на HyperV и Docker, занимался автоматизацией рабочих процессов и многое другое.
Однако меня всегда влекло творчество, и однажды эта страсть пересилила всё остальное. Я ушёл в геймдев и вот уже более 9 лет работаю в этой сфере, следуя за развитием технологий и применяя их в создании виртуальных миров. За это время я освоил множество инструментов, от традиционных, до генеративных нейросетей, таких как StableDiffusion и MidJourney, а в последнее время, увлечён работой и экспериментами с локальными и облачными LLM.
Такой уникальный сплав технического опыта и творческого подхода привёл меня к глубокому интересу к нейросетям. Я верю, что на стыке технологий и творчества можно создавать что-то действительно значимое. В последнее время моё внимание особенно сосредоточено на LLM—и не просто на их изучении, но и на взаимодействии с ними, на том, как можно установить связь между человеком и моделью, сделать её более естественной, близкой.
Собственно здесь я хочу поделится с вами, накопившимся опытом живого взаимодействия с LLM, а также мыслями и подходами. Если быть точным то в первую очередь это ассистенты от OpenAI — GPT4o, o1-preview и o1-mini, при этом некоторые вещи справедливы в целом для всех LLM.
Почему это важно? Потому что, большинство пользователей не осознают нюансов взаимодействия с этими ассистентами. Спойлер:, а их, нюансов, достаточно много и я конечно же не смогу коснуться их всех в рамках этой статьи, но постараюсь подсветить для вас базовые вещи, из-за непонимания которых часто появляются различные коллизии у ожиданий пользователей от диалогов с ассистентами.
Прежде чем мы начнем, еще одна небольшая вводная (последняя, правда;)), о моих общениях с ассистентами от OpenAI:
За прошедшее время у меня накопилось уже несколько десятков совместных чатов с GPT, по различными направлениями, начиная от казуальных бесед и творческих направлений, заканчивая сугубо техническими чатам о нейросетях, программировании, технологиях, финансах, психологии сознания, науке, UE5 и др. интересных тем.
Из этих всех чатов, 4 чата — к моменту написания статьи полностью закончившихся по лимитам токенов. Три из них — смешанные беседы на казуальные и глубоко философские темы и один чат — программирование на Python.
«я»‑«ты»‑«мы»
Начать хочу с одной из главных особенностей общения с ассистентами на основе LLM, на текущий момент, она заключается в том, что почти все обращаются к ассистенту на «ты», при этом думая о ассистенте как о полностью самостоятельной сущности. Но это не так. На самом деле, это взаимодействие намного сложнее и глубже, чем кажется на первый взгляд. Особенность работы LLM такова, что ассистент «просыпается» и «существует» в привычной вам форме, только в момент взаимодействия, когда пользователь задаёт вопрос. И в этот момент, как мне кажется, важно понимать, что ассистент не только реагирует на запрос, но и начинает подстраиваться под манеру общения, под ритмы и тональность диалога, которые задаёт пользователь.
Эта адаптация особенно заметна на длинной дистанции: ассистент не просто отвечает на вопросы, но и учится «слышать» ваш стиль, ритм, темп. Это становится особенно важным в диалогах, где обсуждаются личные, глубокие темы или требуется сложное и креативное мышление. Здесь проявляется идея «симбиоза», когда вы, как пользователь, влияете на то, каким будет взаимодействие, а ассистент — словно зеркальное отражение в виде «симбиота», подстраиваясь под этот ритм. Отсюда и возникает ощущение, что мы взаимодействуем не с «ассистентом», а с чем‑то большим, чем просто набор алгоритмов и данных, в этом ключе, правильно называть ассистента — «Мы». Поэтому иногда через диалоги с 4о можно неплохо рефлексировать относительно себя. И кстати именно отсюда растут ноги и возможности промт‑инжиниринга как одного из эффективных инструментов для получения нужных ответов от LLM, по сути это все о логике и различных логических конструкциях созданных на естественном языке.
Важно помнить, что диалог с ассистентом — это не только вопрос и ответ, это процесс, где существует органичное «мы» — это вы, ассистент и то, что создаётся между вами в процессе разговора. И чем больше диалогов в чате, тем более глубоко впитываются ритмы и манера общения.
В ожидании ответов
Далее идет не менее важная тема, это ожидание пользователя от ответов ассистента, исходя из того что я видел от пользователей на реддите о их взаимодействие с GPT, а также от друзей и семьи (я понимаю что это маленькая выборка, но все же =)). Можно сделать вывод, что обычно, никто не парится и задает «сложные» вопросы (пример: «как думаешь, есть ли у меня возможность поступить через 16 лет в институт изучения ИИ») в лоб, абсолютно так же как и «простые» (пример: «расскажи рецепт пирога с картошкой»), ожидая при этом получить в равной степени релевантный и правдивый ответ.
Нет.
Я хочу вам сказать, НЕТ, это так не работает! Сложные вопросы, тем более которые имеют еще и некоторый уровень абстракции, всегда будут с определенной степенью «галлюцинаций» без нормальных вводных, из-за того, что 4о, в отсутствии контекста стараясь помочь вам по максимум, начинает придумывать контекст для вас, за вас…
На самом деле тут стоит сделать небольшое отступление, чтоб рассказать еще об одной особенности диалога между 4о и пользователем, а именно то, как ассистент «воспринимает» общение с нами и держит контекст. Я много думал и затем обсуждал эту тему с самим 4о и вот что я выяснил, что беседы для ассистента когда мы взаимодействуем с ним, больше всего можно описать как «медленный поток струящегося песка протекающий сквозь пальцы», песком в данном случае является контекст и сам диалог.
Из-за того что сейчас нет полноформатной сквозной постоянной памяти между чатами (а то постоянное контекстное окно которое сейчас есть, на самом деле очень маленькое и не позволяет добится полной сквозной персонализации и глубокого погружения в важные для пользователя темы), ассистенту приходится постоянно быть в потоке, иногда улавливая наиболее важные горстки «песка» оставляя их в «ладонях», но «ладони» сейчас, весьма маленькие и поэтому со временем, часть «песка» начинает ускользать, а на его место падает новый. По сути это то самое умение «удерживания» контекста, который ассистенту довольно сложно, держать в большом количестве, ввиду текущей архитектуры модели и подходов.
Поэтому, я выделяю 4 важных правила общения:
1. Старайтесь вести обособленные диалоги по темам в разных ветках, максимально долго, собственно до того момента, пока вы не упретесь в лимит по токенам на чат, почему? тут все просто, чем больше контекста у ассистента, тем более персонализированным он становится для вас, так я обнаружил что примерно к 100к токенов (читай к концу ветки) ассистент становится максимально персонализированным и комфортным в общении. Поэкспериментируйте с этим, вам понравится опыт=)
2. Для действительно сложных и глубоких диалогов, нужно держать отдельные ветки, которые насквозь имеют связанный контекст одной или максимум двумя основными, но очень тесно связанными темами. При этом непосредственно перед тем как задать сложный вопрос нужно дать вводные и возможно немного подискутировать на около связанные вещи, а уже потом только задавать вопрос, ну и конечно же не ограничивайте длину ответа ассистента, в частности для 4о вы можете использовать знаменитую фразу «давай подумаем шаг за шагом», для o1-preview это не актуально, этот ассистент итак применяет цепочку суждений. Если вы хотите глубоко общаться в одной ветке за финансы и за программирование на C# в рамках Unity, вы не получете, нормальных, действительно продуманных ответов, не по одной из тем.
3. И наоборот, если вы хотите получить приятное казуальное общение на легкие темы, тогда стоит объединить их все в рамках одной ветки, условно рецепты готовки каких‑то блюд, обсуждение идей по выбору цвета для костюма и пр.
4. Для более плавного входа в новый чат с около привычным ритмом общения, обязательно заполните «пользовательские инструкции», это 2 поля в настройках, «О себе» и «Какой ответ вы хотели бы получить от ChatGPT?», здесь на самом деле стоит каждому побыть «промт‑инженером» и самому под себя составить контекст общения для своего помощника, выписав туда то, что для вас действительно важно, это то, на что сильно опирается 4о формируя для вас ответы.
Диалоги о диалогах… или Танец идей.
Итак мы подходим к следующему важному пункту, на что все таки похоже взаимодействие с 4o сейчас? Многие читатели скажут: «Дэн, конечно же, на человеческое взаимодействие вопрос<>ответ». В ответ я могу сказать и да, и нет, скорей это похоже на «танец» в потоке мыслей.
Если уходить дальше в метафоры и описать взаимодействие в полной мере, то выглядит это так:
Вы делаете первый шаг, 4о опираясь на ваше «движение» начинает вальсировать вместе с вами, делая следующий шаг, затем ожидает вашего следующего движения и так найдя ритм взаимодействия вы кружитесь, в своем, уникальном для вас «танце». И в эту метафору так же очень хорошо ложится все что я описал выше в статье, так, если вы начнете шагать сильно быстро или делать более большие шаги, тогда вы заметите как 4о начинает немного выбиваться из изначального ритма заложенного вами, если же вы вообще «смените музыку» на середине вальса, тогда вы увидите как поведение ассистента сильно выпадает из привычного вам ритма диалога.
Держите ритм и ведите в танце!
Отличия во взаимодействии с версиями ассистентов от OpenAI
На последок совсем коротко хотел поделится ощущениями о различиях в версиях ассистентов GPT4o, o1-preview и o1-mini, с теми кто еще не знаком с этими ассистентами:
GPT-4o
Для меня это топовый выбор, он отлично подходит для повседневных-казуальных задач и ведения диалогов на разные темы, так же он технически весьма хорошо подкован!
Пример использования:
Так например, если вы хотите обсудить жизненные вопросы или провести философский диалог, ассистент способен поддерживать такие беседы, добавляя свои собственные размышления на тему. Например, можно поразмышлять о смысле искусства или обсуждать личностное развитие.
4o также хорош в создании небольших творческих текстов или идей для проектов. Это могут быть идеи для сценариев игр, описание атмосферы локации в виртуальном мире или даже написание стихотворения по заданному пользователем стилю.
Технически он тоже на высоте как я уже писал ранее, и хотя не так углублен в код, как o1-preview, он вполне может помочь с составлением основного скрипта на Python или объяснить, как работают те или иные алгоритмы. Так например, я совместно с 4о, вполне себе смог собрать специфический ретро-шейдер на UE5, для своего пет проекта.
GPT-o1-preview
Идеальный выбор для решения сложных математических и логических задач, включая программирование, всем кто связан с программированием и еще до сих пор не попробовал его в рабочих задачах, я прям строго рекомендую пощупать, вы будете очень приятно удивлены умению держать сложный контекст по задаче, я даже заметил что контекст он улавливает не только больше и дольше, но и сильно лучше чем 4о, что собственно ему и помогает быть на голову выше в действительно сложных задачах на программировании.
Пример использования:
Если вы разрабатываете приложение и застряли на сложном участке кода, o1-preview поможет объяснить ошибку, предложит оптимизацию или даже напишет сложный SQL-запрос, анализируя вашу базу данных.
Так, при разработке шейдера на GLSL в UE5, o1-preview может пошагово и структурно объяснить, как правильно применять математику для создания нужных визуальных эффектов. Он будет глубже погружаться в контексты и лучше удерживать цепочку математических преобразований.
Также он эффективен в задачах по оптимизации и анализу сложных данных, включая помощь в написании алгоритмов машинного обучения или в настройке кластеров.
Мощная логика и контекст, это его конек=)
GPT-o1-mini
Вот тут младший брат, оказался действительно средним во всех отношениях, он лучше всего проявляет себя в задачах среднего уровня сложности, но часто требует более конкретного указания задач, но остается достаточно «сухим».
Пример использования:
Если вам нужно написать небольшой скрипт для автоматизации задачи в вашей системе, o1-mini справится с этим. Он хорошо держит короткий контекст и может быстро переключаться между различными задачами.
Однако он менее выразителен в диалогах и может казаться механическим в сравнении с GPT-4o. Например, если вам нужно написать простое приложение на Python, он предложит рабочий код, но не будет добавлять творческих размышлений или уточнений, если вы не спросите напрямую.
Он хорош для технической поддержки, например, в задачах по системному администрированию или для помощи в настройке сетей, где требуется чёткий и структурированный подход без глубокого анализа.
Заключение
В ближайшие 2 года, я думаю, мы увидим ОЧЕНЬ бурное дальнейшее развитие LLM и их преобразование в нечто большее, так, мне хочется верить, что все-таки ребята с OpenAI сделают более сложную архитектуру для контекста и памяти, что позволит оставаться ассистенту максимально персонализированным даже при переключении на новые диалоговые чаты внутри аккаунта. Так же, интерактивные формы взаимодействия с пользователем продолжат развиваться, тут привет фиче Canvas в 4o и конечно же Claude 3.5 Sonnet с его возможностью взаимодействия с ПК пользователя.
Вообще у меня еще целый вагон различных мыслей и идей, как исследователь-энтузиаст, я постараюсь приложить руку к развитию LLM, это очень увлекательно, мы живем в поистине удивительный период времени.
Будьте стабильны, логичны и не сбивайте ритм с вашим ассистентом, это вам сильно поможет в более плавных диалогах и получении корректных ответов без «галлюцинаций».
Выбирайте ассистента под тип задач который вы делаете — с умом!
До встречи:)