PPT-PRO · 构建宪章与操作步骤

基于真实素材的技术讲解与视觉证据组织系统 —— 不是"会做 PPT 的 AI",而是围绕"用真实素材向特定受众把技术逻辑讲清楚、并达成沟通动机"来组织证据与视觉表达;PPT 只是最后的输出格式。

draft-1 · 2026-07-05 宪章待你审定 §10 交叉审查机制 ✓ 已实跑 协调/审查 opus·max 执行 sonnet-5(按 tier 升 opus)

剧本 A · 基于 Claude Code 的构建步骤(主线,推荐)

总原则:长的放文件,短的放提示词。你手写的只有 CHARTER.md;下面每步的提示词都点"复制"即可粘贴。前置已就绪:你的 cc 别名含 --dangerously-skip-permissions,无人值守不会卡权限弹窗。

1冷启动 + 那 ~30 秒触点

你做cd ~/ppt-pro && cc,按两下 Shift+Tab 进 plan 模式,粘贴下面这句:

读 @CHARTER.md。用你自己的话回显:(1) 系统意图 (2) 你识别到的底线 (3) 分阶段/分模块构建计划。不要创建任何文件,等我确认。

你会看到一段 200–400 字回显 + 分阶段计划;不创建任何文件

决策理解对 → 退出 plan 模式(再按 Shift+Tab)并说"同意,开始";偏了 → 一两句纠正让它重述。这是唯一的常规人工闸。

2编译阶段(写 specs / schemas,自动含编译闸)

你做若走全自动可并进步骤 3 的点火句;要分开做就说:

开始编译:把 CHARTER 展开成 specs/*.md(每子模块一份)、schemas/*.json、progress.md,给每子模块按 §0 打 tier;然后过编译闸(opus 自审 + Codex 只读复核 覆盖/耦合/可判定性)。过闸再继续。

你会看到specs/ schemas/ progress.md 陆续生成 + 编译闸结论(PASS/风险)。

决策可选瞄一眼;全自动模式跳过。

3工厂阶段(workflow 无人值守,可走开)

你做点火(关键词 workflow 触发确定性编排):

用 workflow 按 progress.md 逐模块构建:每单元 建→测→opus 审;hard 档加 Codex 只读交叉审查;独立模块并行。模型/effort 按 CHARTER §0 映射表。偏离写 DECISIONS.md 不停机;命中 §7(a)-(d) 写 BLOCKERS.md 并继续其它分支。跑完通知我。

你会看到一棵进度树(会话里输入 /workflows 实时看)+ 完成通知。这段可关掉不盯。

若不对弹 BLOCKERS 通知 → 读 BLOCKERS.md 补一句缺失输入/拍板 → 让它 resume 续跑(断点缓存,不白干)。

4集成 + 端到端

你做

进入集成:串起各模块,跑 CHARTER §6 的"真实一页"最小闭环(生成→评估→迭代→收敛),产出端到端结果 + 逐条对照验收的自审报告。

你会看到一次真实运行输出 + 通过/失败清单。

5事后审计(你的省心兑现处)

你做DECISIONS.md(自主判断流水账)、BLOCKERS.md、最终报告。

你会看到决策清单(跨模型分歧已高亮)。

迭代不认同的一句话让它改:如"按 BLOCKERS 第 N 条重做模块 X" → 回步骤 3 那道闸重跑该单元。

无人值守版:过完步骤 1 即走(把 2/3/4 合成一次点火)

读 @CHARTER.md。从编译一路做到审计:编译→过编译闸→工厂(逐单元 建/测/审,hard 档加 Codex 只读交叉审查,独立模块并行)→集成→审计。阶段之间不要停下等我批准,只在"编译闸不过"或 CHARTER §7(a)-(d) 停机。偏离写 DECISIONS.md、卡住写 BLOCKERS.md 并继续其它分支。用 workflow 编排。全部完成或遇停机时通知我。

剧本 B · 便携版:换会话 / 换其它 AI(如 Codex)的构建步骤

何时用:你脱离原对话、开新会话、或改用其它 AI(Codex 或别的)。原理:状态全在 ~/ppt-pro/ 的文件里,任何 AI 打开这个文件夹都能接手——所以它慢一点但 100% 可移植、抗上下文丢失。
1在项目目录里打开你的 AI

你做把 AI 指向 ~/ppt-pro/

  • Claude Code 新会话:cd ~/ppt-pro && cc
  • Codex 交互式:cd ~/ppt-pro && cx(= YOLO,可自行改文件)
  • 其它 AI / IDE:把工作目录设成 ~/ppt-pro/,确保它能读写这个文件夹
2每回合粘贴这段"驱动提示"(便携版的核心)

你做把下面整段粘给 AI。它读文件、做一个单元、更新文件、停下:

读 CHARTER.md、progress.md、DECISIONS.md、以及对应的 specs/<单元>.md。找到第一个未完成的单元,严格按其 spec 构建并写测试、跑测试;遵守 CHARTER §0 模型政策与 §4 底线(禁止耦合、禁止 mock 假完成)。做完:在 progress.md 勾掉该单元并记下测试命令与结果,把关键决定/偏离追加进 DECISIONS.md;若卡住则写 BLOCKERS.md 说明"我需要你做的最小决定"。然后停下,等我说"继续"。

你会看到它只动一个单元:新增/改了 src/tests/ 里对应文件,并更新了 progress.md,然后停下。

3循环推进

你做重复这个回合,直到全部单元完成:

  1. 粘贴驱动提示 → AI 做一个单元 → 停。
  2. 瞄一眼它更新的 progress.md / 文件改动。
  3. 说一句 "继续" → 它做下一个单元。
  4. 若它写了 BLOCKERS.md → 你补一句决定 → 再说"继续"。

收尾所有单元完成后,粘:进入集成,按 CHARTER §6 跑"真实一页"最小闭环,产出端到端结果 + 自审报告。

如果这个"其它 AI"就是 Codex CLI

Codex 可以两种角色参与——只读审查 或 非交互执行。

A) 只读交叉审查(不改文件、要结构化结论)——安全,推荐

codex exec --sandbox read-only --skip-git-repo-check \
  -C ~/ppt-pro \
  --output-schema ~/ppt-pro/schemas/review-verdict.schema.json \
  --output-last-message /tmp/verdict.json \
  "只读审查 <目标,如 specs/1.5-layout.md 或某模块产出>,按 schema 返回 PASS/PASS_WITH_RISKS/FAIL 与风险清单。禁止改写任何文件。"
# 结构化结论落在 /tmp/verdict.json,可直接解析

B) 非交互执行一个单元(要它写代码)

codex exec -C ~/ppt-pro "<把上面第 2 步的驱动提示整段放这里>"
# 注意:这会让 Codex 写文件。别和 Claude 同时改同一批文件——换 AI 时二选一,别并发。
只读审查绝不要用 cx 别名(那是 --dangerously-bypass-approvals-and-sandbox,带写权限、会和别的 AI 抢改文件)。审查一律用上面 A) 的 --sandbox read-only

取舍一句话:要省心/防偷懒/长程无人值守 → 剧本 A(Claude Code + workflow);要跨工具跨会话可移植 → 剧本 B(文件 + 驱动提示)。两者共用同一套 CHARTER / specs / progress,可随时切换。

§0模型 / effort 分层政策

任何 agent 不得自行更改。把"主模型判断能否胜任"一次性前置到编译阶段打 tier,工厂按映射表执行——既用强模型判断力,又不破坏编排确定性。

角色模型effort说明
协调层主线程 / 编排opusmax永不降级
审查层评估/审查/集成/编译闸opusmax质量最后防线,绝不省
执行层各模块构建默认 sonnet-5按 tier编译判 hard 才升 opus
交叉审查独立第二意见Codex gpt-5.5其 xhigh只读、只出结论

可复制 · 粘进任何会话作模型政策约束

模型/effort 政策(任何 agent 不得自行更改):
- 协调层(主线程/编排):opus + max,永不降级
- 审查层(评估/审查/集成/编译闸):opus + max,永不降级
- 执行层(各模块构建):默认 sonnet-5;仅当编译阶段判定该单元为 hard 时升 opus
- effort 分档:hard=high/max,standard=medium,trivial=low
- 难度判定:编译阶段由 opus 给每子模块打 tier 写入 progress.md;工厂按 tier→(模型,effort) 映射表执行,不在运行时临时决定
- 兜底:执行层任何产物必须过 schema + 测试 + opus 审查;不过则升一档模型重做
- hard 单元与编译闸额外加 Codex(gpt-5.5) 只读交叉审查

§3三大模块骨架

意图级骨架你给;编译阶段 AI 补全到零件级并写 spec。tier=建议难度(hard/standard/trivial)。

模块 1 · 单页生成器(Generator)

子模块职责tier
1.1 素材调研与分析检索归集真实素材、提炼要点standard
1.2 受众调研与建模目标受众画像standard
1.3 表层意图理解要讲清的逻辑/概念standard
1.4 深层意图理解沟通动机(购买/信任/降顾虑…)hard
1.5 页面元素与布局设计元素清单+布局规格hard
1.6 图片获取工作流真实图片检索/下载/许可standard
1.7 文生图提示词生成需生成图时产 t2i 提示词standard
1.8 素材"毛料"筛选粗采→精料standard
1.9 单页合成/渲染内容模型→PPT(与内容解耦)standard

模块 2 · 感知评估器(Presentation Perception Evaluator)

关键设计:先"盲看"(像受众一样只看渲染页),再对照意图打差距分,避免自己夸自己。

子模块职责tier
2.1 页面信息提取抽取呈现出来的信息standard
2.2 页面结构解析版面/层级/视觉结构standard
2.3 逻辑表达分析目标逻辑是否表达清楚hard
2.4 受众感知评估(盲看)受众接收到什么、信不信、被打动否hard
2.5 评分器按可解释维度给分standard
2.6 反馈生成器定位到元素的可执行反馈standard
2.7 报告输出器汇总评估报告trivial

模块 3 · 迭代指令生成器(Iterator)

子模块职责tier
3.1 差距诊断从反馈+分数定位根因hard
3.2 迭代策略决策决定改什么类型hard
3.3 迭代指令生成回灌模块 1 的可执行指令standard
3.4 收敛控制何时停(阈值/轮数/边际收益)standard
3.5 迭代记录/审计每轮变更与理由可回溯trivial

§7自主授权(替代人工 plan-review 的核心)

自主授权 Autonomy Policy:
- 授权:不违反 §4 底线前提下,可优化/补充/改进(可比原规划更好)
- 偏离处理(分级):
  · 不触及底线/范围/关键契约的偏离 → 写 DECISIONS.md,继续跑,留待事后审计
  · 触及底线/范围/关键契约的偏离 → 不得自行其是,写 BLOCKERS.md 并停下
- 编译闸(自动):编译产出 specs 后,opus 自审 + Codex 只读复核 覆盖/耦合/可判定性;过闸才进工厂
- 交叉审查:hard 单元与编译闸用 codex exec --sandbox read-only 做独立第二意见;
  Claude 审查 + Codex 审查都过才算过;实质分歧→写 DECISIONS.md 并停机(d)
- 允许停机等我的唯一情形:
  (a) ≥2 种方向性解读且触及底线/范围
  (b) 缺关键输入无法推进
  (c) 同一单元测试连续失败 ≥3 次
  (d) Claude 与 Codex 对某 hard 单元实质分歧
- 停机动作:写 BLOCKERS.md + 通知,并继续推进其它不受影响分支
- 按异常暂停:编译→工厂→集成→审计一路自动,阶段间不停等批准,只在"编译闸不过"或 (a)-(d) 中断

Codex 交叉审查命令(只读、结构化)

剧本 A 的编译闸/hard 审查、剧本 B 的独立审查都用它。

codex exec --sandbox read-only --skip-git-repo-check \
  -C ~/ppt-pro \
  --output-schema ~/ppt-pro/schemas/review-verdict.schema.json \
  --output-last-message /tmp/verdict.json \
  "只读审查 <目标>,按 schema 返回 PASS/PASS_WITH_RISKS/FAIL 与风险清单。禁止改写任何文件。"

首轮交叉审查结果(Codex gpt-5.5 · 实跑验证)

本宪章 draft-1 已由 Codex 独立只读审查一次,机制打通(结构化 verdict 可解析)。它还真抓出草稿里一个逻辑洞——原 §7"任何偏离都继续跑"与底线冲突,已就地收窄。

总判定:PASS_WITH_RISKS —— "方向一致、可作编译输入,但建议开工前补齐关键契约与可测判定"。

它建议开工前固化(已并入 §10 待审)

  1. 显式输入 brief / 需求契约(主题/受众/素材来源/联网/许可证),否则端到端会因缺输入停机。
  2. claim → 素材溯源模型与引用/授权/许可证验收规则。
  3. 渲染页 → 评估器的稳定视觉捕获路径(导出图片/OCR/视觉解析+失败处理)。
  4. §6 把"自审/无假完成/一页质量"落成可执行测试+固定夹具+明确阈值
  5. 模块 0(编排/progress/DECISIONS/BLOCKERS/编译闸自身)的可测试验收补进 §6。
  6. §3 生成器 1.1/1.6/1.8 边界去重、明确 1.5 布局依赖 1.8 精料。
  7. 2.3 与 2.1–2.4 盲看语义切分。

§10待你审定的开放问题

开工前扫一眼,改掉不认同的即可(改 ~/ppt-pro/CHARTER.md §10)。

  1. 技术栈:Python + python-pptx + pytest 可否?还是别的输出?
  2. 模块 2 盲看设计:评估器"先盲看再对意图打分",认同否?
  3. §3 子模块拆分:子模块与 tier 有无增删/改难度?
  4. 收敛与失败阈值:迭代最大轮数、达标分数线、单元连续失败停机阈值(暂定 3)。
  5. 联网:素材检索默认联网,还是先离线最小闭环、联网作可插拔?
  6. 真实素材来源:图片检索走哪条路?
  7. 交叉审查范围:Codex 只审 hard 单元 + 编译闸(省额度),还是覆盖更多?
  8. (Codex 补的一组)输入契约 / 溯源与许可 / 视觉捕获 / 可测判定 / 模块0验收 —— 见"首轮审查"节 7 条。