雷恩发动机-存档
此存储库已合并到 罐头/扳手 在...之下 core/ 目录,现在已存档(只读)。 新问题和PR→ 罐头/扳手 完整的迁移细节(路径映射、存档模块、原理)→ 讨论#1592______________________________________________________________________
Wren Engine
The open context engine for AI agents
扳手发动机是后面的开放式基础 扳手AI:用于业务数据的语义、受管、代理就绪的上下文层。
https://github.com/user-attachments/assets/037f2317-d8e5-41f2-9563-1e0bce4ef50c
为什么选择扳手发动机
AI代理已经可以调用工具、浏览文档和编写代码。他们仍在努力应对的是商业环境。
企业数据不仅仅是仓库中的行。它是定义、度量、关系、权限、沿袭和意图。一个可以连接到PostgreSQL或Snowflake的代理仍然不知道“净收入”、“活跃客户”或“管道覆盖率”在你的公司到底意味着什么。
这不仅仅是我们的论文。在 您的数据代理需要上下文a16z认为,当数据代理只具有连接和SQL生成功能,但缺乏业务定义、事实来源上下文和解释公司实际运营方式的运营知识时,它们就会崩溃。
扳手发动机的存在就是为了解决这个差距。
它为AI代理提供了一个可以推理的上下文引擎,因此他们可以:
- 理解模型而不是原始表
- 使用可信指标,而不是发明SQL
- 关注关系,而不是猜测连接
- 尊重治理,而不是绕过它
- 将自然语言转化为准确、可解释的数据访问
这是用于构建下一代代理体验的团队的开源上下文引擎。
愿景
我们认为,人工智能的未来不仅仅是工具调用。这是一个上下文丰富的系统,代理可以在对业务现实的共同理解的基础上进行推理、检索、计划和行动。
Wren Engine是我们对未来的开源贡献。
它是Wren AI背后的语义和执行基础,其设计用途远远超出了单一产品:
- 嵌入在MCP服务器和代理工作流中
- 连接到现代仓库、数据库和文件系统
- 具有足够的表达能力,可以通过MDL对商业意义进行建模
- 足够强大,可以支持受治理的企业用例
- 足够开放,以便社区扩展、整合和构建
如果说Wren AI是完整的愿景,那么Wren Engine就是使该愿景可互操作的开放核心。
Wren发动机做什么
Wren Engine将业务数据转换为代理可用的上下文。
在高层次上:
- 您可以使用Wren的语义模型和MDL来描述您的业务领域。
- Wren Engine捕获了代理所需的上下文:模型、度量、关系和访问规则。
- 它分析意图,并在底层数据源中计划正确的查询。
- MCP客户端和AI代理通过干净的界面与该上下文进行交互。
- 随着业务逻辑和系统的发展,团队不断完善模型。
这是从文本到SQL再到上下文感知数据代理的实用开源路径。
这意味着你的代理不再问“我应该查询哪个原始表?”
它在问,“我需要哪个业务概念、指标或受治理的上下文片段来正确回答这个任务?”
专为代理建筑商打造
Wren Engine对于开源社区在以下工具中构建代理原生工作流特别有用:
- 龙虾
- 克劳德代码
- VS代码
- 克劳德桌面版
- 克莱恩
- 光标
如果您的环境可以说MCP、调用HTTP API或嵌入语义服务,Wren Engine可以成为代理背后的上下文层。
使用它来为以下体验提供动力:
- 具有可信业务定义的自然语言分析
- 能够回答受治理企业数据问题的AI副驾驶
- 生成仪表板、报告和工作流决策的代理
- 需要真实业务上下文而不仅仅是模式转储的代码助手
- 应基于语义模型而非即席SQL的内部AI工具
这在面向开发人员的代理环境中尤为重要,在这种环境中,助理可能会理解你的代码库,但仍然缺乏正确回答数据问题所需的业务上下文。
支持的数据源
Wren Engine旨在跨现代数据栈工作,包括仓库、数据库和基于文件的源。
当前的开源支持包括以下连接器:
- 亚马逊S3
- Apache Spark
- 阿帕奇·多丽丝
- 雅典娜
- BigQuery
- ClickHouse
- 数据砖块
- DuckDB
- 谷歌云存储
- 本地文件
- MinIO
- MySQL
- 甲骨文
- PostgreSQL
- 红移
- SQL Server
- 雪花
- 特里诺
有关最新的连接模式和功能,请参阅项目文档中的连接器API文档。
开始使用
通过AI代理使用扳手引擎
如果你想从Claude Code或其他AI代理中使用Wren Engine,请从这里开始:
MCP服务器包括:
- 用于连接和MDL设置的本地Web UI
- 只读模式,更安全地使用代理
- 清单部署和验证工具
- 用于远程模式发现的元数据工具
学习概念
扳手引擎与其他数据工具
人们经常将Wren Engine与DataHub、原始数据库MCP服务器、BI语义工具或文本到SQL代理等目录服务进行比较。
简单的区别是:
- 这些工具通常帮助代理查找数据或生成SQL
- Wren Engine帮助代理理解业务含义,并通过上下文引擎生成正确的查询
| 工具类型 | 它为代理提供了什么 | Wren Engine添加了什么 |
|---|---|---|
| 数据目录服务 | 表、列、沿袭、所有者、描述 | 业务模型、指标、关系和受管查询规划 |
| 原始数据库或模式访问 | 直接访问模式和SQL执行 | 原始表之上的业务层,因此代理不必猜测意图 |
| BI或语义工具 | 用于分析工作流的精心策划的指标和实体 | 为MCP和代理工作流设计的开放上下文层 |
| 文本到SQL代理 | 从自然语言快速生成SQL | 通过将生成建立在显式业务定义中来提高准确性 |
许多球队都想要:
- 用于清点和记录数据的目录
- Wren引擎将该数据转换为代理就绪上下文
为什么这很重要:
- 更准确的答案,因为连接和指标是定义的,而不是猜测的
- 更一致的答案,因为每个代理都使用相同的业务定义
- 更安全的数据访问,因为可以将治理纳入查询规划
- 不太及时的工程,因为上下文存在于引擎中,而不是提示中
没有Wren,代理可能知道数据在哪里,但仍然不知道如何正确回答问题。
存储库映射
此存储库包含核心引擎模块:
| 模块 | 它做什么 |
|---|---|
wren-core | 由Apache DataFusion驱动的Rust上下文引擎,用于MDL分析、规划和优化 |
wren-core-base | 共享清单和建模类型 |
wren-core-py | 将引擎暴露给Python的PyO3绑定 |
ibis-server | 用于查询执行、验证、元数据和连接器的FastAPI服务器 |
mcp-server | 用于AI代理和MCP兼容客户端的MCP服务器 |
支持模块包括 wren-core-legacy, example, mock-web-server,并对公用事业进行基准测试。
开发人员入口点
本地开发
常见工作流程:
# Rust context engine
cd wren-core
cargo check --all-targets
# Python + connector server
cd ibis-server
just install
just dev
# MCP server
cd mcp-server
# see module README for uv-based setup项目状态
Wren Engine正在公开地积极发展。当前的重点是使上下文引擎、执行路径和MCP集成在现实世界的代理工作流中更加强大。
如果你今天正在与代理商合作,现在是参与其中的好时机。
社区
- 加入我们 不和谐社区
- 打开A
- 探索 扳手AI 看到更广阔的产品愿景
- 阅读a16z的市场论文: 您的数据代理需要上下文
Wren Engine适用于那些认为人工智能需要更好的上下文,而不仅仅是更好的提示的构建者。
