第一版 AI 接入我写得很简单。

OpenAI 的 SDK 装好,API key 填上,调用包起来——半天搞定。

那天晚上我自我感觉良好。

直到第二周某个晚上,那家 API 突然不通。可能是被墙了,也可能是限流,反正客户端傻乎乎地超时然后报错,自动回复全停了。我躺在床上看着报警,心想糟了。

那一晚我把 AI 调用层抽出来了。

不是说切供应商有多难——难的是当时项目里到处都写死了”OpenAI 风格的请求”。模型名写死、URL 写死、请求格式也按它的来。要换一家就得动十几个文件。

后来重构成现在这个样子:基础地址、模型名、API key、请求格式全从配置走,前端有个表单可以加任意一个兼容 OpenAI 协议的供应商。本地测过 DeepSeek、智谱、Kimi、阿里通义,哪个不通就切哪个。

带来的好副作用是:客户也能接自己买的 token。

我后来想,对接外部服务这事,”能跑”和”能换”之间隔了一座山。第一版只关心能跑是合理的——但你迟早要把”能换”补上。

因为外部服务一定会某一天挂掉。

不是它不靠谱,是它本来就不该被绑死。