它会做的和不会做的 | 与 AI 协作 | 做产品
它会做的和不会做的
它能补全实现,补不上判断。你不做的那些判断,它会替你做,而且做得像模像样。
你会遇到的现象
-
生成的东西能跑,但不是你想要的那个
-
你说做一个列表,它顺手加了排序、筛选、分页、导出
-
改到第三轮,它忘了第一轮的约定,你得重新解释一遍
分界在哪
这类事情交给谁原因 把描述变成代码它有大量样本,做法收敛 重构、改名、批量替换它机械且有明确的对错 解释一段陌生代码它阅读比创作容易 照着参考做出接近的效果它有对照物就有目标 决定做什么、不做什么你取决于你的处境,它不知道 判断某个方案在这个场景合不合适你需要具体的用户和约束条件 取舍:功能多还是快你这是价值判断,没有标准答案 验收:做成这样算不算合格你标准由你定,它只能照着量
划线的标准不是难易,是这件事有没有唯一正确答案。写一个复杂算法它比你快,决定要不要做这个功能它做不了。
它怎么补空
它不会说「你没说清楚」,它会用训练数据里最常见的做法把空填上。这个行为本身很有用——省掉了大量样板——但也是所有意外的来源。
你说的
做一个订单列表
它补的
· 分页,每页 10 条 · 按时间倒序 · 顶部加了搜索和筛选 · 右上角加了导出按钮 · 没有空态、加载态、错误态
补上的那几条是常见做法,未必是你要的;没补的那三条恰恰是真实环境里最常出现的。这个偏差是系统性的,不是偶然。
另外两个必须知道的特性:它每次只看得到你给它的东西,跨会话不会自动记住昨天的决定;它会一本正经地编,编出不存在的接口、参数、库。凡是要准的地方都得校验。
它不会说「你没说清楚」,它会把空填上
你说:做一个订单列表
它顺手补上的 · 分页,每页 10 条 · 按时间倒序 · 顶部加了搜索和筛选 · 右上角加了导出按钮
它没有补的 · 空态 · 加载态 · 错误态 恰恰是真实环境里最常出现的三个
左边那些是训练数据里最常见的做法,未必是你要的。这个偏差是系统性的,不是偶然。 划线的标准不是难易,是这件事有没有唯一正确答案——写复杂算法它比你快,决定要不要做这个功能它做不了。
它这种「补空」的行为本身很有用,省掉了大量样板。但也正因如此,你不做的那些判断,它会替你做,而且做得像模像样——所以要说清楚不做什么,不说的话它一定会顺手补齐。
于是分工变成
-
**你把判断写下来,它照着做。**判断留在脑子里的部分,它就只能猜。
-
**你说清楚不做什么。**不说的话它会顺手补齐(见反面清单)。
-
**你负责验收。**它可以自检,但标准得你给,而且要具体到能被逐条对照。
-
**反复要说的话,写进文件。**不要每次重讲,也不要指望它记住。
把这四条连起来,就是这一类里其余几篇要讲的事:怎么写规格、怎么管上下文、怎么把约束沉淀下来。
接着看
上下文是怎么回事 「它只看得到你给它的东西」这句话的展开,以及为什么给得越多效果反而可能变差。
先规格后代码 把判断写下来的具体做法。先让它写清楚要做什么,再让它写代码。
反面清单 挡住「顺手补齐」的唯一有效手段:把不做的事明确写出来。
