YC 合伙人 Pete Koomen 近日在自己的博客中发表了自己对当前AI 产品的看法。在他看来,许多时下流行的 AI 软件都存在知名问题。它们是新时代的“无马马车”,其 AI 功能并没有被充分利用起来。我们对这边文章进行了编译,看看 Koomen 眼中真正的 AI 产品应该是什么样的?
https://koomen.dev/essays/horseless-carriages/#a-better-email-assistant
前几天我发现了一件有趣的事情:与使用大多数已有的由AI构建的应用程序相比,我更喜欢自己使用AI来构建软件。
当我利用AI亲手构建软件时,我可以非常快速地编写出任何我能想象到的功能。AI给人的感觉就像是一款强大而有趣工具。而许多已经存在AI应用程序却并非如此。它们的AI功能显得牵强附会且无用,甚至有些产品的功能与你预期的效果相反。
我开始怀疑这些应用程序就像是AI时代的“无马马车”。他们之所以实际效果很差劲,是因为创作者编写他们的时候仍然采用了老套的编程逻辑,而这些逻辑给AI模型增加了许多不必要的限制。
让我用一款设计糟糕的AI应用的来举例说明。
Gmail的AI助手
不久前,Gmail团队发布了一项新功能,让用户能够使用谷歌的AI模型Gemini从零开始生成电子邮件草稿。它的界面是这样的:

我可以直接向 Gemil 提出要求,让它生成一份给老板的邮件草稿。而在我提出命令之后,Gemini给出了如下答案:

如你所见,Gemini生成了一封措辞合理的草稿,但可惜的是,这封邮件的语气和我本人截然不同。如果这封邮件是我自己写的,他应该是这样写的:

草稿的语气并不是唯一的问题。实际上,我自己写的邮件比Gemini生成得更短,这意味着Gemini花费的时间比我直接自己写草稿还要多。而此前Gmail团队表示,他们发布的产品能有效地改善用户的不佳体验。
数以百万计的Gmail用户都有过这样的经历,我确信他们中的许多人已经得出结论,认为AI还不够聪明,无法写出好的电子邮件。
但这其实并不是 AI 模型问题:Gemini是一个非常强大的模型,它完全有能力写出好的电子邮件。但不幸的是,Gmail团队设计的应用程序限制模型的发挥。
一个更好的邮件助手:
我可以举例说明这一点,我自己编写了一个简易的AI邮件助手,如果Gmail能够提供像他这样的功能,那它将为用户提供更多帮助:

这个小程序使用AI来阅读邮件,而不是从头开始撰写。每封邮件都会被分类并按照优先级排序,有些邮件会被自动归档,而其他邮件则会得到AI自动起草的回复。邮件助手根据一个自定义的“系统prompt”功能来单独处理每封邮件,我会在“系统prompt”中准确给出我希望如何处理每封邮件。而其他用户可以通过编辑系统提示尝试自己的标签逻辑。
很明显,这种方法要强大得多,那么为什么Gmail团队没有这样设计呢?要回答这个问题,我们需要更仔细地看看他们设计中的问题。我们先从它的通用性问题说起:
AI大杂烩
Gmail的AI助手生成的草稿冗长且异常正式,而这完全不像我的文字风格,如果我真的把它发给Garry,他可能会误以为这是一种钓鱼攻击。这就是所谓的“AI大杂烩”。
而每个使用AI软件进行写作的人都有过这样的经历。这种情况提啊过长就爱你以至于我们大多数人无意识地采用了避免这种情况的策略,即在撰写提示时直接给出更详细的指示,以引导AI软件给出符合自己要求的提示,比如这样:

这里有一个小的草稿撰写程序,您可以使用它来比较我的原始提示和这个扩展版本:

在增加大量限制之后,这个程序可以生成符合用户习惯的文本。但这种方式并不令人满意,不少人给出的 Prompt 甚至比原始Prompt还要长。而如果我再想要写一篇新的邮件,我不得不重复这个过程,增加一段冗长的Prompt。
而解决这个问题只需要一个简单的办法,但许多AI应用程序开发者似乎都忽略了这一点:那就是允许用户编写自己的“系统prompt”。
系统prompt和用户prompt
在外行人看来,AI产品的运行逻辑其实非常简单。它们会读取一段文字,即“提示”,然后开始逐字逐句预测接下来可能出现的词语,即“响应”(response)。
这里需要注意的关键是,所有的输入和输出都是文本。而AI软件的用户界面其实也只是文本。
像OpenAI和Anthropic这样的AI软件提供商采用了一种惯例,以帮助简化提示写作:他们将提示分为两个部分——系统Prompt和用户Prompt,之所以会这样命名,是因为在许多API应用程序中,开发者编写系统Prompt,而用户编写用户Prompt。

系统Prompt向模型解释了如何完成一组特定的任务,并且可以重复使用。而用户提示则描述了一个具体需要完成的任务。
你可以将系统Prompt视为一个函数,用户Prompt则是其输入,而模型的响应作为其输出:

在我原来的例子中,用户提示是:

谷歌对系统Prompt保密,但是根据输出我们可以猜测它的系统Prompt可能是这样的:

当然这里我是在调侃,但问题不仅仅在于Gmail团队编写了一个糟糕的系统prompt,更重要的是,我不能自己改写系统Prompt。
Pete系统提示
如果Gmail允许我编写自己的系统Prompt,而不是强迫我使用他们的一刀切Prompt,那么它看起来会像这样:

用演示来解释,你可以明白这里发生了什么:当我编写自己的系统prompt时,我实际上是在教导AI软件按照我的风格写邮件。这个方法有效吗?让我们来试试看。

我们尝试自己编写一个Gmail系统Prompt,并利用它的逻辑来生成草稿,然后用上面的“Pete系统提示”做同样的事情。“Pete”版本会给你类似这样的结果:

看到没,这完全就是我自己的邮件风格,系统Prompt非常完美的写出了这封邮件草稿。
不仅这个特定的草稿输出更符合我的要求,而且由于系统Prompt可以被反复使用,以后每封草稿都会变得保持我本人的风格。我也就再也不用反复向Gemini解释如何以我的风格写邮件,不用再为此头疼了!
而最棒的一点是,给AI软件编写系统 Prompt 是一件非常有意思的事情。
花几分钟思考一下你是如何写邮件的。之后试着编写一个“你的系统prompt”,看看会发生什么。如果输出的结果看起来不对,尝试想象你在解释中遗漏了什么,并再次尝试。重复几次,直到输出开始符合你的期望。
更妙的是,尝试使用一些其他的用户prompt。例如,看看是否能让AI软件以你的口吻写出这些邮件:


教AI模型以你自己的方式来解决一个问题,并看着它成功,这种感觉非常神奇。令人惊讶的是,这个过程其实比教一个人类要容易,因为与人类不同,AI模型会立即、诚实地做出反馈。如果你得到了一封满意的邮件草稿,这就说明你做出了充分的指导。如果没有得到满意的草稿,说明你还需要努力。
通过公开系统Prompt并使其可编辑,我们能够获得出一个能产生更好结果且使用起来真正有趣的AI产品体验。可惜的是,截至2025年4月,大多数AI应用程序仍然没有(有意地)公开它们的系统Prompt。那这是为什么呢?
无马马车
每当有新技术被发明时,用该技术构建的第一批工具都不可避免地会失败,因为它们模仿了旧的工作方式。“无马马车”指的是早期的汽车设计,这些设计大量借鉴了汽车时代之前流行的马车设计方案。这里有一个我在维基百科上找到的1803年蒸汽马车设计的例子:

这种设计的缺陷在当时对所有人来说都是难以发现的,但对于之后的人们来说,这种设计非常可笑。
想象一下你生活在1806年,第一次乘坐这样的车辆。即使木制框架足够坚固且能够带你到达目的地,但这种木制座椅和缺乏悬挂的系统会让这段旅程变得痛苦难忍。
这时候你可能会想:“我还不如舒舒服服的坐马车,而不是这种蒸气怪物。”而在汽车被发明之前,这是很多人的想法。
而我们现在,可能正在经历类似的情况。现在的大部分 AI 软件就像集成了 Gemini 的 Gmail 一样,非常的鸡肋。
最初的无马马车出现,是因为旧世界思维,让当时的设计师简单地将车辆的动力系统从马换成发动机。他们并没有重新设计车辆以适应新的动力系统以及更快的移动速度。那么,限制这些AI应用程序的“旧世界思维”是什么呢?
旧世界思维
如果你希望电脑帮你完成某项工作,你有两种方法来实现:
-
编写一个程序 -
使用别人编写的程序
但对于很多人来说,编程是个很难的工作,所以大多数人会选择第二种方法。这就是为什么我宁愿花几美元购买现成的应用程序,也不愿自己动手开发:
而现代软件行业就建立在一个假设之上:我们需要开发者充当人类与计算机之间的中间人。他们将我们的需求转化为代码,并通过简单、一刀切的UI界面将其展现出来,让我们能够直接使用。
这种工作框架的分工非常明确:开发者决定软件在一般情况下的能做什么,而用户提供输入内容,决定软件具体完成什么工作。
通过将Prompt分为系统Prompt和用户Prompt,我们创造了一个与这些旧时代完美对应的类比。系统Prompt控制模型在常用功能,而用户Prompt是决定模型具体做什么事。
在这种框架下,很自然地会认为编写系统Prompt是开发者的工作,而编写用户prompt是用户的工作。这正是我们一直以来构建软件的方式。
但在实际使用中,我们更喜欢一些个性化的产品,用 Gmail 来举例,这款邮件助手应该能成为我的代理。他们撰写的是我的邮件,我希望它们以我的口吻撰写,而不是由一群谷歌产品经理和律师设计的一刀切的标准口吻。
在旧时代中,我不得不接受一刀切的情况,因为当时唯一的替代方案是自己编写程序,而编写程序是很困难的。
而在AI时代中,我不再需要中间人告诉计算机该做什么了。我只需要能够编写自己的系统Prompt,而这相当简单!
归还用户应有的权利
我的核心观点其实是,当一个AI模型代表我行事时,我应该能够通过编辑系统Prompt来教它如何模仿我的行为。
这是否意味着我总是想从头开始编写自己的系统Prompt?不。我已经使用Gmail二十年了;Gemini本应以我的邮件作为参考,自动生成仿照我语气的系统Prompt。当然我希望自己可以看到并编辑这个系统Prompt,毕竟我的邮件习惯和通讯录会随着时间而改变。
而对于那些不知道如何编写Prompt的人来说,他们是否需要开发者代劳?我相信一开始人们会依赖开发者帮助,但编写 Prompt 并不是一键多困难的事。从ChatGPT的流行速度来看,人们学会改写Prompt 并不是一件难事。
那么像AI财务Agent或AI法律Agnet这种需要专业知识的Agent呢?在这种情况下,软件开发者聘请专业会计师或律师来帮助编写系统Prompt不是更有意义吗?
如果我是用户,我会觉得是合理的。一个用于执行专业任务的系统Prompt应该由专业领域的专家编写,而不是我这种缺乏专业知识用户来自己改编系统Prompt。但我怀疑,大多数会计师和律师也会希望编写自己的系统Prompt,因为他们的专业知识有时候会受到具体事件的限制。
以YC(Y Combinator)的财务团队为例,他们的工作软件是YC特有的。他们使用特定的内部数据和现成软件相组合的工具,采用只有YC员工才能理解的工作习惯。他们管理的基金结构也是YC独有的。这时采用一个只会一刀切的会计Agent,就像一个对YC一无所知的专业会计师一样无用。
我曾工作过的每家公司中的财务团队都是如此。这就是为什么许多金融领域的工作者仍然依赖Excel的原因:它是一种通用工具,而且可以处理无数特定的使用场景。
在大多数AI应用程序中,系统Prompt应该由用户自己编写和维护,而不是软件开发者,活着是开发者雇佣的领域专家。而大多数AI应用程序应该是一款Agent构建器,而不是Agent本身。
归还开发者应得权利
如果开发者不编写提示,他们将做些什么?
一方面,他们会为在特定领域(如电子邮件收件箱或总账)操作的Agent创建用户客户端。大多数人可能不想从头开始编写每一个Prompt,好的Agent构建器也不会强迫他们这样做。开发者会提供相应的模板并帮助用户一点点的自己构建需要的 Agent。
用户还需要一个交互界面来审查 Agent 的工作成果,并对Prompt进行调整,类似于上面提到的小型模拟邮件 Agent 构建器。这个交互界面为用户提供了一个快速反馈的工具,用于教导Agnet 可靠地完成相应工作。
开发者还需要构建Agent 开发工具。
工具是Agent 对外界采取行动的机制。我的电子邮件撰写程序需要一个工具来提交草稿供我审阅。而且它可能会使用另一个工具,在未经我审核的情况下直接发送电子邮件(如果我给出授权的话),或者在我的收件箱中搜索某个特定电子邮件地址来查看我们的往来邮件,亦或是查看 YC 创始人目录,看看某封邮件是否来自 YC 创始人。工具为 AI Agent 提供了安全机制。Agent够否进行特定操作取决于它能够访问哪些工具。
我相信,在未来某个时期,人们在回忆“关注输入Prompt”这件事的时候会笑出声。在我看来,开发者应该保护Prompt的一部分不受另一部分影响的想法本身就是愚蠢的,而这也是一个强烈的信号,它表明我们所使用的抽象概念已经崩溃。
什么才是我们需要的Agent
正如我上面提到的,一个好的系统Prompt并不会在写邮件时为我省下多少时间。当然,这因为我倾向于让我的邮件尽可能简短,所以我的邮件内容可能和描述用的Prompt一样长。而这对于我们来说,生成式AI模型实际上对于生成文本并不是那么有用。
大模型擅长的其实是阅读文本并对其进行转换,而这正式我需要 Agent完成的工作。让我们重新审视我们的邮件阅读代理演示:

不难想象,这样一个阅读邮件的代理能为我省下多少时间。它比Gmail内置的垃圾邮件过滤器更擅长检测垃圾邮件,而且更易于维护。它可以找到每一条我认为紧急的消息并通知,当我打开这些消息时,Agent 就已经准备好了一份以我的语气撰写的回复草稿。同时它可以自动归档我不需要阅读的邮件,并总结那些我需要看的邮件信息。
如果给它一些额外工具的访问权限,这些邮件Agent甚至可以做到取消订阅、安排约会和自动支付账单,而所有这一切都不需要我动手操作。这才是我需要一个AI邮件 Agent能做到的:自动化日常工作的能力,这样我就可以减少处理邮件的时间。
我们需要什么样的AI软件?
对许多人来说,杀手级的 AI 软件将呈现这样的形态:教会计算机为我们完成那些我们不喜欢做的任务,让我们有更多时间专注于自己喜欢做的事情。
在我看来,大语言模型已经足够强大,能够代表我们完成许多枯燥的工作。事实上,大模型的能力其实足以满足我们的需求。而阻碍我们实现前文所描述的未来的关键,并非AI能力的不足,而是应用设计的问题。
Gmail团队打造了一辆“无马马车”,他们在现有的邮件系统中,强塞进了一个 AI系统。而不是根据 AI 模型的逻辑重新设计自己的邮件系统。
在我看来,AI原生软件应该最大化用户在特定领域的效率。一个AI原生的邮件客户端应该尽量减少我花在邮件上的时间。而AI原生的财务软件会尽量减少会计花在记账上的时间。
这正是我对AI未来时代的兴奋之处。这是一个我不需要浪费时间处理琐碎事务的时代,Agent会为我完成这些繁琐工作。我可以专注于我认为重要的事情,因为代理会处理其他一切。我会在热爱的工作中更高效,因为Agent会协助我完成它。
对此我已经迫不及待了。
(文:硅星GenAI)