Стажировка
Нейро-ассистент NL → SQL
ООО «4А.Консалтинг»
• База данных заказчика (PostgreSQL)
• Структура: сотни таблиц, большое количество полей и зависимостей.
• Реальные бизнес-запросы от заказчика
• Данные для тестирования: вопросы, сценарии, SQL-шаблоны
• Требования к безопасности и ограничения RLS
Вводные данные
• NL→SQL пайплайн, способный стабильно преобразовывать запросы
• Модуль семантического понимания бизнес-вопросов
• Система корректировки и повторной генерации SQL (ретраи)
• Логирование, оценка качества, отчёты
• Набор тестовых сценариев и методика проверки
• Документация и демонстрационный прототип для заказчика
Выходные данные проекта
• Восстановлена и проанализирована БД заказчика
• Реализован прототип пайплайна NL→SQL
• Построен модуль JSON-плана для корректной декомпозиции запросов
• Проведено тестирование на десятках пользовательских запросов
• Реализованы механизмы фильтрации нецелевых таблиц и безопасного доступа
• Подготовлены аналитика, отчёты и презентационные материалы
Результаты проекта
LLM и NLP:
• GPT-модели, Qwen, Mistral, Phi (в тестировании и сравнении)
• Chain-of-Thought / JSON-планы / schema-aware reasoning
Backend и базы:
• PostgreSQL
• Python
• SQLAlchemy / psycopg2
• Docker / Docker Compose
Архитектура и интеграции:
• RAG по метаданным БД
• Автовалидация SQL через реальное выполнение
• Логирование и мониторинг ошибок
Используемый технологический стек
• Подключение к БД заказчика, разбор структуры, таблиц, ключей и отношений
• Построение пайплайна NL → SQL с обязательной валидацией результата
• Разработка механизма декомпозиции сложных запросов и пошагового reasoning
• Реализация RAG-механизма на основе метаданных, описаний таблиц и примеров
• Построение логики ретраев (повторных попыток) с исправлением ошибок
• Логирование, аналитика работы ассистента, контроль ошибок
• Подготовка тестовых сценариев, датасетов и методики оценки качества
• Подготовка прототипа для демонстрации заказчику
Задачи проекта
Создать прототип нейро-ассистента, который:
• понимает бизнес-вопросы на естественном языке
• автоматически строит корректный SQL-запрос
• проверяет его безопасность и корректность выполнения
• возвращает достоверный результат
• помогает заказчику ускорить аналитику данных и снизить нагрузку на специалистов
цель проекта
• Ускорение времени генерации и повышение стабильности
• Расширение функциональности ассистента под реальные сценарии бизнеса
• Более глубокая семантическая работа с базой (описания, связи, документация)
• Подготовка MVP к промышленному внедрению
• Интеграция в рабочие процессы заказчика и CI/CD-контур
Перспектива развития
Проект направлен на создание интеллектуального NL→SQL ассистента, который позволяет пользователю:
— вводить запросы на естественном языке
— автоматически преобразовывать их в корректные SQL-запросы
— безопасно выполнять их в реальной БД заказчика
— получать структурированные результаты и аналитические выводы
Система должна работать как надежный инструмент аналитика: понимать смысл задачи, учитывать структуру базы данных, проверять корректность запроса, устранять ошибки и обеспечивать защищённое взаимодействие с внутренними данными.
Суть проекта
Участники
команды проекта
  • Кравченко Дмитрий
    Тимлид проекта
    • Управлял командой и координировал подгруппу
    • Формировал логику продукта и методологию
    • Ставил задачи и контролировал сроки
    • Организовывал встречи с заказчиком и синхронизировал результаты
    • Формировал архитектурное видение и проводил аналитику решений
  • Коваленко Сергей
    Тимлид проекта
    • Управлял командой и координировал подгруппу
    • Формировал логику продукта и методологию
    • Ставил задачи и контролировал сроки
    • Организовывал встречи с заказчиком и синхронизировал результаты
    • Формировал архитектурное видение и проводил аналитику решений
  • Юрий Кобызев
    помощник тимлида
    • Сформировал концепцию работы системы NL→SQL не как «простой переводчик запросов», а как интеллектуального ассистента, опирающегося на структуру и смысл данных
    • Проработал логику построения базы знаний, подчеркнув необходимость документирования таблиц, колонок и бизнес-контекста данных
    • Определил методологию описания схем БД, что заложило основу для будущей масштабируемости и понятного устройства системы
    • Системно проанализировал риски, связанные с отсутствием документации у заказчика, предложил стратегию их устранения и сценарии доработки знаний «с нуля»
    • Принял активное участие в стратегическом видении продукта: как должен работать ассистент, какие сценарии он должен закрывать, где границы применимости и ответственность системы
  • Сегал Эмма
    помощник тимлида
    • Проводила эксперименты с моделями и настройками (в т.ч. temperature tuning)
    • Улучшала синтаксис, логику и стабильность ответов
    • Анализировала корректность генераций и UX-поведение ассистента
    • Формировала предложения по дальнейшему улучшению функционала
  • Башкиров Максим Алексеевич
    Архитектура моделей, оптимизация пайплайна, ресурсная эффективность
    • Внёс критически важный вклад в техническую стабильность проекта: предложил структурный подход к работе с моделями, версиями, средами и данными
    • Организовал логику контроля версий, совместимости и состояния системы — чтобы команда могла развиваться без «хаоса экспериментов»
    • Сфокусировался на ресурсоэффективности решений: грамотное использование памяти, работа с большими объёмами данных, устойчивость и предсказуемость поведения модели
    • Проработал принципы «жёсткости архитектуры» там, где это критично: когда система должна быть промышленной, надёжной и без случайностей
    • Участвовал в обсуждении подходов к построению пайплайнов и формированию стабильной рабочей версии продукта, на которую можно опираться при дальнейшем развитии
  • Альфер Эмма
    Аналитика и тестирование решений
    • Вела глубокую работу с тестированием моделей и их прикладной полезности — не только «как работает», но и насколько корректно и логично ведёт себя ассистент
    • Экспериментировала с параметрами моделей (включая temperature tuning), находя баланс между универсальностью, стабильностью и точностью
    • Проводила содержательный анализ логики ответов: синтаксис, структура, смысловая корректность, адекватность выводов.
    • Выявляла пограничные кейсы, где система ошибалась, и помогала находить направления улучшений
    • Участвовала в обсуждении UX-логики и пользовательского опыта работы с ассистентом
  • Пенчук Виктория
    Аналитика, тестирование
    • Работала с тестовыми сценариями
    • Проверяла корректность поведения системы
    • Поддерживала команду в экспериментах
  • Горбунов Никита
    Архитектура тестирования, аналитика, внедрение Maxima Query
    • Инициировал и развивал механизм Maxima Query
    • Проводил анализ сравнения экспертных и автоматических запросов
    • Разрабатывал концепции тестирования и мониторинга
    • Планировал внедрение и развитие инструмента
  • Гончаренко Александр
    Контроль качества, критическая аналитика, универсальность продукта
    • Анализировал риски «универсальности» решений
    • Контролировал практическую применимость
    • Участвовал в обсуждении стратегии тестирования и мониторинга
  • Малиновский Евгений
    Аналитика, контроль корректности базы данных
    • Проверял целостность и консистентность БД
    • Анализировал поля, таблицы и их логику
    • Прорабатывал вопросы корректности описаний схем
  • Степанов Павел
    Поддержка разработки и тестирования
    • Работал с задачами по проверке и тестированию
    • Участвовал в доработке решений
  • Лисицын Иван
    Разработка и анализ
    • Принимал участие в разработке модулей
    • Поддерживал тесты и эксперименты
  • Орлов Павел
    Аналитика и техническая поддержка
    • Участвовал в тестировании
    • Поддерживал рабочие гипотезы команды
  • Молодцов Сергей
    Тестирование и участие в разработке решений
    • Проверял функционал
    • Оказывал аналитическую поддержку команде
    • Если нужно сделать роли короче (в одну строку) или, наоборот, усилить вклад каждого под резюме / кейс — могу адаптировать.