俄克拉何马州的六个伐木点,每一车木头都从集材场开始。一车装满到法定载重,可能是 60 根木头,也可能是 120 根;每棵树长短粗细各不相同,装多少、装哪几根,全凭眼力。装好了,按小时拿工资的司机把车开到木材厂,过磅。
照埃德温·洛克和加里·莱瑟姆后来的说法,这些卡车到厂时,只装到法定允许重量的六成左右。每一车轻载,都是一趟空着一截跑的路。
莱瑟姆 1975 年的论文上,署的地址是惠好公司(Weyerhaeuser)。他和 J. 詹姆斯·鲍尔德斯要把洛克的目标理论用到这里。他们给司机定了一个具体又难的目标,管的是每车木头的净重。
九成
论文写道,目标一下达,成绩「立刻就提高了」。据洛克和莱瑟姆的说法,36 辆卡车的装载量,从法定重量的六成左右升到了九成。按公司的成本核算,要靠多买卡车换来同样的提升,大约得花 25 万美元。
「尽力就好」,人人自己定义什么叫尽力;具体又难的目标,通常换来更多。
2002 年,洛克和莱瑟姆回顾了 35 年的研究,讲了其中的道理。「尽力」这种目标没有外在的参照,人人按自己的理解来定,于是好多种结果都能算过得去。他们引用的几项元分析里,具体而困难的目标都胜过「尽力而为」的号召,效应量(d)在 0.42 到 0.80 之间。他们写得很干脆:叫人尽力,人并不会尽力。
「小心驾驶」,车速由每个司机自己拿捏;路边一块写着 50 的牌子,就不留这个余地。
洛克在 1968 年的一篇论文里提出这套理论,当时有人怀疑它在工业界行不行得通。莱瑟姆把它带进了林子。1975 年那篇论文的标题,给「实际意义」加了引号,文中解释了原因:统计上显著「只是第一步」。1990 年,两人合著出版了《目标设定与任务绩效理论》。
这项研究拿卡车和它们自己的过去比,没有一组不定目标的卡车作对照。理论本身也带着条件,其中一个,就等在木材厂。
司机早就会的事
2002 年的回顾列了这些条件:人得认这个目标,目标越难,这一点越要紧;能力到了顶,成绩也就平了。人还得有反馈。洛克和莱瑟姆举的例子是:目标是一天砍 30 棵树,那么不知道已经砍了几棵,就没法判断自己是不是跟得上。
任务本身也有关系。回顾引用的一项元分析里,具体而困难的目标比「尽力」多出来的那一截,在最简单的任务上是 0.77,在最复杂的任务上只有 0.41。在一个模拟空中交通管制的实验里,绩效目标反倒妨碍了学会这份工作,叫人尽力的那组做得更好。洛克和莱瑟姆开的方子,是一个具体的学习目标,比如找出若干种不同的做法。
莱瑟姆后来专门提到自己的卡车研究:那些司机「用的是自己本来就有的知识」。而在他另一项研究里,任务是排课,对参与者来说既新又复杂,同样的目标反而拖累了成绩。
2009 年,丽莎·奥多涅斯和三位同事在《目标失控》一文里说得更重。他们写道,目标研究大多做在「简单、界定清楚」的领域,数的是解出了几道字谜这类东西;而经理们可能很难判断,一项任务复杂到什么程度,就该换成学习目标。运木卡车正好在简单的那一头:一个数字,每趟过磅一读就知道。
第三周接手的 40 个客户
假设你给一位新来的客户经理,在她入职第三周交了 40 个客户。说一句「续约的事尽力就好」,好不好就全由她自己判断了。于是你写下一个数:季度末前,40 个里续下 36 个。
这个目标具体,也够难。可她还不知道客户为什么会离开这个产品。手里只有一个续约数字、没有办法,离她最近的那根杠杆,就是打折。
所以第一个月,你给她定的是学习目标:找去年差点退订的十个客户谈一谈,把每个人当时需要什么写下来。第二个月,清单在手,36 这个数才上墙。目标一样难,这回她有路可走了。
先写测试,再要代码
题目描述告诉编程模型要做什么;再加上能跑的测试,「做完」的标准就有了更具体的反馈。2024 年,诺布尔·萨吉·马修斯和梅亚潘·纳加潘做了一项研究:让 GPT-4 Turbo 做标准基准里的短小编程题。每道题先只看描述来做;做不对的,再把基准自带的公开测试放进提示里重做一遍。所有答案最后都用规模大得多的隐藏测试来检验。
在 MBPP 这个基准上,只看描述就做对的题占 69.67%;把带测试重做的那些也算上,是 82.45%。
只有做错的题才有第二次机会,所以这个提升里,测试的作用和「再试一次」的作用搅在一起。测试本身也带着信息:据作者说,它们暴露了写错的函数签名和漏掉的边界情况。这些是函数级别的小题,不是真实的代码库;至于把标准定得更高会不会改变模型的表现,这项研究没有检验。
让智能体写代码之前,先写几条测试,说清楚什么叫做完;再留几条不给它看,事后自己跑。给它看的测试过了、你留下的没过,说明代码可能只是贴着你的例子写的,没贴着需求写,要再细看;多跑几次,再相信你看到的规律。
惠好的司机每跑一趟,终点都有一台磅秤。据洛克和莱瑟姆说,他们动手改了自己的卡车,好在开去过磅之前,就能估出车上有多重。