SuperAPI AI 工具集

prompt-atom-formalization

写作与研究

查看项目

更新于 10-15 09:41

技能介绍

用途

Prompt Atom Extraction & Formalization 旨在把松散的操作者散文转化为原子:最小化、已分类、机器可读的意图单元,让注册表可以存储、流水线可以路由、未来会话可以执行,而无需重新解读原来那一大段文字。

为什么存在

操作者意图往往是打包到达的——一个密集段落可能承载一条长期法则、两条指令、一条约束和一个开放问题。作为散文保留时,该意图只能由重新阅读并重新推导它的人执行。原子化后,每个单元获得一个 ID、一个类别、一个生命周期状态和来源信息——它变得可治理。原则是:原子是永久的;提取是增量式的;源内容不会因被形式化而被破坏。

原子类别

类别 性质 生命周期 示例
law 长期规则;约束所有未来行为 永久,直到修订 "nothing local-only — every artifact git-tracked AND pushed"
value 权重/偏好;塑造选择但不强制某一选择 持久 "prefer user coinages over standard vocabulary"
directive 一个具体可执行动作 直到 DONE "register the 5 bench agents in fleet.yaml"
constraint 任何动作执行方式的边界 有范围或永久 "never chezmoi add over existing source without diffing"
question 由人类拥有的开放决策 直到被回答 "GCP_SA_KEY provisioning — enable CI deploys?"
branch-vector 可能未来中的一个分叉;选项处于叠加态 直到坍缩 "skills live in domus OR a-i--skills — decide before next install"

三种状态

  • RAW——逐字来源片段,未改动。始终保留(引用或按范围引用),绝不编辑。
  • CLEANED / FORMALIZED——意图以规范化语言最小化重述,已分类,并附加 frontmatter。
  • ELEVATED——原子被泛化到其长期形式:剥离事件特定细节,链接到相关原子,准备好进入宪法或注册表层。只有 laws、values 和 constraints 会 elevate;directives 和 questions 则 resolve。

每个原子都会记录其所处状态;一次提取过程可以合理地停在 CLEANED。

工作流

1. 切分来源

在意图边界而非句子边界拆分文本——一个意图是一个不可再分的“do/never/prefer/decide”单元。

密集提示会打包抽象:预计每个操作者段落产生 3–10 个原子。欠切分(每条消息一个原子)是主要失败模式。

为每个片段分配来源范围:{file, line-range} 或 {session-id, message-index}。

2. 分类

应用类别表。消歧测试:

  • 下个月它仍然具有约束力吗?→ law/value/constraint,而非 directive。
  • 它是在命令一个动作还是限定一个动作?→ directive vs constraint。
  • agent 能否单独解决它?如果不能 → question。
  • 是否列出了多个互斥的未来但没有选择?→ branch-vector。
  • 在 law 和 value 之间犹豫时:laws 会被违反,values 会被权衡。如果你能想象出一种被认可的权衡,那它就是 value。

3. 形式化为 frontmatter

id: ATM-NNNNNN            # mint from the registry's counter — never invent ranges
class: constraint
state: CLEANED
text: "Never `chezmoi add` over existing source without `chezmoi diff` first."
raw: "…also for god's sake diff before you chezmoi add anything again…"
provenance: {session: 8bb8f846, message: 41}
captured: 2026-06-07
status: OPEN              # OPEN | DONE | ANSWERED | COLLAPSED | SUPERSEDED-BY:{id}
links: [ATM-013811]       # related atoms; liberal linking
tags: [chezmoi, destructive-ops]

规则:

  • 从注册表自己的计数器表面铸造 ID——读取它、认领范围、写回;永远不要猜测下一个 ID。
  • raw 是必须的:逐字或按范围引用的来源。没有来源的形式化是改写,不是提取。
  • 每个原子一个意图。如果 text 字段需要“and”,就拆分它。

4. Elevate(在需要时)

对于跨 ≥2 个独立来源反复出现的 laws/values/constraints:

  • 剥离事件细节("in the limen repo" → 去掉,除非受范围约束)。
  • 将支持性原子链接为证据。
  • 标记 state: ELEVATED 并按指针路由到适当的长期表面(宪法层、reliquary、registry)——原子留在注册表中;表面引用它。

5. 追加并报告

将原子追加到注册表表面(仅追加;现有原子绝不会被一次提取过程编辑——supersession 是一个新原子,带有 SUPERSEDED-BY 反向链接)。

输出来源映射与计数:按类别、按状态统计原子数,加上被有意未原子化的片段(对话填充),以便评审者审计丢弃决策。

反模式

  • 原子化助手的重述,而不是操作者的话。只从来源轮次中提取。
  • 编辑 RAW。逐字层是证据;所有规范化都发生在 CLEANED 中。
  • 通过模式匹配最后看到的 ID 来铸造 ID。注册表计数器存在正是因为并行会话会竞争;read-claim-write。
  • 省略无聊的原子。嵌入在抱怨中的约束("never do X again")是最有价值、也最常被跳过的提取。
  • 从单次出现进行 elevate。一个强有力的陈述是一个 CLEANED constraint;elevation 需要反复出现。