Проблема: ИИ-аналитики часто «угадывают» метрики
Большинство компаний сталкиваются с узким горлышком: данные лежат в хранилище, но только несколько человек понимают их структуру. Сотрудники превращают вопросы в тикеты, которые ждут очереди. Попытка решить это через встроенный ИИ-аналитик часто приводит к созданию сложного конвейера: классификатор запросов, поиск по таблицам, длинный промпт для генерации SQL и механизм исправления ошибок. Авторы статьи признали, что они фактически «пересобирали Claude», но хуже, чем он делает это сам.
Решение: Архитектура «Мозг + Сервер»
Вместо того чтобы встраивать ИИ в приложение, команда сделала наоборот. Они создали сервер, который предоставляет Claude безопасный доступ к данным и контекст. Архитектура состоит из трех частей:
- Мозг (Claude): Читает вопрос, пишет SQL и объясняет ответ. Он не видит структуру данных напрямую, а получает её через API.
- Сервер (Knowledge & Access): Обычное веб-приложение, работающее по протоколу MCP (Model Context Protocol) через HTTP. Оно хранит каталог схем, таблиц и колонок с описаниями, написанными людьми.
- Навык (Skill): Набор инструкций, которые загружаются в Claude для специфичной обработки данных-запросов.
Безопасность и точность: Как это работает внутри
Ключевое отличие от стандартных RAG-решений — строгий контроль выполнения запросов. Сервер не просто передает текст SQL, а парсит его через собственный парсер Postgres, проверяет права доступа и автоматически добавляет фильтр по арендатору (tenant_id). Это исключает риск утечки данных между клиентами.
Пример трансформации запроса:
| Что написал Claude | Что фактически выполнилось в БД |
|---|---|
SELECT c.city, COUNT(*) FROM shop.orders o JOIN shop.customers c ON c.id = o.customer_id GROUP BY c.city; |
SELECT c.city, COUNT(*) FROM shop.orders o JOIN shop.customers c ON c.id = o.customer_id WHERE o.tenant_id = 7 AND c.tenant_id = 7 GROUP BY c.city; |
Сервер также обрабатывает ошибки. Если запрос падает (например, из-за неподдерживаемой функции в Redshift), сервер возвращает конкретную инструкцию по исправлению. 87% неудачных запросов исправляются с первой попытки в течение 10 минут.
Результаты запуска
За 12 недель работы система обработала 1 436 вопросов, обратившись к 781 таблице в 9 странах. Ключевое достижение: ни одному сотруднику не потребовался прямой логин к хранилищу данных, а бизнес-логика (что такое «активный листинг») извлекается из документов, а не из сырых названий колонок.
Источник: Towards AI pub ↗
