跳到主要内容

14 篇博文 含有标签「成本优化」

查看所有标签

不是所有请求都要走最强模型

· 阅读需 5 分钟
一介布衣
全栈开发者

如果只选一个真实场景来解释这篇文章,我会选“客服混合链路”。

这个链路里同时存在三类请求:

  1. 很简单的分类,例如“这是退款还是咨询”。
  2. 中等复杂度问答,例如“这张券为什么不能用”。
  3. 少量高难样本,例如“多个订单、多个活动规则叠加后的争议场景”。

项目最初为了省事,几乎所有请求都默认走最强模型。早期流量小,大家只觉得“效果不错,就是稍微贵一点”。但一旦请求量上来,问题很快暴露:

  • 成本并不是“稍微贵”,而是被大量简单请求一起抬上去了。
  • 用户等待时间变长,前端体验开始变差。
  • 团队失去了判断“哪些任务其实根本不需要强模型”的机会。

这也是我后来越来越笃定的一点:不是所有请求都要走最强模型。模型分层不是为了抠预算,而是为了让系统真正进入可运营状态。

结构化输出落地时,Schema 设计比模型选择更关键

· 阅读需 7 分钟
一介布衣
全栈开发者

如果只讲原则,这篇文章还是会显得空。所以我直接拿一个真实得不能再真实的例子来说:退款工单分诊。

这类任务的目标通常是把用户自然语言输入转成一个后续系统能继续处理的对象,例如:

  • 这是不是退款请求
  • 订单号有没有识别到
  • 用户给出的理由是什么
  • 是否要转人工审核

团队最早的做法很常见:先让模型直接输出一段 JSON,大概长这样:

{
"title": "用户申请退款",
"summary": "用户表示重复支付,希望退款",
"tags": ["退款", "重复支付"]
}

看上去没毛病,前端也能展示,测试样本甚至都能过。但真正进系统后,这种 Schema 很快就会把问题暴露出来:它描述了内容,却没有描述动作边界。

真正让系统难受的不是模型会不会吐 JSON,而是下游根本不知道怎么用这个结果继续执行。

本周试了一个模型,最有价值的 1 个发现

· 阅读需 4 分钟
一介布衣
全栈开发者

这周我做了一轮很朴素的小模型实验。任务不复杂,就是把用户问题先分到固定类别里,再交给后面的规则链路处理。我原本只是想验证“小而快”的模型能不能扛住这类基础分类,结果最后最有价值的发现并不是成本更低,而是另一个更值得记住的事实:当问题边界足够清楚时,小模型往往比大家想象中更稳。

当时的任务很像很多团队都会有的第一层网关能力:先判断用户意图,再决定往知识检索、订单查询、人工转接还是普通 FAQ 解释去走。它没有复杂推理,也不追求文风,只要求三件事:标签别漂、格式别乱、延迟别太高。

我怎么判断一个业务值不值得接入大模型

· 阅读需 6 分钟
一介布衣
全栈开发者

过去一年我最常被问到的问题,不是“哪个模型更强”,而是“这个业务值不值得接大模型”。我后来发现,很多团队在这个问题上一开始就问歪了。他们问的是“技术上能不能做”,而不是“产品上值不值,工程上扛不扛得住,出问题以后谁来接”。

为了让这个判断不要继续停留在口头经验里,我后来逼自己把它压成一套更像决策表的东西。它不保证每次都选对,但至少能逼团队先看代价,而不是只盯着 Demo 效果。