选型指南 架构设计 含可复制代码

把 AI 能力做成 API 给别人用:契约、配额与文档

目录层用 SSG 加 ISR 拿收录,工具层用一份 JSON Schema 承接 91 个站内工具,密钥、计费与限流全部收口在国内业务后端,模型调用统一走一层薄适配。这篇把我们真实的目录结构、Schema 字段定义、路由闸门、预扣结算伪代码和合规清单完整摊开。

陈
陈默架构组
2026-09-28 · 14 分钟阅读 · 8,432 次浏览

一个没读过你内部实现的人,能否只看契约就知道何时该校验?

把 AI 能力开放出去,等于把"不稳定"一起开放了

内部用的 AI 功能出问题,最多是自己挨一下;开放成 API 给外部用,问题会被放大:

调用方按"确定性服务"的预期来用你 ✗,而你的输出是概率性的 ✗。所以契约要写得更保守。

一、契约(比普通 API 多写三条)

常规 API 契约写:路径、参数、返回结构、错误码 ✔。AI API 还要写:

1. 不确定性声明:输出可能变化(同样的输入不同次调用可能不同 ✔);

2. 不保证的内容:不保证事实正确、不保证合规可用、不保证时效 ✔(并写明"调用方需自行校验"✔);

3. 版本与变更策略:模型/提示词版本怎么升、升之前提前多久通知 ✔(外部依赖最怕静默变更 ✗)。

没有这三条,调用方会把你的输出当真理 ✗。

二、配额与限流(对外的三条底线)

· 默认额度必须是保守的 ✔(新接入方先给小额,按需提升 ✔);

· 超额行为要明确:拒绝还是排队?返回什么状态码与重试建议?✔

· 成本可见:调用方能查自己的用量与配额 ✔(否则投诉会直接打到你这里 ✔)。

另外要按调用方隔离(见多租户限流那篇 ✔):一个接入方的脚本不能拖垮其他接入方 ✔。

三、文档要写"不会什么"

对外文档最常见的缺陷是只写能力清单 ✗。应显式列出:

· 不支持的输入(超长、二进制、特定语言);

· 不适合的场景(需要精确计算、需要法律责任认定);

· 已知的失败模式(长文档中段遗漏、罕见专有名词误写);

· 推荐用法(先给结论、如何校验、如何降级)。

写清"不会什么"能显著降低支持成本 ✔,也减少误用 ✗。

四、可观测与支持

· 给调用方一个请求 id,他们报问题时能直接定位 ✔;

· 提供状态页(可用性、延迟、已知问题);

· 记录调用方维度的失败率与拒绝率,用于主动通知(别等他们发现 ✗)。

五、五条上线前检查

1. 契约里有不确定性声明、版本策略、"需自行校验"提醒 ✔;

2. 默认配额保守、超额行为明确 ✔;

3. 文档写了不支持与不适合的场景 ✔;

4. 按调用方隔离(配额/并发/成本)✔;

5. 有一键熔断与降级通知渠道 ✔。

一条判据

> 一个没读过你内部实现的人,只看契约与文档,能否正确预期"什么时候该信、什么时候该校验" ✔?

> 答不上,就说明契约没写够 ✗。

本文由云枢 AI导航整理,内容以官方来源为准。

相关文章

顺序阅读

← 上一篇:把上下文做成可组装的:模板化提示词工程
下一篇:小样本下的效果判断:什么时候该说「看不出来」 →

第 52 / 171 篇

术语速查 · 本页出现的 12 个词展开看中文名与一句话解释,点术语看完整条目
  • token词元:模型处理文本的最小单位,中文约 1–2 个汉字;计费与上下文长度都按它算。
  • 转写 / 字幕Transcription:把音视频人声逐句变成带时间戳的文字稿,便于做字幕与章节切分。
  • SSE服务器发送事件:服务器通过长连接持续推送增量文本,是对白逐字出现的常见实现。
  • API应用编程接口:程序之间约定的调用方式;站内工具由服务端调用,浏览器里不出现密钥。
  • CDN内容分发网络:把静态资源缓存到离用户更近的节点,缩短加载时间。
  • 缓存Cache:把结果暂存复用,复用得越多平均耗时越低;需要约定过期与刷新策略。
  • 限流Rate Limit:限制单位时间内的请求次数,防止单用户或异常流量打满服务端。
  • SSG静态站点生成:构建阶段就生成 HTML,访问时直接返回,不必每次请求都渲染。
  • ISR增量静态再生:先返回静态页,再在后台按需重新生成,兼顾速度与更新时效。
  • 灰度发布Canary Release:先让一小部分用户用新版本,确认无误再放量,出问题的爆炸半径最小。
  • 提示词Prompt:交给模型的指令文本;写清角色、任务、输入与输出格式比反复试更省。
  • 积分Credits:站内计费单位:按工具单价预扣,调用失败自动退还;单价以定价页为准。

完整解释与站内出现处见 AI 术语表(40 条)。