OpenAI o1 — это одна из последних передовых моделей, разработанных компанией OpenAI, которая включает в себя различные улучшения и оптимизации по сравнению с предыдущими версиями. OpenAI o1 — это семейство LLM от OpenAI, которое было оптимизировано с улучшенной функциональностью рассуждений.
Модели линейки o1 изначально задумывались как предварительные модели, разработанные для того, чтобы предоставить пользователям, а также OpenAI, другой тип опыта работы с LLM, чем модель GPT-4o.
Но, если o1 не является моделью чата GPT, то что же это такое? Не думайте о модели OpenAI o1, как о «генераторе отчетов». Если вы дадите ей достаточно контекста и укажите, что вы хотите получить на выходе, она часто находит решение в один момент.
Примечание к статье: OpenAI публикует советы по подсказкам o1, но мы считаем их неполными, и в каком-то смысле вы можете рассматривать эту статью как «Недостающее руководство» к опыту практического использования модели o1.
1. Не пишите стандартные промпты для o1, пишите брифы
Не пишите стандартные промпты для o1, пишите краткое изложение информации или требований, которое используется для лучшего понимания задач. Дайте этой модели «тонну» контекста.

Когда вы используете такую модель чата, как Claude 3.5 Sonnet или GPT-4o, вы часто начинаете с простого вопроса и некоторого контекста. Если модели нужно больше контекста, она часто спрашивает вас об этом (или это становится очевидным из результатов).
Вы итерационно возвращаетесь к модели, корректируя ее и расширяя требования, пока не получите желаемый результат. Это почти как гончарное дело. Модели чата, по сути, извлекают контекст из вас, переговариваясь между собой. Со временем наши вопросы становятся быстрее и ленивее — настолько, насколько они могут быть ленивыми, но при этом получать хороший результат.
o1 просто принимает ленивые вопросы за чистую монету и не пытается выудить из вас контекст. Вместо этого вам нужно вложить в o1 как можно больше контекста.
Даже если вы просто задаете простой инженерный вопрос:
- Объясните все, что вы пробовали и что не сработало.
- Добавьте полный дамп всех схем вашей базы данных.
- Объясните, чем занимается ваша компания, насколько она велика (и определите специфический для компании жаргон).
Относитесь к o1 как к новому сотруднику: остерегайтесь того, что ошибки o1 включают рассуждения о том, сколько он должен рассуждать. Иногда дисперсия не может точно соотнестись со сложностью задачи. Например, если задача очень простая, он будет часто закручиваться в кроличьи норы рассуждений без всякой причины.
Пример написания запроса для модели o1
Используйте его для создания эффективных и точных запросов для о1:
Задаем цель > Указываем необходимый формат ответа > Уточняем предупреждения > Завершаем запрос контекстом
Эту шаблон запросов лично одобрил техдиректор OpenAI Грег Брокман.
Структура запроса для модели OpenAI 01 (с примером):
1. Цель:
[Мне нужен список лучших походов средней протяженности в пределах двух часов езды от Сан-Франциско.
Каждый поход должен стать крутым и уникальным приключением и быть менее известным.]
2. Формат ответа:
[Для каждого похода составь название похода так, как я нашел бы его на AllTrails, затем укажите начальный адрес похода, конечный адрес похода, расстояние, время в пути, продолжительность похода и то, что делает его крутым и уникальным приключением. Напиши в ответе топ-3 вариантов.]
3. Предупреждения:
[Будьте внимательным и убедись, что название трассы указано правильно, что она действительно существует и что указано правильное время.]
4. Контекстный дамп:
[Для контекста: мы с моей девушкой много ходим пешком! Мы совершили практически все местные научно-фантастические походы, будь то Пресидио или парк Золотые ворота. Мы определенно хотим выбраться за город совсем недавно мы поднимались на гору Тэм, от начала лестницы до Стинсона — это было действительно долго, и мы определенно настроены на что-то необычное в эти выходные! вид на океан все равно был бы приятным. мы любим вкусную еду. что мне понравилось в походе на гору Там, так это то, что он заканчивается празднованием (Прибытие в город к завтраку!) Старые ракетные шахты и прочее возле Дискавери-пойнт — это круто, но я только что совершил этот поход, наверное, в 20 раз больше на данный момент. Мы не будем видеться несколько недель (она должна остаться в Лос-Анджелесе по работе), так что уникальность здесь действительно важна.]
В [ …] нужно указать свои данные для запроса
Совет, как облегчить работу с контекстом о1
Мы предлагаем использовать приложение Voice Memos на вашем mac/телефоне. Просто описывайте все свои задачи в течение 1-2 минут, а затем вставьте эту расшифровку в поле ввода запроса.
ИИ-помощники, которые появляются в продуктах, часто облегчают процесс извлечения информации. Например, если вы используете Supabase, попробуйте попросить помощника Supabase сделать дамп/описать все соответствующие таблицы/RPC’s/etc.
Сосредоточьтесь на целях: заранее опишите, ЧТО именно вы хотите получить, и поменьше — КАК вы хотите это получить
После того как вы наполнили модель как можно большим количеством контекста, сосредоточьтесь на объяснении того, что вы хотите получить на выходе.
В большинстве моделей нас учат говорить модели, как мы хотим, чтобы она нам ответила. Например, «Вы — эксперт в области программного обеспечения. Думайте медленно + тщательно».
Это противоположно тому, как можно добиться успеха с o1. Не инструктируйте o1, позвольте o1 взять на себя ответственность и планировать и решать свои собственные шаги. Именно для этого и существует автономный разум, и это может быть гораздо быстрее, чем если бы вы вручную проверяли и общались в чате в качестве «человека в петле».

Совет: разработка действительно хороших критериев того, что вы считаете «хорошим» и «плохим», поможет вам дать модели способ оценить свой собственный результат и самосовершенствоваться/исправлять свои ошибки. По сути, вы переносите LLM-as-Judge в подсказку и позволяете o1 запускать ее, когда это необходимо.
Это требует от вас точного знания того, что вы хотите (и вы должны действительно просить один конкретный результат для каждого запроса — он может быть только в начале!)
o1 часто по умолчанию объясняет концепции с помощью синтаксиса в стиле отчета — полностью с нумерованными заголовками и подзаголовками. Если вы хотите пропустить объяснения и вывести полные файлы — вам нужно просто сказать об этом.
Что модель o1 делает хорошо и чего не делает
Что o1 делает хорошо:
Идеальное однократное копирование целых/многих файлов: Это, безусловно, самая впечатляющая способность o1. Можно копировать/вставлять тонну кода, тонну контекста о том, что вы создаёте, и он полностью переделывает весь файл (или файлы!), обычно без ошибок, следуя существующим шаблонам, которые есть в кодовой базе.
Меньше галлюцинаций: В целом, кажется, что модель меньше путает вещи. Например, o1 отлично справляется с языками запросов, разработанными специально для вас (например, ClickHouse и New Relic), в то время как Claude часто путает синтаксис Postgres.
Медицинские диагнозы: Диагнозы модели оказываются шокирующе близким к правильному в 3 из 5 случаев. Еще полезнее для медиков — он почти всегда дает очень точный дифференциальный диагноз.
Объяснение концепций: Модель очень хорошо объясняет очень сложные инженерные концепции на примерах. Это почти как генерировать целую статью. Когда вы работаете над сложными архитектурными решениями, o1 может сгенерировать несколько планов, с плюсами/минусами для каждого, и даже сравнить эти планы.
Что o1 делает плохо:
Написание в определенных голосах/стилях: Я обнаружил, что он довольно плохо справляется с написанием чего бы то ни было, особенно в специфических голосах или стилях. У него очень академический/корпоративный стиль отчетов, которому он хочет следовать. Я думаю, что в нем так много аргументов, которые задают тон в этом направлении, что очень трудно от этого освободиться.
Вот пример того, как я пытаюсь заставить его написать этот пост — это после долгих попыток — он просто хочет выдать безвкусный школьный отчет.
Создание целого приложения: o1 потрясающе хорош в создании целых файлов. Несмотря на некоторые более оптимистичные демо-версии, которые вы можете увидеть в twitter, o1 не сможет создать для вас целый SaaS, по крайней мере, не с большим количеством итераций. Но он может довольно быстро создавать целые функции, особенно если это фронтенд или простые бэкенд-функции.
Проектирование интерфейсов для генераторов отчетов
Вот несколько конкретных советов по AI UX для тех, кто создает продукты на базе o1:
1. Сделайте так, чтобы было легче увидеть иерархию ответов (представьте себе мини-оглавление).
2. Аналогично, сделайте иерархию более удобной для навигации. Поскольку каждый запрос обычно больше высоты окна, я бы использовал подход, подобный Perplexity, где для каждого вопроса/ответа выделяется раздел, а не свободная прокрутка. Внутри ответа такие вещи, как липкие заголовки, складные заголовки и т.д., могут очень помочь)
3. Упростите управление и просмотр контекста, который вы предоставляете модели. (По иронии судьбы, пользовательский интерфейс Claude справляется с этой задачей гораздо лучше — когда вы вставляете длинный кусок текста, он отображается в виде небольшого вложения). Я также обнаружил, что проекты ChatGPT работают не так хорошо, как у Клода, поэтому я часто копирую и вставляю материал.