Часть 6. Формат вывода
Предыдущая часть
Ещё одна полезная опция в промптах — указание формата вывода. Это может пригодиться в разных ситуациях.
Например, если мы хотим увидеть в отклике модели короткий ответ без объяснений всего и вся, есть смысл указать, что нам нужен именно короткий ответ. Если мы хотим от модели фрагмент кода на C++, то нужно попросить у неё фрагмент кода на C++.
Как и в любых других частях промпта, в формате вывода важна прямота и недвусмысленность формулировок. Помните, что вы разговариваете с машиной.
Точное указание формата вывода важно при использовании ИИ как части какой-то автоматизации. Например, мы можем зашить в утилиту, обращающуюся к модели по API, во внутренний промпт указание возвращать JSON, чтобы дальше эта утилита могла полученный результат обработать.
В таком случае также полезным будет не только сказать, в каком формате возвращать результат, но ещё и дать конкретную структуру, которую вы ждёте. То же может быть полезно и в обычном запросе без автоматизации, например, если мы хотим получить от модели таблицу.
С моим сквозным примером про рефакторинг React-приложения не очень получается добавить формат вывода, поскольку промпт пишется для использования модели в агентском режиме. Результатом работы нейросети будут вызовы нужных инструментов и изменения в нужных файлах, но мы чуть повернём в сторону:
После завершения рефакторинга предоставь отчёт в формате:
• Изменённые файлы (список)
• Что изменено в каждом (1-2 предложения)
• Какие пункты ограничений применялись, если применялись
С таким отчётом мы получим от модели данные о том, что конкретно она сделала, зачем это сделала и в какие ограничения упиралась в ходе работы.
Как и всегда, обращу внимание, что мы максимально точно указали, что ожидаем получить от модели. Мы указали, что изменённые файлы должны быть именно списком, что для описания каждого конкретного изменения нам будет достаточно пары предложений. С такой точностью мы можем ожидать от модели предсказуемого вывода.
🎤 feelin #ai