我和 AI 的工作方式
大家用的都是同样的模型,结果却差得很远。代码已经不是瓶颈了,剩下的事,是搭一个让 AI 能把活干好的环境。
我一行代码都没写过。我做出来的所有东西,都是靠告诉 AI 我想要什么做出来的。大家用的都是同样的模型,但拿到的结果差得很远,我觉得差别在系统上。代码已经不是瓶颈了,AI 会处理。它缺的是有人给它搭好环境,让它能把活干好。我花时间做的就是这件事。
更大的变化,是我基本不再管细节了。一开始我什么都要牵着它走,一小步一小步来,每一步都要检查。现在的模型已经够好,我不用这样了。我告诉它我要的结果,让它自己想怎么做到。我的工作从指挥每一步,变成了把结果说清楚,再加一套它跑偏时能兜住的流程。这篇写的就是这套流程。
下面就是我现在一次普通的工作会话是什么样的,以及每一环为什么在那里。
每次会话怎么开始
一个不知道你上次停在哪的 AI,会毫不犹豫地把活重做一遍,推翻你上周做的决定,或者在已经坏掉的东西上继续往上盖。这套流程后面的每一环,都建立在它动手之前先知道现状。所以一次会话做的第一件事,是读。
它先读一页短短的说明,写着我是谁、我喜欢怎么做事。然后读一份交接笔记,上面写着现在有哪些事在进行,每个项目指向一页,记着最近发生了什么、下一步具体做什么、有什么卡住了。读完它会告诉我,并且说出它认为我们现在在做哪个项目。
比起我写下的东西,我更信它自己能核对的东西。交接笔记说一样,项目页说另一样,以项目页为准。如果笔记超过一天没更新,它会先问我这期间变了什么,再动手。我记错自己停在哪的次数已经够多了,这条规则是有理由留下来的。
按出错的后果给任务分级
改一个错别字和改登录方式,不是同一种事。如果我一视同仁,要么浪费很多时间,要么弄坏真正要紧的东西。在动手之前先判断这件事需要多小心,是让后面的流程既不太慢也不太冒险的关键。所以每一件事都会按出错的后果,分进四个级别之一。
- 小事,比如文案、设置、很小的修补。看一眼,改掉,检查一下,完事。
- 对应用的一般改动。做出来,测改动的那部分,值得的话再找人看一眼。
- 我自己还没完全想清楚的事,或者反悔起来很贵的决定。先一起聊,聊到我知道自己到底要什么,再做。
- 任何碰到登录、钱、私人数据或删除的事。这一级要先有一份我批准的简短书面计划,一个出问题时能撤回的办法,以及在上线前由第二个 AI 检查这份工作。
这里写的所有东西里,帮我省下最多的,就是这个习惯。
只说结果,不说步骤
如果每个文件、每个小决定都要我签字,我就成了瓶颈,而这一切的意义恰恰是我不用整天坐在桌前。所以我尽量把“做完是什么样”说得直白,然后让它自己选路。事情清楚的话,它就直接做了。
真正需要我的时候,它才来找我:这个东西应该做什么,这个风险能不能接受,这件事是不是真的做完了。做完的意思是:它能用,检查的方式和这件事的级别相配,有风险的地方都说出来了。不是 AI 自己说一句做完了就算。
放手不管步骤,只是因为这套流程的其他部分都在。分级决定检查有多严。第二个 AI 会接住第一个漏掉的。有了这些,我才敢说一句“我要的是这个”,然后走开。
让第二个 AI 来审查
一个 AI 给自己的活打分,一定会打及格。我只信那些不是它自己做的检查。所以一件事需要审查时,一个 AI 做,另一个 AI 审。
以前我会把审查意见从一个聊天窗口复制到另一个。现在它们直接交接,我只看结果。如果一次检查拿不出我能看到的东西,就不算数。
每次会话怎么结束
开头那一步读,只有在上一次会话把东西写好了的前提下才有用。这一步漏掉一次,下一次会话就从一个错的起点开始。所以一次会话关掉之前,会发生三件事。
它把这次发生了什么写进当天的日志。它更新项目页,记下最近的事、下一步具体做什么、有什么卡住了,并把做完的清掉。然后它把整份笔记同步一遍,让我的手机和另一台电脑看到的是同一份。做完它会告诉我,那时我才关窗口。
这一切在手机上就能完成。我读的是大白话的摘要。我不读代码。
出了问题怎么办
上面这些都跑在我自己修不了的脚本和笔记上,所以有两件事必须成立,否则第一次出问题我就卡住了。
每一个自动的步骤,旁边都写着手动的做法。脚本坏了,手动怎么做的说明就在那里,所以没有任何一环依赖一台我修不了的机器。
而且出了问题,我不只是修掉。我会问:怎么让它不再发生?答案变成一条规则,之后每一次会话都会读到,所以我只解释一次,不用再说第二遍。时间长了,我的这套东西就变成了这样。我不是在给 AI 指一条路。我是在两边立好护栏,让它自己在中间开。