Как получить хороший результат от диалога с моделями
Я достаточно часто слышу истории, что модели все еще глупые, что они не решают задач, которые пользователь для них поставил, что проще погуглить. Я в корне не согласен с этими утверждениями, потому что на текущий момент модели очень сильно упрощают жизнь, решая различные рутинные задачи и существенно сокращая время на ранее трудоемкие процессы.
Я пытался разобраться, почему для моих задач модели отрабатывают хорошо, а у кого-то на похожих данных получается сильно хуже. А ответ прост, это то, с чего все начиналось - это качество первоначального промта, качества тех данных, что мы загружаем в модель и как формируем контекст.
Модели сами по себе не знают ничего о нашей проблеме или задаче, не знают что мы хотим получить на выходе, не знают контекста и различных вводных данных. И именно от того, насколько хорошо модель поймет, чего мы от нее ждем, тем более качественно ответит.
В моем случае первоначальная подготовка к постановке задачи содержала в себе описание контекста, 5-6 файлов, которые могли бы помочь, детально описанная задача, прописанная роль. Давайте на примере посмотрим, как сформировать качественный промт к модели.
Предположим, нам нужно написать некоторый документ, скажем, методику по тестированию. Что нам нужно дать на вход модели:
1. Роль - объясняем модели, в какой роли мы хотим ее видеть, что она должна применить на себя, например «инженер по тестированию мобильных приложений, который хочет помочь своей команде проводить тестирование повторяемо, по согласованной методике, чтобы каждое приложение было с гарантированным покрытием и одинаковыми материалами на выходе». То есть тут мы задаем и роль и даем часть описания задачи, к чему должен стремиться ответ модели.
2. Загружаем в модель документы, которые могут дать контекст для задачи. Например это могут быть для нашего случая отчеты по тестированию, сторонние гайды по тестированию, чек-листы к которым мы хотим стремиться, какие-то внутренние документы, в стилистике которых мы хотим получить итоговый документ. В промте мы обязательно описываем, что за документы мы отправили, их краткое описание, определение для чего мы их загрузили.
3. Теперь максимально полноценно описываем желаемый результат, что мы хотим видеть на выходе. Что это должен быть внутренний документ, нацеленный на определенную задачу, определенного стиля, с определенными обязательными пунктами и т.д.
4. И в последнем сообщении очень хорошо работает следующий паттерн: пишем, что сейчас ничего делать не нужно, ничего решать и формировать, а нужно очень внимательно и детально изучить все документы, все материалы, понять контекст и задачу и спросить вопросы, которые непонятны или могут помочь в решении задачи.
И тут последний шаг иногда бывает очень важным. В некоторых случаях модель спрашивала те вопросы, на которые я сам даже не задумывался при построении запроса и чтении документов. И порой ответы на вопросы модели очень сильно самому помогают в понимании задачи или дают фокус на неприметных, но важных вещах. И этот шаг очень сильно влияет на конечный результат.
Попробуйте взять какой-то из ваших прошлых запросов и попробовать снова его решить, но уже используя этот подход. Поверьте, разница в качестве сильно вас удивит.
На сегодня все, а дальше мы посмотрим, как добиться качества уже при общении с моделью, а не только при первом промте.
P. S. Это не является каким-то откровением или это значит, что так и надо делать, просто это те приемы, которые мне помогали добиться от моделек неплохих результатов. Надеюсь какие-то из этих подходов помогут и вам тоже