Научи плохому или почему я против промптинга
Недавно мне потребовалось объяснить 17-летнему парню законы диалектики Гегеля. Уточню: не просто пересказать их, а именно объяснить так, чтобы он обязательно понял. Да так понял, чтобы сразу стал богатым и успешным.
«Нейросеть может объяснить каждому просто» — говорили они
В рекламах нейросетей часто можно увидеть, что ИИ способен объяснить любую сложную информацию так, чтобы её понял каждый: школьник, младенец, дедушка Вова из деревни, для которого ИИ это просто заевший звук. В общем, в зависимости от его возраста, задач и уровня образования.
Как бы не так!

Гегель в вакууме. Задача
Представим исходное задание:
«Объясни 17-летнему парню законы диалектики Гегеля».
Казалось бы, чего проще. Она знает, кто такой Гегель. Знает основные положения диалектики. Знает примеры. Она может написать вполне грамотный текст.
Первый результат: формально правильно, практически плохо
Первый вариант получается примерно таким:
Диалектика рассматривает развитие через взаимодействие противоположностей. Противоречие является источником движения и развития. Количественные изменения при определённых условиях приводят к качественным скачкам. Развитие происходит через отрицание предыдущего состояния и возникновение нового…
Всё вроде бы правильно. Но есть одна проблема. Наш парень может спросить:
А что значит противоречие? Диалектика? Взаимодействие противоположностей?

И это будет совершенно нормальные вопросы.
Проблема была не в том, что нейросеть плохо знает Гегеля. Проблема была в том, что я попросил её объяснить человеку, которого не существует….
Переформулирование задачи
Вот здесь я понял, что не дал ИИ живого человека для её понимания кому она объясняет. Возраст — ещё не описание человека.
Поэтому я добавил модели контекст.
Парень учится в колледже, занимается единоборствами, интересуется биографиями успешных людей, много спрашивает о жизни и хочет сам чего-нибудь добиться.
У него немного жизненного опыта, зато много любопытства.
И есть одна особенность: он склонен воспринимать информацию довольно буквально.
И добавил ещё одну важную особенность:
Он воспринимает информацию довольно буквально.
То есть если сказать:
«Противоречия являются двигателем развития»,
не надо рассчитывать, что он сам поймёт, что такое «противоречие», «движение» и «развитие» в философском смысле.
Сначала нужно объяснить сами слова.
Например:
Противоположность — это две вещи, которые находятся на разных сторонах. Например: сильный и слабый, много и мало, горячий и холодный.
Потом показать, что философское противоречие — это не обязательно ссора двух людей. Можно взять знакомую ситуацию: ты хочешь тренироваться больше, чтобы быстрее стать сильнее, но организму необходимо восстановление. Приходится учитывать обе стороны.
А уже потом использовать слово «противоположность» дальше.
Это кажется мелочью. Но именно такие мелочи определяют, поймёт человек текст или нет.
Но появилась ещё одна проблема
После первого уточнения я посмотрел на новый результат и обнаружил другую ошибку.
Нейросеть хорошо объяснила несколько идей Гегеля, но пропустила один из основных законов — переход количества в качество.
И я написал ей:
«КАКОГО ХУ* ТЫ ПРОПУСТИЛА……..».

Впрочем, это мои наработки при общении с ИИ. Поэтому напишу по-другому:
«Ты пропустила один из основных законов диалектики — количество переходит в качество».
И попросил переделать объяснение. Получился уже другой текст.
Например, количество и качество
Вместо философского определения можно сначала взять тренировку.
Ты сделал одну тренировку. Она почти ничего не изменила. Сделал десять. Потом пятьдесят. Потом сто. Постепенно ты становишься другим спортсменом. И здесь появляется идея:
Много небольших изменений постепенно могут привести к большому изменению.
Ещё проще — вода.
20 градусов.
30 → 31 → 32 → 33……. 100° кипение
Произошло не просто ещё одно маленькое изменение температуры.
Изменилось состояние воды.
То есть:
количество изменений постепенно накопилось → произошло качественное изменение.
Для конкретного человека такой пример намного понятнее, чем определение из учебника.
Хороший результат появился из плохого
Посмотрим, что произошло. Сначала я попросил объяснить диалектику 17-летнему человеку.
Потом уточнил, какому именно человеку. Затем указал, что в объяснении отсутствует.
И попросил исправить результат.
Получился довольно простой рабочий цикл:
ЗАДАЧА
↓
РЕЗУЛЬТАТ
↓
Я смотрю, что неправильно
↓
ОБРАТНАЯ СВЯЗЬ
↓
ДОБАВЛЕНИЕ КОНТЕКСТА
↓
НОВЫЙ РЕЗУЛЬТАТ
↓
ПРОВЕРКА
И цикл повторяется. Это отличается от подхода:
«Напиши мне идеальный промпт»
Я не пытаюсь заранее придумать запрос, который каким-то магическим образом заставит модель сразу выдать идеальный результат. Я позволяю ей сделать первую попытку.
А потом использую первую попытку, чтобы лучше сформулировать саму задачу.
Почему это работает
Потому что иногда человек сам не знает заранее, что именно ему нужно от нейросети. Он понимает это только после того, как увидел первый результат. Например, до ответа я мог сказать:
«Объясни просто».
А после ответа понял:
«Нет. Не просто. Нужно объяснить человеку, который буквально понимает слова, не знает сложных терминов и не имеет философского образования».
То есть первая версия ответа становится своего рода диагностикой задачи. Она показывает мне, чего не хватает в моём собственном описании.
Нейросеть не сделает всё за вас
Здесь есть важный момент, который иногда теряется в разговорах об ИИ. Можно сколько угодно обсуждать промпты, контекстные окна и новые модели. Но если человек вообще не понимает проблему, нейросеть не обязательно спасёт его.
Допустим, я не знаю ничего о философии. Хотя я лично изучал её в двух институтах.
Я прошу:
«Объясни мне Гегеля»
Нейросеть выдаёт текст. Я его прочитал. И как я проверю, всё ли там правильно? Я не знаю.
Если я не понимаю тему, я не могу нормально отличить:
-
важную мысль от второстепенной;
-
правильное объяснение от красивой ерунды;
-
пропущенную часть от ненужной;
-
ошибку от нормального упрощения.
Поэтому работа с нейросетью требует хотя бы минимального понимания предмета. Не обязательно быть профессором. Но нужно понимать:
что я хочу получить и как я пойму, что результат получился неправильным
В примере с Гегелем я смог заметить пропущенный закон количества и качества именно потому, что у меня было представление о том, что должно находиться в результате.
Получается странная вещь
Нейросеть одновременно:
экономит тебе работу
и
заставляет тебя лучше понимать собственную задачу.
Потому что раньше можно было сказать:
«Ну, вроде нормально»
А при работе с моделью появляется возможность постоянно спрашивать:
«А что именно здесь не так?»
И чем лучше ты умеешь отвечать на этот вопрос, тем лучше становится следующий результат.
Поэтому я перестал думать о промпте как о команде
Для меня хороший запрос — это уже не:
«Сделай X в стиле Y».
Это скорее описание ситуации:
Вот что я хочу получить. Вот для кого это предназначено. Вот что этот человек уже знает. Вот чего он не знает. Вот какие у него особенности. Вот что мне не понравилось в предыдущем результате. Вот что обязательно должно остаться. Вот что нужно изменить.
То есть я передаю нейросети модель задачи, а не только команду.
И все говорят больше о том, что ИИ изменит человека, подразумевая больше физическое преобразования, но изменения уже происходят: отдельные люди становятся умнее, и могут делать то, что раньше не могли.
Например
Я с нейросетями с самого их появления. Я прошёл путь от ботов в телеграм до создания своего Windows приложения. От идеи до упаковки в готовую сборку можете почитать здесь.
Возможно, поэтому полезнее говорить не «промптинг», а «работа с нейросетью».
Промптинг создаёт ощущение, что существует правильная магическая формулировка.
Написал её — получил идеальный результат. Мой опыт пока показывает другую картину.
Хороший результат часто появляется не из идеального первого запроса, а из нескольких циклов нормальной совместной работы.
Ты ставишь задачу. Получаешь вариант. Критикуешь. Уточняешь. Передаёшь дополнительный контекст. Проверяешь. Повторяешь. И постепенно получается именно то, что тебе было нужно.
Именно этому и, не только этому, я учу людей, которые работают с ИИ и не получают результата.
Вместо заключения
Мне кажется, одна из самых интересных возможностей современных нейросетей находится не в том, что они могут заменить специалиста.
А в том, что специалист может получить вторую голову для работы над своей задачей.
Ты приносишь свои знания, опыт, требования и ошибки.
Нейросеть помогает всё это обрабатывать, проверять, переформулировать и развивать.
Но если ты сам не понимаешь, что делаешь и зачем, магического промпта, скорее всего, не существует.
Поэтому я сейчас отношусь к работе с нейросетью:
Не пытайся с первого раза написать идеальный запрос. Дай задачу, посмотри на результат и используй его, чтобы лучше объяснить следующую задачу
Иногда лучший способ научить нейросеть понимать тебя — сначала позволить ей тебя неправильно понять. И разговаривать с ней, вываливать всё, что в голове. Как бы это глупо не звучало.
Научи плохому — чтобы она научилась хорошему.
Тут должна заиграть драматическая музыка, а экран со статьёй — медленно исчезнуть вдали. Музыку подставите сами. И напишите комментарий. Будем общаться.
P.S. Помните выпуск «Ералаша» «Научи меня плохому!»? Оттуда и картинка.
Ранее на Хабре
Старый трейдер поделился секретом заработка. Я проверил с помощью кода. Удалось заработать? — как развалилась стратегия заработка на фин. рынке из известной книги
Как ChatGPT помог мне потратить шесть часов на пятиминутную проблему — нашёл баг в Обсидиан и написал об этом разработчикам, но они не смогли его воспроизвести
Автор: Trop_12

