3,583 papers
arXiv:2604.19114 74 21 апр. 2026 г. FREE

OOPrompt: структурирование промпта как набора свойств для итерации без переписывания с нуля

КЛЮЧЕВАЯ СУТЬ
Обычный промпт — монолит. Получил не то — переписываешь всё, и случайно ломаешь то, что работало. OOPrompt позволяет менять тон, аудиторию или формат точечно — один слот, всё остальное нетронуто. Фишка: промпт — не абзац, а набор именованных слотов: Задача / Аудитория / Тон / Формат / Ограничения / Приоритет. Нужен тот же текст для HR вместо технарей — меняешь только «Аудитория» и отправляешь снова. Никакого переписывания с нуля.
Адаптировать под запрос

TL;DR

OOPrompt — подход, при котором промпт разбивается на именованные свойства (цель, аудитория, тон, формат, ограничения) вместо одного текстового блока. Каждое свойство можно редактировать независимо, не трогая остальные.

Типичная боль: написал большой промпт, получил не то, начинаешь переписывать всё заново — и случайно ломаешь то, что работало. Или нужен тот же текст, но для другой аудитории — снова пишешь почти то же самое с нуля. Проблема в том, что промпт как монолит: вытащить одну деталь и поправить, не задев остальное, практически невозможно.

OOPrompt решает это через декомпозицию: промпт — не абзац, а набор слотов. Заполнил слоты → получил результат. Нужно поменять аудиторию — меняешь один слот. Нужен другой тон — меняешь другой. Остальное не трогаешь.


🔬

Схема метода

ШАГ 1: Разбей задачу на свойства → именованные блоки (цель / аудитория / тон / формат / ограничения)
ШАГ 2: Заполни каждый блок отдельно → модульный промпт
ШАГ 3: Отправь в LLM → получи результат
ШАГ 4 (итерация): Измени один блок → отправь снова → сравни

Все шаги выполняются в одном диалоге. Шаг 4 повторяется сколько угодно раз.

🚀

Пример применения

Задача: Павел Дуров написал новый пост о свободе слова. Нужно сделать разбор для трёх аудиторий: читателей Telegram-канала о технологиях, HR-специалистов и студентов журфака — с разными акцентами, но на базе одного анализа.

Промпт:

Я работаю с текстом модульно. Вот мои свойства:

**Материал:** Пост Павла Дурова о свободе слова и давлении государств на платформы.
[вставь текст или краткое содержание]

**Задача:** Сделай разбор позиции автора — аргументы, слабые места, контекст.

**Аудитория:** Читатели Telegram-канала о технологиях и интернет-культуре.

**Тон:** Аналитический, без восхищения и без осуждения. Факты + интерпретация.

**Формат:** 4-5 абзацев. Без списков. Подходит для публикации в канале.

**Ограничения:** Не пересказывай пост целиком. Не давай оценок личности автора.

**Приоритет:** Сначала — суть позиции, потом — почему это важно именно сейчас.

Собери финальный текст из этих свойств.

После получения результата — минимальное изменение для следующей версии:

Измени только свойство **Аудитория** на: HR-специалисты крупных компаний.
Измени **Приоритет** на: акцент на корпоративные риски при использовании мессенджеров.
Остальное — без изменений.

Результат: Первый запрос выдаст готовый текст для канала. Второй запрос — переработку под HR с теми же фактами, но другим углом. Не нужно ничего переписывать заново — только менять нужный слот.


🧠

Почему это работает

Когда пишешь промпт одним текстом, несколько намерений перемешиваются: цель, тон, аудитория, ограничения — всё в одной каше. Модель вынуждена сама угадывать приоритеты. Иногда угадывает, иногда нет.

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

Главный выигрыш — в итерации. Вместо "давай попробуем по-другому" и переписывания с нуля ты точечно меняешь один параметр. Видишь, как именно это изменение повлияло на результат. Это и быстрее, и учит понимать, какие свойства на что влияют.

Рычаги управления: - Добавь "Приоритет" → модель поймёт что важнее, если свойства конфликтуют - Укажи явный вес ("это критично", "это желательно") → тонкая настройка акцентов - Добавь "Контрпримеры" ("избегай X, не делай Y") → сужает зону ошибки - Убери "Формат" → модель сама выберет структуру, иногда неожиданно удачно


📋

Шаблон промпта

Я работаю с промптом модульно. Вот мои свойства:

**Материал:** {исходные данные или контекст — текст, ситуация, вводные}

**Задача:** {что именно нужно сделать}

**Аудитория:** {для кого результат — кто будет читать/использовать}

**Тон и стиль:** {как должно звучать — формально/неформально, экспертно/дружелюбно}

**Формат вывода:** {как структурировать — список, абзацы, таблица, длина}

**Ограничения:** {чего нельзя делать или упоминать}

**Приоритет:** {что важнее всего в результате}

Собери финальный ответ из этих свойств.

Что подставлять: - {материал} — текст для анализа, описание ситуации, данные - {задача} — конкретный глагол: напиши, проанализируй, переформулируй, сравни - {аудитория} — чем конкретнее, тем лучше: "инвесторы серии A", "подростки 14-16 лет", "HR без tech-бэкграунда" - {тон} — можно указать референс: "как Медуза", "как корпоративный отчёт", "как дружеский совет" - {формат} — число абзацев, наличие списков, максимальная длина - {ограничения} — конкретные запреты, не "будь точным", а "не используй слово 'синергия'" - {приоритет} — что важнее при конфликте свойств


🚀 Быстрый старт — вставь в чат:

Вот шаблон модульного промпта OOPrompt. Адаптируй под мою задачу: {твоя задача}.
Задавай вопросы, чтобы заполнить все поля.

[вставить шаблон выше]

LLM спросит про аудиторию, тон и ограничения — потому что без этого свойства останутся пустыми, и модель будет угадывать. Она возьмёт структуру из шаблона и подберёт значения под твою задачу.


⚠️

Ограничения

⚠️ Аналитические задачи с открытым ответом: При задачах типа "что ты думаешь о X" или "как лучше поступить" — структура свойств помогает меньше. Там важна цепочка рассуждений, а не точность параметров.

⚠️ Простые задачи: Для быстрых вопросов — переизбыток. Если нужно узнать курс доллара или перевести предложение, заполнение слотов займёт больше времени, чем сам ответ.

⚠️ Конфликт свойств: Если задать противоречивые свойства (короткий формат + глубокий анализ), модель выберет компромисс сама — не всегда в нужную сторону. Нужно явно указывать приоритет.

⚠️ Не для одноразовых запросов: Эффект накапливается при итерации. На первом проходе преимущество перед обычным промптом небольшое.


💡

Адаптации и экстраполяции

🔧 Техника: добавить "Версии" → параллельное сравнение

Добавь в шаблон одно свойство:

**Версии:** Сделай 2 варианта: один с акцентом на {параметр А}, другой — на {параметр Б}.

Модель выдаст оба варианта в одном ответе. Можно быстро выбрать направление и дальше итерировать только один.


🔧 Техника: "Зафиксируй что работает" → промпт-шаблон на будущее

После удачного результата попроси:

Сохрани текущие свойства как шаблон. Замени конкретные значения на плейсхолдеры {в скобках},
чтобы я мог использовать этот промпт для похожих задач.

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


🔧 Экстраполяция: OOPrompt + ролевая критика

После получения результата добавь агента-критика:

Теперь выступи как строгий редактор. Проверь, насколько финальный текст соответствует
каждому из заявленных свойств. Отдельно по каждому свойству — соответствует или нет, почему.

Модель сама протестирует свой вывод против твоих требований. Отличный способ поймать несоответствия до финальной правки.


🔍

Как исследовали

Команда из UCLA сначала проанализировала существующие системы структурированного промптинга — от PromptChainer до LangGPT — и вывела начальный дизайн-спейс из шести этапов. Затем собрала MVP: интерфейс, где можно создавать промпты через именованные свойства, редактировать их по отдельности и отправлять в ChatGPT или Gemini.

С этим прототипом работали 20 участников из 11 университетов — разные специальности от джаза и маркетинга до машинного обучения. Три типа задач: код/аналитика (где есть правильный ответ), написание истории (открытое задание) и планирование поездки (исследовательское). После — глубинные интервью.

Самое неожиданное: почти все (14 из 20) восприняли концепцию позитивно, но единственный участник с реальным опытом промпт-инжиниринга — отказался. Сказал: я уже делаю это в голове, интерфейс мне не нужен. Это честный сигнал: OOPrompt — не открытие для экспертов, а формализация интуитивной практики.

На этапе валидации 8 участников вернулись для трёх сценариев: отчёт для разных аудиторий, групповое мероприятие, дебаты. Итог: итерация ускорилась, структура помогла в исследовательских задачах — но для аргументационных ("убеди меня") преимущество исчезало.


🔗

Ресурсы

OOPrompt: Reifying Intents into Structured Artifacts for Modular and Iterative Prompting

Авторы: Tengyou Xu, Detao Ma, Xiang 'Anthony' Chen — University of California, Los Angeles

Связанные работы: LangGPT, PromptChainer, Luminate, DirectGPT, PromptAid


📋 Дайджест исследования

Ключевая суть

Обычный промпт — монолит. Получил не то — переписываешь всё, и случайно ломаешь то, что работало. OOPrompt позволяет менять тон, аудиторию или формат точечно — один слот, всё остальное нетронуто. Фишка: промпт — не абзац, а набор именованных слотов: Задача / Аудитория / Тон / Формат / Ограничения / Приоритет. Нужен тот же текст для HR вместо технарей — меняешь только «Аудитория» и отправляешь снова. Никакого переписывания с нуля.

Принцип работы

Каждый слот — отдельная переменная. Менять одну — значит не трогать остальные. Итерация превращается из «всё заново» в «поменяй параметр → сравни результат». Обычный промпт-монолит смешивает намерения в одну кашу — модель сама угадывает приоритеты. Именованные слоты убирают угадывание: каждый блок однозначен, конфликтов между частями промпта меньше. Добавь «Приоритет» — и модель будет знать что делать, если слоты потянут в разные стороны.

Почему работает

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

Когда применять

Создание контента с вариациями — один материал для разных аудиторий, платформ, тонов. Особенно ценно когда промпт дорабатывается раунд за раундом (рабочие письма, посты, аналитика) или когда один шаблон использует команда. НЕ подходит для быстрых вопросов (курс доллара, перевод предложения — заполнение слотов займёт дольше самого ответа) и задач с открытым рассуждением, где важна цепочка мыслей, а не точность параметров.

Мини-рецепт

1. Разбей задачу на слоты: Задача / Аудитория / Тон / Формат / Ограничения — минимальный набор. Добавь «Приоритет» если свойства могут потянуть в разные стороны.
2. Заполняй конкретно: Аудитория — «HR без технического опыта», не «широкая аудитория». Ограничения — «не используй слово синергия», не «будь точным».
3. Заверши командой: последняя строка промпта — «Собери финальный ответ из этих свойств». Это сигнал модели что структура завершена и пора генерировать.
4. Итерируй точечно: пиши «Измени только свойство [Аудитория] на: ...». Одно изменение — одна переменная — сразу видно эффект.

Примеры

[ПЛОХО] : Напиши разбор поста Дурова для канала, аналитически, не длинно, без личных оценок, для разных аудиторий
[ХОРОШО] : Задача: Разбор позиции Дурова — аргументы, слабые места, контекст. Аудитория: Читатели Telegram-канала о технологиях. Тон: Аналитический, без восхищения и осуждения. Факты + интерпретация. Формат: 4-5 абзацев, без списков. Подходит для публикации в канале. Ограничения: Не пересказывай пост целиком. Не оценивай личность автора. Приоритет: Сначала суть позиции, потом — почему это важно прямо сейчас. Собери финальный текст из этих свойств. Для версии под HR — только это: Измени свойство Аудитория на: HR-специалисты крупных компаний. Измени Приоритет на: корпоративные риски при использовании мессенджеров. Остальное — без изменений.
Источник: OOPrompt: Reifying Intents into Structured Artifacts for Modular and Iterative Prompting
ArXiv ID: 2604.19114 | Сгенерировано: 2026-04-22 06:30

Проблемы LLM

ПроблемаСутьКак обойти
Монолитный промпт ломается при итерацииНаписал большой текстовый промпт. Получил не то. Меняешь одну деталь — случайно ломаешь то, что работало. Или нужна та же задача, но для другой аудитории — пишешь почти то же самое с нуля. Непонятно, что именно изменение дало эффект. Проблема растёт с размером промптаРазбей промпт на именованные блоки: задача, аудитория, тон, формат, ограничения. Меняй один блок за раз. Остальное не трогай

Методы

МетодСуть
Именованные слоты — итерация без переписыванияЗапиши промпт как список именованных свойств. Каждое свойство отдельно: Задача:, Аудитория:, Тон:, Формат:, Ограничения:, Приоритет:. Завершай запросом Собери финальный ответ из этих свойств. На итерации пиши: Измени только свойство Аудитория на: .... Почему работает: Модель получает чёткую структуру без перемешанных намерений. Конфликтов между частями промпта меньше. Ты меняешь ровно одну переменную — видишь её изолированный эффект. Когда применять: задачи с несколькими версиями (разные аудитории, тоны, форматы), сложные промпты с риском поломки. Когда не нужно: простые одноразовые запросы — переизбыток структуры
📖 Простыми словами

OOPrompt: Reifying Intents into Structured Artifacts for Modular and IterativePrompting

arXiv: 2604.19114

Суть OOPrompt в том, что нейронки работают не с текстом, а с намерениями. Когда ты пишешь промпт одной простыней, ты создаешь информационную кашу, где цель, тон и ограничения перемешаны в кучу. Модель пытается угадать, что из этого важнее, и в итоге либо игнорирует формат, либо забывает про аудиторию. Этот метод предлагает перестать общаться с AI как с гадалкой и начать работать с ним как с программным кодом, разбивая задачу на четкие, независимые блоки.

Это как собирать мебель из IKEA. Обычный промпт — это если бы тебе выдали готовую тумбочку, которую нельзя разобрать, и сказали: «Сделай ее чуть выше и синего цвета». Тебе придется ее ломать и перекрашивать целиком. OOPrompt — это когда у тебя есть отдельные детали: ножки, столешница, фурнитура. Ты можешь заменить только ножки, не трогая все остальное. Формально ты меняешь результат, но по факту просто перетыкаешь один модуль на другой, не рискуя сломать всю конструкцию.

В основе лежат структурированные артефакты — ты выносишь каждое намерение в отдельное именованное свойство: цель, аудитория, тон, формат. Если тебе нужно переделать разбор поста Дурова с технарей на HR-специалистов, ты не переписываешь весь промпт. Ты просто меняешь значение в поле Audience, а блок с анализом текста остается нетронутым. Это гарантирует, что фактура не поплывет, а изменится только «упаковка» контента. Модульность убивает хаос и дает предсказуемый результат.

Тестировали это на сложных задачах с кучей условий, но принцип объектно-ориентированного промптинга применим везде: от генерации кода до написания постов в соцсети. Это спасение для тех, кто строит сложные цепочки задач, где один и тот же анализ нужно адаптировать под разные площадки. Вместо того чтобы плодить десять похожих промптов, ты создаешь один шаблон-конструктор. Это превращает работу с AI из «тыканья палкой в небо» в нормальный инженерный процесс.

Короче: хватит писать промпты-сочинения, начни собирать их из кирпичей. OOPrompt — это переход от хаотичного текста к структурированным данным, которые модель понимает однозначно. Если ты не разделишь свои хотелки на атомы, нейронка продолжит лажать, путая тон с фактами. Кто перейдет на модули — получит стабильный результат, остальные будут вечно подбирать слова, гадая, почему в этот раз не сработало.

Работа с исследованием

Адаптируйте исследование под ваши задачи или создайте готовый промпт на основе техник из исследования.

0 / 2000
~0.5-2 N-токенов ~10-30с
~0.3-1 N-токенов ~5-15с