В исследовании представлена система Agent0, состоящая из LLM-агентов, которая автоматически создает и улучшает промпты для извлечения ценной информации из текста. Система использует цикл обратной связи: один агент ("Архитектор") генерирует промпты, другой ("Страж") их применяет, а третий компонент ("Оракул") оценивает качество результата, что позволяет "Архитектору" итерационно улучшать промпт.
Ключевой результат: Автоматизированная система способна "открыть" чрезвычайно эффективный и сложный промпт, который включает в себя приоритизацию задач, жесткие правила форматирования и обработку исключений, что значительно превосходит простые человеческие запросы.
Суть метода для обычного пользователя заключается в имитации процесса, который использует Agent0, но вручную. Вместо сложной системы из трех агентов, вы сами выполняете все три роли в цикле улучшения вашего промпта:
Вы — Архитектор (Первая версия): Вы формулируете начальную, простую версию промпта. Например: "Извлеки ключевые темы из этого текста".
Вы — Страж (Исполнение): Вы отправляете этот промпт в LLM (например, ChatGPT) и получаете ответ.
Вы — Оракул (Оценка): Вы анализируете ответ. Он слишком общий? Формат неудобный? Модель что-то упустила или "нафантазировала"? Вы решаете, что именно нужно улучшить.
Вы — Архитектор (Вторая версия): Основываясь на своей оценке, вы переписываете промпт. Вы добавляете:
- Конкретную роль: "Ты — опытный маркетолог-аналитик".
- Четкие инструкции и приоритеты: "Извлеки 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 — это практически готовый "золотой стандарт" для задач извлечения. Его ценность для обучения пользователей сложно переоценить. * Концепция цикла "гипотеза -> проверка -> улучшение" (Архитектор -> Страж -> Оракул) является фундаментальной для промпт-инжиниринга, и данная работа блестяще ее иллюстрирует.
