3,583 papers
arXiv:2507.18993 92 25 июля 2025 г. FREE

Три агента заменили годы проб и ошибок: система Agent0 автоматически открыла структуру идеального промпта — и это оказались ровно те элементы, которые опытные инженеры собирают вручную.

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

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

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

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

  1. Вы — Архитектор (Первая версия): Вы формулируете начальную, простую версию промпта. Например: "Извлеки ключевые темы из этого текста".

  2. Вы — Страж (Исполнение): Вы отправляете этот промпт в LLM (например, ChatGPT) и получаете ответ.

  3. Вы — Оракул (Оценка): Вы анализируете ответ. Он слишком общий? Формат неудобный? Модель что-то упустила или "нафантазировала"? Вы решаете, что именно нужно улучшить.

  4. Вы — Архитектор (Вторая версия): Основываясь на своей оценке, вы переписываете промпт. Вы добавляете:

    • Конкретную роль: "Ты — опытный маркетолог-аналитик".
    • Четкие инструкции и приоритеты: "Извлеки 5-7 тегов. В первую очередь ищи названия продуктов, затем — проблемы клиентов, и только потом — общие темы".
    • Жесткие правила форматирования: "Каждый тег должен быть не длиннее 3 слов, в нижнем регистре. Не используй кавычки".
    • Требования к формату вывода: "Выведи теги списком, через запятую, на одной строке".
    • Обработку крайних случаев: "Если в тексте нет ничего релевантного, напиши 'не найдено'".

Вы повторяете этот цикл, пока не получите результат, который вас полностью устраивает. Исследование доказывает, что именно такой структурированный и итеративный подход приводит к созданию высококачественных промптов.

  • Прямая применимость: Очень высокая. Пользователь может взять структуру промпта из Рисунка 1 как готовый шаблон для любых задач по извлечению и структурированию информации. Достаточно заменить детали (типы тегов, правила) на свои, сохранив общую логику: роль, задача, приоритеты, правила, формат вывода, разделители.

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

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

    • Суммаризации текста по заданным критериям (например, "сначала выдели проблему, потом решение, потом результат").
    • Создания JSON-объектов из неструктурированного текста.
    • Оценки текста по шкале (например, "оцени токсичность комментария по шкале от 1 до 5, следуя этим правилам..."). Механизм адаптации прост: определите свою цель и декомпозируйте ее на четкие, однозначные инструкции, упаковав их в предложенную структуру.
### Роль:
Ты — опытный SMM-менеджер, анализирующий отзывы клиентов о новом фитнес-приложении.

### Задача:
Извлеки из отзыва ниже 3-5 ключевых сущностей, которые помогут команде продукта понять сильные и слабые стороны приложения.

### Категории для извлечения (в порядке приоритета):
1.  **Конкретная функция приложения:** Упоминание конкретного инструмента (например, "трекер калорий", "планы тренировок").
2.  **Пользовательский опыт (UX/UI):** Комментарии об удобстве, дизайне, навигации (например, "непонятное меню", "красивый интерфейс").
3.  **Проблема или боль клиента:** Что именно мешало пользователю достичь цели (например, "сбрасывается прогресс", "мало веганских рецептов").
4.  **Позитивное впечатление:** Общая похвала или положительная эмоция.

### Правила форматирования:
1.  Каждая сущность — не более 4 слов.
2.  Все в нижнем регистре.
3.  Убирай общие слова ("очень", "немного"), оставляй только суть.
4.  Если несколько сущностей являются синонимами, оставь самую конкретную.

### Формат вывода (строго):
Выведи результат в виде списка markdown, где каждая строка имеет формат: `* [Категория]: извлеченная сущность`
Если в отзыве нет полезной информации, выведи только: `нерелевантный отзыв`.

### Исходный текст отзыва:

В целом приложение неплохое, дизайн радует глаз. Но я так и не смог разобраться, как добавить свою тренировку, меню какое-то запутанное. А еще трекер калорий постоянно глючит и не сохраняет данные после перезапуска! Из-за этого весь смысл теряется. Но планы тренировок от тренеров просто супер.

Этот промпт эффективен, потому что он превращает расплывчатую задачу "проанализируй отзыв" в четкий алгоритм для LLM:

  • Роль задает контекст и активирует релевантные знания модели.
  • Приоритезированные категории направляют "внимание" LLM, заставляя его искать сначала самое важное (конкретные функции и проблемы), а не общие фразы.
  • Жесткие правила форматирования стандартизируют вывод, делают его предсказуемым, чистым и удобным для дальнейшей обработки. Это снижает вероятность получения "творческого", но бесполезного ответа.
  • Разделители и четко отделяют инструкции от данных, что критически важно для предотвращения смешивания и путаницы.
  • Формат вывода не оставляет модели выбора, как именно представить информацию, обеспечивая 100% консистентность.
### Роль:
Ты — ассистент юриста, который готовит краткую выжимку из договора аренды для клиента.

### Задача:
Извлеки из фрагмента договора ключевые финансовые и временные условия.

### Условия для извлечения (в порядке приоритета):
1.  **Срок аренды:** Полный срок действия договора.
2.  **Арендная плата:** Точный размер ежемесячного платежа и валюта.
3.  **Депозит:** Сумма страхового депозита.
4.  **Штрафы:** Размер или процент штрафа за просрочку платежа.
5.  **Условия расторжения:** Срок, за который нужно уведомить о досрочном расторжении.

### Правила форматирования:
1.  Извлекай только точные цифры и факты.
2.  Не добавляй никакой "воды" или интерпретаций.
3.  Если какая-то информация отсутствует в тексте, укажи для этого пункта "не указано".

### Формат вывода (строго):
Предоставь ответ в формате JSON с ключами: `term_months`, `rent_amount`, `deposit_amount`, `late_fee`, `termination_notice_days`.

### Фрагмент договора:

3.1. Настоящий Договор заключается на срок 11 (одиннадцать) месяцев.
4.1. Ежемесячная арендная плата составляет 55 000 (пятьдесят пять тысяч) рублей.
4.3. В качестве обеспечения исполнения обязательств Арендатор вносит страховой депозит в размере 55 000 рублей.
5.2. В случае просрочки внесения арендной платы Арендатор уплачивает пени в размере 0.5% от суммы долга за каждый день просрочки.

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

  • Специфическая роль ("ассистент юриста") настраивает модель на точность, внимание к деталям и формальный стиль.
  • Приоритезированный список гарантирует, что модель сфокусируется на самых важных для клиента условиях (срок, деньги), даже если в тексте они разбросаны.
  • Требование вывода в JSON является высшей формой структурирования. Оно заставляет модель не просто извлечь данные, а классифицировать их и упаковать в машиночитаемый формат, что идеально для дальнейшей автоматизации.
  • Правило "не указано" учит модель корректно обрабатывать отсутствующую информацию, а не галлюцинировать или уклоняться от ответа. Это повышает надежность и достоверность результата.
📌

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

  • A. Релевантность техникам промтинга: Очень высокая. Исследование представляет конкретный, высокоэффективный промпт (Рис. 1), который был "открыт" системой. Этот промпт является образцом структурирования, содержащим роль, цель, приоритеты, правила и формат вывода.
  • B. Улучшение качества диалоговых ответов: Высокое. Методология направлена на создание промптов, которые извлекают информацию с высокой точностью и релевантностью, что напрямую улучшает качество ответа для задач извлечения и структурирования данных.
  • C. Прямая практическая применимость: Очень высокая. Пользователь может взять структуру и принципы из промпта на Рис. 1 и немедленно применить их к своим задачам без какого-либо кода или специальных инструментов.
  • D. Концептуальная ценность: Высокая. Исследование наглядно демонстрирует мощь итеративного подхода к созданию промптов (цикл "Архитектор-Страж-Оракул"). Это помогает пользователю понять, что создание промпта — это не разовое действие, а процесс улучшения на основе обратной связи (даже если пользователь сам выступает в роли "Оракула", оценивая результат).
  • E. Новая полезная практика (кластеризация): Работа попадает сразу в несколько ключевых кластеров:
    • 1. Техники формулирования промптов: Демонстрирует продвинутое ролевое моделирование и структурирование инструкций.
    • 3. Оптимизация структуры промптов: Является ярким примером использования форматирования, маркеров (тегов) и приоритизации инструкций.
    • 5. Извлечение и структурирование: Основная цель исследования — автоматизация извлечения структурированных данных (тегов) из текста.
    • 7. Надежность и стабильность: Предложенные в промпте жесткие правила форматирования и обработка крайних случаев ("output exactly: unspecified") напрямую повышают консистентность и надежность ответов.
  • Чек-лист практичности: Дает готовые конструкции, объясняет, как структурировать запросы, и предлагает способы улучшить точность. (+15 баллов).
📌

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

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

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

Контраргументы (почему оценка могла быть выше): * Промпт из Рисунка 1 — это практически готовый "золотой стандарт" для задач извлечения. Его ценность для обучения пользователей сложно переоценить. * Концепция цикла "гипотеза -> проверка -> улучшение" (Архитектор -> Страж -> Оракул) является фундаментальной для промпт-инжиниринга, и данная работа блестяще ее иллюстрирует.


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

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

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

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

Цикл простой: пишешь промпт → запускаешь → смотришь что вышло криво → переписываешь с конкретными улучшениями. Повторяешь. Каждая итерация добавляет один-два элемента структуры, пока результат не станет предсказуемым. Три агента в системе делают ровно то же самое: Архитектор пишет, Страж применяет, Оракул оценивает — цикл идёт заново. Ты сам можешь сыграть все три роли. Это не магия — это методичность.

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

LLM не умеет сам расставлять приоритеты. Спросишь «извлеки темы» — получишь что угодно, обычно самое поверхностное. Когда приоритеты заданы явно («сначала ищи X, потом Y») — модель фокусируется именно там, а не размазывается по всему тексту. Жёсткие правила форматирования убирают двусмысленность: модель не решает как оформить ответ, она просто следует инструкции. Обработка крайних случаев («если нет данных — пиши «не найдено»») отсекает галлюцинации там, где они появляются чаще всего — в пустоте.

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

Идеально для задач извлечения данных из текста — особенно когда нужна постоянная структура результата. Анализ отзывов, структурирование договоров, создание JSON из неструктурированного текста, классификация комментариев по категориям. Работает везде, где результат должен быть машиночитаемым и воспроизводимым. Не подходит для творческих задач — там жёсткая структура промпта убивает нужную вариативность.

Мини-рецепт

1. Напиши версию 1: простой запрос — что хочешь получить, без излишеств
2. Запусти и честно оцени: результат слишком общий? формат неудобный? модель что-то придумала?
3. Добавь роль: <роль>опытный аналитик отзывов клиентов
4. Пропиши приоритеты: <приоритеты>сначала конкретные функции, потом проблемы, потом общие впечатления
5. Задай жёсткий формат: длина сущности, регистр, разделители, структура строки
6. Добавь исключение: если нет нужной информации — напиши <пусто>нерелевантный текст, не придумывай
7. Повтори цикл — обычно 2-3 итерации превращают размытый результат в чистый и предсказуемый

Примеры

[ПЛОХО] : Извлеки ключевые темы из отзыва клиента
[ХОРОШО] : Ты — аналитик продукта. Извлеки из отзыва 3-5 сущностей в порядке приоритета: 1. конкретная функция приложения, 2. проблема или боль клиента, 3. общее впечатление. Каждая сущность — не длиннее 3 слов, в нижнем регистре. Формат каждой строки: * [Категория]: сущность. Если отзыв не содержит ничего полезного — выведи только: нерелевантный отзыв.
Источник: Agent0: Leveraging LLM Agents to Discover Multi-value Features from Text for Enhanced Recommendations
ArXiv ID: 2507.18993 | Сгенерировано: 2026-03-02 17:40

Проблемы LLM

ПроблемаСутьКак обойти
Без порядка важности модель извлекает всё одинаковоПросишь "извлеки ключевые темы" без приоритетов. Модель не знает что важнее. Возвращает общие, очевидные категории. Конкретные и ценные детали тонут рядом с банальностями. Проблема для любых задач извлечения: теги, сущности, факты из документовДобавь нумерованный список категорий с порядком. 1. Конкретные функции 2. Проблемы 3. Общие впечатления. Модель обрабатывает приоритеты сверху вниз. Важное не теряется
Модель галлюцинирует когда данных нетПопросил извлечь информацию. В тексте её нет. Модель не говорит "нет данных". Придумывает что-то похожее или уклоняется размытыми фразами. Ненадёжно в задачах где "не нашёл" — важный результатДобавь явную инструкцию для пустого случая. Если ничего не найдено — выведи только: "не найдено". Конкретный текст-якорь убирает пространство для манёвра

Методы

МетодСуть
Шаблон структурированного извлеченияШесть компонентов в одном запросе. Каждый закрывает конкретный сбой модели. ### Роль: — активирует нужный контекст знаний. ### Задача: — одно чёткое действие. ### Категории (в порядке приоритета): — нумерованный список, важное сверху. ### Правила форматирования: — длина, регистр, что убрать. ### Формат вывода (строго): — точный образец или тип (JSON, список, одна строка). ### Обработка пустого случая: — что писать если ничего нет. Почему работает: каждый компонент убирает одну степень свободы. Меньше свободы — меньше "творческих" но бесполезных ответов. Когда применять: любая задача извлечения, классификации, структурирования текста. Когда избыточно: простой вопрос-ответ, творческие задачи
Итеративный цикл улучшения запросаТри шага по кругу до нужного результата. Шаг 1: пишешь простой запрос. Шаг 2: смотришь что вернула модель — что не так? Слишком общо? Формат неудобный? Что-то упустила? Шаг 3: переписываешь запрос с исправлениями. Повторяешь. Почему работает: сложный качественный запрос нельзя написать с первого раза. Каждый прогон выявляет один конкретный сбой. Фиксируешь его — и запрос становится лучше. Применяй: для повторяющихся задач. Один хороший запрос экономит время на всех следующих
📖 Простыми словами

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

arXiv: 2507.18993

Рекомендательные системы сегодня работают как старые библиотекари: они видят, что ты взял книгу про роботов, и подсовывают еще одну про роботов. Это одномерный подход, который не понимает нюансов. Исследование Agent0 доказывает, что нейронки могут вытаскивать из текстов не просто теги, а многозначные фичи. Суть в том, что один и тот же отзыв содержит кучу слоев — от конкретной функции до боли клиента — и если скормить их алгоритму правильно, точность рекомендаций взлетает, потому что система наконец-то понимает контекст, а не просто совпадение слов.

Это как если бы ты пришел в бар и сказал: "Хочу что-то холодное, кислое, но без сахара, потому что я на диете". Обычный поиск просто принесет тебе лед, потому что он холодный. А Agent0 работает как опытный бармен, который раскладывает твой запрос на атомы: температура, вкус, диетические ограничения. Он понимает, что холодное и без сахара — это разные параметры, которые должны сойтись в одном бокале, а не просто случайный набор букв.

В основе метода лежит работа LLM-агентов, которые потрошат текст по четким категориям. Вместо того чтобы гадать, нейронка использует структурированное извлечение: она ищет конкретные функции (например, трекер калорий), оценивает UX/UI (например, непонятное меню) и фиксирует боли пользователя. Главная фишка здесь — приоритезация и фильтрация. Агент отсекает мусор вроде "очень" или "немного", оставляя сухой остаток, который превращает хаотичный отзыв в понятный для машины вектор данных.

Хотя эксперимент ставили на отзывах к фитнес-приложениям, этот принцип универсален. Его можно натянуть на любую сферу: от подбора отелей по капризным комментариям до анализа юридических документов или техподдержки. Любой бизнес, у которого есть гора неструктурированного текста, может превратить этот «цифровой шум» в золотую жилу для аналитики. Мы переходим от простого поиска по ключевикам к глубокому пониманию того, что на самом деле нужно человеку в данный момент.

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

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

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

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