From Vectors of Mind - изображения в оригинале.
[Изображение: Визуальный контент из оригинального поста]Вы после прочтения этого поста
Моя работа стала опасно близка к тому, чтобы быть Инженером по Подсказкам1. Это меня устраивает, так как она сочетает мою любовь к письму, психометрии и NLP. Вот некоторые из самых мощных техник подсказок:
Используйте четкие и конкретные инструкции
Логическое рассуждение
Соберите необходимую информацию перед выполнением задачи
Разбейте задачи на этапы
Технические термины — ваши друзья
Набор полезных фраз
1. Четкие и конкретные инструкции#
Юристы и компьютерные ученые естественно хороши в этом. На самом деле, одно из удовольствий от подсказок заключается в том, что можно быть гораздо менее точным по сравнению с обычным кодом, и LLM часто понимают суть. Однако многие запросы можно улучшить, просто будучи явными относительно задачи и формата, в котором должен быть ответ. Например, недавно я приготовил это блюдо:
[Изображение: Визуальный контент из оригинального поста]
На вкус было отлично, спасибо, что спросили. Другие примеры:
“Суммируйте историю ИИ в одном абзаце.”
“Создайте таблицу самых старых языковых семей, отсортированных по возрасту. Будьте исчерпывающими.”2
“Перепишите цитируемый текст в стиле Уайта и Странка. Дайте мне три варианта.”
“Рассчитайте матрицу корреляции Пирсона для столбцов 2-7 прикрепленного .csv.”
последующее: “Напишите код для отображения результатов в виде тепловой карты с достаточным разрешением, чтобы его можно было использовать на постере. Используйте лучшие практики в выборе эстетики”
Конкретные инструкции часто включают конкретные примеры. Уайт и Странк написали Элементы стиля. Ссылка на их книгу лучше, чем использование прилагательных, таких как “лаконичный”, “профессиональный” или “отличный” стиль письма. Отчасти потому, что LLM склонны к избыточной доставке, особенно по конкретным прилагательным. Поэтому, если вы хотите, чтобы робот принял дерзкую персону, попробуйте сказать ему действовать как Вероника Марс или Реджина Джордж из “Дрянных девчонок”.
2. Логическое рассуждение#
LLM обучены на огромном корпусе текстов для предсказания следующего слова. Удивительно, но это делает их хорошими в приближении рассуждений, но они быстро ломаются для сложных задач. Здесь “сложный” может означать что-то вроде “сложите числа в столбце 1”. Это очень трудно сделать с первого раза, и он выдаст какое-то число, которое кажется разумным и, вероятно, будет в правильном диапазоне, но не будет правильным ответом. Добавление “подумайте об этом поэтапно” творит чудеса. Часто вам даже не нужно указывать, какие это шаги; LLM могут вывести, что для суммирования столбца промежуточные шаги — это написать “n1 + n2 + n3 + … + n100 =”. Это по сути подсказывает самому себе, чтобы получить лучший ответ на правой стороне этого знака равенства. Или, по аналогии, давая себе время подумать об этом. Для любой проблемы фраза “подумайте об этом поэтапно” — это ваша первая линия защиты в борьбе с галлюцинациями LLM. Если это не сработает, перечислите шаги сами (техника, к которой мы вернемся).
3. Соберите необходимую информацию перед выполнением задачи#
Если вы попросите chatGPT написать блог-пост (я бы никогда этого не сделал) или функцию на Python (я бы абсолютно сделал), он напишет это, не спрашивая о деталях того, что вы на самом деле хотите. Многое из этого можно избежать, сказав что-то вроде: “Я хочу написать функцию, которая делает X; какую информацию мне нужно собрать перед кодированием?” или “Напишите функцию, которая делает X, но сначала спросите любую необходимую информацию перед написанием кода.” где “X” — это некоторое частичное описание.
4. Разбейте задачи на этапы#
Всякий раз, когда chatGPT не справляется с заданием и логическое рассуждение не помогает, разбейте задачу на подзадачи. Это часто составляет половину работы над задачей с самого начала и, совпадение, то, что (в настоящее время) трудно для LLM сделать самостоятельно. Однако обратите внимание, что вы можете часто делегировать это LLM также3. Например, я попросил chatGPT придумать элементы для теста на креативность (который вы можете просмотреть):
Я пытаюсь придумать больше вопросов, похожих на Тест Удаленных Ассоциаций (RAT). RAT требует от участников найти общее слово, которое связывает три, казалось бы, несвязанных слова. Вот некоторые примеры наборов слов:
1. Коттедж, Швейцарский, Торт (Ответ: Сыр)
2. Высокий, Книга, Стул (Ответ: Школа)
3. Фрукт, Взгляд, Трафик (Ответ: Джем)
4. Крем, Коньки, Вода (Ответ: Лед)
5. Боль, Охотник, Капуста (Ответ: Голова)
6. Манеры, Круглый, Теннис (Ответ: Стол)
7. Падение, Актер, Пыль (Ответ: Звезда)
8. Свет, День Рождения, Палка (Ответ: Свеча)
9. Салат, Голова, Гусь (Ответ: Яйцо)
10. Музыка, Болел, Зеленый (Ответ: Яблоко)
Каковы лучшие практики? Как мне об этом думать поэтапно?
Как и в понимании того, как суммировать числа, chatGPT отлично справляется с созданием “рецептов” для выполнения задач. После того, как он выдал, все, что мне нужно было сказать, это:
“Отлично! Теперь пройдите через этот процесс, чтобы создать 5 новых вопросов”
А затем еще пять, и еще пять. Ранее я пытался напрямую попросить новые элементы, и предложения были ужасными. Для гораздо более сложного примера, посмотрите, как институт безопасности ИИ использовал эту технику (среди других трюков), чтобы решить проблему, которая была разработана как невозможная для LLM.
5. Технические термины — ваши друзья#
Технические термины являются аттракторными бассейнами для компетентного поведения LLM. Например, описание болезни и вопрос о том, что “показано”, продвинет вас дальше, чем вопрос “Что мне делать?” Использование “показано” говорит LLM сопоставить ваши симптомы с каждой медицинской книгой, когда-либо написанной. Последнее сопоставляется с просьбой о медицинском/жизненном совете, который он был обучен не давать. Использование технических или неколлоквиальных терминов выводит вас из пространства обычного помощника, которое имеет больше всего ограничений и советов уровня Reddit.
6. Набор полезных подсказок#
Вот несколько фраз, которые я часто использую
“Это правильно?”
Всякий раз, когда я пишу резюме работы кого-то другого или описываю идею, с которой я не полностью знаком, я копирую-вставляю свое письмо и спрашиваю, правильно ли это. Обычно он довольно хорошо отталкивается, когда части спорные
“Вы уверены?”
Аналогично, всякий раз, когда я подозреваю, что LLM говорит чушь, я спрашиваю, уверен ли он. Если он меняет свое мнение, то принимайте утверждение с большой долей скептицизма.
“Помогите мне с мозговым штурмом.” “Будьте креативными”
Одно из лучших применений LLM — помочь вам исследовать пространство идей. Иногда ему нужно поощрение, чтобы отойти от модальных ответов.
Если у вас есть какие-то свои фразы, добавьте их в комментариях!
Это также стало более пятнистым, чем мне хотелось бы, так что если у вас есть какая-либо контрактная работа в области науки о данных, ИИ или психометрии, свяжитесь со мной! ↩︎
Признаюсь, нет никакого способа, чтобы LLM перечислил все 142-420 языковых семей в мире. Поскольку это “невозможно” (т.е. слишком далеко от его стандартного поведения, за пределами некоторого жесткого лимита токенов), “исчерпывающий” служит для борьбы с гравитацией короткого ответа, делая LLM более тщательным. Это недостаток подсказок, которые иногда деградируют в мольбы, уговоры, взятки и угрозы. ↩︎
Тот факт, что вы можете получить помощь от LLM в разбиении подзадачи, указывает на то, что это также будет все больше автоматизироваться. Кто знает, на что будут способны будущие поколения. ↩︎