Пробежал микро-курс по промпт-инжинирингу от Эндрю Нга, где описываются полезные трюки:
1) Не боимся писать четкие инструкции
- Использовать разделители: '',
, <>, "", {},
- Запрашивать вывод в структурированном формате: JSON, HTML, XML, Markdown и тд
- Проверять выполнение условий, их верность
- Few-shot, о котором писал тут
2) Даём время и возможность "обдумать" свои действия
- Можно определить шаги для выполнения задачи, или алгоритм, в явном виде
- Предложить модели двигаться пошагово (reason step-by-step, and verify if the solution is right)
3) При необходимости даём дополнительные ограничения/инструкции
- Ограничиваем длину в знаках/словах
- Просим сфокусироваться на каких-либо аспектах
- Просим извлечь информацию, и/или выдать результат в таблице/графе/изображении (например, в mermaidjs)
ПС. Пример пиццечат-бота, который собирает заказы и считает сумму (начал считать правильно после просьбы считать пошагово и проверить результат из (2): You reason the final sum step-by-step to verify it's correct.) произвёл некоторую нервозность 🥲