3,583 papers
arXiv:2507.16063 78 21 июля 2025 г. FREE

LLM не умеет одновременно хорошо творить и строго соблюдать правила.

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

Исследование представляет инструмент (APCE) для автоматической генерации сообщений к программным коммитам (описаниям изменений в коде). Суть подхода в использовании двух LLM-агентов: один агент ("Генератор") создает черновик сообщения на основе данных об изменениях, а второй агент ("Рефайнер") проверяет этот черновик на соответствие строгим правилам (например, длина, стиль) и исправляет его.

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

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

  1. Шаг 1: Генератор. Вы пишете первый промпт, который просит LLM создать черновик. На этом этапе вы даете всю основную информацию, контекст и общую цель. Ваша задача — получить "сырой", но в целом адекватный материал.

  2. Шаг 2: Рефайнер. Вы пишете второй промпт, который играет роль строгого редактора или контролера качества. В этот промпт вы вставляете ответ, полученный на первом шаге, и даете четкий чеклист правил, которым результат должен соответствовать. Ключевая инструкция для рефайнера звучит так: "Оцени текст ниже. Если он соответствует ВСЕМ критериям, верни его без изменений. Если нет — исправь и верни ТОЛЬКО исправленную версию, без объяснений".

Этот метод заставляет LLM сфокусироваться сначала на творческой части (генерация), а затем — на аналитической (проверка по правилам). Такая декомпозиция резко повышает шансы, что все ваши ограничения и требования будут учтены в финальном ответе.

  • Прямая применимость: Очень высокая. Любой пользователь может немедленно начать использовать двухшаговый метод "Генератор-Рефайнер" в любом чат-боте (ChatGPT, Claude, Gemini). Для этого не нужно никакого кода или специальных инструментов. Достаточно последовательно отправить два промпта в одном диалоге.

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

  • Потенциал для адаптации: Максимальный. Метод универсален. Вместо правил для коммитов можно подставить любые другие:

    • Для email: "тон должен быть деловым, не более 150 слов, обязательно должен быть призыв к действию".
    • Для поста в соцсеть: "должен быть интригующий вопрос в начале, 3-5 релевантных хэштегов, упоминание нашего бренда".
    • Для резюме: "описать достижения с использованием глаголов совершенного вида, убрать все прилагательные в превосходной степени". Механизм адаптации прост: определите свои "золотые правила" для задачи и вложите их в промпт-рефайнер.

Представим, что вам нужно написать короткое объявление для корпоративного портала о предстоящем тимбилдинге.

Шаг 1: Промпт-Генератор

**Роль:** Ты — HR-менеджер, который пишет внутренние анонсы.

**Задача:** Напиши черновик объявления о предстоящем тимбилдинге для сотрудников компании "Рога и Копыта".

**Контекст:**
- **Мероприятие:** Поездка на природу с шашлыками и спортивными играми.
- **Дата и время:** Суббота, 15 августа, сбор в 10:00 у офиса.
- **Цель:** Поднять командный дух и дать людям отдохнуть.
- **Тон:** Дружелюбный, но информативный.

Напиши текст объявления.

Предположим, LLM выдала какой-то текст.

Шаг 2: Промпт-Рефайнер (в том же чате)

Отлично, теперь проверь и улучши этот текст.

**Текст для оценки:**
<... сюда вы копируете ответ, который дала модель на первом шаге ...>

**Инструкция:**
Оцени текст выше.
- Если он полностью соответствует всем критериям ниже, верни его без изменений.
- Если нет, исправь его и верни **ТОЛЬКО** финальную, исправленную версию текста. Без объяснений, комментариев и лишних слов.

**Критерии для проверки:**
1.  **Краткость:** Текст должен быть не длиннее 70 слов.
2.  **Четкий призыв к действию (CTA):** В конце должна быть ясная инструкция, что делать для записи (например, "отметьтесь в гугл-форме до...").
3.  **Позитивный настрой:** Текст должен звучать воодушевляюще, а не как приказ.
4.  **Ключевая информация:** Дата, время и место сбора должны быть выделены **жирным шрифтом**.

Этот промпт работает за счет нескольких механик:

  1. Декомпозиция задачи: Вместо одной сложной задачи "напиши идеальное объявление" мы ставим две простые: "напиши черновик" и "отредактируй по правилам". Это снижает когнитивную нагрузку на модель.
  2. Фокусировка внимания: На втором шаге LLM получает очень узкую задачу — не генерировать с нуля, а проверять готовый текст по конкретному чеклисту. Это заставляет ее обратить внимание на детали (длина, CTA, форматирование), которые она могла упустить на первом этапе.
  3. Явные ограничения: Конструкция Если нет, исправь его и верни ТОЛЬКО финальную, исправленную версию — это мощная инструкция, которая отсекает лишнюю "болтовню" модели и заставляет ее выдать готовый к использованию результат.
  4. Принудительная самокоррекция: Мы используем LLM для проверки ее же работы, что является эффективным способом повышения надежности и точности.

Задача: Составить краткое содержание (саммари) для длинной новостной статьи, чтобы быстро поделиться ею с коллегами.

Шаг 1: Промпт-Генератор

**Задача:** Сделай краткое изложение (саммари) статьи ниже.

**Текст статьи:**
<... сюда вы вставляете полный текст новостной статьи, например, о запуске нового технологического продукта ...>

Просто изложи основные тезисы.

Шаг 2: Промпт-Рефайнер (в том же чате)

Спасибо. Теперь приведи это саммари в идеальный вид для отправки в рабочий чат.

**Текст для оценки:**
<... сюда вы копируете саммари, которое сгенерировала модель ...>

**Инструкция:**
Оцени текст выше.
- Если он полностью соответствует всем критериям, верни его без изменений.
- Если нет, исправь его и верни **ТОЛЬКО** финальную, исправленную версию. Без объяснений и комментариев.

**Критерии для проверки:**
1.  **Формат:** Результат должен быть в виде маркированного списка (буллет-поинты).
2.  **Количество пунктов:** В списке должно быть ровно 3 ключевых тезиса. Не больше и не меньше.
3.  **Язык:** Все формулировки должны быть нейтральными и объективными, без оценочных суждений.
4.  **Главный вывод:** Последним пунктом должно идти предложение, начинающееся со слов "Ключевой вывод:", где сформулирована главная мысль статьи.

Этот механизм эффективен, потому что он заставляет LLM структурировать информацию по очень жестким правилам, что сложно сделать в один шаг.

  1. Отделение сути от формы: На первом шаге модель концентрируется на извлечении смысловой сути из большого текста. На втором шаге она полностью переключается на задачу форматирования и структурирования этой сути.
  2. Принуждение к формату: Требования вроде "ровно 3 тезиса" или "последний пункт начинается с..." являются очень строгими. Промпт-рефайнер заставляет модель пересчитать пункты и переформулировать вывод, чтобы он соответствовал шаблону, что повышает предсказуемость и качество результата.
  3. Устранение многословности: Первый, "сырой" вариант саммари может быть многословным или содержать лишние детали. Второй шаг с четкими критериями (нейтральный язык, формат списка) помогает отсечь все ненужное и оставить только кристально чистую информацию, идеально подходящую для быстрой коммуникации в рабочей среде.
📌

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

  • A. Релевантность техникам промтинга: Да, исследование напрямую демонстрирует конкретные, структурированные промпты (генератор и рефайнер) и объясняет их роль.
  • B. Улучшение качества диалоговых ответов: Нет, исследование сфокусировано на узкой задаче генерации короткого текста (коммита), а не на улучшении диалога.
  • C. Прямая практическая применимость: Низкая для самого инструмента (требует установки и знаний Git), но высокая для лежащего в основе метода, который можно адаптировать.
  • D. Концептуальная ценность: Очень высокая. Исследование отлично иллюстрирует мощный паттерн "Генератор + Рефайнер" (или "создатель + критик"), который помогает понять, как декомпозировать задачи для LLM и повысить надежность результатов.
  • E. Новая полезная практика (кластеры):
    • Кластер 1 (Техники формулирования): Да, демонстрирует двухэтапный подход (генерация, затем улучшение).
    • Кластер 3 (Оптимизация структуры): Да, показывает использование плейсхолдеров ([DIFF]) и четких списков требований.
    • Кластер 5 (Извлечение и структурирование): Да, цель — получить структурированный текст по заданным правилам.
    • Кластер 6 (Контекст и память): Да, показывает, как подавать в промпт различный контекст для выполнения задачи.
    • Кластер 7 (Надежность и стабильность): Да, агент-рефайнер — это, по сути, метод повышения надежности и соответствия требованиям.
  • Чек-лист практичности (+15 баллов): Да, работа дает готовые конструкции, показывает как структурировать запросы и раскрывает неочевидную, но мощную практику повышения точности ответов через самопроверку.
📌

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

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

Аргументы за высокую оценку: * Концептуальный прорыв для пользователя: Идея разделить задачу на "создание" и "проверку" с помощью двух разных промптов — это фундаментальный сдвиг в мышлении. Это учит пользователя не просто просить результат, а выстраивать процесс, контролирующий качество. * Прямая адаптивность: Шаблон "Refinement Agent" (Агента-улучшателя) можно скопировать почти дословно для любой задачи, где важны конкретные критерии: от написания email до создания маркетинговых текстов. * Решение реальной проблемы: Пользователи часто жалуются, что LLM "забывает" или игнорирует часть инструкций в сложном промпте. Метод "рефайнера" напрямую решает эту проблему, заставляя модель перепроверить свою же работу по четкому чеклисту.

Контраргументы (почему оценка не 90+): * Высокий порог входа в исходную тему: Статья посвящена разработке ПО. Обычному пользователю будет сложно понять контекст (коммиты, diffs, pull requests), что может замаскировать ценность самого метода. * Непрямое применение: Метод нельзя использовать "в лоб" одним промптом. Он требует от пользователя двух шагов: сначала сгенерировать, потом отправить на проверку. Это требует больше усилий, чем простой запрос. * Фокус на инструменте: Большая часть статьи описывает сам инструмент APCE, а не промпт-инжиниринг как таковой. Ценные промпты являются лишь частью этого инструмента, и их пользу нужно "извлечь" из текста.


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

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

LLM не умеет одновременно хорошо творить и строго соблюдать правила. Просишь написать письмо «до 100 слов, деловой тон, обязательно с призывом к действию» — получаешь 180 слов, примерно деловых, без призыва. Паттерн «Генератор-Рефайнер» позволяет получать результаты, которые соответствуют всему твоему чеклисту, — через два последовательных промпта в одном чате. Фишка: второй промпт не создаёт с нуля — он только проверяет готовый черновик и правит конкретные нарушения. Задача сужена до минимума — и модель перестаёт что-то ронять.

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

LLM как архитектор, которого просят одновременно рисовать проект и проверять его по строительным нормам. Оба дела страдают. Разбей на два шага: шаг 1 — дай контекст и задачу, получи черновик; шаг 2 — вставь черновик и список правил с инструкцией «если всё соответствует — верни без изменений, если нет — исправь и верни только результат, без объяснений». Модель переключается между режимами: сначала создаёт, потом проводит аудит.

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

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

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

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

Мини-рецепт

1. Промпт-генератор: дай роль, контекст, задачу. Попроси черновик. Не грузи правилами — они придут позже. Пусть модель сфокусируется на сути.
2. Скопируй результат: возьми ответ модели целиком.
3. Промпт-рефайнер: вставь черновик и добавь инструкцию: Проверь текст ниже. Если соответствует ВСЕМ критериям — верни без изменений. Если нет — исправь и верни ТОЛЬКО финальный вариант, без комментариев и объяснений. Ниже перечисли конкретные правила.
4. Зафикси свой чеклист: длина, тон, обязательные элементы, структура. Это конфигурация под задачу — переиспользуй для похожих случаев.

Примеры

[ПЛОХО] : Напиши объявление о тимбилдинге: кратко, с датой и временем, с призывом к действию, дружелюбно, не больше 70 слов, важное выдели жирным
[ХОРОШО] : Промпт 1: Ты HR-менеджер. Напиши черновик объявления о тимбилдинге: поездка на природу с шашлыками, суббота 15 августа, сбор в 10:00 у офиса. Тон дружелюбный. Промпт 2: Проверь текст ниже. Если соответствует ВСЕМ критериям — верни без изменений. Если нет — исправь и верни ТОЛЬКО итоговый вариант, без комментариев. Критерии: 1. Не длиннее 70 слов 2. Дата, время и место выделены жирным 3. В конце есть конкретный призыв к действию 4. Тон воодушевляющий, не директивный [вставить черновик из шага 1]
Источник: AI-Powered Commit Explorer (APCE), 2507.16063
ArXiv ID: 2507.16063 | Сгенерировано: 2026-03-02 17:00

Проблемы LLM

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

Методы

МетодСуть
Генератор + Редактор — два запроса вместо одногоШаг 1. Первый запрос: дай контекст и цель. Попроси создать черновик. Не нагружай правилами — только суть задачи. Шаг 2. Второй запрос: вставь результат шага 1. Добавь чёткий список критериев. Используй конструкцию: Если текст соответствует ВСЕМ критериям — верни без изменений. Если нет — исправь и верни ТОЛЬКО финальную версию, без объяснений. Почему работает: Первый запрос снимает с модели аналитическую нагрузку — она думает только о смысле. Второй переключает её в режим редактора — она думает только о соответствии правилам. Два узких фокуса дают лучший результат чем один широкий. Когда применять: Любой текстовый результат с жёсткими требованиями — длина, структура, тон, обязательные элементы. Когда не работает: Простые запросы без формальных ограничений — там одного шага достаточно
📖 Простыми словами

AI-Powered Commit Explorer (APCE)

arXiv: 2507.16063

Суть AI-Powered Commit Explorer (APCE) не в том, чтобы просто смотреть на код, а в том, чтобы понимать намерения программиста. Обычные инструменты видят разницу в строчках, но APCE работает как опытный техлид: он анализирует контекст изменений через LLM и связывает их с логикой проекта. Фундаментально это переход от тупого сравнения текста к семантическому анализу коммитов, где нейронка понимает, зачем ты поменял эту переменную и как это аукнется в соседнем модуле.

Это как если бы ты пришел к врачу с жалобой на боль в колене, а он не просто заклеил его пластырем, а изучил всю твою историю болезни, режим тренировок и питание. APCE не просто фиксирует «пластырь» в коде, он видит всю цепочку причинно-следственных связей. Без такого подхода анализ репозитория превращается в попытку собрать пазл в темноте: деталей много, а картинка не складывается.

В основе системы лежат три кита: интеллектуальная фильтрация, генерация саммари и семантический поиск. Вместо того чтобы продираться через тысячи правок типа «fix bug», ты используешь естественный язык для поиска конкретных фич или багов. Система сама размечает изменения, выделяет главное и отсеивает информационный мусор, оставляя только те правки, которые реально влияют на архитектуру.

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

Главный вывод: эпоха ручного копания в логах уходит в прошлое, уступая место автоматизированной навигации. Если ты до сих пор тратишь часы, чтобы понять, что накодил коллега в пятницу вечером, — ты просто тратишь время впустую. APCE доказывает, что AI может взять на себя роль летописца и аналитика, превращая сырой код в понятные знания. Кто не научится использовать такие инструменты, утонет в техническом долге и бесконечных ревью.

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

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

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