今天的内容来自a16z的播客,嘉宾是Steven Sinofsky, 前微软Windows部门总裁。
Andre Karpathy很推崇vibe coding(氛围编程),他发明了这个词,定义了这个概念,并正在实践它。但我要给它泼点冷水。现在太多开发人员会告诉你他正在用vibe coding做一些有趣的事情,而且真的有用。但实际上并不是这样,这是一个技术平台早期会发生的事情。他们告诉你vibe coding很简单很好用,事实上他们花了18个小时才能让一个简单的东西跑起来。修bug、然后解决安全问题、鉴权错误,前端密码还用明文储存……在vibe coding要达到真的能用之前,需要解决成千上万的问题。
人类有长期的想自动化工作的历史,结果证明这些工作难以自动化。
比如说航班搜索OTA,消费者都想要最便宜的航班,事实上这并不是你想要的。这有一班最便宜的航班,但是我不想跟我的家人凌晨3点半起床赶飞机,我可能也倾向于选我有更高常旅客等级的航司积累里程。这个过程要很多人介入,并向你展示不同的选择。这是商业中真实的事情,它是生产者和消费者方面的事情。消费者真的想要比他们通常认为的更多的选择。
还有金融贷款服务,如果我想申请贷款,什么问题是关键的呢?找到利率最低的贷款……好,假设在线贷款技术降低了线下各种成本,做了一个利率最低的自动化贷款服务,这个服务没有名字、对外经营的生意面目模糊,只是低价,这个生意完全不成立的。事实上,在线贷款生意的关键在于,存在再融资的不同人群,而且在线广告可以定位你,吸引你作为客户。如果你不能做到这一点,真正自动化这项任务的能力就不会存在。
我们现在就像回到了计算机发展的早期阶段(1980年那种早期)。程序员在定义什么是成功:一个事情的结果很清晰,要么行,要么不行;程序员就是要把做这件事情自动化到只剩下极少极少的脚本输入。我只是觉得世界不是非黑即白的,有很多灰色地带,一切比看起来更复杂。
25年前,我在明尼苏达的一所医院做过一个项目,在医疗行业中使用电子表格来处理医生的工作。医生只是看着我们说,你们完全不理解我们的工作。本质上,我的工作是不确定的,所有方面都是不确定的。因此,在我们不确定的工作中加入一些看上去是有确定性的东西(比如电子表格),是帮助不了我们的。10年前,ImageNet出来的时候,当时人们也认为所有放射科医生完蛋了,都要被AI干掉了。而今天,放射科医生仍然没有完蛋,但是人们也还在认为放射科医生完蛋了,要被AI干掉了。
我觉得很多工作看上去非常简单确定,实际上这些工作的重点在于异常的处理。
我认为产品管理工作就是解决模糊性及其阻碍进展的模糊性的工作。有时候,执行、决策、产品设计并不会改变商业和人类互动的本质,而公司是这些复杂的适应性系统,在这些系统中总会存在歧义。我认为你总是需要判断力,你总是需要一个看起来像产品经理的人。
说回vibe coding。虽然你说的是提示词,是自然语言,但深入来看,你本质上就是在编程。有人开始录教程,你要学习怎么更好地输入提示词,大模型需要更多的结构,你要用什么方法做提示词工程。但这不就是一种编程语言吗,我们发明C语言、Pascal语言,我们也是在用像自然语言的结构化语句指挥机器。就像80年代,你开车经过大学的计算机系,每个人都在发明新的编程语言。
编程语言的发展,总会经历这种过度承诺但是实际交付低于预期的阶段。以前专业的计算机工程师需要用汇编语言,而编程语言的发明,市场上认为所有人都应该学编程,这件事情从未发生。这是疯狂的1990年代。我觉得每次都是过度承诺,最近的低代码也是过度承诺,现在也没人说这个词了。
AI coding 提供了很简单的方式写一个网站并上线,事实上大部分demo上线不到3天后就没人用了。
我同意我们正处于模型的指数改进周期中,任何预测能力都消失了。不过既然这是一股编程语言的浪潮,你可以参考一下过去编程语言发展的周期。在1980年开始,1990年到达了炒作的巅峰。这是长达10年的渐进性改进。到那时这股浪潮也结束了,它只是改变了抽象方法和多态这些编程范式。
发表回复