P4 · STUDENT
和 DSCC 一起写代码
你手上已经有
outputs/spec-<你的名字>.mdoutputs/plan-<你的名字>.md- 一个能跑的
index.html
这一步你在训练什么
不是"怎么让 DSCC 更快写完代码"。是——
怎么让 DSCC 不写你不想要的代码。
50 分钟内做完 plan 里 1–2 条 ✓ 项就够了。多做不算赢。
五步循环(一直重复,直到时间到)
读 ── 圈 Scope ── 告负约束 ── 读 diff ── 拒 / 改
↑ │
└──────────────────────────────────────────┘
第 1 步 · 读
打开 index.html,找到 plan 下一条 ✓ 会动到的那一段代码。你自己先读 2 分钟——你都不知道改什么的时候,DSCC 也不知道。
第 2 步 · 圈 Scope
Scope = 这一轮你让 DSCC 改哪一部分,不改哪一部分。写清楚到行:
index.html第 420–480 行
第 3 步 · 告负约束
正向说要什么太空洞,负向说不要什么更有效。
这一轮改 index.html 第 420–480 行的 renderPoem 函数。
目标:让每一行诗从右向左逐字出现,不要一次全出。
负约束:
- 不要改 SYSTEM_PROMPT(那是 P2/P3 决定的)
- 不要引入新库,只用 Canvas 2D
- 不要动 capturePoem(那是 P5 的事)
- 如果你觉得还要改别的文件,先告诉我,不要自己改
第 4 步 · 读 diff
DSCC 给你代码后——逐行读。读不懂的一定要问:
这里为什么用 setTimeout 不用 requestAnimationFrame?
读不懂 + 不问 = 这一轮白做。
第 5 步 · 拒 / 改
拒绝理由只许用 P3 的 7 个词:
太贪 · 无关 · 风险 · 超时 · 先不急 · 审美 · 重复
例子:
- "这段加的 loading 动画——审美,砍。"
- "你顺手重构了 callLLM——无关,退回。"
- "这条我自己 5 分钟能写——太贪,先不急。"
- "改这里会动到 SYSTEM_PROMPT——风险,不要。"
回到第 1 步。
节奏(按表管理自己)
| 进度 | 你应该在做什么 |
|---|---|
| 0–10 分钟 | 只改 1 件事。不许开大招。 |
| 10–30 分钟 | 按 plan 推进。每一轮都记一条日志。 |
| 30 分钟 | 回头看 plan。没做完的 ✓ 砍到 1 条。 |
| 30–45 分钟 | 收尾这一条。跑一次看看。 |
| 45–50 分钟 | 停手。别再改。进 P5。 |
笔记(必须写,P5 要用)
每一轮在一个 notes.md 里记一行:
[14:37] 改了 renderPoem 逐字动画。接受。
[14:52] DSCC 想加载入动画。拒——审美。
[15:04] 改了 capturePoem 字体大小。接受。
[15:11] DSCC 想顺手改 SYSTEM_PROMPT。拒——无关。
至少要有 1 条"拒"。整堂课一次都没拒过 DSCC = 你今天没学到这一步。
交付
- 改好的
index.html - 一张能跑出来的诗(浏览器里看到就行,P5 再截图)
notes.md,至少 1 条拒绝记录
常见翻车
把 DSCC 当全权代理。 你不是观众,你是裁判。它写一步你读一步。
一次改 3 处。 读不过来,出错找不到源头。一次一处。
diff 没看完就回车。 这一轮白做——回去重读,或者 revert。
"反正能跑就行"。 跑起来不等于做对。P5 问的是你拒过什么,不是你做成什么。