先说结论

我做了一个开源 Data Agent 叫 Lakemind。它的核心哲学是:

不要追求让大模型一次写对 SQL,而是让它快速试错、自我纠错。

这个想法可能反直觉——大部分 Text-to-SQL 产品的优化方向都是"提高单次准确率"。但我在实际做数据分析时发现:现实业务数据太脏太乱,LLM 单次准确率有一个物理上限,你堆再多 schema 描述、规则约束都突破不了。

传统方案的困境

当前主流的"问数"产品有几个结构性问题:

  1. 数据安全风险:原始数据行需要上传到云端才能让大模型分析
  2. 单次生成模式:SQL 写错只能重试,缺乏基于执行错误的自我修正
  3. 跨源查询缺失:本地文件和远程数据库无法直接 JOIN
  4. “问完即走”:分析结果只是一张静态表,不能就地落盘复用
  5. 成本高昂:强绑定 GPT-4/Claude 等旗舰模型,高频使用成本吓人

Lakemind 的解法

1. 快速试错-纠偏环

本地 DuckDB 执行查询是毫秒级的。Agent 写了一条 SQL,执行报错了?没关系——拿到 DuckDB 的原始报错信息,Agent 立刻修正再试。1 分钟内可以跑 10 轮,总有一次是对的。

这比花 2 分钟让大模型冥思苦想一条"完美"语句高效得多。

2. 本地优先,零 ETL

DuckDB 作为中央查询协调器:

  • 本地文件(CSV/Parquet/Excel)在本地 CPU 直接计算
  • 远程数据库(PostgreSQL/MySQL)的大表通过查询下推,在源端预聚合后只拉取轻量结果
  • 两者在本地内存中 JOIN,不需要 Trino 这样的中间件

关键:大模型只收到表结构(Schema)和 OKF 语义定义,原始数据行绝对不上网。

3. 主动物化(Active Materialization)

Agent 不是只打印 SQL 字符串和静态表格。它会主动清洗、转换、聚合数据,把结果物化为:

  • t_ 前缀:最终干净物理表(如 t_sales_monthly
  • v_ 前缀:最终干净虚拟视图

下次分析可以直接复用这些资产表,不需要从零开始。

4. DuckLake 持久化

每个工作区有自己的 lake.ducklake + lake_data/ 目录。导入的源文件物化为 s_* 表/视图后持久化到磁盘——重启不丢失,下次打开不需要重新扫描。

5. OKF — 可携带的上下文

借鉴谷歌开源的 Open Knowledge Format 思路,Lakemind 把 Schema、主外键 JOIN 关系网、指标定义打包成一个 .okf/ 文件夹(Markdown + YAML),随数据库文件一起流转。

把数据集分享给同事时,对方的 Agent 立刻继承所有业务记忆,不会 LLM 冷启动。

6. 可进化准则库

分析准则不是糊在系统提示词里的静态文本,而是遵循 OKF v0.1 规范的分层知识库:

  • 宪法总则:跨行业普适的数据纪律红线
  • 阶段分则:按分析主题(转化、增长等)组织
  • 行业分则:教育、旅游、房地产等,按 frontmatter 标签多维分类

Agent 运行时通过 search_tenets / load_tenets 工具按需检索注入。新增行业只需加一个 Markdown 文件,零代码。

7. 普惠成本

因为本地执行反馈是毫秒级的,轻量模型(如 deepseek-v4-flash)通过自纠错循环就能表现很好。Token 成本降到几毛钱级别,真正可以走进每个分析师的日常工作流。

技术架构

选型 理由
桌面壳 Tauri 2.0 + Rust 原生级性能,安装包几十 MB,内存占用远低于 Electron
计算引擎 DuckDB (duckdb-rs, bundled) + DuckLake 进程内 OLAP,GB 级数据亚秒响应,持久化 catalog
元数据 SQLite (rusqlite) 工作区 + 任务 + 源表 + 配置 + 连接 + 日志,统一索引
Agent 框架 Rig SDK (rig-core) Rust 原生智能体框架,流式 ReAct 循环,16 个工具
前端 SolidJS + TanStack 响应式 UI,百万行虚拟化表格 60fps
编辑器 CodeMirror 6 SQL 语法高亮,Ctrl/Cmd+Enter 执行
LLM 提供商 OpenAI / Anthropic 流式输出,429 限流自动指数退避重试

当前状态

  • v0.5.5 已发布(2026-07-12),420 次提交,14 个 Release
  • M2 已交付:流式 LLM ReAct 循环 + 16 个工具全部上线
  • 当前重心:bug 修复 + 推广
  • M3:Profiler + Polars 清洗管线 + 分析画布 + Arrow IPC 零拷贝传输
  • M4:企业级隔离 + LanceDB 记忆 + 审计日志

试用方式

  1. 直接下载:GitHub Releases
  2. 源码编译:
git clone https://github.com/tsingliuwin/lakemind.git
cd lakemind
npm install --include=dev
npm run tauri dev
  1. 配置大模型 API(支持 OpenAI / Anthropic),开始用自然语言分析数据

项目地址: https://github.com/tsingliuwin/lakemind

官网: https://lakemind.xi-n.com

许可证: AGPL-3.0,完全开源


欢迎 Star、提 Issue、给建议。如果你经常需要分析本地数据文件,这个工具可能正是你需要的。

更多推荐