WrenAI: обзор open-source GenBI для AI-агентов
Обзор WrenAI — открытого GenBI-движка с управляемым Text-to-SQL, семантическим слоем MDL и поддержкой 22+ источников данных.
WrenAI: open-source GenBI-движок для AI-агентов и data-команд
Что такое WrenAI и для кого он?
WrenAI — это open-source GenBI-движок, который позволяет AI-агентам генерировать, разворачивать и управлять бизнес-аналитикой: от SQL-ответа до публичного дашборда, работая с 22+ источниками данных.
Проект разрабатывается командой Canner и ориентирован на несколько аудиторий:
- Data-инженеры и аналитики — хотят дать бизнесу самообслуживание без потока SQL-запросов
- Разработчики AI-агентов — нужен надёжный контекстный слой поверх баз данных
- Бизнес-пользователи — хотят задавать вопросы на естественном языке и получать дашборды
- Корпоративные команды — нужна управляемость, аудит и ролевой доступ
На GitHub проект набрал более 15 400 звёзд и 1 700+ форков. К концу 2025 года облачная версия достигла более 10 000 пользователей, а крупные предприятия перевели WrenAI в производственные нагрузки.
Ключевые возможности
1. Governed Text-to-SQL через семантический слой MDL
WrenAI вводит MDL (Modeling Definition Language) — JSON-based семантическую модель, которая явно кодирует бизнес-концепции, связи, вычисляемые поля и метрики. Это значит: вместо того чтобы LLM угадывал, что значит tbl_ord_2024.amt_net, MDL объясняет — это «Чистая сумма заказа после скидок и возвратов».
// Пример фрагмента MDL-описания метрики
{
"name": "net_revenue",
"expression": "SUM(orders.amount - orders.refunds)",
"description": "Net revenue after discounts and refunds",
"filters": [{"field": "orders.status", "operator": "=", "value": "completed"}]
}
С помощью WrenAI можно обрабатывать метаданные, схему, терминологию, связи между данными и логику вычислений с помощью MDL, что сокращает дублирование кода и упрощает объединение данных.
2. Text-to-Chart и интерактивные дашборды
Достаточно спросить «Общая выручка за прошлый квартал» — и получить точный SQL-запрос. Или «Линейный график ежемесячных регистраций за 2024 год» — и увидеть готовый чарт.
Задайте вопрос на обычном языке — и Wren AI построит дашборд в реальном времени на ваших управляемых данных, со встроенными drill-down, roll-up и глобальными фильтрами.
3. Самокоррекция SQL-запросов
WrenAI делает дополнительный шаг для повышения точности: он валидирует сгенерированный SQL, запуская его. Если возникает ошибка, запрос снова отправляется в LLM для исправления. Это происходит в непрерывном цикле до получения корректного SQL, который успешно выполняется в базе данных.
4. Безопасность: только метаданные
WrenAI гарантирует, что отправляет LLM только метаданные, а не реальные данные — что исключает риск передачи PII-информации в языковые модели.
RLS (row-level security) и CLS применяются на уровне выполнения запроса, для каждого пользователя и агента. Ролевой доступ с полными журналами активности. Доказуемо — кто что видел, какой запрос какое число произвёл.
5. Поддержка 22+ источников данных
WrenAI поддерживает 20+ источников данных: BigQuery, PostgreSQL, ClickHouse, Amazon Redshift и работает независимо от диалекта SQL. Среди поддерживаемых — также Snowflake, Databricks, MySQL, Microsoft SQL Server, DuckDB, Trino, Apache Athena и другие.
6. Агентная архитектура и MCP-интеграция
MDL — это файлы, которые агенты читают и пишут напрямую. Skills, Memory, Semantic Model и Instructions — всё версионировано, поддерживает ветвление, PR-ревью и откат.
Одна команда npx skills add Canner/WrenAI автоматически определяет Claude Code, Cursor, Cline, Codex и другие агенты.
7. Embedded API и white-label
Можно строить собственный UX поверх «сырых» эндпоинтов: natural language → governed SQL с исполнением, плюс спецификации чартов для рендеринга в вашем стеке.
Под капотом: Python/FastAPI-пайплайн — классификация намерений, векторный поиск через Qdrant, промптинг LLM и циклы исправления SQL. Ядро выполнения запросов — Rust + Apache DataFusion, который разрешает MDL-семантику перед отправкой SQL в базу.
8. Многоязычность
Wren AI понимает несколько языков: английский, немецкий, испанский, французский, японский, корейский, португальский, китайский и другие.
Архитектура работы
graph LR
A[Вопрос на естественном языке] --> B[Wren AI Service\nFastAPI + Qdrant]
B --> C[MDL Semantic Layer\nБизнес-контекст]
C --> D[LLM\nGPT-4o / Claude / Gemini]
D --> E[Генерация SQL]
E --> F{Валидация SQL}
F -- Ошибка --> D
F -- OK --> G[Wren Engine\nRust + DataFusion]
G --> H[База данных\n22+ источников]
H --> I[Результат: таблица / чарт / дашборд]
Тарифы и варианты развёртывания
Ядро, SDK и skills распространяются под лицензией Apache-2.0.
| Вариант | Описание | Стоимость |
|---|---|---|
| OSS (open-source) | Self-hosted, полный исходный код, Apache 2.0 | Бесплатно |
| Wren AI Cloud | Облачный хостинг, без инфраструктуры | Freemium (start free) |
| Commercial / Enterprise | Governance API, embedded white-label, RLS/CLS, приватное облако, on-prem | По запросу |
Начните бесплатно с open-source GenBI. Обновитесь до полного Agentic GenBI для governance, embedded API и корпоративной поддержки.
В 2025 году появился подход Hybrid LLM Interchange в Self-hosted Enterprise: организации могут балансировать между точностью и возможностями с одной стороны, и конфиденциальностью данных с другой.
Плюсы и минусы
| ✅ Плюсы | ❌ Минусы |
|---|---|
| Полностью открытый исходный код (Apache 2.0) | Сложная начальная настройка MDL-семантики |
| Семантический слой MDL даёт предсказуемые, согласованные ответы | Качество SQL сильно зависит от выбранного LLM |
| Безопасность: LLM видит только метаданные, не данные | Простые запросы могут потребовать нескольких итераций |
| 22+ источников данных, независимость от диалекта SQL | UI-часть сложнее адаптировать под кастомный интерфейс |
| Встроенная самокоррекция SQL через цикл обратной связи | Коммерческие цены непрозрачны |
| Git-native: MDL версионируется, поддерживает PR-ревью | Классическая Docker-версия заморожена |
| Поддержка MCP, Claude Code, Cursor, Codex | Небольшая команда (~14 человек) |
| Row/Column-level security из коробки | Требует понимания концепции семантического слоя |
Сравнение с альтернативами
Фундаментальное различие: Vanna — это мощная библиотека компонентов для разработчиков, желающих встроить функциональность text-to-SQL в кастомные приложения. WrenAI — полноценная AI-управляемая платформа бизнес-аналитики для организаций, которым нужно масштабировать доступ к данным с корпоративным управлением.
| Параметр | WrenAI | Vanna AI | MindsDB |
|---|---|---|---|
| Подход | Semantic model-first (MDL) | RAG-first, самообучение | AI-слой поверх БД + ML |
| Лицензия | Apache 2.0 | MIT | GNU GPL / Enterprise |
| GitHub ★ | ~15 400 | ~22 000 | ~30 000+ |
| Источники данных | 22+ | Основные SQL-БД | 200+ (федерация) |
| Семантический слой | ✅ MDL (явный) | ⚠️ RAG (неявный) | ❌ |
| Дашборды из коробки | ✅ | ❌ | ❌ |
| Самокоррекция SQL | ✅ | ❌ | ❌ |
| RLS / CLS | ✅ | ❌ | ✅ (Enterprise) |
| Embedded API | ✅ | ⚠️ Только Python | ✅ |
| ML в запросах | ❌ | ❌ | ✅ |
| Сложность настройки | Средняя | Средняя | Высокая |
| Целевая аудитория | Data-команды, AI-агенты | Разработчики | Data scientists |
MindsDB хорошо справляется с базовыми запросами и интеграцией машинного обучения, но лишён функций визуализации и возможности настройки вывода, что делает его применимым преимущественно к простым сценариям.
Vanna.AI предлагает сильные возможности визуализации, но испытывает трудности с синтаксическими ошибками и идентификацией таблиц, что делает её более пригодной для простых случаев использования.
«Если вам нужен двигатель, чтобы собрать собственный автомобиль — выбирайте Vanna. Если нужен готовый автомобиль, чтобы везти всю организацию вперёд — выбирайте Wren AI.»
Быстрый старт
# Установка через pip
pip install wrenai
# С поддержкой PostgreSQL и памяти
pip install "wrenai[postgres,memory]"
# Добавление skills для AI-агента (Claude Code, Cursor, Cline...)
npx skills add Canner/WrenAI
Агент запускает wren skills get onboarding, следует пошаговому руководству, проверяет среду, создаёт профиль подключения, скаффолдит проект и выполняет первый запрос.
curl -X POST '.../api/v1/generate_sql' \
-d '{"question": "Top customers by LTV?"}'
# Ответ: { "sql": "SELECT ...", "threadId": ... }
Вердикт: кому подойдёт WrenAI?
WrenAI подойдёт, если:
- Вы хотите, чтобы AI-агенты генерировали достоверную BI-аналитику — ответы и дашборды, а не просто правдоподобный SQL. Ваша бизнес-логика (определения, перечисления, правила объединений) живёт вне базы данных, и агенты постоянно ошибаются.
- Вам нужен контекст, который является открытым, проверяемым и версионированным, доступным для каждого агента и человека — а не заблокированным за UI одного вендора.
- Вы строите корпоративную аналитику с аудитом, RLS и множеством источников данных.
- Вы интегрируете BI в собственный продукт через Embedded API.
Пропустите WrenAI, если:
- Вам нужен одноразовый чарт из единственного CSV-файла, или вас устраивает агент, угадывающий SQL без какого-либо управления.
- Вы ищете простой Python-компонент для встраивания SQL-генерации (тогда Vanna будет лучше).
- Вам критически нужны ML-возможности прямо в запросах (тогда MindsDB).
Итоговый рейтинг
| Критерий | Оценка |
|---|---|
| Функциональность | 9/10 |
| Качество документации | 8/10 |
| Простота настройки | 6/10 |
| Безопасность | 9/10 |
| Экосистема и интеграции | 8/10 |
| Зрелость проекта | 7/10 |
| Общий рейтинг | 8/10 |
WrenAI — один из наиболее зрелых open-source решений для управляемого Text-to-SQL в 2025–2026 году. Семантический слой MDL, самокоррекция запросов и нативная интеграция с AI-агентами выгодно отличают его от конкурентов. Основной порог входа — необходимость настроить MDL-модель под свой домен, что требует времени, но окупается предсказуемостью и управляемостью на масштабе.