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/任务处理.md00-LifeOS/prompt/任务处理.runtime.md00-LifeOS/prompt/今日DONE&DOING流水线-基于Git与文件变更补全SOP.md00-LifeOS/prompt/daily-record-extraction-standard.md00-LifeOS/prompt/daily-record-yaml-backfill-sop.md00-LifeOS/prompt/五维目标-日常记录-Git提交对齐SOP.md00-LifeOS/prompt/ref/擅长的事情.mdscripts/update_task_prompt_public_url.pyscripts/autofill_yesterday_diary.pyscripts/gen_public_lifeos_board.py
可改进点(按影响排序)
| Issue | Why it matters | Fix (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 个先跑顺,就能产生行为反馈。 |
如何可视化(你会真正用起来的那种)
Obsidian(私有、即时)
- Prompt Registry:给每个 prompt 加 frontmatter(用途/输入/输出/依赖/最后验证),用 Dataview 做表格索引。
- Daily Completeness:最近 30 天“5 个最小信号”的达成情况(缺哪个一眼看到)。
- Open loops:从“记录一下后续要处理的内容”里抽取,按创建日/停留天数排序。
Public board(对外、聚合)
- 只展示 opt-in 内容(你现在的做法是对的):建议把“公开摘要”拆成 3 行固定结构:产出 / 归因 / 下一步。
- 加一个 KPI 条:例如“昨日记录完整度 0–100”,让你每天只补最关键的缺口。
- 报告入口统一:已支持复制
docs/reports/report-*.html到docs/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 字段(见“下一步”里的模板)。
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)
可选方案(从轻到重)
| Option | Best for | Upside | Downside | Key risk | First 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 分钟(今天)
- 新增
00-LifeOS/prompt/_index.md(1 页即可)。 - 把 prompt 目录里所有
- [ ]示例迁入 fenced code block(或examples.md)。 - 新增
00-LifeOS/prompt/variables.md:说明 {MUSTACHE_HOME}/{MUSTACHE_YDAY}/{MUSTACHE_DATE} 由哪个脚本填充。
一周内
- 为每个 prompt/SOP 加 6 个元信息字段(不追求完美,追求可用)。
- 做一个 Obsidian Dashboard:Prompt Registry + 最近 30 天完整度。
- 定义 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(本地)
00-LifeOS/prompt/任务处理.md00-LifeOS/prompt/任务处理.runtime.md00-LifeOS/prompt/今日DONE&DOING流水线-基于Git与文件变更补全SOP.md00-LifeOS/prompt/daily-record-extraction-standard.md00-LifeOS/prompt/daily-record-yaml-backfill-sop.md00-LifeOS/prompt/五维目标-日常记录-Git提交对齐SOP.mdscripts/update_task_prompt_public_url.pyscripts/gen_public_lifeos_board.py
把提示词当成产品:可检索、可复用、可验证。
— Closing note