3,583 papers
arXiv:2511.00985 56 2 нояб. 2025 г. FREE

ORANGE: онлайн-фреймворк для рефлексии и генерации с использованием доменных знаний для Text-to-SQL

КЛЮЧЕВАЯ СУТЬ
LLM генерирует SQL с точностью 40-60% не от слабости модели, а от незнания специфики вашей базы данных (что колонка region_5 означает «Москва», а не просто цифру). Фреймворк ORANGE позволяет создавать самообучающуюся систему, которая автоматически собирает успешные SQL-запросы, извлекает из них доменные знания (определения колонок, правила JOIN) и использует эти примеры для более точных ответов на новые вопросы. Ключевая фишка: система накапливает «шпаргалку» из проверенных примеров и подставляет релевантные в каждый новый запрос — точность вырастает до 85-90% без fine-tuning модели.
Адаптировать под запрос
📌

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

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

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


🔬

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

Суть метода ORANGE с точки зрения пользователя промптов можно свести к аналогии с обучением нового сотрудника. Когда вы даете задачу новичку, который не знает внутренней "кухни" вашей компании, вы не просто говорите "сделай отчет по продажам". Вы даете ему пример хорошего отчета, объясняете, что "SKU" — это наш внутренний артикул, а "регион 5" — это Москва, и показываете, как вы получили нужные цифры в прошлый раз.

ORANGE автоматизирует этот процесс для LLM. Для обычного пользователя это означает переход от простого запроса к промпту-инструктажу. Вместо того чтобы надеяться, что LLM сама догадается, вы должны явно "обучить" ее в рамках одного запроса.

Практическая методика для пользователя:

  1. Осознайте "семантический разрыв": Примите как факт, что LLM не знает вашего внутреннего сленга, кодов, названий проектов и бизнес-логики.
  2. Создайте "мини-базу знаний" в промпте: Перед основной задачей создайте специальный раздел, где вы даете модели "шпаргалку".
  3. Включите в "шпаргалку" три вещи:

    • Определения: Расшифруйте ключевые термины и аббревиатуры. ("UGC" означает "контент, созданный пользователями").
    • Правила/Логика: Опишите неявные бизнес-правила. ("Высокоприоритетной считается задача с тегом P0").
    • Примеры "вопрос-ответ": Покажите 1-2 примера простых запросов и идеальных ответов на них в вашей области. Это самый важный шаг, имитирующий ICL-механизм из статьи.
  4. Сформулируйте основную задачу: После того как модель "обучена" на ваших данных, дайте ей основное, более сложное задание.

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


📌

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

  • Прямая применимость: Пользователь не может использовать сам фреймворк ORANGE, но может имитировать его ключевой принцип. Вместо автоматического парсинга логов, пользователь может вручную собрать 2-3 удачных примера своих прошлых запросов и ответов и вставить их в новый промпт в качестве "демонстраций". Это прямое применение идеи In-Context Learning на основе релевантных данных.

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

  • Потенциал для адаптации: Метод легко адаптируется для любой задачи, где есть специфическая терминология или структура.

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

🚀

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

Ты — опытный SMM-аналитик. Твоя задача — анализировать данные по рекламным кампаниям и готовить краткие сводки для руководства.

### База знаний и правила анализа:

**1. Терминология:**
*   **"CR" (Conversion Rate):** Отношение числа покупок к числу кликов.
*   **"UGC-кампания" (User-Generated Content):** Рекламная кампания, использующая контент от пользователей (отзывы, фото).
*   **"Высокоценный клиент":** Пользователь, совершивший более 3 покупок за все время.

**2. Логика и правила:**
*   Кампания считается **успешной**, если ее CR > 4%.
*   В отчете всегда указывай **источник трафика** с самым высоким CR.
*   При анализе UGC-кампаний обязательно отмечай, привлекают ли они **высокоценных клиентов**.

**3. Пример анализа (формат "вопрос-ответ"):**
*   **Вопрос:** "Проанализируй кампанию 'WINTER_SALE'."
*   **Идеальный ответ:** "Кампания 'WINTER_SALE' была **успешной** (CR = 5.2%). Основной источник трафика — Email-рассылка (CR = 7.1%)."

---

### ТЕКУЩАЯ ЗАДАЧА:

Проанализируй данные по новой UGC-кампании "SUMMER_VIBES" и подготовь сводку.

**Входные данные:**
*   Название: "SUMMER_VIBES"
*   Тип: UGC-кампания
*   Клики: 2500
*   Покупки: 80
*   Источники трафика: Instagram (CR=3.5%), TikTok (CR=2.8%), Facebook (CR=3.9%)
*   Количество высокоценных клиентов среди покупателей: 5

Сделай вывод об успешности кампании и дай краткую сводку по заданным выше правилам.
🧠

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

Этот промпт работает, потому что он напрямую реализует принципы, описанные в исследовании ORANGE, но вручную:

  1. Преодоление "семантического разрыва": Промпт не предполагает, что LLM знает, что такое "CR" или "UGC-кампания". Он явно определяет эти термины в разделе ### База знаний. Это аналог того, как ORANGE извлекает семантику из SQL-запросов.
  2. Создание "In-domain Memory": Раздел ### База знаний действует как временная, специфичная для домена "память", которую ORANGE создает автоматически. Мы предоставляем модели всю необходимую информацию о нашей предметной области.
  3. Использование "демонстраций" (In-Context Learning): Пример анализа — это аналог Text-SQL пары из исследования. Он показывает модели не только что делать, но и в каком формате должен быть финальный ответ. Это значительно повышает предсказуемость и структурированность вывода.
  4. Явная логика (Nested CoT): Раздел Логика и правила заставляет модель следовать определенному алгоритму (проверить CR > 4%, найти лучший источник), что похоже на то, как ORANGE использует nested Chain-of-Thought для разбора сложных запросов на простые шаги.

📌

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

Ты — ассистент HR-менеджера. Твоя задача — анализировать резюме кандидатов и составлять краткое саммари для нанимающего менеджера.

### База знаний и критерии оценки:

**1. Грейды и роли:**
*   **"Middle":** Опыт работы от 2 до 4 лет.
*   **"Senior":** Опыт работы 5+ лет.
*   **"Ключевой навык" для этой вакансии:** Опыт работы с `Python` и `SQL`.

**2. Правила составления саммари:**
*   Всегда начинай с вывода: "Рекомендуется к собеседованию" или "Не рекомендуется".
*   Кандидат **рекомендуется**, если у него есть "ключевой навык" и его опыт соответствует грейду "Middle" или "Senior".
*   В саммари обязательно укажи грейд кандидата, стаж и перечисли релевантные проекты, где использовался ключевой навык.

**3. Пример саммари (формат "вход-выход"):**
*   **Входные данные:** "Иван Иванов, опыт 3 года, работал в проекте 'Альфа' с использованием Python, Django, PostgreSQL."
*   **Идеальный ответ:**
    "**Рекомендуется к собеседованию.**
    *   **Грейд:** Middle (опыт 3 года).
    *   **Ключевые навыки:** Python, SQL (PostgreSQL).
    *   **Релевантный проект:** 'Альфа'."

---

### ТЕКУЩАЯ ЗАДАЧА:

Проанализируй резюме кандидата Елены Петровой и составь саммари по правилам выше.

**Резюме кандидата:**
"Елена Петрова. Общий стаж в IT — 6 лет. Последние 4 года работала в компании 'Бета' на проекте 'Омега', где отвечала за разработку бэкенда на Python и оптимизацию запросов к базе данных. Также имеет опыт работы с Java 2 года."
🧠

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

Этот пример работает по тому же фундаментальному принципу, что и ORANGE, — он предоставляет контекст и примеры для устранения неоднозначности.

  1. Устранение семантического разрыва: LLM не знает, какие внутренние грейды (Middle, Senior) приняты в компании и что является "ключевым навыком" для конкретной вакансии. Раздел ### База знаний предоставляет эту критически важную, специфичную для домена информацию.
  2. Обучение на примерах (ICL): Пример саммари работает как проверенная "демонстрация". Он показывает модели точную структуру и формулировки, которые ожидает HR-менеджер. Это избавляет модель от необходимости "придумывать" формат и заставляет ее следовать проверенному шаблону.
  3. Внедрение бизнес-логики: Правило Кандидат рекомендуется, если... является прямой инструкцией, которая определяет логику принятия решения. Это аналог того, как ORANGE учится понимать сложные условия WHERE или JOIN в SQL, анализируя прошлые примеры. Модель не просто извлекает факты, а применяет заданную логику для вынесения вердикта.
📌

Оценка полезности: 70

📌

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

  • A. Релевантность техникам промтинга: Да, исследование основано на In-Context Learning (ICL) с использованием примеров (demonstrations) и разборе задачи на подзадачи (Nested CoT), что является продвинутой техникой промптинга.
  • B. Улучшение качества диалоговых ответов: Да, основной фокус на повышении точности генерации SQL-кода, что является формой ответа на запрос пользователя в специализированной задаче Text-to-SQL.
  • C. Прямая практическая применимость: Низкая. Метод ORANGE — это сложный фреймворк, который требует программной реализации (парсер логов, валидатор, база знаний). Обычный пользователь не может "включить" ORANGE в ChatGPT. Однако, принципы, лежащие в основе, можно адаптировать вручную.
  • D. Концептуальная ценность: Очень высокая. Исследование блестяще объясняет фундаментальную проблему LLM — "семантический разрыв" между общими знаниями модели и спецификой конкретной области (базы данных). Оно дает пользователю понимание, почему LLM ошибается в задачах с узкоспециализированной терминологией и как это исправить.
  • E. Новая полезная практика (кластеризация): Работа попадает в несколько кластеров:
    • Кластер 1 (Техники формулирования): Использует Chain-of-Thought и few-shot (ICL).
    • Кластер 5 (Извлечение и структурирование): Вся суть работы — генерация структурированного SQL-кода.
    • Кластер 6 (Контекст и память): Это ядро исследования. ORANGE создает и использует внешнюю "память" (базу знаний) для улучшения работы с контекстом.
    • Кластер 7 (Надежность и стабильность): Включает этап валидации знаний для повышения надежности.
📌

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

Аргументы за оценку 70: Исследование предоставляет огромную концептуальную ценность. Оно объясняет, почему LLM "тупит" на специфических задачах и дает четкий рецепт, как это лечить: предоставлять модели проверенные примеры из этой же области. Хотя сам фреймворк ORANGE сложен для прямого применения, этот ключевой вывод — золотой стандарт для продвинутого промпт-инжиниринга. Пользователь, понявший эту идею, сможет значительно улучшить качество ответов в своих рабочих задачах, вручную создавая "базы знаний" прямо в промпте. Оценка повышена на 15 баллов по чек-листу практичности, так как работа раскрывает неочевидные особенности поведения LLM и показывает, как структурировать сложные запросы через примеры.

Контраргументы (почему оценка могла быть ниже): * Высокий порог входа: Статья посвящена узкоспециализированной задаче Text-to-SQL. Основной механизм — автоматизированный фреймворк, который обычный пользователь не может воспроизвести. Прямой перенос "в лоб" невозможен, что снижает практичность для широкой аудитории. * Отсутствие готовых фраз: Исследование не предлагает конструкций вроде "Думай шаг за шагом", а описывает системный подход. Это требует от пользователя не просто копирования, а адаптации и осмысления.

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


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

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

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