生成式AI应用:告别提示词,构建生态圈

4 阅读7分钟

AI应用不能仅靠提示词和“氛围编程”。它需要像传统软件一样的工程生态系统、工具和严谨性,才能实现生产级可靠性。

译自:Generative AI Apps Need an Ecosystem, Not Just a Prompt

作者:Shanea Leven

每位工程师在其职业生涯早期都有一个时刻会意识到一个真相:你不可能学会一切。就像医生选择专科一样,工程师最终也会选择方向。后端、基础设施、DevOps、移动端、前端、机器学习系统。这并非因为我们缺乏好奇心,而是因为要学习的知识实在太多了。技术在发展,兴趣在转移,工具在进步,我们的技能也随之提升。

然而,在所有专业化的背后,存在着一个共同的基础。我们都学习过变量如何工作。数据库如何扩展。为什么分片很重要。为什么存在预生产环境。为什么云提供商会在你构建第一个应用时给予你积分。存在着一层共同的、来之不易的工程智慧——一个使真实软件在生产环境中运行的防护生态系统。

这正是氛围编程行不通的原因。

今天的生成式AI应用大多是通过氛围来构建的。这里一点提示,那里一些手工编写的推理开销,再撒上一点“像专家一样行动”,突然之间你感觉自己拥有了一个应用程序。在与数千家构建AI功能的企业合作后,我经常看到这种模式。创始人花费数周时间完善一个提示词,在精心挑选的例子上进行手动测试,当它在受控环境中运行良好时便宣告胜利。但提示词本身并非软件。氛围编程,尽管充满创造力,但在你要求它像生产代码一样运行时,它就会崩溃。

一位真正的工程师绝不会在没有围绕其构建的生态系统的情况下,将一个应用程序交付给客户。DevOps。日志。监控。错误处理。CI/CD流水线。回归测试。版本控制。一个合理的Ł前端。一个在负载下不会崩溃的后端。安全层。限速。优雅降级。然而,不知为何,我们却期望氛围编程的应用仅凭一个提示词和良好意图就能做到这一切。当它们失败时,我们表现得震惊不已。

生产级AI实际需要什么

构建AI应用所需的工程量甚至比传统工程更多,而非更少。工具不同。故障模式更奇怪。影响面更大。我的意思是:

  • 评估系统:你需要评估来了解你的应用在数千个边缘案例中是否行为正确。不仅仅是你手动测试的“快乐路径”,还包括用户不可避免地会抛出的奇怪输入。当传统应用崩溃时,你会得到一个堆栈跟踪。当大型语言模型(LLM)行为异常时,你会得到细微的错误,这些错误会从你眼前滑过,直到客户抱怨。
  • 持续优化:你需要优化,因为LLM会漂移,上下文会改变,提示词会衰退。上个月有效的方法可能这个月就无效了,因为模型更新了,或者用户行为改变了,或者你的边缘案例演变了。你需要能够检测这种退化并自动改进提示词的系统,而不是一位创始人在凌晨两点因为客户投诉堆积如山而手忙脚乱地重写提示词。
  • 内存和状态管理:你需要内存,以便应用具有连续性。真正的应用程序会记住上下文;它们会在会话之间保持状态。你不能构建一个在每次请求之间都忘记一切、并期望用户每次都重新解释情况的有用AI功能。大多数氛围编程的应用正是如此,因为状态管理很难,而提示词无法解决它。
  • 可观测性:你需要可观测性,因为幻觉会隐藏起来,直到它们在客户手中爆发。你需要知道你的AI何时不确定,何时在编造事实,以及何时是优雅降级而非灾难性失败。传统的日志记录是不够的;你需要针对AI行为的专业工具。
  • 集成架构:AI功能并非孤立存在;它们需要连接到你现有的数据系统。你需要编排层,让模型、内存系统和数据源协同工作。

没有生态系统,你的AI功能就像一个假装是软件的情绪板。

为什么演示看起来很棒,直到生产环境失败

这就是为什么许多AI原型在演示中感觉神奇,但在生产环境中却混乱不堪。每天当我与客户交谈时,他们都感到恐惧,因为他们知道这是未来,他们想要使用它,但真正的人的工作和生计都岌岌可危。他们投入生产的一切都面临风险。

演示是受控的,它有精心挑选的示例,而提示词也针对这些特定情况进行了完美调整。一切都运行得很漂亮,因为环境受到限制,并且测试用例是已知的。然后它被部署到生产环境,面对带有混乱数据的真实用户。突然之间,完美的提示词有30%的时间失效,而且没人知道为什么,因为没有评估框架来衡量它。

这不是因为创始人缺乏才华或抱负。这是因为我们把AI应用当作一行命令来处理,而不是一个系统。我们试图通过氛围编程进入生产环境。我们跳过了使传统软件可靠的整个工程学科,并期望AI能通过更好的提示词奇迹般地弥补。

构建缺失的生态系统

如果你希望AI功能具有代码般的可靠性,你需要赋予它们代码一直拥有的东西:结构、工具、防护措施和持续改进。你需要一个平台方法,而不是一个提示词方法。一个能够评估、优化、检测边缘案例并随时间改进处理的平台。一个能够将模型、内存和数据集成到一个可观测、可纠正的连贯系统中的平台。

你需要对任何生产系统应用同样的严谨性。提示词和评估的版本控制。自动运行的测试框架。在行为退化时发出警报的监控。部署出错时的回滚能力。不仅解释提示词做什么,还解释它为何如此构建以及它做出何种权衡的文档。

你需要团队工作流程,让多人协作而不相互干扰。你需要开发、预生产和生产环境。你需要安全地进行实验而不破坏实时系统的方法。

这不是理论。这是应用于新领域的基本软件工程。安全性、合规性、可靠性和质量,因为这些基本原则不会仅仅因为是新技术而消失。那些构建可靠AI功能的公司明白这一点。

接下来是什么

AI应用不能仅凭氛围成功。它们需要一直以来使生产软件工作的工程生态系统。氛围对于创造力和探索很有用。但对于可靠性和规模来说,它们是糟糕的。

真正的AI应用程序需要专业化、工具和纪律,就像其他所有工程分支一样。它们需要平台思维,而不是提示词思维。那些接受这一现实的公司,将是能够构建经久不衰的AI功能的公司,远超炒作周期。

对于目前正在使用AI进行构建的每一位创始人来说,问题很简单:你是在构建一个演示,还是一个系统?因为如果你想让你的AI功能投入生产,你需要停止氛围编程,开始工程化