用好 AI 为什么难:重读 1986 年的《No Silver Bullet》

最近读到一篇 1986 年的老文章,越读越觉得,它说的就是我们今天用 AI 做东西的处境。

一篇老文章

作者是 Fred Brooks。他当年在 IBM 负责过一个超大型的电脑系统项目,后来拿了图灵奖。文章叫《No Silver Bullet》。

传说只有银色子弹能杀死狼人。做软件的人也一直在找这样一颗子弹:一个能让效率一下子翻十倍的新技术。Brooks 的结论是:没有这样一颗银色子弹。

两种难

为什么?他把做一个东西的难分成两种:

  • 偶然的难:工具难用,步骤繁琐,得懂一堆技术细节,才能把想法变成真正的东西。
  • 本质的难:到底要做一个什么样的东西,它的各个部分怎么配合在一起。

一笔账

然后他算了一笔账:除非偶然的难占了全部工作的九成以上,否则就算把它们全部消灭,效率也翻不了十倍。

AI 的十倍

问题来了。最近很火的 DHH 说,AI 让他的效率提升了十倍、百倍。难道 Brooks 说错了?

我觉得他们两个都没说错。AI 消灭的几乎全部都是偶然的难。所以用 AI 做东西,前面的进展飞快,像魔法一样;但做到后面,卡脖子的就不再是技术了。

营地抢位

比如我在做一个营地抢位的应用,最核心的问题是商业化:到底用什么功能去承载。

绝大多数这类应用都是做空位提醒,我想更进一步,做加购物车,甚至直接付款。这就涉及怎么衔接到用户的账户去加购,以及怎么判定这笔交易完成了。

这就是 Brooks 说的本质的难。它一直都在,以前只是被技术上的辛苦盖住了。

面对面

所以我现在的感受是:AI 没有让难的事情变简单,它让简单的事情消失了。我们第一次跟真正难的部分面对面了。

Brooks 还有一句话我特别喜欢:难的是决定要什么,而不是把它说出来。

40 年前,这句话是说给程序员听的。今天我们用大白话就能让 AI 帮我们做东西,所以这句话现在是说给我们每一个人听的。

Why Using AI Well Is Hard: Rereading No Silver Bullet (1986)

I recently read an essay from 1986, and the more I read, the more it sounded like a description of what building things with AI is like today.

An old essay

The author is Fred Brooks. He led a huge computer system project at IBM and later won the Turing Award. The essay is called No Silver Bullet.

Legend has it that only a silver bullet can kill a werewolf. People who build software have long been looking for one of their own: a new technology that makes us ten times more productive overnight. Brooks’s conclusion was that no such silver bullet exists.

Two kinds of difficulty

Why? He split the difficulty of building something into two kinds:

  • Accidental difficulty: clumsy tools, tedious steps, and all the technical details you need to know to turn an idea into a real thing.
  • Essential difficulty: deciding what exactly you are building, and how its parts fit together.

The math

Then he did the math. Unless accidental difficulty makes up more than 90% of the work, eliminating all of it still won’t give you a 10x gain.

AI’s 10x

Here is the catch. DHH, who has been getting a lot of attention lately, says AI has made him 10x, even 100x more productive. So was Brooks wrong?

I think they are both right. AI eliminates almost all of the accidental difficulty. That’s why, when you build with AI, early progress is incredibly fast, like magic. But further in, what holds you back is no longer the technology.

Campsite booking

Take the campsite-booking app I’m building. The core question is monetization: which feature should carry it.

Most apps like this just alert you when a spot opens up. I want to go further, letting you add the spot to a cart, or even pay directly. That means figuring out how to connect to the user’s account to add it to the cart, and how to tell when the transaction is actually complete.

That is what Brooks called essential difficulty. It was always there. It used to be buried under the technical grind.

Face to face

So here is how I see it now: AI didn’t make hard things easy. It made the easy things disappear. For the first time, we are face to face with the part that is truly hard.

There’s another line from Brooks I really like: the hard part is deciding what you want, not saying it.

Forty years ago, that line was meant for programmers. Today, anyone can get AI to build things just by describing them in plain language, so now it’s meant for every one of us.

← 全部创作记录