Как стать автором
Поиск
Написать публикацию
Обновить

Горизонтальные и вертикальные промты

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров989

В этой статье рассказывал об опыте создания мобильного приложения с помощью Claude Sonnet. И в одном из комментариев было сказано, что надо было «сделать скрининг запросов и вывода при использовании ИИ». Это удивило, потому что чат составил порядка 77 страниц и каким образом можно было бы опубликовать все те промты, которые там использовались?

Но реплика засела в памяти. И читая другие публикации стал присматриваться как авторы публикуют свои промты.

В результате стало ясно, что есть 2 вида промтов — горизонтальные и вертикальные.

Одноразовые горизонтальные промты

Первая группа — это одноразовые промты. Т. е., даётся одна инструкция и затем смотрим результат. Они часто используются для рекламных целей, в частности, чтобы рассказать неофитам о возможностях ИИ. Например, самый простой и самый популярный для начинающих — это «Создай игру „Змейка“».

Здесь же есть и своя подгруппа — «горизонтальные промты», когда один и тот же разовый промт задаётся для разных нейронок, сравниваются результаты и делаются выводы, какая модель справилась лучше. Они используются в основном для выбора нейронки, которая лучше может справиться с определённым типом заданий. Например, разработать приложение, создать страницу сайта, написать продающий текст, составить резюме и т. д.

Особенностью таких промтов является именно их одноразовость. Т. е., они задаются один раз. Ведь было бы совсем нереально проследить, например, все перипетии какого-то проекта по написанию приложения до самого завершения одновременно у нескольких моделей. Ведь известно же, что наибольшее количество предложений у заказчика по изменению программы появляется не в начале проекта, а как раз таки после появления прототипа. Именно когда виден реальный работающий образец, то всплывают многие детали, о которых и заказчик, да и сам программист, могли ещё вначале и не догадываться.

И далее, в силу своей одноразовости такие горизонтальные промты, как правило, более развернутые, подробные, потому что должны выстрелить один раз.

Вот пример такого промта. Это вот как раз тот самый свежий промт, который задал новой модели GPT-5 один из её разработчиков на только что прошедшей 7 августа официальной презентации. Для демонстрации возможностей в области программирования он дал GPT-5 задание написать для его подруги веб-приложение, с помощью которого она будет изучать французский язык.

Текст промта:

Создай красивое, высоко интерактивное веб-приложение для моей партнерши (англоговорящей) для изучения французского языка.

Отслеживай её ежедневный прогресс.

Используй очень привлекательную тему дизайна.

Включи разнообразные виды активностей (например, флеш-карточки, викторины и т. д.).

Одна из активностей должна быть игрой в стиле «Змейка», где змейка заменена на мышку, а яблоки — на кусочки сыра. Каждый раз, когда мышка съедает кусочек сыра, проигрывается голосовое сопровождение, которое представляет новое французское слово, чтобы она могла практиковать произношение во время игры. Сделай управление стрелками клавиатуры.

Подумай перед ответом. Отрендери всё в canvas.

Есть конечно и короткие одноразовые промты, как вышеупомянутый промт про «Змейку». Но обычно это задания по таким темам, которые уже хорошо известны и поэтому не требуют детального описания, поскольку контекст уже существует в интернете и он наверняка использовался для обучения моделей.

В целом, именно такие одноразовые промты удобно публиковать и анализировать. А вот оценка их результатов делается, как правило, слегка, не очень детально. По типу, произвели впечатление и ладно.

Вертикальные промты

В отличие от предыдущих, вертикальные промты это целая серия заданий, которые выполняются одним ИИ для реализации долговременного проекта, например, написания приложения.

Их может быть несколько десятков, а то и больше, и они могут меняться в зависимости от конкретной ситуации. Поэтому публиковать и анализировать их — задача не тривиальная, поскольку они зачастую формулируются на повседневном языке в виде обычных заданий, задач. 

Вот например, один из промтов из моего собственного проекта по созданию коллекции фильмов, о котором упоминалось выше.

Промт

В статистику фильмов добавь количество фильмов по жанрам.

И теперь, сразу же, какой на него был ответ.

Ответ

Отлично! Давайте добавим статистику по жанрам в экран настроек. Сначала обновим MovieStore, добавив метод для получения статистики по жанрам:

…(Здесь вместо кода ставлю многоточие, чтобы не занимать много места в статье)

Теперь обновим SettingsView, чтобы добавить отображение статистики по жанрам:

Теперь давайте также добавим статистику по рейтингам. Обновим MovieStore:

Теперь обновим SettingsView, чтобы добавить статистику по рейтингам:

Отлично! Теперь давайте обновим README с информацией о новой статистике:

Также обновим раздел «Управление данными»:

Отлично! Теперь у вас есть полноценная система статистики. Вот что было добавлено:

1. Общая статистика

Всего фильмов — общее количество

С жанром — фильмы с указанным жанром

Без жанра — фильмы без указанного жанра

Уникальных жанров — количество разных жанров

Средний рейтинг — средняя оценка с визуальными звездочками

С рейтингом — фильмы с оценкой

Без рейтинга — фильмы без оценки

2. Статистика по жанрам

Отображается только если есть фильмы с жанрами

Сортировка по количеству фильмов (убывание)

Показывает количество фильмов в каждом жанре

3. Статистика по рейтингам

Отображается только если есть фильмы с рейтингами

Сортировка по рейтингу (5 звезд 1 звезда)

Визуальные звездочки для каждого рейтинга

Показывает количество фильмов с каждым рейтингом

🎯 Методы в MovieStore:

genreStatistics()

Возвращает массив кортежей (genre: String, count: Int)

Сортирует по количеству фильмов

ratingStatistics()

Возвращает массив кортежей (rating: String, count: Int)

Сортирует по рейтингу (убывание)

totalStatistics()

Возвращает кортеж с общей статистикой

Включает все основные показатели

averageRating()

Вычисляет средний рейтинг

Возвращает nil если нет фильмов с рейтингами

И это ещё без кода и без заключительного обобщения и советов!

Здесь наглядно видно, что публиковать вертикальные промты и их результаты практически нереально. Во‑первых, сами промты очень простые и без связи с контекстом они не имеют какой‑то прогностической ценности. И во‑вторых, ответы на такие промты, т. е., результаты выполнения задания, настолько объёмны, что вряд ли могут быть использованы для демонстрации. Только если в каких‑то узкоспециализированных целях.

Так что же, вертикальные промты обречены на какое‑то аналитическое прозябание, раз нет смысла их публиковать? — На самом деле нет.

Выход в том, что из таких множественных промтов и могущих быть самыми разными по содержанию, формируются уже известные всем общие правила.

Например, в уже существующих коллекциях промтов в интернете практически всегда имеются так называемые ролевые правила, когда для нейросети задаётся определённый стиль общения. В частности, для программистов это может быть ИИ‑партнёр в роли опытного разработчика, эксперта и т. д.

Ещё одно очень распространённое правило — разбивать большие задачи на более мелкие. Это снижает риск, что нейронка запутается.

На сегодняшний день во многих нейросетях есть как минимум 2 типа правил: это правила пользователя (User Rules), которые определяют профиль пользователя; и правила проекта (Project Rules), которые будут применяться только к отдельным проектам.

Более подробно о таких правилах, удачных вариантах и не очень, постараюсь написать в одной из следующих публикаций.

Теги:
Хабы:
+1
Комментарии0

Публикации

Ближайшие события