Single Source of Truth:非工程师不懂却应了解的概念
发布: (2026年2月28日 GMT+8 11:14)
4 分钟阅读
原文: Dev.to
Source: Dev.to
“最终版”问题
这看起来熟悉吗?
schedule_april.xlsxschedule_april_revised.xlsxschedule_april_revised2.xlsxschedule_april_tanaka_checked.xlsxschedule_april_FINAL.xlsxschedule_april_FINAL_actually_final.xlsx
这并不是极端例子;它正发生在许多工作场所。工程师把这种混乱称为 缺乏单一真实来源(SSOT)。
单一真实来源(Single Source of Truth) – 某一位置保存权威版本的任何信息。其他所有内容要么指向它,要么由它生成。
“正确的排班表就在这里。”
“最新的会议记录就在这里。”
“这个数字来源于这里。”
决定一个唯一的“这里”就是在实践 SSOT。
什么是单一真实来源?
- 定义:任何信息只存在于一个地方。所有其他副本都来源于或引用该位置。
- 好处:消除关于哪个版本是正确的混淆。
- 结果:即使是一个简单的声明“这里是来源”,也能削减大部分混乱。
实际案例:排班调度器
我使用 Claude Code 为一家托儿所(140 名儿童,约 40 名员工)构建了一个排班优化工具。系统需要处理:
- 兼职固定排班
- 轮换排班
- 按教室的人员需求
- 15 分钟间隔的出勤统计
Claude Code 提出了以下架构:
flowchart TD
A[YAML config file (staff info, constraints) – SSOT] --> B[Python script (auto‑calculation)]
B --> C[Excel output (display only)]
- YAML 是 唯一真实来源。
- Excel 只是输出,每次运行都会从 YAML 重新生成。
- 直接编辑 Excel 是徒劳的;下一次运行会覆盖它。
- 想要更改数据?修改 YAML 即可。
一旦采用这种方式,SSOT 就无处不在:
| 产出物 | 角色 |
|---|---|
CLAUDE.md | 所有给 Claude Code 的指令都放在这里——单文件、单一真实来源,决定 AI 行为。 |
content-manifest.yaml | 文章在 Zenn、Qiita、note、dev.to 上的 URL、草稿路径、发布状态全部集中在此。 |
git 仓库 | 代码的权威版本;本地更改在提交之前不算正式。 |
工程师在学习编码时自然会吸收 SSOT,但非工程师往往在没有它的情况下运行整个业务。
SSOT 在日常工作中的体现
- 排班:单一的 Google Sheet 作为权威排班表,其他文档不直接编辑。
- 会议记录:Notion 页面保存记录,Slack 摘要只链接到该页面而不是复制内容。
- 关键数字:特定电子表格列是来源,报告直接从该列拉取数据,而不是复制数值。
你不需要新软件——只需决定“来源”所在的位置,并承诺在其他所有地方引用它。
提及的工具
- cc-health-check – 20 项 Claude Code 环境诊断。基于浏览器,无需安装。
- claude-code-hooks – 防止 AI 代理失控的钩子集合(费用警报、死锁预防、日志记录)。