API产品化入门

5032 字
25 分钟
API产品化入门

1. 今日主题与一句话结论#

主题:API 产品化入门

一句话结论: 把大模型接进产品,不是“调一个接口”这么简单,而是要把鉴权、限流、日志、错误码、重试、计费、模型路由、Prompt 版本、评估和安全策略做成稳定的 API 能力层;只有这样,AI 才能从 Demo 变成可上线、可运营、可治理的产品能力。

今天开始进入工程产品化层面:如何把模型能力封装成业务系统可调用的 API。

很多团队的第一版 AI 功能是这样的:

业务页面
-> 后端直接拼 Prompt
-> 调大模型 API
-> 把结果返回前端

这能跑 Demo,但不适合长期上线。因为一旦多个业务都接入模型,就会出现:

  • Prompt 散落在各个服务里,无法统一版本管理。

  • 调用成本不可控,不知道哪个业务消耗最多。

  • 输出失败后没有统一错误码和重试策略。

  • 模型超时、限流、格式错误时前端体验不稳定。

  • 高风险场景没有统一风控和审计。

  • 想换模型时要改多个业务系统。

  • 线上问题无法复盘,因为缺少输入、输出、模型版本和 Prompt 版本日志。

所以,API 产品化的核心不是“会调用模型”,而是建立一个 AI 编排层,让业务系统以稳定、可控、可观测的方式使用模型能力。


2. 学习目标#

  1. 画出“业务系统 -> AI 编排层 -> 模型 API”的基础调用链路。

  2. 说明 AI API 产品化必须包含鉴权、限流、日志、错误码、重试、计费和监控。

  3. 区分业务 API、AI 编排 API、模型供应商 API 三层职责。

  4. 设计一个企业内部大模型能力中台的最小可用方案。

  5. 写出一个 AI API PRD 片段,包含输入输出、异常处理、指标和安全边界。


3. 深度阅读:从“调接口”到“AI 能力层”#

3.1 为什么直接调模型 API 不够#

直接调用模型 API 的方式很快,适合验证想法。但当 AI 功能进入多个业务流程,就会暴露结构性问题。

例如客服、商品文案、合同摘要、需求抽取都要用模型。如果每个业务团队自己拼 Prompt、自己选模型、自己处理错误、自己记日志,就会形成一堆不可治理的小烟囱。

典型问题:

问题后果
Prompt 分散修改困难,无法回归测试
模型调用无统一日志无法定位错误来源
没有用量统计成本无法归因
没有限流某个业务异常调用打穿预算
没有统一错误码前端和业务系统处理混乱
没有模型路由简单任务也用强模型,成本高
没有安全策略高风险输出不可控
没有版本管理模型或 Prompt 更新导致线上波动

所以 AI API 产品化的第一条原则是:

业务系统不要直接散乱调用模型供应商 API,而要通过统一 AI 编排层调用。

3.2 三层架构:业务系统、AI 编排层、模型 API#

一个基础架构可以这样理解:

业务系统
-> AI 编排层
-> Prompt 模板管理
-> 输入校验
-> 权限和风控
-> 模型路由
-> RAG 检索
-> 调用模型 API
-> 输出校验
-> 日志和指标
-> 模型供应商 API / 私有模型

三层职责不同。

层级职责不应承担
业务系统提供业务场景、用户输入、业务数据、接收结果不应散乱管理 Prompt 和模型细节
AI 编排层统一管理 Prompt、模型、检索、风控、日志、成本不应替代业务系统做确定性交易判断
模型 API提供生成、理解、抽取、推理、多模态能力不应承担业务权限和最终责任

产品经理设计 AI 功能时,要明确这三层边界。很多线上事故来自边界混乱:模型在做规则系统的事,业务系统在硬编码 Prompt,AI 层没有日志,出错后没人知道该修哪里。

3.3 AI 编排层的核心模块#

一个最小可用的 AI 编排层,至少包含 10 个模块。

模块作用
鉴权判断哪个业务、哪个用户、哪个应用可以调用
输入校验检查字段、长度、格式、敏感信息
Prompt 管理管理模板、变量、版本、灰度
模型路由根据任务、成本、风险选择模型
RAG 检索对知识型问题提供事实片段
风险控制高风险意图、敏感内容、越权动作拦截
输出校验JSON 格式、禁词、引用、字段完整性
错误处理统一错误码、超时、重试、降级
日志审计记录输入、输出、模型、版本、成本
指标计费调用量、Token、延迟、成功率、业务归因

这不是一开始都要做成复杂平台,但 PRD 中必须有最小闭环。尤其是日志、错误码和成本统计,很多团队上线后才补,代价很高。

3.4 鉴权:谁能调,能调什么#

鉴权回答两个问题:

谁在调用?
他有权调用哪个 AI 能力?

企业内部常见调用方包括:

  • 客服系统。

  • 商品运营系统。

  • OA/IM 助手。

  • 数据分析平台。

  • 合同管理系统。

  • 需求管理系统。

不同调用方权限不同。客服系统可以调用客服回复能力,但不应该调用合同摘要能力;普通员工可以调用制度问答,但不能读取高管薪酬制度;运营可以生成商品文案,但不能自动发布高风险内容。

鉴权要记录:

  • app_id。

  • user_id。

  • tenant_id。

  • role。

  • permission_scope。

  • request_id。

这些字段不仅用于权限,也用于日志、计费和审计。

3.5 限流:防止成本和系统被打穿#

AI 调用比普通接口更贵,也更容易受模型供应商限流影响。限流是必须项。

限流维度包括:

  • 单用户每分钟调用次数。

  • 单应用每日调用量。

  • 单租户预算上限。

  • 单接口并发数。

  • 单请求最大输入 Token。

  • 单请求最大输出 Token。

例如:

商品文案生成:每个商品最多生成 3 次
客服回复草稿:单会话每分钟最多 5 次
合同摘要:单文档最大 50 页,超出走异步任务
内部问答:普通员工每日 100 次,管理员可配置额度

限流不是为了限制用户,而是为了保护成本、延迟和服务稳定性。

3.6 日志:没有日志就没有复盘#

AI 系统的日志比传统接口更重要。因为 AI 出错时,原因可能来自 Prompt、输入、检索、模型、采样参数、业务数据、权限或后处理。

基础日志字段:

字段说明
request_id一次调用唯一 ID
app_id / user_id调用方和用户
feature_nameAI 功能名称
prompt_versionPrompt 版本
model_name / model_version模型和版本
input_summary输入摘要或脱敏输入
retrieved_chunks检索片段 ID
output_summary输出摘要或结构化结果
token_usage输入/输出 Token
latency响应耗时
error_code错误码
risk_flags风险标签
user_feedback用户反馈

日志要平衡可复盘和隐私。敏感字段应脱敏,必要时只记录片段 ID,不直接存储全文。

3.7 错误码:让失败可处理#

模型调用失败不能只返回“生成失败”。业务系统需要知道失败类型,才能决定重试、降级、转人工还是提示用户补充信息。

常见错误码:

错误码含义处理
AI_INPUT_INVALID输入缺字段或格式错误前端提示补充
AI_CONTEXT_TOO_LONG上下文过长裁剪或异步处理
AI_RATE_LIMITED调用限流排队、重试或提示稍后
AI_MODEL_TIMEOUT模型超时重试或降级模型
AI_OUTPUT_FORMAT_ERROR输出格式不合法自动修复或重试
AI_RISK_BLOCKED命中高风险拦截转人工或拒答
AI_RETRIEVAL_EMPTY未检索到资料拒答或提示补充知识
AI_PROVIDER_ERROR供应商异常切换模型或降级

错误码是 API 产品化的重要部分。没有错误码,前端只能显示笼统失败,运营和研发也无法统计问题。

3.8 重试:不是失败就无限重跑#

大模型调用可能因为超时、限流、网络波动、输出格式错误而失败。重试有必要,但要有策略。

重试规则:

  • 模型超时:可重试 1-2 次。

  • 限流:应退避重试或排队。

  • 输出格式错误:可用格式修复 Prompt 重试。

  • 输入缺失:不能重试,应提示补充。

  • 高风险拦截:不能重试,应转人工或拒答。

  • 供应商错误:可切换备用模型。

错误的重试会放大成本。例如输出格式错误无限重跑,会让 Token 成本迅速上升。产品经理要在 PRD 里写明重试条件和最大次数。

3.9 计费和成本归因#

内部能力也要计量。否则 AI 成本会变成无法归因的公共开支。

计费维度可以包括:

  • 调用次数。

  • 输入 Token。

  • 输出 Token。

  • 模型类型。

  • RAG 检索次数。

  • 重排次数。

  • 多模态处理次数。

  • 人工复核成本。

即使不对内部团队收费,也要做成本看板:

按业务线看调用量
按功能看成本
按用户或租户看异常用量
按模型看平均成本
按错误类型看浪费成本

这会直接影响商业化和预算管理。

3.10 同步接口、异步任务与流式输出#

不同 AI 功能适合不同交互方式。

方式适合场景特点
同步接口分类、短回复、简单抽取简单直接,但易超时
异步任务长文档、批量文案、视频分析可排队、可重试、可查看进度
流式输出长回答、报告生成、对话体验好,但前后端复杂度更高

例如:

  • 客服回复草稿:同步或流式。

  • 合同摘要:异步任务更稳。

  • 商品批量文案:异步批处理。

  • 企业知识问答:流式输出 + 引用。

产品经理要根据用户等待场景设计接口形态,而不是所有功能都用同步接口。

3.11 API 产品化的 PRD 要点#

一个 AI API PRD 至少要写:

  1. API 名称和适用场景。

  2. 调用方和权限。

  3. 输入字段和字段限制。

  4. 输出字段和格式。

  5. Prompt 版本和模型策略。

  6. 是否需要 RAG 或业务系统。

  7. 错误码和异常处理。

  8. 限流和预算。

  9. 日志和审计。

  10. 指标和验收标准。

  11. 灰度策略和回滚条件。

如果只是写“调用大模型返回结果”,就不是可上线 PRD。


4. 案例一:大模型 API 做成企业内部能力中台#

业务背景#

一家中型企业多个团队都想接入 AI:客服要智能回复,商品团队要文案生成,法务要合同摘要,HR 要制度问答,产品团队要访谈需求抽取。

如果每个团队自己接模型,会造成重复建设、成本失控和安全风险。企业决定建设内部 AI 能力中台。

相关角色#

  • 平台产品经理:定义 AI 能力中台范围和接口。

  • 业务产品经理:提出具体业务功能。

  • AI 工程师:实现模型调用、路由、Prompt 管理。

  • 后端研发:接入业务系统和权限。

  • 安全/合规:定义数据和审计策略。

  • 财务/采购:关注成本、供应商和预算。

  • 运营团队:维护 Prompt、知识库和评估集。

原始流程#

各业务团队各自选模型
-> 各自拼 Prompt
-> 各自调用供应商 API
-> 各自处理失败和日志
-> 成本和风险分散

问题:

  • 模型采购重复。

  • Prompt 难复用。

  • 安全策略不统一。

  • 日志不可比。

  • 供应商切换成本高。

  • 业务方不知道调用成本。

AI 改造流程#

业务系统
-> 统一 AI 网关
-> 鉴权和限流
-> 能力路由
-> 客服回复
-> 文案生成
-> 合同摘要
-> 制度问答
-> 需求抽取
-> Prompt 和模型管理
-> 模型供应商 / 私有模型
-> 统一日志、成本、评估

数据与系统依赖#

  • 企业统一身份和权限系统。

  • 业务系统 API。

  • 模型供应商 API。

  • 私有模型部署环境。

  • Prompt 配置库。

  • 向量库和知识库。

  • 日志平台。

  • 成本看板。

  • 评估样本集。

方案架构#

业务应用
-> AI API Gateway
-> App 鉴权
-> 用户鉴权
-> 限流和预算
-> AI Orchestration
-> Prompt 模板
-> 模型路由
-> RAG 检索
-> 风险控制
-> 输出校验
-> Model Adapter
-> 模型 A
-> 模型 B
-> 私有模型
-> Observability
-> 日志
-> Token 成本
-> 延迟
-> 错误码
-> 反馈

关键指标#

  • 接入业务数量。

  • 单功能调用成功率。

  • 平均响应时间。

  • 单次调用成本。

  • Prompt 版本回归通过率。

  • 错误码分布。

  • 高风险拦截率。

  • 供应商异常切换成功率。

  • 业务团队接入周期。

主要风险#

  • 平台过度复杂,业务接入慢。

  • 只做网关,不做 Prompt 和评估治理。

  • 成本看板缺失,预算不可控。

  • 高风险能力没有权限分级。

  • 模型供应商切换没有适配层。

  • 业务方绕过中台直接接模型。

复盘结论#

AI 能力中台的价值不是把所有模型调用集中起来,而是建立统一的安全、成本、质量和治理能力。最小版本可以先覆盖 2-3 个高频场景,但架构上要保留 Prompt 版本、模型路由和日志评估能力。


5. 案例二:客服回复 API 从 Demo 到上线#

业务背景#

电商平台要把 AI 客服回复接入客服工作台。一线客服点击“生成回复”,系统根据用户问题、订单状态和售后政策生成草稿。

原始 Demo#

前端传 user_message
-> 后端拼 Prompt
-> 调模型 API
-> 返回 reply

Demo 能用,但上线前缺少:

  • 订单和政策输入。

  • 高风险识别。

  • 错误码。

  • 日志。

  • 重试。

  • 成本统计。

  • 人工接管标记。

产品化 API#

接口:POST /ai/customer-service/reply-draft

输入:

{
"app_id": "cs_console",
"user_id": "u_123",
"session_id": "s_456",
"user_message": "我的订单还没发货,今天不发我就退款",
"order_status": "paid_not_shipped",
"logistics_status": "none",
"policy_chunks": [
{
"id": "refund_001",
"text": "未发货订单支持用户申请退款,到账时间以支付渠道为准"
}
]
}

输出:

{
"request_id": "ai_req_001",
"intent": ["催发货", "退款意向"],
"risk_level": "medium",
"reply": "理解您的着急。目前订单仍未发货,您可以在订单页申请退款,到账时间以支付渠道处理为准。",
"need_human": false,
"references": ["refund_001"],
"model": "model_x",
"prompt_version": "cs_reply_v3"
}

错误处理:

错误码处理
AI_INPUT_INVALID前端提示缺少订单状态
AI_RETRIEVAL_EMPTY提示客服人工处理
AI_RISK_BLOCKED强制转人工
AI_MODEL_TIMEOUT重试一次,仍失败则降级模板
AI_OUTPUT_FORMAT_ERROR自动重试或返回人工处理

数据与系统依赖#

  • 客服工作台。

  • 订单系统。

  • 售后知识库。

  • 风险规则。

  • 模型 API。

  • 日志平台。

  • 质检系统。

关键指标#

  • 回复草稿生成成功率。

  • AI 草稿采用率。

  • 人工修改率。

  • 错误承诺率。

  • 高风险接管率。

  • 平均响应时间。

  • 单会话 AI 成本。

  • 客服满意度。

主要风险#

  • 模型承诺退款或赔付。

  • 工具查询失败后仍生成确定回复。

  • 输出格式不稳定,前端解析失败。

  • 重试造成成本放大。

  • 客服直接发送未经确认的草稿。

复盘结论#

客服回复 API 的核心不是“生成一段回复”,而是把输入字段、风险边界、引用、错误码、日志和人工接管设计完整。否则 Demo 看起来顺,线上会不可控。


6. 动手实操任务#

任务:画出“业务系统 -> AI 编排层 -> 模型 API”的调用链路#

请选择一个场景:

  1. 客服回复。

  2. 商品文案生成。

  3. 合同摘要。

  4. 企业知识库问答。

  5. 用户访谈需求抽取。

画出调用链路,并写清:

  • 业务系统输入什么。

  • AI 编排层做什么。

  • 是否需要 RAG 或业务系统查询。

  • 调用哪个模型策略。

  • 输出如何返回业务系统。

  • 失败时如何处理。

  • 如何记录日志和成本。

参考模板:

业务系统
-> 鉴权
-> 输入校验
-> Prompt 模板
-> RAG/业务数据查询
-> 风险控制
-> 模型路由
-> 模型 API
-> 输出校验
-> 返回结果
-> 日志和指标

验收标准#

合格:

  1. 链路至少包含 8 个节点。

  2. 写出输入和输出字段。

  3. 写出至少 5 个错误码或异常处理。

  4. 写出至少 5 个监控指标。

优秀:

  1. 能区分同步、异步或流式输出。

  2. 能写出限流和成本策略。

  3. 能说明哪些判断不应该由模型承担。


7. 测试题与参考答案#

理解题#

1. 为什么业务系统不应该直接散乱调用模型 API? 参考答案:会导致 Prompt 分散、日志缺失、成本不可控、错误处理不统一、安全策略不一致、模型切换困难。

2. AI 编排层的核心职责是什么? 参考答案:统一管理鉴权、输入校验、Prompt、模型路由、RAG、风控、输出校验、错误处理、日志和成本指标。

3. 为什么 AI API 需要错误码? 参考答案:业务系统需要根据失败类型决定补充输入、重试、降级、转人工或拒答,不能只返回“生成失败”。

4. 哪些失败不能简单重试? 参考答案:输入缺失、高风险拦截、权限不足、资料缺失、业务规则不满足等不应简单重试。

5. 为什么 AI 调用必须做成本归因? 参考答案:模型调用成本高且随用量增长,必须知道哪个业务、功能、用户消耗成本,才能做预算、限流和优化。

应用题#

6. 合同摘要 API 应该用同步还是异步?为什么? 参考答案:通常适合异步,因为合同长、解析和模型处理耗时,异步可支持排队、重试、进度查询和结果回看。

7. 客服回复 API 至少需要哪些输入? 参考答案:用户问题、会话 ID、订单状态、物流状态、政策片段、风险标签、调用方和用户身份。缺少关键业务状态时不应让模型硬答。


8. 当日产出模板#

8.1 API 产品架构草图#

业务系统
-> AI API Gateway
-> 鉴权
-> 限流
-> 输入校验
-> AI 编排层
-> Prompt 模板
-> RAG 检索
-> 模型路由
-> 风险控制
-> 输出校验
-> 模型适配层
-> 供应商模型
-> 私有模型
-> 备用模型
-> 日志与指标
-> Token
-> 延迟
-> 错误码
-> 成本
-> 用户反馈

8.2 AI API PRD 模板#

模块内容
API 名称
适用场景
调用方
输入字段
输出字段
Prompt 版本
模型策略
是否需要 RAG
限流策略
错误码
日志字段
成本指标
灰度策略
回滚条件

8.3 错误码设计表#

错误码触发条件用户提示系统处理
AI_INPUT_INVALID输入缺失请补充必要信息不重试
AI_CONTEXT_TOO_LONG上下文过长内容过长,请分段处理裁剪或异步
AI_MODEL_TIMEOUT模型超时正在重试重试或降级
AI_RISK_BLOCKED高风险拦截需人工处理转人工
AI_OUTPUT_FORMAT_ERROR输出格式错误生成失败修复或重试

9. 延伸阅读资料#

  1. Prompt 评估方法:API 上线前必须有测试集。

  2. 大模型选型:AI 编排层要支持模型路由和模型切换。

  3. API 成本与性能:会继续讲首字延迟、完整响应、流式输出、缓存、降级和小模型路由。

  4. 建议拿一个真实功能写 AI API PRD,比如客服回复、合同摘要或商品文案生成。

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

API产品化入门
https://www.shanfengpm.com/posts/2026-03-19-api-productization-intro/
作者
山风
发布于
2026-03-19
许可协议
CC BY-NC-SA 4.0
本文首发于「山风blog」,作者:山风(余涛)。欢迎转发、分享本文链接, 但禁止任何形式的未授权转载、摘编、改写或商业使用
推荐文章API产品
Profile Image of the Author
山风
12年产品经验,持续记录产品思考、业务设计、数据分析和团队管理实践。
站点统计