---
marp: true
theme: tvu-dark
paginate: true
size: 16:9
header: 'Graphics Insertion · 9 轮迭代复盘 · 2026-05-19 → 05-20'
footer: 'Nancy Zeng × Claude · 内部分享'
---

<!-- _class: lead -->
<!-- _paginate: false -->

# Graphics Insertion · Dual Preview
## 9 轮迭代复盘

**Nancy Zeng** · UX Designer
**Claude** · AI 协作伙伴

2026-05-20

---

## TL;DR

- **9 个版本**（v1 → v9），**跨 2 天**
- **6 / 9 = 67%** 的 retrofit **本可通过起手协议避免**
- 5 大病灶：起手协议缺 / M31 纪律 gap / 资源复用弱 / 过度抽象 / 沟通节奏失衡

> **核心 insight**：
> **AI 起手 4 件事（M31 echo + 结构 echo + 参考图索取 + 资源扫描）只要 5 分钟，能省后续 5+ 轮 retrofit**

---

## 9 轮 iteration trail

| 版本 | 主要动作 | 性质 |
|---|---|---|
| v1 | Mid Ops + Video Cut + 长 PRD card | baseline |
| v2 | 16:9 + section labels + Preset 右移 | **AI 过度解读 PRD** |
| v3 | 回退 Preset 到底 | partial 修正 |
| v4 | Scheme E 范式 + URL/toolbar clone | **用户给参考后才纠正** |
| v5 | 预览 640×360 + 垂直居中 | **AI 没算几何上限** |
| v6 | 左右结构 + 左内上下 | **AI partial 实现范式** |
| v7 | Group 61 audio meter clone + PP-style Cut | **AI 资源复用意识弱** |
| v8 | Auto-layout 嵌套树重构（81%） | **AI 纪律 gap (M31)** |
| v9 | PVW/PGM 绿/红 + gradient | **AI 凭意识造视觉** |

---

<!-- _class: lead -->

# 5 大病灶
## 按责任权重排序

---

## 病灶 1 · 起手协议缺 3 个动作

**v1-v6 都有责任 — 高频根因**

AI 起手没主动做这 3 件事：

| 缺失动作 | 应做内容 | 后果 |
|---|---|---|
| **结构层级 echo** | "X 结构 X 内再 Y 结构"复述 | v6 才被用户主动澄清 |
| **通用约定参考图索取** | "同产品系列有参考图吗" | v4 才看到 Standard Conversion |
| **视觉范式参考图索取** | "视觉细节有参考吗" | v9 才看到 PP-2025-2026 |

> **回流候选**：`tvu-design-mockup` skill 起手协议增 3 步

---

## 病灶 2 · M31 纪律 gap

**v1-v7 七个版本反复违规 — 单次责任最重**

- M31 原文："Auto Layout 默认，absolute 仅限有充足理由"
- 起手协议读过整个 mockup-conventions.md（包括 M31）
- 但 v1-v7 反复用 absolute 定位

**根因 = AI path-of-least-resistance**：
> 写 absolute 比 auto-layout 嵌套树**直观、快**，违规没立即报错

**产物代价**：用户在 Figma 改一处要重算 5+ 坐标，PVW/PGM 移动不会跟随 reflow

**v8 重构 81% auto-layout 才符合规则**

---

## 病灶 3 · 资源复用意识弱

**v4 显著 / v7 修正**

**反例（v4）**：自画 audio meter
- gradient bars + clip rects + dB tick text
- 6 行代码 + 1 整 batch

**正解**：同 file `1240:15412` Group 61 一行 clone
- 含完整 TVU `icon/sound/on 1` + L/R 双轨 + 全 dB scale

**根因**：AI 没主动搜 "file 内已有同类组件"

> **回流候选**：mockup skill 起手必跑 file-local component 扫描

---

## 病灶 4 · 过度抽象倾向

**Session 中后段**

- 用户没让我提议回流，我主动提了 **5 条回流候选**
- 5 条中 **4 条 over-coupling**（MicroApps-specific 被误抽象为 TVU-level）

**用户挑出后才修正**：
- 1 条撤回
- 2 条本地化
- 仅 1 条真值得回流

**根因**：AI "积极回流"模式 → 没等用户问就主动提，反而污染 TVU 真源

---

## 病灶 5 · 沟通节奏失衡

- 一次输出多个候选 / 大块 handoff doc
- **用户反复说"没看懂 / 取消"**
- 截图频率偏低（v7 之前没主动 verify）

**理想节奏 = 一次一件事 + 等 confirm + 下一步**

---

## 责任拆分

| 责任方 | 占比 | 体现 |
|---|---|---|
| **AI**（我） | ~80% | 起手协议缺失 / 纪律 gap / 资源搜索缺失 / 过度抽象 / 沟通节奏 |
| **PRD 文字** | ~10% | ambiguous 措辞，AI 字面解读 over-engineering |
| **任务复杂度** | ~10% | dual-16:9 数学硬约束，需要前置算几何上限 |

> 不是甩锅 — 是为下次改

---

## 给 AI 的 reminder（下次起手 4 件事）

下次 `@TVU mockup` 起手**强制 4 件事**，做完才动 Figma：

**1. echo "M31 已加载，layout 默认 auto-layout"**
> 一句话强提示自己

**2. 结构层级 echo**
> 用嵌套描述法复述给用户 confirm

**3. 参考图索取**
> "通用约定参考 + 视觉范式参考图有吗"（PRD 文字不够，必须看视觉）

**4. 资源复用扫描**
> grep file 内同类组件命中节点 ID + 优先 clone（不要自画）

---

## 给用户的 prompt 模板

新 session 起手贴这段：

```
@TVU mockup
继续 Graphics Insertion dual preview 任务 (v9 → 后续)。
先读: pickup.md / handoff.md / mockup-conventions §M31

读完执行起手协议 (在动 Figma 前必做):
1. echo "M31 已加载，layout 默认 auto-layout"
2. echo 你理解的当前 v9 状态
3. 列出建议的下一步 (单一动作，不要一次提 5 条)

等我 confirm 后再动 Figma。
```

---

## 沟通节奏约定

| 你（用户）| 我（AI）|
|---|---|
| 一句话一个动作（不要长 PRD 一次性甩出）| 一次一件事，做完发截图等 confirm |
| 给视觉参考时明确"借鉴 X 元素" | 不主动提议回流 / 抽象，除非你明确问 |
| 早期发参考图（结构 + 视觉两套）| 主动暴露不确定，不硬猜 |
| 走偏立即截图 + 一句反馈 | PRD vs 参考图冲突时主动问澄清 |

---

## 未来抽象到 TVU repo 的触发条件

本复盘**目前不上 TVU**。仅当满足以下之一才考虑：

- 累积 **3+ 同类 session** 都出现"起手协议 3 件事缺失" → 抽象到 `design-process.md`
- 累积 **2+ M31 同类违规** → 改 `tvu-design-mockup` skill 起手协议加 "echo M31 已加载" 自检
- 累积 **2+ 过度抽象** → 抽象到 `meta-rules.md` 作 anti-pattern

> 单次 session 实证不够强，不污染 TVU 真源

---

<!-- _class: lead -->

# Thank You

**完整复盘**
`docs/retrospects/2026-05-20-graphics-insertion-9-round-retrospect.md`

**相关 docs**
`docs/handoffs/2026-05-19-graphics-insertion-dual-preview-handoff.md`
`docs/handoffs/2026-05-20-graphics-insertion-pickup.md`

**反馈 / 讨论**
Nancy Zeng (TVU UX team)
