文章探讨GenAI与传统编程选择。从推理、数据、可扩展性、任务复杂性四维评估,权衡上市时间、透明度、成本。建议采用GenAI解释/生成,代码执行/验证的混合架构。
译自:When To Use GenAI: A Practical Decision Framework
作者:Venkata Karumuri
随着生成式人工智能(GenAI)能力的演进,软件架构师和开发者面临着关于何时使用基于 GenAI 的解决方案与传统编程方法的关键决策。一个系统的四维决策框架指导着应用程序设计中的技术选择。
传统编程为直接任务提供更快的实现速度和完全的透明度,而基于 GenAI 的解决方案需要大量的计算资源和训练时间,但能够复杂地处理复杂的个性化交互。混合架构策略为技术选择提供了具体的标准,以调和软件工程限制与 GenAI 能力。
四维决策框架
在默认使用或完全摒弃 GenAI 之前,架构师可以采取系统方法,从四个实用维度评估每个功能,以确定 GenAI 是会增加价值还是会制造不必要的复杂性和成本。
- 推理与逻辑。该功能是需要对模糊输入或意图进行自适应解释,还是遵循可预测的规则?GenAI 擅长处理涉及混乱输入中的模式匹配任务,在这些任务中,所有可能性无法预先枚举。确定性代码最适合处理可以表示为明确规则的行为,例如根据用户权限路由请求和遵循清晰逻辑树的资格决策。
- 数据类型。主要输入和输出是什么格式?传统代码难以处理无法通过传统解析的非结构化数据。GenAI 更适合非结构化数据,而传统代码擅长处理结构化数据。
- 可扩展性概况。此功能每秒将运行多少次,每次执行的成本容忍度是多少?GenAI 非常适合中等流量的交互,其中自适应决策能够证明每次调用更高的成本是合理的。传统代码是高吞吐量操作的更好选择,这些操作必须以每秒数万次请求的速度处理,且每次请求的成本仅为几美分。
- 任务复杂度。存在多少种边缘情况和条件路径?GenAI 旨在处理工作流程,其中前进路径取决于不可预测或模糊的因素,例如客户意图。使用 GenAI 管理具有明确成功标准且可通过可编程代码处理的简单线性任务是多余且昂贵的。
Klarna 的 GenAI 客户服务聊天机器人符合这些标准。这家“先买后付”支付公司认为,客户消息包含非结构化文本,其意图和情感语境模糊不清,且需要在 35 种语言中进行解释,因此有必要使用 GenAI。需要计算、审计跟踪和符合法规的结构化操作,例如身份验证和支付处理,则保留在传统代码中。
Klarna 后来完善了其方法,使用 GenAI 处理三分之二的咨询,同时将需要判断和同理心的更复杂案例转交给人工处理。结果表明了有效的劳动分工。GenAI 解释和路由请求,而确定性系统处理执行和判断。
实践中的 3 大关键权衡
一旦功能与四维框架进行映射,平衡三项运营权衡将进一步完善 GenAI 方法是否值得其成本的决策。
第一个权衡是上市时间。GenAI 加速了以语言交互、摘要或问答为中心的功能。构建一个假设的“咨询我们的文档”功能,使用 GenAI 比使用传统方法所需的开发时间更少。
在构建清晰、基于规则的功能(如订单状态跟踪)时,传统编程在速度上更胜一筹。当业务规则明确时,功能可以在几天内实现、测试和部署,而无需 GenAI 的提示工程、模型选择或准确性评估等开销。
第二个权衡是透明度和可解释性。财务计算、访问控制、合规性检查和安全关键型操作需要完全透明。当审计员询问为何收取费用或监管机构质疑索赔被拒时,确定性代码提供可追溯的逻辑。GenAI 模型通过数十亿个学习参数生成输出,无法保证可重现的推理路径。
考虑一个每月处理 100 万笔交易的费用计算服务:确定性代码对于有效输入能达到几乎 100% 的准确率。最近对 GPT 模型行为的研究发现,其准确率介于30% 到 90% 之间,具体取决于功能。将这些比率应用于每月 100 万笔交易,将导致超过 10 万个错误,这对于金融或合规关键任务来说是不可接受的。
最终的权衡是成本结构。传统应用程序通常运行在中央处理器(CPU)基础设施上,每次请求的成本仅为几美分。GenAI 系统会根据部署模型引入可变成本。对于外部 API 提供商,成本通过按令牌计费随使用量而变化。一个每次调用平均 1000 个令牌的功能,如果以每 1000 个令牌 0.002 美元的价格进行 1000 万次调用,每月成本为 20,000 美元;如果价格更高,则每月为 100,000 美元。自托管模型的成本转向 GPU 基础设施,导致前期投资更高,但每次请求的边际成本更低。
除了计算成本,GenAI 还引入了额外的治理成本。当 GenAI 取代大量人工时,经济效益会发生变化。美国银行的 Erica 聊天机器人依赖确定性自然语言处理 GenAI 自主解决 98% 的支持交互,这使得收益提升了 19%,远远超过了 GenAI 的基础设施成本。
实施混合架构
成功的生产系统采用三种架构模板之一来构建 GenAI 与系统级别传统代码之间的关系。
模板一:GenAI 解释,代码执行。
当自然用户体验至关重要,但事务性操作需要精确时,此模板是有效的。客户输入“能退款我上次的订单并把替换品寄到我办公室吗?”GenAI 解析意图并提取结构化元素,例如退款请求、订单标识符或送货地址。传统服务随后验证所有权、确定退款资格、计算金额、调用支付和发货 API,并更新数据库。
模板二:GenAI 生成,代码验证。
当需要在严格限制内生成创意或摘要输出时,此模板是合适的。例如,支持代理使用 GenAI 通过查看工单历史并生成建议文本来快速起草客户回复。基于代码的验证确保没有个人身份信息(PII)泄露,退款金额与实际记录匹配,并且回复符合政策要求。GenAI 提供速度和质量,而确定性护栏确保合规性违规永远不会到达客户。
模板三:GenAI 获取知识,代码执行事实。
克利夫兰诊所使用 GenAI 抄写平台记录患者互动。经患者同意,系统监听患者通话并起草临床笔记,供提供者审核后添加到医疗记录中。迄今为止,该工具已记录了超过 100 万次患者互动,平均每天为提供者节省 14 分钟。GenAI 生成的笔记随后被收入周期系统用于减少下游的账单和编码问题。GenAI 应用上下文知识生成准确记录,而代码使用事实元素完成传统功能。
混合架构:并非非此即彼,而是两者皆可
在 GenAI 和传统代码之间做出选择不需要复杂的分析。这些框架和模板为 GenAI 的采用提供了一种系统性方法,但至关重要的是,它们不应成为做出清晰决策的障碍。一个实用的清单有助于将分析转化为执行。
- 从动词开始。如果功能是帮助、建议或解释,请考虑 GenAI。如果是计算、强制执行或保证结果,确定性代码可能是更好的选择。
- 评估功能可接受的错误率和延迟。 系统能否容忍偶尔的不准确?它是否需要低于 50 毫秒的响应时间?识别这些操作约束有助于排除不适用的方法。
- 确定哪些结果最重要。 常见的衡量标准包括每成功任务的成本、解决时间和用户满意度,而不是 GenAI 模型的复杂性。
GenAI 擅长解释模糊输入和生成洞察,而传统代码负责决策和不可逆转的操作。这种职责划分既发挥了 GenAI 的优势,又没有牺牲业务运营所需的可靠性。