3,583 papers
arXiv:2407.03387 78 1 июля 2024 г. FREE

ConCodeEval - Оценка крупных языковых моделей для ограничения кода в специализированных языках.

КЛЮЧЕВАЯ СУТЬ
LLM значительно чаще игнорируют или нарушают правила, которые указаны в начале и особенно в середине промпта, но гораздо лучше следуют правилам, размещенным в самом конце.
Адаптировать под запрос
📌

1. Ключевые аспекты исследования:

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

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

🔬

2. Объяснение всей сути метода:

Суть исследования сводится к проверке гипотезы о том, что для LLM не все инструкции в промпте одинаково важны. Подобно человеку, который к середине длинной лекции теряет концентрацию, LLM уделяет максимум внимания началу иособенно концуконтекста, в то время как информация в середине "проседает" и может быть проигнорирована. Этот феномен известен как "Lost in the Middle" (Потерянное в середине).

Авторы давали моделям задачу: сгенерировать JSON-файл, который соответствует сложным правилам, описанным в схеме. Они обнаружили, что если "нарушенное" правило находилось в начале или середине файла-схемы, модель с высокой вероятностью его игнорировала. Если же это правило находилось ближе к концу схемы, модель соблюдала его гораздо чаще.

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

📌

3. Анализ практической применимости:

*Прямая применимость:Высокая, но не для исходной задачи, а для самого принципа. Любой пользователь, составляющий промпт длиннее одного абзаца, может немедленно применить этот метод. Просто перенесите самое важное условие (например, "не использовать клише", "объем не более 500 слов", "ответ в формате таблицы") в конец вашего запроса.

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

  • Потенциал для адаптации: Максимальный. Метод не требует адаптации, он универсален. Вместо "схемы" в исследовании подставьте любой набор ваших инструкций, а вместо "генерации JSON" — любую вашу задачу. Механизм адаптации: определите в своем запросе одно ключевое ограничение, которое модель может проигнорировать, и переместите его в самый конец промпта.


🚀

4. Практически пример применения:

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

# ЗАДАЧА

Придумай 5 идей для постов в Instagram для нового фитнес-клуба "Атлант".

# КОНТЕКСТ

- **Целевая аудитория:** Молодые профессионалы 25-40 лет, живут и работают в центре города, ценят комфорт, современные технологии и сообщество.
- **Особенности клуба:** Новый, стильный дизайн, умные тренажеры, бассейн с панорамным видом, групповые занятия по йоге и сайклингу, фитнес-кафе.
- **Цель постов:** Привлечь внимание, вызвать интерес к открытию, мотивировать записаться на пробное занятие.
- **Тон голоса:** Энергичный, мотивирующий, но в то же время экспертный и не фамильярный.

# ИНСТРУКЦИИ

1. Каждая идея должна включать: цепляющий заголовок, краткое описание сути поста и призыв к действию.
2. Идеи должны быть разнообразными: одна про тренажеры, одна про бассейн, одна про атмосферу, одна про тренеров, одна про специальное предложение.
3. Текст должен быть легким для восприятия.

**# КРИТИЧЕСКОЕ ОГРАНИЧЕНИЕ**
**Очень важно: НЕ ИСПОЛЬЗУЙ банальные и общие хэштеги вроде #фитнес, #спорт, #зож, #тренировка. Если предлагаешь хэштеги, они должны быть уникальными и брендовыми (например, #АтлантВделе).**

🧠

5. Почему это работает:

Этот промпт работает благодаря принципу, выявленному в исследовании.

  1. Структура и контекст: Сначала модель получает весь необходимый контекст (про клуб, аудиторию, цели). Это формирует "базу знаний" для выполнения задачи.
  2. Позиционирование ключевого правила: Самое важное и легко нарушаемое правило — запрет на использование банальных хэштегов — размещено в самом конце. После обработки всего контекста и общих инструкций, модель сталкивается с этим ограничением как с финальной, самой свежей в "памяти" директивой. Это резко снижает вероятность того, что она по своей статистической привычке добавит стандартные хэштеги #фитнес или #спорт.

📌

6. Другой пример практического применения

Задача для HR-специалиста: составить текст вакансии, но без упоминания зарплаты, чтобы сначала оценить кандидатов по навыкам.

# РОЛЬ

Ты — опытный HR-менеджер.

# ЗАДАЧА

Напиши текст вакансии на должность "Аналитик данных" для IT-компании "Вектор".

# ИНФОРМАЦИЯ О КОМПАНИИ И ВАКАНСИИ

- **Компания:** "Вектор", лидер в области разработки ПО для логистики. Мы ценим инициативу и профессиональный рост.
- **Команда:** Дружный коллектив из 15 аналитиков, работаем по Agile.
- **Обязанности:**- Сбор и обработка больших данных.
- Построение дашбордов в Power BI.
- Проверка гипотез и проведение A/B тестов.
- Подготовка отчетов для руководства.
- **Требования к кандидату:**- Опыт работы от 2 лет.
- Отличное знание SQL и Python (pandas, numpy).
- Опыт работы с Power BI или Tableau.
- **Мы предлагаем:**- Официальное трудоустройство, ДМС.
- Гибкий график, возможность удаленной работы 2 дня в неделю.
- Бюджет на обучение и конференции.

**# ГЛАВНОЕ ПРАВИЛО**
**Критически важно: в тексте вакансии ни в каком виде НЕ упоминай зарплату, зарплатную вилку или фразы вроде "конкурентная заработная плата". Цель — сфокусировать кандидата на задачах и условиях, а не на деньгах.**

🧠

7. Объяснение механизма почему этот пример работает.

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

  1. Погружение в контекст: Модель сначала "вживается" в роль HR-менеджера и получает всю фактуру: кто нужен, что делать, какие условия. На этом этапе у нее активируются все паттерны, связанные с написанием вакансий.
  2. Статистическая ловушка: Стандартный паттерн для вакансии — это блок про зарплату. Если бы инструкция о ее неупоминании была в начале, модель, обработав большой объем текста о задачах и бонусах, могла бы "забыть" об этом ограничении и по инерции добавить стандартную фразу в конце.
  3. Финальная директива: Размещая жесткое и четкое ограничение (НЕ упоминай зарплату) в самом конце, мы используем его как "фильтр последней мили". Это последняя инструкция, которую модель обрабатывает перед генерацией. Она перевешивает статистическую привычку и заставляет модель сознательно избегать упоминания денег, точно выполняя самое важное условие промпта.

📌

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

  • Предварительный фильтр: Исследование полностью сфокусировано на генерации текстовых данных (в формате кода/структурированных данных) на основе текстовых инструкций (схем). Оно проходит фильтр и подлежит полной оценке.
  • A. Релевантность техникам промтинга: Высокая. Исследование напрямую сравнивает эффективность различных форматов представления инструкций (JSON, YAML, NL) и, что более важно, изучает влияние позиции инструкции в промпте.
  • B. Улучшение качества диалоговых ответов: Низкая. Фокус на генерации строго структурированного кода (JSON/YAML), а не на качестве диалога или связного текста.
  • C. Прямая практическая применимость: Низкая для основной задачи (генерация кода по схемам), но высокая для выявленных поведенческих закономерностей, которые можно перенести на любые задачи.
  • D. Концептуальная ценность: Очень высокая. Раскрывает фундаментальный аспект поведения LLM — "потеря информации в середине контекста" ("Lost in the Middle") и слабость в обработке числовых ограничений.
  • E. Новая полезная практика (кластеры): Работа попадает в несколько ключевых кластеров:
    • Кластер 2 (Поведенческие закономерности LLM): Главная ценность. Вывод о том, что инструкции в начале и середине промпта игнорируются чаще, чем в конце — это золотой стандарт.
    • Кластер 3 (Оптимизация структуры промптов): Прямое сравнение эффективности разных форматов (JSON, YAML, NL) и вывод о влиянии позиции правила.
    • Кластер 5 (Извлечение и структурирование): Вся работа посвящена генерации структурированных данных, давая понять, какие форматы инструкций лучше работают.
  • Чек-лист практичности (+15 баллов): ДА, работа объясняет, где в промпте размещать важную информацию и раскрывает неочевидные особенности поведения LLM.
📌

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

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

Аргументы в пользу оценки:

* Универсальный принцип: Вывод о том, что LLM хуже обрабатывают инструкции в середине контекста и лучше — в конце, применим к любому длинному и сложному промпту, будь то написание отчета, анализ документа или генерация идей. Это знание напрямую улучшает качество промптов.
* Концептуальная ясность: Исследование помогает пользователю сформировать правильную "ментальную модель" LLM: это не всезнающий оракул, а система, чье внимание неравномерно распределено по тексту. Это объясняет, почему иногда модель "забывает" или игнорирует важные условия.
* Практический совет: Рекомендация размещать критически важные ограничения в конце промпта — это готовая к использованию техника, не требующая никаких специальных знаний.

Контраргументы (почему оценка могла быть ниже или выше):

* Почему не 90+: Основной предмет исследования (DSL, JSON-схемы) слишком далек от повседневных задач обычного пользователя. Чтобы извлечь пользу, нужно мысленно "перевести" выводы из контекста "генерации кода" в контекст "написания письма" или "составления плана". Статья не делает этот перевод за читателя.
* Почему не 50-60: Несмотря на узкую тему, выявленная закономерность о "потере в середине" настолько фундаментальна и полезна для любого продвинутого пользователя, что игнорировать ее нельзя. Это один из самых важных практических инсайтов о работе с длинным контекстом, поэтому работа заслуживает высокой оценки.

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

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

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