Предыдущая часть: Перевод руководства Google по промпт инжинирингу. Часть 5. Техники написания промптов: ReAct (Размышляй и действуй), Автоматический промпт инжиниринг
Следующая часть: Перевод руководства Google по промпт инжинирингу. Часть 7. Лучшие практики для написания промптов, 1
Перевод руководства Google по промпт инжинирингу (Prompt engineering). Оригинал доступен по ссылке. https://www.kaggle.com/whitepaper-prompt-engineering
Перевод сделан с применением AI.
Gemini в первую очередь ориентирован на текстовые промпты, которые также включают в себя написание промптов для работы с кодом. Давайте перейдём в Vertex AI Studio и протестируем эти промпты, чтобы посмотреть на примеры кода.
Промпты для написания кода
Gemini также может быть разработчиком и помогать вам в написании кода на любом языке программирования по вашему выбору. Как разработчик, вы можете использовать это, чтобы ускорить процесс написания кода. Представьте, что на вашем компьютере есть папка с сотнями файлов, которые нужно переименовать.
Переименование каждого файла займёт у вас много времени. Вы немного разбираетесь в Bash и могли бы написать скрипт для автоматизации этого процесса, но это тоже может занять некоторое время. Поэтому давайте напишем промпт. Вы можете написать промпт в общедоступном чат-боте Gemini для пользователей, или, если вас больше волнует конфиденциальность, вы можете написать эти промпты в своем облачном аккаунте Google и открыть Vertex AI Studio. Преимущество Vertex AI Studio в том, что вы можете настроить температуру и т.д.
Мне кажется, что это хороший код - он даже задокументирован! Однако, поскольку LLM не могут рассуждать и повторять данные обучения, важно сначала прочитать и протестировать ваш код.
Момент, которого мы все ждём: действительно ли это работает?
Давайте сначала попробуем с тестовой папкой, в которой всего несколько файлов, которые нужно переименовать из filename.txt в draft_filename.txt.
1. Скопируйте вывод из таблицы 16 (без текстовой оболочки ```bash ```) и вставьте его в новый файл под названием «rename_files.sh».
2. Откройте окно терминала и введите: . rename_files.sh. Вам будет предложено ввести имя папки, например test. и нажать Enter.
3. Кажется, скрипт работает нормально. Вы увидите сообщение: «Файлы успешно переименованы». Если вы заглянете в папку test, то заметите, что все файлы были успешно переименованы в draft_filename.txt.
Работает!
Промпты для объяснения кода
Когда вы работаете в команде разработчиков, вам приходится читать чужой код. Gemini может помочь вам и в этом. Давайте возьмём вывод кода из таблицы 16, уберём комментарии и попросим большую языковую модель объяснить, что происходит. См. таблицу 17:
Промпты для перевода кода в другой язык
Код на языке Bash из таблицы 16, похоже, работает нормально. Однако этот скрипт можно было бы использовать повторно, если бы он запрашивал у меня имена файлов. В идеале он должен работать как отдельное приложение с пользовательским интерфейсом. В качестве отправной точки Python был бы лучшим языком для (веб-)приложения, чем Bash. LLM могут помочь с переводом кода с одного языка на другой. Смотрите пример в таблице 18:
Прочтите и просмотрите код. Скопируйте вывод из командной строки и вставьте его в новый файл: file_renamer.py. Протестируйте код, открыв окно терминала и выполнив следующую команду: python file_renamer.py.
ПРИМЕЧАНИЕ: при вводе кода (Python) в Language Studio в Vertex AI вам нужно будет нажать кнопку «Markdown». В противном случае вы получите обычный текст без отступов, которые важны для запуска кода Python.
Промпты для дебаггинга кода
Давайте вручную внесём некоторые изменения в код таблицы 18. Он должен запрашивать у пользователя префикс имени файла и записывать этот префикс заглавными буквами. Посмотрите пример кода, но это просто кошмар. Теперь он выдаёт ошибки Python!
Ого! Похоже на баг:
Давайте посмотрим, сможем ли мы попросить большую языковую модель отладить и проверить код. Взгляните на таблицу 19:
Это здорово. Он не только подсказал мне, как решить проблему, но и выяснил, что в моём коде есть ещё ошибки и как их исправить. В последней части промпта были даны рекомендации по улучшению кода в целом.
А что насчет мультимодального промптинга?
Для промптинга кода по-прежнему используется та же большая языковая модель. Мультимодальный промптинг — это отдельная тема, она относится к технике, при которой вы используете несколько форматов ввода для управления большой языковой моделью, а не просто полагаетесь на текст. Это может включать в себя комбинации текста, изображений, аудио, кода или даже других форматов, в зависимости от возможностей модели и поставленной задачи.
Все части перевода руководства Google по промпт инжинирингу
Перевод руководства Google по промпт инжинирингу. Часть 1. Конфигурация вывода LLM
Перевод руководства Google по промпт инжинирингу. Часть 7. Лучшие практики для написания промптов, 1
Перевод руководства Google по промпт инжинирингу. Часть 8. Лучшие практики для написания промптов, 2
Перевод руководства Google по промпт инжинирингу. Часть 9. Лучшие практики для написания промптов, 3
Перевод руководства Google по промпт инжинирингу. Часть 10. Резюме и полезные ссылки