Prompt System Audit

LifeOS Prompt 体检与可视化方案

2026-01-31 · Zon(自用) / 未来协作者 · 00-LifeOS/prompt + 关键脚本

针对 00-LifeOS/prompt 的结构、可维护性与展示路径的改进建议

结论:核心 SOP 已经很强(有顺序、有护栏、有证据、有隐私约束),但需要把“示例/待办”与“执行规则”进一步解耦,并补上索引与质量门禁,才能让系统更可查、更可扩展、也不污染你的 TODO / 看板聚合。

AUDITPROMPTOPSOBSIDIANVISUALIZATIONPUBLIC BOARD

TL;DR

最值得优先改的 3 件事
  • 把 prompt 文档里的「示例 checkbox / 占位日期」从正文迁出(放入代码块或独立示例文件),避免污染全局 TODO 聚合与看板。
  • 为每个 prompt/SOP 加上统一的元信息(用途、输入、输出、依赖脚本、最后验证日期),并建立一个入口索引页(让“想用的人”能 10 秒找到正确入口)。
  • 把“可视化”当成系统的一等公民:定义 3–6 个可长期追踪的指标(完整度、目标分布、open loops 老化、证据覆盖率),在 Obsidian 与 public board 同时提供视图。

你已经做对的

  • 强约束:P0→P4 顺序、禁止改今天日记、失败即停,显著降低“越界写入”。
  • 证据观:用 Git/mtime 为流水线补证据,能把“主观回忆”变成“可复盘事实”。
  • 隐私边界:public board 生成器默认去链接/绝对路径,并用 public_* 字段做对外口径。

现在最可能的系统性摩擦

  • prompt/SOP 文档里出现真实样式的 - [ ](@YYYY-MM-DD),会被你的 TODO 体系“当真”。
  • 缺一个“入口索引 + 版本/验证信息”,新的一次迭代很容易靠记忆而不是靠检索。
  • 可视化指标还没“收敛成少数关键 KPI”,导致看板可能更多是展示,而不是驱动行为改变。

目录快照(可维护性视角)

MD Files
7
Total Lines
1058
Checkbox Lines
10
Placeholder Dates
17
Mustache Tokens
29
Scripts Referenced
3
Runtime Prompt
YES
Scope
LifeOS

主入口

  • 任务处理.md:P0→P4 日常闭环(补日记→重排期→生成&部署)
  • 任务处理.runtime.md:由脚本注入 {{PUBLIC_BOARD_HOME_URL}}/{{PUBLIC_BOARD_YDAY_URL}}/{{PUBLIC_BOARD_FOCUS_DATE}} 后的“当天可直接喂给 AI”版本

标准库

  • daily-record-extraction-standard.md:从流水线提取 goals/summary 的判定口径
  • daily-record-yaml-backfill-sop.md:最近一周 YAML 补全 SOP(批量质量修复)

对齐与证据

  • 今日DONE&DOING…SOP.md:证据补全规则(保留原句 + 缩进追加链接)
  • 五维目标…SOP.md:目标维度与 Git 提交 tag 的对齐口径
本次纳入分析的文件清单
  • 00-LifeOS/prompt/任务处理.md
  • 00-LifeOS/prompt/任务处理.runtime.md
  • 00-LifeOS/prompt/今日DONE&DOING流水线-基于Git与文件变更补全SOP.md
  • 00-LifeOS/prompt/daily-record-extraction-standard.md
  • 00-LifeOS/prompt/daily-record-yaml-backfill-sop.md
  • 00-LifeOS/prompt/五维目标-日常记录-Git提交对齐SOP.md
  • 00-LifeOS/prompt/ref/擅长的事情.md
  • scripts/update_task_prompt_public_url.py
  • scripts/autofill_yesterday_diary.py
  • scripts/gen_public_lifeos_board.py

可改进点(按影响排序)

IssueWhy it mattersFix (lowest friction)
prompt/SOP 文档里出现真实样式的 - [ ] 示例与 (@YYYY-MM-DD) 占位 会被你的全局 TODO 扫描当成真实任务;且部分行包含“双日期”,与仓库 TODO 规范冲突,进一步污染聚合视图。 1) 把示例 TODO 全部放进 fenced code block;或 2) 单独建 00-LifeOS/prompt/examples.md 专放示例;或 3) 用非 checkbox 语法(如 ·)表达清单。
缺“入口索引页”与统一元信息 目录小的时候靠记忆没问题;一旦扩到 20+ prompt,检索成本上升、重复造轮子、错误入口概率上升。 新增 00-LifeOS/prompt/_index.md:用“我想做什么→该用哪个 prompt/SOP/脚本”做导航,并为每个文件补 5 行元信息。
执行护栏很强,但缺“机器可校验”的质量门禁 你要求 AI 只改日期/不改正文、保留第一行等;但没有自动化校验时仍可能漏改/误改,且难以回溯责任。 把关键不变量变成脚本校验:例如“今日文件未改动”“流水线第一行未变”“仅 TODO 日期被改”。(先做只读检查,不阻断流程。)
可视化指标未收敛 看板如果没有“少数关键 KPI”,容易变成展示型页面,无法反向驱动你每天补哪些信号。 先固定 4 个 KPI:记录完整度目标分布open loops 老化证据覆盖率;只要这 4 个先跑顺,就能产生行为反馈。
System Map (Prompts → Scripts → Outputs) Prompt 模板 00-LifeOS/prompt/任务处理.md Prompt 运行时 00-LifeOS/prompt/任务处理.runtime.md SOP / 标准库 daily-record-… / goals / pipeline 注入/编译 scripts/update_task_prompt_public_url.py 补证据(可选) scripts/autofill_yesterday_diary.py 生成公开看板 scripts/gen_public_lifeos_board.py 私有日记 00-LifeOS/DailyRecord/... 公开站点 docs/public (Vercel) 报告归档 docs/reports/report-*.html 要点:把“可执行步骤 / 安全护栏 / 可视化输出”分层,才能既稳又易扩展。
结构图:把 prompt 当作“操作系统的 API”。左侧是入口与标准,右侧是脚本与输出。虚线代表可选步骤。

如何可视化(你会真正用起来的那种)

Obsidian(私有、即时)

  • Prompt Registry:给每个 prompt 加 frontmatter(用途/输入/输出/依赖/最后验证),用 Dataview 做表格索引。
  • Daily Completeness:最近 30 天“5 个最小信号”的达成情况(缺哪个一眼看到)。
  • Open loops:从“记录一下后续要处理的内容”里抽取,按创建日/停留天数排序。

Public board(对外、聚合)

  • 只展示 opt-in 内容(你现在的做法是对的):建议把“公开摘要”拆成 3 行固定结构:产出 / 归因 / 下一步。
  • 加一个 KPI 条:例如“昨日记录完整度 0–100”,让你每天只补最关键的缺口。
  • 报告入口统一:已支持复制 docs/reports/report-*.htmldocs/public/reports/,建议在首页提供 Latest Report 快捷入口。
Dataview(示例)
```dataview
TABLE file.link AS Prompt, purpose, inputs, outputs, deps, last_verified
FROM "00-LifeOS/prompt"
WHERE file.ext = "md" AND !contains(file.name, "runtime")
SORT last_verified DESC
```

```dataview
TABLE date, top1, goals_assoc, public_summary
FROM "00-LifeOS/DailyRecord"
WHERE file.name >= date(today) - dur(30 days)
SORT file.name DESC
```

前提:你给 prompt 文件补上少量 frontmatter 字段(见“下一步”里的模板)。

Qualitative Maturity Score (0–5) 可发现性 3/5 可组合性 3/5 安全护栏 5/5 可追溯/证据 4/5 自动化 4/5 对外口径/隐私 4/5
数据图:当前 prompt 体系成熟度(定性评分)。强项在“安全护栏/证据/自动化”,短板在“索引与可发现性/可组合性”。

Best Minds(专家视角模拟)

Atul Gawande(Checklist 思维)

Thesis:清单要“短、关键、在关键时刻触发”,否则会变成没人执行的长文档。

  • 你的 P0→P4 很像“手术前暂停点”,这是对的;下一步是把每步的“失败即停”条件做成可检查的 gate。
  • 把 SOP 的“解释性段落”和“执行性清单”拆开:执行版保持 1 屏内;解释版放 details/附录。

(paraphrase)

Andy Matuschak(可复用笔记)

Thesis:知识资产的价值取决于“未来能否被重新找回并被组合使用”。

  • 给每个 prompt 加元信息 + 入口索引,等价于为系统建立“可导航 API 文档”。
  • 把 runtime 生成与模板分离是好的;建议进一步明确:模板只写原则,runtime 只写当日参数与链接。

(paraphrase)

Edward Tufte(信息可视化)

Thesis:可视化要服务决策与理解,而不是装饰;最好能把“证据链”直接呈现出来。

  • 你在流水线里强调“证据链接”,这是数据可视化最需要的原材料:来源、时间、可点击验证。
  • 把“记录完整度/目标分布/open loops 老化”做成最小 4 KPI,即可形成反馈回路。

(paraphrase)

Martin Fowler(把 prompt 当代码)

Thesis:当一个系统开始被频繁复用,就必须引入“重构、测试、命名与约束”,否则维护成本指数上升。

  • 把重复的约束(如“只改日期”“不改第一行”)沉淀为自动校验脚本,相当于把口头规范变成单元测试。
  • 把“示例/模板”与“真实待办”分离,相当于把 test fixtures 与 production data 分离。

(paraphrase)

可选方案(从轻到重)

OptionBest forUpsideDownsideKey riskFirst step
A · 最小修复 你想立刻减少摩擦 最快见效:TODO 不再被污染;入口更清晰 系统能力提升有限 只做“清理”不做“门禁”,长期仍会滑坡 _index.md + 把示例 checkbox 迁到代码块
B · 结构化 Prompt Registry 你开始有 20+ prompt/SOP 可检索、可组合;Dataview/看板可自动聚合 需要补元信息与维护习惯 字段太多导致放弃维护 定义 6 个字段(purpose/inputs/outputs/deps/owner/last_verified)
C · PromptOps(质量门禁 + 指标闭环) 你希望“AI 帮你跑系统”且稳定 把不变量自动化校验;可视化 KPI 直接驱动行为 需要写脚本/迭代几次 过度工程化,反而增加负担 先做只读校验:今日文件是否被改、TODO 是否只改日期

落地路线(建议)

30 分钟(今天)

  1. 新增 00-LifeOS/prompt/_index.md(1 页即可)。
  2. 把 prompt 目录里所有 - [ ] 示例迁入 fenced code block(或 examples.md)。
  3. 新增 00-LifeOS/prompt/variables.md:说明 {MUSTACHE_HOME}/{MUSTACHE_YDAY}/{MUSTACHE_DATE} 由哪个脚本填充。

一周内

  1. 为每个 prompt/SOP 加 6 个元信息字段(不追求完美,追求可用)。
  2. 做一个 Obsidian Dashboard:Prompt Registry + 最近 30 天完整度。
  3. 定义 public board 的 4 个 KPI 并展示(即便是定性/粗略,也先跑起来)。
推荐的 prompt frontmatter 模板(最小可用)
---
purpose: 
inputs: 
outputs: 
deps:
  - scripts/xxx.py
owner: zon
last_verified: 2026-01-31
---

字段少一点反而更容易坚持维护。

One next action

创建一个“入口索引”,并把示例 TODO 从正文迁出。

理由:这是“最高杠杆、最低风险”的改动——立刻降低聚合污染,同时让后续迭代不靠记忆。

Sources(本地)

把提示词当成产品:可检索、可复用、可验证。
— Closing note