日常居 AI、SEO与投放的一些笔记
AI 应用工程

把大模型接进业务系统,真正难的是这五件事

2026-10-18 · AI 应用工程

接第一个 AI 功能的时候,我以为难点在提示词。做完三个项目之后发现,提示词只占工作量的两成,剩下八成全是工程问题。

一、超时和重试

大模型接口的响应时间不是一个稳定值。同样一段文本,平时 2 秒,高峰期可能 30 秒还没吐完第一个字。如果你的业务接口默认超时是 10 秒,那线上一定会有偶发的失败。

我的做法是把超时分成两段:首字超时和总超时。首字超时给 8 到 12 秒,总超时按业务能忍受的上限给(我们这边是 60 秒)。首字迟迟不来,基本可以判定这次请求废了,直接切备用模型;总超时到了还没结束,退回同步兜底逻辑。

重试要小心。模型调用不是幂等的,重试一次就是一次真实计费。所以只在网络错误和 5xx 时重试,而且最多一次,超时不重试。

二、幂等

用户点一次"生成",前端可能因为网络抖动发两次请求。如果不做幂等,你会生成两份内容、扣两次费,用户还会看到两条不一样的结果。

我们用一个请求指纹:用户 id + 业务对象 id + 输入内容的哈希。同一个指纹在 5 分钟内重复进来,直接返回第一次的结果。这个逻辑放在业务层,不要指望模型侧去重。

三、成本

第一版上线两周,账单比预期高了四倍。排查下来三个原因:

  • 系统提示词写得太长,每次请求都带着,占了输入 token 的一半
  • 没有区分模型,简单的分类任务也用最贵的模型
  • 用户重复刷新页面,每次都重新生成

改完之后成本降了 70%:把系统提示词从 1800 token 压到 600,分类和抽取走小模型,生成结果按业务对象缓存半小时。

四、可观测性

线上出了问题,你得能回答:这次请求用了哪个模型、多少 token、耗时多少、返回了什么。只打一行"调用失败"是没法排查的。

我们记录四个字段:模型名、输入输出 token 数、首字延迟、总耗时。日志里不存完整正文(有隐私),只存哈希和长度。真要复现问题,用哈希去对象存储里捞。

五、灰度

模型升级、提示词改版,都会让输出风格变化。直接全量切,用户会明显感觉到"今天这个 AI 变笨了"。

我们用两层灰度:先给内部账号跑一天,看人工抽检通过率;再按用户 id 尾号放 10%、30%、100%。每一层至少观察 24 小时,重点看失败率和人工修正率,不是看调用量。


这五件事没有一件是"AI"的,但每一件都能让项目延期。模型选型反而是最简单的部分——现在的主流模型,做业务场景基本都够用。

更早的一篇 →Agent 好不好用,取决于工具怎么设计
← 返回首页