Сервис развивается: тестируем формат, собираем идеи, улучшаем сервис. Есть идеи?

Написать
Войти
Дайджесты
Иллюстрация к статье о GenBI платформе WrenAI

WrenAI: семантический слой и контекстный движок GenBI для безопасных SQL-запросов ИИ-агентов

Открытая платформа WrenAI (от Canner на базе Rust и DataFusion) защищает ИИ-агентов от ошибок Text-to-SQL при работе с 22+ СУБД. Использование семантической модели MDL, векторной памяти LanceDB и предварительной валидации dry-plan позволяет корректно генерировать версионируемые запросы и дашборды.

WrenAI: семантический слой и контекстный движок GenBI для безопасных SQL-запросов ИИ-агентов

Прямое предоставление языковым моделям (LLM) и ИИ-агентам доступа к сырым схемам реляционных баз данных с помощью технологии Text-to-SQL часто заканчивается ошибками. Даже продвинутые модели путают похожие названия столбцов, выполняют ошибочные соединения (joins), не знают тонкостей расчета бизнес-метрик (например, необходимость отсечения отмененных заказов при вычислении выручки) и генерируют некорректные SQL-запросы. Схема базы данных отвечает на вопрос, какие таблицы существуют в системе, но не несет информации о бизнес-семантике компании.

Открытая платформа WrenAI (разрабатываемая компанией Canner под лицензией Apache-2.0) решает эту проблему за счет создания управляемого семантического слоя и контекстной памяти. Вместо прямого обращения к СУБД ИИ-агенты (Cursor, Claude Code, автономные процессы через протокол MCP) взаимодействуют с семантической моделью данных MDL (Modeling Definition Language), валидируют планы выполнения через проверку dry-plan и используют верифицированный контекст для безопасного формирования запросов и визуальных дашбордов.

Архитектура: семантическая модель MDL, Rust-движок и 3 этапа жизненного цикла

Архитектура WrenAI базируется на высокопроизводительном движке, написанном на языке Rust с использованием библиотеки фреймворка аналитической обработки данных Apache DataFusion. Движок поддерживает более 22 источников данных, включая PostgreSQL, ClickHouse, Snowflake, BigQuery, Redshift, Databricks, DuckDB, MySQL и S3.

В мае 2026 года разработчики Canner объединили репозитории: код движка перенесен в единый монорепозиторий Canner/WrenAI, а предыдущая Docker-версия первого поколения переведена в архивный статус (Wren GenBI Classic на ветке legacy/v1). Развитие получило полностью агентно-ориентированное ядро (agent-native context engine).

Работа платформы организована по циклу Generate · Deploy · Know:

  1. Generate (Генерация и валидация): При получении вопроса от пользователя или ИИ-агента WrenAI извлекает контекст схемы и модели MDL, обращается к векторной памяти на базе встроенной базы данных LanceDB для поиска похожих одобренных запросов, генерирует код SQL и выполняет его предварительное планирование (dry-plan). Это позволяет отловить синтаксические и логические ошибки до реальной нагрузки на хранилище данных.
  2. Deploy (Развертывание инсайтов): Построенные графики и аналитические дашборды собираются в клиентское браузерное приложение с использованием модуля WebAssembly (wren-core-wasm). Пользователь может мгновенно опубликовать интерактивный интерфейс на платформах Vercel или Cloudflare Pages.
  3. Know (Накопление знаний): Одобренные аналитиками описания метрик, проверенные SQL-запросы и правила объединения таблиц фиксируются в YAML-файлах в репозитории Git (queries.yml и instructions.md), становясь версионируемой базой знаний для всей компании.

Сравнение подходов к бизнес-аналитике и Text-to-SQL

Для понимания места WrenAI в архитектуре данных сравним основные подходы к автоматизации аналитики:

ПодходТочность бизнес-логикиКонтроль метрик и joinsБезопасность и валидацияВстраивание в ИИ-агенты
Прямой Text-to-SQL (сырой LLM)Низкая (частые галлюцинации и ошибки в именах полей)Отсутствует (модель угадывает связи из названий)Отсутствует (риск тяжелых неоптимальных SQL)Прямой доступ к СУБД без ограничений
Традиционные BI-системыВысокая (статические отчеты и дашборды)Централизованный UI системы без гибкого экспортаНастраивается внутри платформыОграниченное (нет нативного интерфейса для LLM)
Базовый семантический слойВысокая (единые определения таблиц)Зафиксирована в файлах конфигурацииОграничивается правилами моделиТребуется ручное написание адаптеров под LLM
WrenAI (GenBI Engine)Высокая (MDL + контекстная память проверенных запросов)Версионируемый слой MDL с инструкциями в GitПроверка dry-plan, лимиты строк и фильтрация ошибокНативная поддержка агентов через CLI, skills и MCP

Интеграция с ИИ-агентами и пошаговый порядок выполнения запроса

WrenAI предоставляет встроенный набор навыков (skills) для агентов Cursor и Claude Code. При вызове команды в управляемом режиме (wren ask "топ-5 клиентов по выручке" --guided) платформа выполняет строгий конвейер безопасности:

[ Запрос пользователя ]
          │
          ▼
1. wren context show      ──► Извлечение структур MDL и правил расчета
          │
          ▼
2. wren memory recall     ──► Поиск похожих проверенных запросов в LanceDB
          │
          ▼
3. SQL Generation         ──► Формирование текста SQL-запроса
          │
          ▼
4. wren dry-plan          ──► Проверка плана выполнения в DataFusion
          │
          ▼
5. wren query             ──► Выполнение запроса в базе данных с лимитом строк

При обнаружении ошибки на этапе dry-plan система возвращает структурированный отклик, позволяя модели скорректировать SQL без выполнения потенциально опасных тяжелых сканирований таблицы.

Лицензионные границы: Бесплатное ядро Open Source (Apache-2.0) включает в себя движок Rust, язык моделирования MDL, CLI-утилиту, сервер MCP и коннекторы к 22 СУБД. Расширенные функции безопасности — разграничение прав доступа на уровне строк и колонок (RLS/CLS), управление пользователями и группами, коммерческий визуальный UI и Enterprise SLA — поставляются в составе платной версии Cloud/Enterprise Plus.

Практическое руководство по развертыванию и настройке WrenAI

Воспользуйтесь пошаговой инструкцией для интеграции WrenAI с СУБД PostgreSQL и настройки ИИ-агентов.

1. Подготовка окружения и установка пакетов

Создайте изолированное виртуальное окружение Python и установите основной CLI-пакет с коннектором для PostgreSQL и векторной памятью:

python3 -m venv .venv
source .venv/bin/activate
pip install "wrenai[postgres,memory]"
2. Подключение навыков (skills) к ИИ-агенту

Для интеграции с Cursor или Claude Code зарегистрируйте стаб обнаружения навыков:

npx skills add Canner/WrenAI --skill '*'

В новой сессии агента запустите мастер первичной настройки:

wren skills get onboarding

Команда выполнит автоматическую проверку окружения, создаст профиль проекта, сгенерирует заготовку структуры MDL и проверит подключение к PostgreSQL.

3. Создание и валидация семантической модели MDL

Опишите таблицы и связи в файле models/schema.mdl. После внесения изменений выполните проверку синтаксиса и сборку контекста:

wren context validate
wren context build

Индексируйте контекст и примеры запросов в векторной памяти:

wren memory index
4. Выполнение тестового запроса

Запустите тестовый аналитический запрос через CLI для проверки конвейера:

wren ask "Рассчитай суммарный объем продаж за текущий месяц" --guided

Система проверит контекст, выполнит dry-plan и отобразит результат в консоли.

5. Сборка и развертывание GenBI-дашборда

Для создания интерактивного дашборда с графиками выполните сборку в режиме снимка данных (snapshot):

wren genbi build sales-overview --prompt "Дашборд по продажам и клиентам" --data-mode snapshot
wren genbi register
wren genbi verify

Команда wren genbi verify выполняет проверку файлов, валидацию MDL и сканирование на предмет случайно оставленных секретов. Помните: сканирование является вспомогательным инструментарием — никогда не сохраняйте пароли СУБД и API-ключи в файлах instructions.md или коммитах Git. При деплое на платформу Vercel убедитесь в правильной настройке прав доступа и параметров Vercel Authentication.