Разделите ассистента на получение схемы, генерацию SQL, проверку и ограниченное исполнение. Для ClickHouse используйте отдельную учётную запись только с нужными правами чтения.
Как бы ты реализовал AI-ассистент по базам данных (ClickHouse), который может отвечать на вопросы, генерировать и исполнять SQL-запросы? Какой стек и компоненты использовал бы?
Разделите ассистента на получение схемы, генерацию SQL, проверку и ограниченное исполнение. Для ClickHouse используйте отдельную учётную запись только с нужными правами чтения.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Разделите ассистента на получение схемы, генерацию SQL, проверку и ограниченное исполнение. Для ClickHouse используйте отдельную учётную запись только с нужными правами чтения.
Контекст содержит разрешённые таблицы и определения метрик. SQL проверяется по AST и allowlist, опасные функции и внешние источники блокируются; одного префикса SELECT недостаточно. Задайте лимиты времени, памяти и прочитанных данных — LIMIT не ограничивает полный scan. Показывайте запрос и источник результата, фиксируйте аудит без чувствительных строк.
Источник: github.com.