ReAct-SQL: Разведка данных и пошаговая сборка запросов

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

**Как это работает** Алгоритм строится на агентском цикле **Think-Act-Observe**: 1. **Думает:** Анализирует вопрос и формирует гипотезу. 2. **Действует:** Вызывает операции из лимитированного набора (15 действий: загрузка, фильтрация, «разведка» значений). 3. **Наблюдает:** Получает превью данных или ошибку. 4. **Итерирует:** Повторяет цикл, корректируя план. 5. **Финализирует:** Выдает готовый SQL на основе проверенной логики.

**Пример применения** **Кейс:** Выгрузка из Битрикс24 (deal, contact, company). Задача: считать успешные сделки за квартал по менеджерам. Вместо угадывания статуса «WON» или формата даты, модель по промпту сначала изучает примеры строк, фиксирует реальные значения, разбивает задачу на шаги с JOIN и фильтрами, проверяет каждый шаг на логику и только потом пишет SQL. Ошибка ловится на промежуточном шаге, а не в финале.

**Шаблон промпта** Я работаю с {тип данных/задачи}. Вот структура и примеры значений: {данные} Задача: {задача} Не давай сразу финальный ответ. Сделай так: 1. Разведка: изучи примеры и опиши, что непонятно (названия, форматы, единицы). 2. План по шагам: разбей решение на пронумерованные шаги. После каждого шага кратко проверь: логично ли это, нет ли противоречий. 3. Финал: собери итоговый ответ (SQL/код) только после проверки всех шагов. Покажи его отдельно от плана.

**Границы применимости** * **Полезно:** Для сложных запросов к БД, таблицам или документам с непрозрачной семантикой (медицина, специфичные CRM). * **Бесполезно:** Для творческих задач (нет объективного критерия проверки на шагах) и простых запросов (разбиение только съест время). * **Критично:** Без реальных примеров данных (файлов, выгрузок) этап «разведки» превращается в обычное гадание.

**Ключевые выводы из экспериментов** Метод обходит сложные многоступенчатые архитектуры по скорости (в 3-8 раз быстрее) при той же точности. Главный инсайт: **универсальной таблетки нет**. На медицинских данных с непонятными неймингами «разведка» значений дала +26% точности, а на бизнес-задачах лучше сработало ограничение набора операций (+5%). Разные типы ошибок требуют разных инструментов.

Исследование: 2608.22651 Поддержать проект донатом: Сбер 2202 2084 9881 5282. Заранее спасибо.