What It Can and Can't Do
It can complete implementation, but not judgment. The calls you skip, it will make for you — and make them look plausible.
- 生成的东西能跑,但不是你想要的那个
- 你说做一个列表,它顺手加了排序、筛选、分页、导出
- 改到第三轮,它忘了第一轮的约定,你得重新解释一遍
Where the Line Is
| 这类事情 | 交给谁 | 原因 |
|---|---|---|
| 把描述变成代码 | 它 | 有大量样本,做法收敛 |
| 重构、改名、批量替换 | 它 | 机械且有明确的对错 |
| 解释一段陌生代码 | 它 | 阅读比创作容易 |
| 照着参考做出接近的效果 | 它 | 有对照物就有目标 |
| 决定做什么、不做什么 | 你 | 取决于你的处境,它不知道 |
| 判断某个方案在这个场景合不合适 | 你 | 需要具体的用户和约束条件 |
| 取舍:功能多还是快 | 你 | 这是价值判断,没有标准答案 |
| 验收:做成这样算不算合格 | 你 | 标准由你定,它只能照着量 |
How It Fills the Blanks
It won't say "you weren't clear." It fills the gap with whatever shows up most in its training data. The behavior itself is useful — it saves a lot of boilerplate — but it's also the source of every surprise.
Two more traits you have to know: it only sees what you give it, and doesn't automatically remember yesterday's decisions across sessions; it will invent things with a straight face — APIs, parameters, libraries that don't exist. Anywhere accuracy matters, verify.
So the Division of Labor Becomes
- You write the judgment down, it follows it. Whatever judgment stays in your head, it can only guess at.
- Be explicit about what not to do. Otherwise it'll helpfully fill it in (see the not-doing list).
- You own acceptance. It can self-check, but you have to give the criteria, and they have to be concrete enough to check item by item.
- Things you have to repeat—write them into a file. Don't re-explain each time, and don't count on it remembering.
String these four together and you get what the rest of this section is about: how to write specs, how to manage context, how to lock in constraints.
