Single Source of Truth:非工程师不懂却应了解的概念

发布: (2026年2月28日 GMT+8 11:14)
4 分钟阅读
原文: Dev.to

Source: Dev.to

“最终版”问题

这看起来熟悉吗?

  • schedule_april.xlsx
  • schedule_april_revised.xlsx
  • schedule_april_revised2.xlsx
  • schedule_april_tanaka_checked.xlsx
  • schedule_april_FINAL.xlsx
  • schedule_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 代理失控的钩子集合(费用警报、死锁预防、日志记录)。
0 浏览
Back to Blog

相关文章

阅读更多 »

当工作成为心理健康风险时

markdown !Ravi Mishrahttps://media2.dev.to/dynamic/image/width=50,height=50,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fu...