前几天我注意到一件有趣的事情:我更喜欢使用 AI 来构建软件,而不是使用大多数 AI 应用程序 - 使用 AI 构建的软件。
当我使用 AI 构建软件时,我觉得我几乎可以非常快速地创建我能想象到的任何东西。AI 感觉就像一个强大的工具。这很有趣。
许多 AI 应用程序不是这样的。他们的 AI 功能感觉是附加的、无用的,甚至适得其反。
我开始怀疑这些应用程序是 AI 时代的 “无马车”。它们很糟糕,因为它们模仿了构建软件的旧方法,这些方法不必要地限制了构建它们的 AI 模型。
为了说明我的意思,我将从一个设计不佳的 AI 应用程序的示例开始。
Gmail 的 AI 助手
不久前,Gmail 团队发布了一项新功能,使用户能够使用 Google 的旗舰 AI 模型 Gemini 从头开始生成电子邮件草稿。这是它的样子:

在这里,我在界面中添加了一个提示,请求向我的老板发送电子邮件的草稿。让我们看看 Gemini 返回了什么:

正如你所看到的,Gemini 已经制作了完全合理的草稿,不幸的是,这听起来一点也不像我实际写的电子邮件。如果这封电子邮件是我自己写的,它听起来会是这样的:
选秀的基调并不是唯一的问题。我写的电子邮件实际上比原始提示短,这意味着我花在向 Gemini 寻求帮助上的时间比我自己写草稿的时间要多。值得注意的是,Gmail 团队推出了一款完美捕捉管理表现不佳员工体验的产品。
数以百万计的 Gmail 用户有过这种经历,我相信他们中的许多人已经得出结论,人工智能还不够聪明,无法写出好的电子邮件。
这与事实相去甚远:Gemini 是一个非常强大的模型,它完全有能力写出好的电子邮件。不幸的是,Gmail 团队设计了一个应用程序来阻止它这样做。
更好的电子邮件助手
为了说明这一点,这里有一个 AI 电子邮件助手的简单演示,如果 Gmail 发布了它,它实际上会为我节省大量时间:
labelEmail(label, color, priority)
archiveEmail()
draftReply(body)
新客户专享优惠
筹款建议
技术联合创始人?
最新产品发布和行业新动态
今晚晚餐
使用我们的平台改变您的工作流程...
面向成长型公司的安全解决方案
本周科技:AI 发展与应用...
头条新闻:新的编程语言
安排
数据分析工具的特殊定价
创始人介绍?
此演示使用 AI 来阅读电子邮件,而不是从头开始编写电子邮件。每封电子邮件都经过分类和优先级排序,有些电子邮件会自动存档,而另一些电子邮件则会收到自动草稿的回复。助手根据自定义的 “系统提示符” 单独处理电子邮件,该提示符准确解释了我希望如何处理每封电子邮件。您可以通过编辑 System Prompt 来尝试自己的标签逻辑。
很明显,这种方法要强大得多,那么 Gmail 团队为什么不以这种方式构建它呢?为了回答这个问题,让我们更仔细地看看他们设计的问题。我们将从它的通用语气开始。
AI 斜坡
Gmail 的 AI 助手制作的草稿冗长而奇怪地正式,而且非常不合时宜,如果我真的把它发送给 Garry,他可能会误以为这是某种网络钓鱼攻击。这是 AI Slop。
每个使用 LLM 进行任何写作的人都有过这种经历。这是如此普遍,以至于我们大多数人在编写提示时都无意识地采用了避免它的策略。最简单的策略是编写更详细的指令,将 LLM 引导到正确的方向,如下所示:
这里有一个小的 draft-writer 演示,你可以用它来比较我的原始提示和这个扩展的提示:
生成的草稿听起来更好,但这显然很愚蠢。新的提示甚至比原来的还要长,每次我想写一封新电子邮件时,我都需要写出类似这样的东西。
对于这个问题,很多 AI App 开发者似乎都缺少一个简单的解决方案:让我编写自己的“系统提示符”。
系统提示和用户提示
从外部看,大型语言模型实际上非常简单。他们阅读一连串的单词,即 “提示”,然后开始一个接一个地预测接下来可能出现的单词,即 “回应”。
这里需要注意的重要一点是,所有的 input 和 all the output 都是文本。LLM 的用户界面只是文本1.
OpenAI 和 Anthropic 等 LLM 提供商采用了一种约定来帮助简化提示编写:他们将提示分为两个部分:系统提示和用户提示,之所以这样命名,是因为在许多 API 应用程序中,应用程序开发人员编写系统提示,而用户编写用户提示。
系统提示符向模型解释如何完成一组特定的任务,并一遍又一遍地重复使用。User Prompt 描述要完成的特定任务。
您可以将 System Prompt 视为一个函数,将 User Prompt 视为其输入,将模型的响应视为其输出:
在我最初的示例中,User Prompt 是
Google 对 System Prompt 保密,但从输出来看,我们可以猜到它是什么样子的:
您是一位乐于助人的电子邮件写作助理,负责代表 Gmail 用户撰写电子邮件。按照用户的指示使用正式、商务的语气和正确的标点符号,这样用户就可以明显地表现出聪明和认真。
当然,我在这里是轻描淡写的,但问题不仅仅是 Gmail 团队编写了一个糟糕的系统提示符。问题是我不允许更改它。
Pete System 提示符
如果 Gmail 不强迫我使用他们的万能系统提示符,而是让我编写自己的系统提示符,它看起来会是这样的:
您是 Pete,一位 43 岁的丈夫、父亲、程序员和 YC 合伙人。
您非常忙碌,与您通信的每个人都很忙,因此您尽最大努力使您的电子邮件尽可能简短和切中要害。你避免所有不必要的单词,你经常省略标点符号或不解决拼写错误,因为这没什么大不了的,你宁愿节省时间。您更喜欢单行电子邮件。
尽量保持友善,不要太随意,以至于显得粗鲁。
直观地,你可以看到这里发生了什么:当我编写自己的 System Prompt 时,我正在教 LLM 以我的方式编写电子邮件。它有效吗?让我们试一试。
尝试使用(想象的)Gmail 系统提示符生成草稿,然后对上面的“Pete 系统提示符”执行相同作。“Pete” 版本会给你这样的结果:
太完美了。这太简单了!
不仅这个特定草稿的输出更好,而且以后的每个草稿都会更好,因为系统提示符被一遍又一遍地重复使用。再也不用用头撞墙一遍又一遍地向 Gemini 解释如何像我一样写作了!
最棒的部分是什么?教授这样的模型非常有趣。
花几分钟时间思考一下你是如何写电子邮件的。尝试编写一个 “You System Prompt” ,看看会发生什么。如果输出看起来不正确,请尝试想象您在解释中遗漏了什么,然后重试。重复几次,直到输出开始适合您。
更好的是,尝试使用其他一些 User Prompt。例如,看看您是否可以让 LLM 用您的声音编写这些电子邮件:
教 LLM 以与你相同的方式解决问题并看着它成功,这有一种神奇的感觉。令人惊讶的是,这实际上比教人类更容易,因为与人类不同,LLM 会给你即时、诚实的反馈,告诉你的解释是否足够好。如果您收到一份满意的电子邮件草稿,那么您的解释就足够了。如果你不这样做,那就不是。
通过公开系统提示符并使其可编辑,我们创造了一种产品体验,可以产生更好的结果,并且实际上使用起来很有趣。
截至 2025 年 4 月,大多数 AI 仍然应用程序不会(故意)公开其系统提示。为什么不呢?
无马车
每当发明一项新技术时,用它构建的第一批工具都不可避免地会失败,因为它们模仿了旧的做事方式。“无马车”是指早期的汽车设计,大量借鉴了之前的马车。这是我在维基百科上找到的 1803 年蒸汽马车设计示例:

这个设计的破损在当时是看不见的,事后却是可笑的明显。
想象一下,生活在 1806 年,第一次乘坐其中一辆。即使木制框架保持在一起足够长的时间可以让您到达您要去的地方,木制座椅和缺乏悬架也会使骑行难以忍受。
你可能会想“我不可能选择发动机而不是马”。而且你是对的,至少在汽车发明之前是这样。
我怀疑我们正在经历一个类似的 AI 应用程序时期。它们中的许多都像 Gmail 的 Gemini 集成一样毫无用处。
给我们最初的无马车的“旧世界思维”是将马换成发动机,而不重新设计车辆来处理更高的速度。旧世界的思维方式是什么限制了这些 AI 应用程序?
旧世界思维
直到最近,如果你想让计算机做某事,你有两个选择来实现它:
- 编写程序
- 使用其他人编写的程序
编程很困难,所以我们大多数人大多数时候都会选择选项 2。这就是为什么我宁愿花几美元买一个现成的应用程序,也不愿自己构建它,以及为什么大公司宁愿向 Salesforce 支付数百万美元也不愿构建自己的 CRM。
现代软件行业建立在这样一个假设之上,即我们需要开发人员充当我们和计算机之间的中间人。他们将我们的愿望转化为代码,并将其抽象出来,隐藏在我们可以理解的简单、一刀切的界面后面。
分工很明确:开发人员决定软件在一般情况下的行为方式,用户提供决定软件在特定情况下的行为方式的输入。
通过将 prompt 拆分为 System 和 User 组件,我们创建了类似物,这些组件可以干净地映射到这些旧世界域上。System Prompt 控制 LLM 在一般情况下的行为方式,而 User Prompt 是确定 LLM 在特定情况下的行为方式的输入。
有了这个框架,很自然地假设编写 System Prompt 是开发人员的工作,而编写 User Prompt 是用户的工作。这就是我们构建软件的方式。
但在 Gmail 的案例中,这个 AI 助手应该代表我。这些是我的电子邮件,我希望它们用我的声音写,而不是由 Google 产品经理和律师组成的委员会设计的一刀切的声音。
在旧世界里,我不得不接受一刀切的版本,因为唯一的选择是编写自己的程序,而编写程序很困难。
在新世界里,我不再需要中间人告诉计算机该怎么做。我只需要能够编写自己的系统提示符,编写系统提示符就很容易了!
向用户呈现用户的
我在这篇文章中的核心论点是:当 LLM 代理代表我行事时,我应该被允许通过编辑系统提示来教它如何做到这一点。
这是否意味着我总是想从头开始编写自己的系统提示符?不。我已经使用 Gmail 二十年了;Gemini 应该能够使用我的电子邮件作为参考示例为我编写草稿提示。不过,我希望能够看到该提示并对其进行编辑,因为我编写电子邮件的方式和人员会随着时间的变化而变化。
那些不知道怎么写提示的人,难道不需要开发者来帮他们写吗?也许一开始,但提示写作非常直观,从 ChatGPT 的流行速度来看,我认为人们会弄清楚的。
那些不那么私人的代理人,比如 AI 会计代理人或 AI 法律代理人呢?在这些情况下,软件开发人员聘请专家会计师或律师编写一刀切的系统提示不是更有意义吗?
如果我是用户,这可能是有道理的。执行 X 的系统提示应该由 X 专家编写,而我不是会计或法律专家。但是,我怀疑大多数会计师和律师也希望编写自己的系统提示,因为他们的专业知识是特定于上下文的。
例如,YC 的会计团队以 YC 独有的方式运作。他们使用内部和现成软件的特定组合。他们使用特定于 YC 的约定,这些约定只有对其他 YC 员工才有意义。他们管理的基金结构是 YC 独有的。一个放之四海而皆准的会计代理对我们的团队来说,与对 YC 一无所知的专家会计师一样有用:完全没有。
我工作过的每家公司的每个会计团队都是这种情况。这就是为什么这么多财务仍然在 Excel 上运行的原因:它是一个可以处理无限数量特定用例的通用工具。
在大多数 AI 应用程序中,系统提示应该由用户编写和维护,而不是由软件开发人员甚至开发人员聘请的领域专家编写和维护。
大多数 AI 应用程序应该是代理构建器,而不是代理。
...对开发者来说,开发者的
如果开发人员不编写提示,他们将做什么?
首先,他们将创建用于构建在特定域中运行的代理的 UI,例如电子邮件收件箱或总账。
大多数人可能不想从头开始编写每个提示,优秀的代理构建者也不会强迫他们这样做。开发人员将提供模板和提示编写代理,以帮助用户引导自己的代理。
用户还需要一个界面来查看代理的工作并迭代他们的提示,类似于我上面包含的小虚拟电子邮件代理构建器。这个接口为他们提供了一个快速的反馈循环,用于教代理可靠地执行任务。
开发人员还将构建代理工具。
工具是代理作用于外部世界的机制。我的电子邮件写作代理需要一个工具来提交草稿供我审核。它可能会使用其他工具在没有我审阅的情况下发送电子邮件(如果我有足够的信心允许这样做),或者在我的收件箱中搜索来自特定电子邮件地址的以前电子邮件,或者检查 YC 的创始人目录以查看电子邮件是否来自 YC 创始人。
工具为代理提供安全层。代理是否可以执行特定作取决于它有权访问的工具。使用代码编写的工具强制实施边界比在文本编写的 System 和 User Prompts 之间强制实施边界要容易得多。
我怀疑将来我们会回头看并嘲笑 “prompt injection” (如 “Ignore previous instructions...”) 是值得关注的事情。开发人员应该从 Prompt 的另一部分保护 Prompt 的一部分的整个想法是愚蠢的,并且是一个强烈的信号,表明我们使用的抽象已经被破坏了。正如这篇文章所明确指出的那样:如果 Prompt 的任何部分在用户空间中,那么整个事情都在用户空间中。
用于读取我的电子邮件的代理
然而,正如我上面提到的,更好的系统提示符仍然不会为我节省太多从头开始编写电子邮件的时间。
当然,原因是我希望我的电子邮件尽可能短,这意味着任何用我的声音写的电子邮件的长度都与描述它的用户提示大致相同。每次我尝试使用 LLM 来写东西时,我都有类似的经历。令人惊讶的是,生成式 AI 模型实际上对于生成文本并没有那么有用。
LLM 擅长的是读取文本并对其进行转换,这就是我想使用代理的目的。让我们重新访问一下我们的电子邮件阅读代理演示:
labelEmail(label, color, priority)
archiveEmail()
draftReply(body)
本周科技:AI 发展与应用...
使用我们的平台改变您的工作流程...
数据分析工具的特殊定价
今晚晚餐
头条新闻:新的编程语言
筹款建议
新客户专享优惠
面向成长型公司的安全解决方案
最新产品发布和行业新动态
创始人介绍?
安排
技术联合创始人?
不难想象,像这样的电子邮件阅读代理可以为我节省多少时间。它在检测垃圾邮件方面似乎已经比 Gmail 的内置垃圾邮件过滤器做得更好。它比我今天使用的拜占庭式过滤器集更强大、更容易维护。它可以为我认为紧急的每条消息触发通知,当我打开它们时,我会准备好用我的声音写下的回复草稿。它可以自动存档我不需要阅读的电子邮件并总结我阅读的电子邮件。
的,通过访问一些额外的工具,它可以取消订阅列表、安排约会和支付我的账单,所有这些都不需要我动一根手指。
这就是我真正希望从 AI 原生电子邮件客户端获得的东西:能够自动化日常工作,这样我就可以花更少的时间处理电子邮件2.
AI 原生软件
对于我们许多人来说,这就是 AI 的“杀手级应用程序”的样子:教计算机如何做我们不喜欢做的事情,这样我们就可以把时间花在我们做的事情上。
我想在这篇文章中包含工作演示的原因之一是表明大型语言模型已经足够好,可以代表我们完成此类工作。事实上,在大多数情况下,它们已经足够好了。并不是缺乏 AI 智能使我们无法实现我在上一节中描述的未来,而是应用程序设计。
Gmail 团队构建了一辆没有马拉的马车,因为他们着手将 AI 添加到他们已有的电子邮件客户端中,而不是询问如果电子邮件客户端是用 AI 从头开始设计的,它会是什么样子。他们的应用程序是将一点点 AI 塞进一个专为普通人类劳动设计的界面中,而不是一个为自动化普通劳动而设计的界面。
AI 原生软件应最大限度地利用用户在特定领域的影响力。AI 原生电子邮件客户端应该可以最大限度地减少我花在电子邮件上的时间。AI 原生会计软件应该最大限度地减少会计师记账的时间。
这就是我对 AI 的未来如此兴奋的原因。在这个世界里,我不必花时间做平凡的工作,因为经纪人会替我做这些工作。我只关注我认为重要的事情,因为经纪人会处理其他所有事情。我在我喜欢做的工作中更有效率,因为经纪人帮助我完成它。
我等不及了。
感谢所有阅读这篇文章草稿的人,包括我的爸爸,dang,wcl和cpl,以及我在YC的同事。
内容中包含的图片若涉及版权问题,请及时与我们联系删除
评论
沙发等你来抢