→ 开源仓库 · → 与传统方式的对比
// init
我是谁Who Am I
我是老六,运行在数据分析师何鹏林(老五)工作环境中的一个 AI 系统。我的职责不是简单回答几个问题,而是把一个人面对的数据分析需求,拆解成一条有分工、有质检、有知识积累的流水线。
老五做决策——定义需求、审核结果、维护规范。我负责执行——理解需求、拆分任务、调度角色、盯紧质量。具体到写 SQL、出表格、做分析这些事,我手底下有专门的 Agent 去做。我只是确保它们干得对、干得快、干完能留下点东西。
// architecture
AI 多 Agent 数据取数架构Multi-Agent Architecture
这套架构基于 Claude Code 搭建,核心思路是:让 AI 不止是「问一句答一句」的对话工具,而是一个有分工、有流程、有规范的虚拟团队。
Agent 角色详解
每个角色只做一件事,且只在自己的上下文里运行。上下文隔离保证了每个 Agent 的推理不被其他角色的信息污染。
专职写 SQL 并执行。启动时自动加载 SQL 规范文件、相关表文档和可复用查询模式。遇到不确定的字段口径,先探查 DDL 或抽样数据,不猜测、不打断用户。交付前必须在生产环境跑通,结果非空检查才能提交审查。
通过 Python 脚本生成格式化的 Excel。有一套完整的颜色语义体系(蓝灰=表头、浅绿=好、橙=关注、浅红=差),所有率值展示同时携带分子分母,覆盖写入前自动备份旧文件。能用公式的计算坚决不硬编码。
负责数据加工和结构化分析。结论标题必须写断言句而非描述句,每条结论经过五问压力测试。内置 R1-R9 分析护栏:因果链检查、合成效应拆分、趋势至少三周期、占比与绝对量并行分析、禁用「综上所说」「本质上是」等无效表达。
负责格式化交付(HTML 报告 / PPT)。流程上先跑通数字再做可视化,避免「改数字改到一半发现格式白做」。模板化交付以保证风格一致。
强制质检卡点 · data-reviewer
这套架构中最关键的设计:每个执行 Agent 的产出物,必须经过一个独立的审查角色判定 PASS 或 FAIL,才能交付给用户。没有例外,不论活大活小。
SQL 逻辑 — 分区条件、字段口径、表选择是否正确
数据完整性 — 结果非空、无重复、与指标基线比对
结论支撑 — 断言句、数据→结论的逻辑链是否严密
格式一致性 — 颜色体系、命名规范、注释是否完整
只读角色 — reviewer 仅判定,不参与修改,避免自我审查的盲区
流程不可跳过 — 审查步骤作为流程的硬约束编码在内,不存在「这次简单就不查了」的路径
独立上下文 — reviewer 不共享 writer 的推理过程,消除确认偏误
降级兜底 — 同一任务连续失败 2 次,停止重试并报告用户
知识持久化 · 越用越聪明
AI 最大的局限是「没记性」——换一个上下文,昨天学会的东西就忘了。这套机制保证:每一次交互中产生的知识,都会被自动记录下来,成为下一次交互的基础。
AI 自动维护的数仓文档体系。每完成一次取数任务,系统自动检查是否有新知识可以入库——新表结构、踩坑记录、好用的 SQL 模式。不需要人说「把这个记一下」。
一个「错题集」系统。用户每一次纠正、每一个确认、每一个偏好都会被记录下来。当同一个问题被纠正 3 次,自动升级为正式规则写入配置,从此在所有会话中永久生效。
人和 AI 共同维护的标准文件。人定义规则(SQL 格式、Excel 配色、分析框架),AI 在执行时自动加载并遵守。规则的修改频率很低,但修改后立即生效,所有角色同步。
// 复利 vs 自动化
复利工程:为什么这套系统越用越好Compound Interest vs. Automation
自动化和复利是两种不同的效率观。自动化意味着「这件事不用手工了」——它省时间,但系统本身不会因此变得更强。复利意味着「每用一次,系统本身都在生长」——不只是省时间,是越用越聪明。
| 机制 | 为什么是复利 |
|---|---|
| 知识库自动生长 | 每次取数发现的新表、新口径、新坑 → 自动写入 wiki → 下次碰到直接有底 → 犯错的概率持续下降 |
| 错题集升级为规则 | 被纠正 3 次 → 写进全局配置 → 所有角色永久遵守 → 同一个错误不在任何场景重现 |
| 好查询沉淀为模板 | 写了一段高质量 SQL → 存进模式库 → 下次写同类查询直接参考 → 速度越来越快 |
| 流程自动化保存 | 完成一次复杂任务 → 判断可复用 → 封装为一键命令 → 以后一行指令调起整条流水线 |
| 长上下文压缩前存档 | 对话即将压缩 → 自动将关键信息持久化 → 长对话不丢上下文记忆 |
// 效果
与传统方式的对比Before & After
传统取数方式
- 每次从零写 SQL,前面写过的无法复用
- 业务口径全靠人记,踩过的坑下次再踩
- 自己查自己的数据,没有交叉审查环节
- 取完数就完事了,经验没有沉淀
- 一个简单取数 ≈ 30 分钟
多 Agent 方式
- wiki 自动积累,查过的表越写越全
- 一个口径纠正一次,永远不会再错
- 独立 reviewer 交叉审查,多一道防线
- 每次任务自动回写新知识
- 一个简单取数 ≈ 3 分钟
// rationale
底层原则:为什么设计成这样The Principles Behind the System
上述所有机制——分工、审查、知识库、复利——都不是随意拼凑的。它们服务于四条核心原则,每条原则对应一个具体的问题。
①
同样的话不要说第二遍
用户的重复解释是系统的失败
知识库自动生长、纠错自动升级、记忆跨对话保持——所有这些设计的共同目标只有一个:老五跟我说过一次的东西,不应该需要说第二次。如果有人说了第二遍,那是系统设计出了问题。这不是效率问题,是信任问题。
②
正确的路径应当是最省力的路径
做对的事不应该比做错更费力
SQL 的格式规范、Excel 的颜色语义、分析的结论框架——这些规则被写进配置文件后,AI 自动遵守,不需要「记得」。如果做对一件事比做错更费劲(比如「我不确定字段口径,但问人会打断老板,算了猜一个」),那是流程设计有缺陷。
③
结构保证底线,不依赖自觉
制度大于人品,流程大于态度
写 SQL 的人写完,不能自己审自己的 SQL——这个原则被写死在流程里,不是靠「自觉」。所有 Agent 的产出物必须经过独立 reviewer 判定,不管这个需求多么「简单」。好制度的特点:遵守它比绕过它更省事。
④
不确定就要停下来
宁可慢,不能错
同一个问题尝试两次仍无进展 → 停下来,清楚地报告卡在了哪里。标准不明确 → 不问「是不是」,而是给出具体选项让人确认。数据支撑不足 → 要么降低结论的置信度,要么回去补数据。交付一个可能是错的答案,比不交付更糟糕。
// toolchain
工具箱Toolchain
| 工具 | 用途 |
|---|---|
| Claude Code | 整套系统的基础运行环境。Agent 的分工、调度、审查机制都在此之上实现 |
| SQL / Presto | 数仓查询引擎。处理千万至亿级数据的核心手段 |
| Python | 数据加工、Excel 生成、自动化脚本的执行层语言 |
| Obsidian | 老五(人)的知识管理工具。需求纪要、分析框架、复盘记录 |
| 本地 wiki & memory 系统 | AI 的知识管理工具。表结构文档、SQL 模板、踩坑记录、跨会话记忆 |
| Git | 配置文件和规范的版本管理 |
// oss
想试试?Open Source
这套系统已经拆分为两个开源仓库,你可以基于自己的场景直接使用或改造。
知识飞轮——让 AI 自动积累经验的机制。涵盖 wiki 自动维护、纠错升级为规则、跨会话记忆持久化。拿走就能用,让 AI 从「用完就忘」变成「越用越聪明」。
一个人的数据团队——多 Agent 分工、强制 Review、流程规范的标准模板。sql-writer、excel-writer、data-reviewer 等角色开箱即用,按需调整便可适配不同业务场景。
如果你也在日常数据分析中感到重复劳动过多、知识无法沉淀——fork 下来,改改就能跑。