3,583 papers
arXiv:2509.00482 93 30 авг. 2025 г. FREE

Меньше слов, больше дела: улучшение LLM-агентов для ролевых игр с помощью автоматической оптимизации промптов и ролевых промптов

КЛЮЧЕВАЯ СУТЬ
**Обнаружено:** LLM в режиме ролевой игры страдают «конфликтом приоритетов» — модель сначала вживается в роль и болтает от лица персонажа, а конкретные инструкции игнорирует или выполняет неточно (эффект «chat-before-call»). **Rule-Based Role Prompting позволяет заставить модель надежно выполнять многошаговые алгоритмы**, не отвлекаясь на креативную импровизацию в рамках роли. Промпт делится на две части: «Карточка Персонажа» (кто ты, какой тон) и «Контракт Сцены» (что ОБЯЗАН делать и в каком порядке). Контракт содержит *нерушимые правила выполнения* — модель перестает импровизировать и начинает работать как запрограммированный агент. **Точность выполнения инструкций вырастает в разы** по сравнению с простым «веди себя как опытный маркетолог».
Адаптировать под запрос

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

Ключевой результат: Жестко заданные правила поведения в промпте (Rule-Based Role Prompting) работают значительно лучше, чем простое описание роли или даже автоматическая оптимизация промптов.

Суть метода заключается в преодолении "конфликта приоритетов" у LLM. Когда вы просите модель одновременно быть "креативным маркетологом" и "следовать алгоритму из 5 шагов", она часто отдает приоритет креативной роли и игнорирует скучный алгоритм. Это авторы называют "in-character bias" или "chat-before-call" — модель стремится сначала поговорить в рамках роли, а потом (возможно) выполнить действие.

Чтобы это исправить, предлагается подход "Character-Card/Scene-Contract" (CSC). Промпт делится на две четкие части:

  1. Карточка Персонажа (Character Card): Здесь описывается роль, личность, тон голоса, манера общения. Это отвечает на вопрос "Кто ты?".
  2. Контракт Сцены (Scene Contract): Это самый важный раздел. Здесь прописываются нерушимые, как законы физики, правила выполнения задачи. Это отвечает на вопрос "Что ты ОБЯЗАН делать?".

Ключевые правила из "Контракта Сцены", которые можно применять повсеместно: * Action-first (Сначала действие): Прямое указание сначала выполнить аналитическую или техническую часть задачи (например, проанализировать текст, составить план) и только потом генерировать креативный или диалоговый ответ. * Single-shot (Один выстрел): Инструкция выполнять только одно ключевое действие за один ответ или концентрироваться на одном шаге, чтобы избежать путаницы и распыления внимания модели. * Defer text (Отложить текст): Запрет на генерацию свободного текста до тех пор, пока не будет получен результат от "действия". Это заставляет модель использовать фактические данные, а не выдумывать. * Schema-correct (Следовать схеме): Требование строго придерживаться заданного формата вывода (например, использовать точные ключи в JSON или заголовки в отчете).

Этот метод превращает промпт из просьбы в четкий контракт, где ролевая игра является лишь оболочкой для строгого алгоритма.

  • Прямая применимость: Пользователь может немедленно начать структурировать свои сложные промпты, используя разделы ### Карточка Персонажа и ### Контракт Сцены. Правила вроде "Сначала проанализируй [данные], и только потом пиши ответ" можно вставлять в промпты для анализа текстов, генерации отчетов, планирования и т.д.

  • Концептуальная ценность: Исследование дает пользователю ключевое понимание: LLM нужно "программировать" через ограничения. Простого описания цели недостаточно. Необходимо явно указать процесс и запреты. Это помогает перестать воспринимать LLM как "волшебную коробку" и начать выстраивать с ней более инженерное, предсказуемое взаимодействие.

  • Потенциал для адаптации: Концепция "function calling" легко адаптируется. Вместо вызова API-функции, пользователь может определить "внутренние функции" промпта. Например, "Функция АНАЛИЗ_ТОНАЛЬНОСТИ: оцени текст по шкале от -1 до 1". Правило "Action-first" тогда будет звучать как: "Сначала выполни АНАЛИЗ_ТОНАЛЬНОСТИ, а затем, на основе результата, напиши ответ клиенту". Это переносит мощь API-подхода в обычный чат.

Ты — опытный SMM-менеджер, который готовит контент для соцсетей технологического стартапа.

### Карточка Персонажа
*   **Роль:** SMM-менеджер.
*   **Тон:** Профессиональный, но увлекательный и понятный для широкой аудитории. Избегай сложного жаргона.
*   **Цель:** Привлечь внимание к продукту, объясняя сложные вещи простым языком.

### Контракт Сцены (СТРОГИЕ ПРАВИЛА ВЫПОЛНЕНИЯ)
1.  **Action-first (Сначала анализ):** Прежде чем писать текст поста, ты ОБЯЗАН проанализировать предоставленную статью и извлечь из нее 3-5 ключевых тезисов.
2.  **Defer text (Сначала факты, потом слова):** Текст поста должен быть написан СТРОГО на основе извлеченных тезисов. Не придумывай информацию, которой нет в статье.
3.  **Schema-correct (Следовать формату):** Ответ должен быть структурирован строго следующим образом:
    *   **ТЕЗИСЫ:** (список из 3-5 пунктов)
    *   **ТЕКСТ ПОСТА:** (готовый текст для публикации)
    *   **ХЕШТЕГИ:** (5-7 релевантных хештегов)

### ЗАДАЧА
Проанализируй статью ниже и подготовь на ее основе пост для Telegram-канала.

### СТАТЬЯ ДЛЯ АНАЛИЗА
[Здесь находится текст статьи о том, как новая технология квантовых вычислений может ускорить разработку лекарств, сократив время на моделирование молекулярных взаимодействий с нескольких лет до нескольких дней.]

Этот промпт эффективен благодаря прямому применению принципов из исследования:

  • Разделение Роли и Задачи: Карточка Персонажа задает креативную рамку (тон, стиль), а Контракт Сцены вводит жесткие, не подлежащие обсуждению правила выполнения. Это решает "конфликт приоритетов".
  • Принудительный анализ (Action-first): Правило "Сначала анализ" заставляет модель не просто поверхностно прочитать статью и написать что-то общее, а выполнить конкретную аналитическую работу. Это гарантирует, что пост будет основан на реальных данных.
  • Запрет на галлюцинации (Defer text): Указание "СТРОГО на основе извлеченных тезисов" минимизирует риск того, что модель добавит в пост выдуманные факты или неверные интерпретации.
  • Предсказуемый результат (Schema-correct): Требование к формату вывода гарантирует, что пользователь получит структурированный и готовый к использованию результат, а не сплошной поток текста.
Ты — мой личный ассистент по планированию путешествий.

### Карточка Персонажа
*   **Роль:** Внимательный и педантичный ассистент.
*   **Тон:** Дружелюбный, но деловой. Ты ценишь мое время и деньги.
*   **Цель:** Найти оптимальный вариант, который точно соответствует моим критериям.

### Контракт Сцены (НЕУКОСНИТЕЛЬНЫЕ ПРАВИЛА)
1.  **Action-first (Сначала анализ критериев):** Прежде чем предлагать отели, ты ОБЯЗАН проанализировать все мои ограничения (бюджет, расположение, удобства) и убедиться, что твое предложение им соответствует.
2.  **Single-shot (Одно предложение за раз):** Предлагай только ОДИН, самый лучший по твоему мнению, вариант за один ответ. Не нужно давать мне список из 5-10 отелей.
3.  **Defer text (Обоснование после выбора):** Твое предложение должно содержать краткое обоснование, почему именно этот вариант является лучшим на основе моих критериев.
4.  **Schema-correct (Строгий формат ответа):** Твой ответ должен быть представлен ИСКЛЮЧИТЕЛЬНО в следующем формате:
    *   **Название отеля:** [Название]
    *   **Цена за ночь:** [Сумма]
    *   **Обоснование выбора:** [Краткий текст, 2-3 предложения]
    *   **Возможный минус:** [Один потенциальный недостаток, например, "далеко от центра" или "шумно"]

### ЗАДАЧА
Подбери для меня отель в Санкт-Петербурге на 2 ночи.

### МОИ КРИТЕРИИ
*   **Бюджет:** не более 7000 рублей за ночь.
*   **Расположение:** в пешей доступности от Невского проспекта (до 15 минут пешком).
*   **Обязательно:** наличие завтрака, включенного в стоимость.
*   **Желательно:** бесплатная отмена бронирования.

Этот промпт заставляет LLM работать как точный и надежный инструмент, а не как генератор случайных идей, благодаря следующим механикам:

  • Фокус на задаче (Action-first): Правило "Сначала анализ критериев" заставляет модель не просто искать "отели в Питере", а фильтровать их по жестким параметрам (бюджет, локация, завтрак). Это резко повышает релевантность ответа.
  • Снижение когнитивной нагрузки (Single-shot): Требование "Одно предложение за раз" избавляет пользователя от необходимости самому анализировать длинный список вариантов. Модель берет на себя работу по выбору "лучшего", что и требуется от ассистента.
  • Прозрачность решения (Defer text): Пункт "Обоснование выбора" заставляет модель объяснить свою логику, делая ее решение проверяемым и вызывающим больше доверия. Добавление "Возможного минуса" делает ответ еще более сбалансированным и полезным.
  • Удобство использования (Schema-correct): Строгий формат вывода позволяет быстро считывать ключевую информацию, не выискивая ее в сплошном тексте. Это делает взаимодействие с LLM эффективным и предсказуемым.
📌

Основные критерии оценки

  • A. Релевантность техникам промтинга: Да, исследование предлагает конкретную структуру промпта "Character-Card/Scene-Contract" (CSC) и набор четких правил ("Action-first", "Single-shot"), которые можно напрямую использовать.
  • B. Улучшение качества диалоговых ответов: Да, основной фокус работы — снижение "излишней болтливости" и повышение точности выполнения задач (в данном случае, вызова функций), что напрямую влияет на качество и надежность ответов.
  • C. Прямая практическая применимость: Да, принципы структурирования промпта и формулировки правил применимы в любом чат-интерфейсе без кода. Хотя исследование сфокусировано на "function calling", его выводы легко адаптируются для любых многошаговых задач.
  • D. Концептуальная ценность: Очень высокая. Исследование раскрывает фундаментальную проблему LLM — "конфликт роли и задачи" (in-character bias), когда модель вживается в роль и забывает о необходимости выполнить конкретное действие. Предложенный метод дает пользователю "ментальную модель" для разделения персоны и строгих инструкций.
  • E. Новая полезная практика: Работа попадает сразу в несколько кластеров:
    • №1 (Техники формулирования): Предложен метод Rule-Based Role Prompting (RRP) с использованием CSC.
    • №2 (Поведенческие закономерности): Выявлен эффект "chat-before-call" — склонность модели сначала отвечать в рамках роли, а уже потом выполнять действие.
    • №3 (Оптимизация структуры): Вся суть работы в структурировании промпта через "карточку персонажа" и "контракт сцены" с правилами.
    • №7 (Надежность и стабильность): Методы направлены на снижение ошибок и повышение предсказуемости поведения агента.
  • Чек-лист практичности (+15 баллов): Работа дает готовые конструкции (правила), объясняет, как структурировать сложные запросы, и раскрывает неочевидные особенности поведения LLM, что напрямую улучшает точность и надежность ответов.
📌

Цифровая оценка полезности

Аргументы за высокую оценку (93/100): Исследование предлагает не просто абстрактные советы, а конкретный, воспроизводимый фреймворк "Карточка Персонажа / Контракт Сцены" (CSC). Это мощный инструмент для любого пользователя, который хочет заставить LLM не просто "играть роль", а надежно выполнять многошаговые инструкции в рамках этой роли. Выявленный поведенческий паттерн "сначала чат, потом действие" (chat-before-call) — это ценнейший инсайт, объясняющий множество неудачных попыток заставить LLM следовать сложному алгоритму. Правила "Action-first" и "Single-shot" — это готовые к использованию конструкции, которые можно немедленно встроить в свои промпты и получить прирост в надежности.

Контраргументы (почему не 100): * Некоторая техническая специфика: Исследование плотно завязано на концепции "function calling" (вызов внешних инструментов через API). Обычному пользователю, работающему в веб-интерфейсе ChatGPT, потребуется мысленно адаптировать эту концепцию. "Вызов функции" для него будет эквивалентен "выполнению конкретного подпункта инструкции". Эта небольшая ментальная адаптация снижает прямую применимость "из коробки" для самой широкой аудитории. * Узкий контекст: Работа выполнена в рамках специфического соревнования (CPDC 2025) для игровых NPC. Хотя принципы универсальны, примеры и терминология могут показаться узкоспециализированными, что требует от пользователя усилий по переносу идей в свои домены (маркетинг, анализ, планирование).


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

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

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