给 AI 装一个"电表"-企业级 AI 能力中台架构设计全景图

8 阅读20分钟

当你的团队同时对接 OpenAI、Claude、Gemini、DeepSeek、通义千问、文心一言……每个模型一套 SDK、一种计费、一个限流策略、一份对账单——你需要的不是多一个工程师,而是一层"收口"。本文作为技术总监视角的架构设计纲领,系统阐述如何构建企业级 AI 能力中台——一个面向全组织的"模型统一调度层"。


一、为什么需要 AI 能力中台?

1.1 行业痛点:百模大战下的"熵增"困局

2025-2026 年的 AI 产业正处于白热化竞争期。GPT-4o、Claude 4、Gemini 2.5、DeepSeek-R1、通义千问 3.0、文心 4.5……主流大模型厂商已超过 20 家,可用模型超过 500 个。企业在享受模型红利的同时,面临严峻的工程管理挑战:

痛点维度具体表现
接口碎片化不同厂商 API 数据结构截然不同,代码耦合度极高
计费黑箱Token 定价各异、计费口径不统一、月底对账如同破案
风控缺失API Key 分散管理,泄露一个等于裸奔
成本失控缺乏全局视角,同一需求用 GPT-4o 和 DeepSeek 成本差 10-50 倍
运维噩梦某厂商限流/宕机时业务直接不可用,无法自动降级
合规风险数据出境、发票合规、审计追溯无从谈起

1.2 行业标杆:头部产品设计分析

在动手设计之前,先看看行业里谁已经把这件事做成了:

OpenRouter —— 开放模型路由器

  • 单一 API 接入 60+ 供应商、500+ 模型,OpenAI 协议兼容
  • 自动 Fallback、智能路由、按需选模
  • 每次响应自动返回 usage 对象(prompt_tokens / completion_tokens / cached_tokens / reasoning_tokens)
  • 支持按模型、API Key、组织成员维度导出用量报告(CSV/PDF)

Portkey —— 企业级 AI 网关

  • 1600+ LLM 接入,99.999% 可用性
  • 数据面/控制面分离架构,支持混合云部署
  • 50+ AI Guardrails 实时行为护栏
  • OpenTelemetry 全链路可观测

LiteLLM —— 开源 LLM 代理

  • MIT 协议,100+ Provider 统一代理
  • 自托管、完全数据主权
  • 额外延迟仅 10-20ms
  • 内置 Budget / Rate Limit / Team 管理

核心启示:好的中台不是"再造一个 OpenAI",而是做模型世界的"统一翻译官+交警+会计"

1.3 中台定位:不是平台,是基础设施

┌──────────────────────────────────────────────────┐
│           上层业务 / 应用 / Agent                   │
│   智能客服  代码助手  内容生成  数据分析  ...         │
├──────────────────────────────────────────────────┤
│           AI 能力中台(本文核心)                     │
│   统一API ─ 路由调度 ─ 协议转换 ─ 限流计费 ─ 可观测  │
├──────────────────────────────────────────────────┤
│           模型供应商层                               │
│   OpenAI  Anthropic  Google  DeepSeek  百度  阿里  │
└──────────────────────────────────────────────────┘

中台的使命:让上层业务只关心"我要什么能力",不关心"模型从哪来、怎么调、花多少钱"。


二、整体架构设计

2.1 架构总览

                           ┌─────────────────────────────────┐
                           │         Control Plane            │
                           │  ┌────────┐ ┌───────┐ ┌──────┐ │
                           │  │配置中心 │ │策略引擎│ │管理台│ │
                           │  └────────┘ └───────┘ └──────┘ │
                           └──────────────┬──────────────────┘
                                          │ 配置下发 / 策略同步
                           ┌──────────────▼──────────────────┐
     ┌──────────┐          │          Data Plane              │
     │          │  ────▶   │  ┌──────────────────────────┐   │
     │  Client  │  请求    │  │     API Gateway Layer     │   │
     │  (SDK/   │          │  │  认证 → 限流 → 路由 → 转换 │   │
     │  HTTP)   │  ◀────   │  └────────────┬─────────────┘   │
     │          │  响应    │  ┌────────────▼─────────────┐   │
     └──────────┘          │  │   Provider Adapter Layer  │   │
                           │  │  OpenAI  Claude  Gemini   │   │
                           │  │  DeepSeek  Qwen  ERNIE    │   │
                           │  └────────────┬─────────────┘   │
                           │  ┌────────────▼─────────────┐   │
                           │  │   Observability Layer     │   │
                           │  │  日志 → 计量 → 追踪 → 告警 │   │
                           │  └──────────────────────────┘   │
                           └─────────────────────────────────┘
                                          │
                           ┌──────────────▼──────────────────┐
                           │        Storage Layer             │
                           │  Redis    PostgreSQL   ClickHouse│
                           │  (缓存/限流) (元数据)   (分析)     │
                           └─────────────────────────────────┘

2.2 核心设计原则

原则含义落地方式
控制面/数据面分离配置变更不影响请求链路Control Plane 管配置,Data Plane 管流量
协议归一化所有模型对外暴露统一协议OpenAI 兼容协议作为"通用语"
零信任安全每个请求都需验证身份和权限API Key + RBAC + 加密传输
可观测优先每笔调用都有迹可循OpenTelemetry + 全链路 Trace
渐进增强核心链路极简,能力按需叠加插件化 Filter Chain
供应商无关切换/新增模型零业务改动Provider Adapter 抽象层

三、核心功能模块详细设计

3.1 AI 能力汇集 —— 多厂商模型统一接入

3.1.1 Provider Adapter 抽象层

这是整个中台的基石。每个模型供应商一个 Adapter,职责是将中台内部的统一协议翻译为各厂商的原生 API 调用。

interface ProviderAdapter {
  readonly providerId: string;
  readonly supportedModels: ModelDescriptor[];

  chatCompletion(req: UnifiedChatRequest): AsyncIterable<UnifiedChatChunk>;
  embedding(req: UnifiedEmbeddingRequest): Promise<UnifiedEmbeddingResponse>;
  imageGeneration(req: UnifiedImageRequest): Promise<UnifiedImageResponse>;

  // 健康检查 & 可用性探测
  healthCheck(): Promise<ProviderStatus>;

  // 原始 usage → 统一 usage 转换
  normalizeUsage(raw: unknown): UnifiedUsage;
}

3.1.2 当前主流厂商接入矩阵

厂商ChatEmbeddingImageAudio协议基础接入复杂度
OpenAI✅(DALL-E)✅(Whisper/TTS)REST + SSE低(标准协议)
AnthropicREST + SSE中(Messages API)
Google Gemini✅(Imagen)REST + SSE中(generateContent)
DeepSeekOpenAI 兼容
阿里通义千问✅(万相)DashScope SDK
百度文心ERNIE API
字节豆包火山引擎 API
MistralOpenAI 兼容
CohereREST
本地模型(Ollama/vLLM)OpenAI 兼容

3.1.3 模型元数据注册

每个模型在中台注册时需要声明完整的元数据,用于路由决策和成本计算:

{
  "modelId": "gpt-4o-2025-08-06",
  "provider": "openai",
  "capabilities": ["chat", "vision", "function_calling", "json_mode"],
  "contextWindow": 128000,
  "maxOutputTokens": 16384,
  "pricing": {
    "inputPerMillion": 2.50,
    "outputPerMillion": 10.00,
    "cachedInputPerMillion": 1.25,
    "currency": "USD"
  },
  "rateLimits": {
    "rpm": 10000,
    "tpm": 30000000
  },
  "regions": ["us-east", "eu-west"],
  "status": "active",
  "tags": ["flagship", "multimodal"]
}

3.2 协议转换 —— 不同模型协议间的"翻译官"

3.2.1 为什么需要协议转换?

各厂商的 API 在以下维度存在显著差异:

差异维度OpenAIAnthropicGoogle Gemini
请求格式messages: [{role, content}]messages: [{role, content}] (不同 schema)contents: [{role, parts}]
System Prompt首条 message role=system顶层 system 字段systemInstruction 字段
流式协议SSE data: {json}SSE event: content_block_deltaSSE data: {json}
Function Callingtools: [{function}]tools: [{name, input_schema}]tools: [{functionDeclarations}]
流结束标志data: [DONE]event: message_stop连接关闭
Usage 返回usage: {prompt_tokens, completion_tokens}usage: {input_tokens, output_tokens}usageMetadata: {promptTokenCount, ...}

3.2.2 协议转换架构

              统一 OpenAI 兼容协议
                     │
        ┌────────────┼────────────┐
        ▼            ▼            ▼
  ┌──────────┐ ┌──────────┐ ┌──────────┐
  │ OpenAI   │ │Anthropic │ │ Gemini   │
  │ Converter│ │ Converter│ │ Converter│
  └────┬─────┘ └────┬─────┘ └────┬─────┘
       │             │            │
  ┌────▼─────┐ ┌────▼─────┐ ┌────▼─────┐
  │ Request  │ │ Request  │ │ Request  │
  │Transform │ │Transform │ │Transform │
  │  (入站)   │ │  (入站)   │ │  (入站)   │
  └────┬─────┘ └────┬─────┘ └────┬─────┘
       │             │            │
       ▼             ▼            ▼
  原生 API 调用  原生 API 调用  原生 API 调用
       │             │            │
  ┌────▼─────┐ ┌────▼─────┐ ┌────▼─────┐
  │ Response │ │ Response │ │ Response │
  │Transform │ │Transform │ │Transform │
  │  (出站)   │ │  (出站)   │ │  (出站)   │
  └────┬─────┘ └────┬─────┘ └────┬─────┘
       │             │            │
       └─────────────┼────────────┘
                     ▼
             统一响应格式返回

3.2.3 流式协议统一化

流式(Streaming)场景是协议转换的重难点。中台需要:

  1. SSE 归一化:将各厂商不同的 SSE 事件格式统一为 OpenAI 兼容的 data: {"choices": [{"delta": {...}}]} 格式
  2. 流结束检测:识别各厂商不同的流结束信号([DONE]message_stop、连接关闭等)
  3. Usage 聚合:部分厂商在流的最后一帧返回 usage,部分需要自行通过 Tokenizer 估算——中台需统一处理
  4. 背压控制:上游 Provider 推送速度与下游 Client 消费速度不匹配时,需要缓冲机制
async function* unifyStream(
  providerStream: AsyncIterable<ProviderChunk>,
  converter: ProtocolConverter
): AsyncIterable<UnifiedSSEChunk> {
  const usageAccumulator = new UsageAccumulator();

  for await (const chunk of providerStream) {
    const unified = converter.transformChunk(chunk);
    usageAccumulator.track(chunk);
    yield unified;
  }

  // 最终帧携带完整 usage
  yield {
    choices: [{ delta: {}, finish_reason: "stop" }],
    usage: usageAccumulator.finalize()
  };
}

3.2.4 新兴协议接入:MCP / A2A / Function Calling

2025-2026 年,AI 协议生态正在从"模型调用"向"智能体协作"演进。中台需要预留对三大协议的支持:

协议角色中台职责
Function Calling模型 → 单工具调用统一 Tool Schema、代理执行、结果回注
MCP(Model Context Protocol)模型 ↔ 多工具标准化MCP Server 注册/发现、Tool 路由、权限管控
A2A(Agent-to-Agent)Agent ↔ Agent 协作Agent Card 注册、任务分发、状态追踪

三者不是替代关系而是递进关系:Function Calling 解决"伸手",MCP 解决"怎么做",A2A 解决"谁来做"。 中台的长期定位是三层协议的统一枢纽。

3.3 智能路由与调度

3.3.1 路由策略矩阵

请求进入
    │
    ▼
┌─────────────────┐    ┌─────────────────────────────────┐
│  路由策略引擎    │───▶│  策略维度:                       │
│  (可组合/可编排)  │    │  ① 指定模型   → 精确路由          │
│                 │    │  ② 能力匹配   → 按需路由          │
│                 │    │  ③ 成本优先   → 最低价路由         │
│                 │    │  ④ 质量优先   → 最优模型路由       │
│                 │    │  ⑤ 延迟优先   → 就近/最快路由      │
│                 │    │  ⑥ 负载均衡   → 轮询/加权/最小连接 │
│                 │    │  ⑦ A/B测试    → 按比例分流         │
└─────────────────┘    └─────────────────────────────────┘

3.3.2 基于复杂度的分级路由(核心降本手段)

这是 降低 60%-90% 模型调用成本 的关键策略。行业数据表明,70% 的请求无需旗舰模型:

请求级别占比典型场景推荐模型单价区间($/M tokens)
L1 - 简单~50%分类、提取、格式化DeepSeek-V3 / Qwen-72B$0.14-0.27
L2 - 中等~30%摘要、翻译、一般问答GPT-4o-mini / Claude 3.5 Haiku$0.25-1.00
L3 - 复杂~15%复杂推理、创意写作GPT-4o / Claude 4 Sonnet$2.50-15.00
L4 - 极难~5%前沿研究、高精度任务GPT-4.5 / Claude 4 Opus$15.00-75.00

自动分级器可基于以下信号判断请求复杂度:

  • 输入长度 / 上下文窗口使用率
  • 是否包含代码、数学、多轮推理
  • 业务方显式标注的优先级
  • 历史同类请求的模型表现反馈

3.3.3 自动 Fallback 与重试

主模型调用
    │
    ├── 成功 → 返回
    │
    ├── 超时/限流 → Fallback 模型 1
    │                    │
    │                    ├── 成功 → 返回
    │                    │
    │                    └── 失败 → Fallback 模型 2
    │                                 │
    │                                 └── ... → 最终降级策略
    │
    └── 错误(4xx) → 分析错误类型
                        │
                        ├── 认证失败 → Key 池轮换
                        ├── 内容审核 → 换供应商重试
                        └── 参数不支持 → 参数降级重试

3.4 成本分析体系

3.4.1 成本模型

单次调用成本 = (input_tokens × input_price) + (output_tokens × output_price)
             + (cached_tokens × cached_price) + (reasoning_tokens × reasoning_price)
             + 附加费用(图片/音频/搜索增强)
             + 中台服务费(可选)

3.4.2 多维成本分析看板

中台需要提供以下维度的成本分析能力:

分析维度数据来源分析价值
按模型每次 usage 记录哪个模型最费钱?性价比排名
按业务线API Key / App ID 绑定哪个业务线消耗最大?
按用户User ID 关联个人用量是否异常?
按时间调用时间戳用量趋势、峰谷规律
按能力类型Chat/Embedding/Image什么能力消耗最多?
按供应商Provider ID各厂商花费对比、议价依据
实际 vs 预算预算配置 + 实际消费预算消耗进度、超支预警

3.4.3 成本优化策略

┌─────────────────────────────────────────────────┐
│              成本优化四板斧                        │
│                                                 │
│  ① 智能路由降级    ─────  60-85% 节省           │
│     简单请求用便宜模型                            │
│                                                 │
│  ② Prompt Cache   ─────  50% Input 节省         │
│     利用厂商缓存能力减少重复计算                    │
│                                                 │
│  ③ 语义缓存       ─────  15-30% 节省            │
│     相似问题命中缓存直接返回                       │
│                                                 │
│  ④ Prompt 压缩    ─────  20-40% 节省            │
│     去除冗余上下文、精简 System Prompt             │
│                                                 │
│  综合效果:可实现 70-90% 的成本降低               │
└─────────────────────────────────────────────────┘

3.5 限流体系 —— 面向个人/团队/业务线的精细化管控

3.5.1 多层限流架构

                     请求进入
                        
              ┌─────────▼──────────┐
                 L1: 全局限流        保护中台自身不过载
                 (总 QPS /  TPM) 
              └─────────┬──────────┘
              ┌─────────▼──────────┐
                 L2: 租户限流        隔离不同业务线
                 (按 Org/Team)    
              └─────────┬──────────┘
              ┌─────────▼──────────┐
                 L3: 用户限流        防止个人滥用
                 (按 User/Key)    
              └─────────┬──────────┘
              ┌─────────▼──────────┐
                 L4: 模型限流        遵守上游配额
                 (按 Provider)    
              └─────────┬──────────┘
                        
                     请求放行

3.5.2 限流维度详细设计

限流维度指标典型配置(示例)实现方式
RPM (Requests/Min)请求频次免费用户: 20, 付费: 500, 企业: 5000Redis 滑动窗口
TPM (Tokens/Min)Token 吞吐免费: 40K, 付费: 200K, 企业: 2MRedis + Token 预估
日配额单日总量免费: 100K tokens, 付费: 5MRedis 计数器+TTL
月预算月度金额个人: 10,团队:10, 团队: 500, 企业: $50,000PostgreSQL + 实时计算
并发数同时请求免费: 2, 付费: 10, 企业: 100Redis Semaphore

3.5.3 限流响应与优雅降级

当触发限流时,不应简单返回 429,而应提供有意义的信息:

{
  "error": {
    "type": "rate_limit_exceeded",
    "message": "您的每分钟请求数已达上限",
    "detail": {
      "limit_type": "rpm",
      "limit_value": 20,
      "current_value": 21,
      "reset_at": "2026-03-19T10:01:00Z",
      "retry_after_ms": 12000
    },
    "suggestion": "升级至付费套餐可获得 500 RPM 配额",
    "upgrade_url": "https://ai-hub.company.com/pricing"
  }
}

3.6 服务调用明细记录

3.6.1 调用明细数据模型

每一次 API 调用都需要生成一条完整的调用明细(Call Detail Record, CDR),这是计费、审计、排障的基础:

interface CallDetailRecord {
  // ——— 标识信息 ———
  requestId: string;          // 全局唯一请求 ID(UUID v7)
  traceId: string;            // 分布式追踪 ID
  spanId: string;             // 当前 Span ID

  // ——— 调用方信息 ———
  orgId: string;              // 组织 ID
  teamId: string;             // 团队 ID
  userId: string;             // 用户 ID
  apiKeyHash: string;         // API Key 哈希(脱敏)
  appId: string;              // 应用 ID
  clientIp: string;           // 调用方 IP

  // ——— 模型信息 ———
  requestedModel: string;     // 用户请求的模型
  actualModel: string;        // 实际路由到的模型
  provider: string;           // 供应商
  providerRegion: string;     // 供应商区域

  // ——— 请求/响应元数据 ———
  requestType: "chat" | "embedding" | "image" | "audio";
  isStreaming: boolean;
  temperature: number;
  maxTokens: number;
  toolsUsed: string[];        // Function Calling 工具列表

  // ——— 时间信息 ———
  requestedAt: DateTime;      // 请求到达时间
  firstTokenAt: DateTime;     // 首 Token 时间 (TTFT)
  completedAt: DateTime;      // 完成时间
  latencyMs: number;          // 总延迟
  ttftMs: number;             // 首 Token 延迟
  providerLatencyMs: number;  // 上游延迟

  // ——— Usage 信息 ———
  usage: UnifiedUsage;        // 详见 3.7

  // ——— 成本信息 ———
  cost: CostBreakdown;        // 详见 3.4

  // ——— 状态信息 ———
  status: "success" | "error" | "timeout" | "rate_limited";
  errorCode?: string;
  errorMessage?: string;
  fallbackChain?: string[];   // 降级链路

  // ——— 内容指纹(非原文) ———
  promptHash: string;         // 输入哈希(用于缓存命中分析,不存原文)
  responseFingerprint: string;// 输出指纹
}

3.6.2 存储策略

数据层存储引擎保留时间用途
热数据Redis Stream24 小时实时监控、限流判断
温数据ClickHouse90 天明细查询、成本分析
冷数据对象存储(S3/OSS)1 年+合规审计、历史归档
聚合数据PostgreSQL永久账单、报表、仪表板

3.7 Usage 解析与统一化

3.7.1 统一 Usage 数据模型

这是中台对外输出的标准化用量数据结构,融合各厂商 usage 字段的超集:

interface UnifiedUsage {
  // ——— 基础 Token 计量 ———
  promptTokens: number;       // 输入 Token 数
  completionTokens: number;   // 输出 Token 数
  totalTokens: number;        // 总 Token 数

  // ——— 扩展 Token 计量 ———
  cachedTokens: number;       // 缓存命中 Token(减免计费)
  cacheWriteTokens: number;   // 缓存写入 Token
  reasoningTokens: number;    // 推理过程 Token(o1/DeepSeek-R1)
  audioTokens: number;        // 音频 Token
  imageTokens: number;        // 图片 Token(等效换算)

  // ——— 各厂商原始字段映射 ———
  _raw: Record<string, unknown>; // 保留原始 usage 供审计
}

3.7.2 各厂商 Usage 归一化映射表

统一字段OpenAIAnthropicGoogle GeminiDeepSeek
promptTokensprompt_tokensinput_tokenspromptTokenCountprompt_tokens
completionTokenscompletion_tokensoutput_tokenscandidatesTokenCountcompletion_tokens
cachedTokensprompt_tokens_details.cached_tokenscache_read_input_tokenscachedContentTokenCountprompt_cache_hit_tokens
reasoningTokenscompletion_tokens_details.reasoning_tokens(内含于output)completion_tokens_details.reasoning_tokens

3.7.3 Token 估算与校验

部分场景下厂商不返回 usage(如某些流式响应中间帧),中台需要自行估算:

  • 本地 Tokenizer:集成 tiktoken(OpenAI)、sentencepiece 等分词器,作为兜底估算
  • 校验机制:当厂商返回值与本地估算偏差 > 10% 时触发告警
  • 流式累加:流式场景逐帧累加 token_count,最后一帧与厂商返回值交叉验证

3.8 流水统计与报表

3.8.1 统计维度体系

                          流水统计
                             │
        ┌────────┬───────────┼────────────┬──────────┐
        ▼        ▼           ▼            ▼          ▼
    按时间     按主体       按模型       按能力      按状态
    │         │            │            │           │
    ├ 分钟级   ├ 组织       ├ 具体模型    ├ Chat      ├ 成功
    ├ 小时级   ├ 团队       ├ 供应商     ├ Embedding ├ 失败
    ├ 日级     ├ 个人       ├ 模型族     ├ Image     ├ 限流
    ├ 周级     ├ 应用       │            ├ Audio     ├ 超时
    └ 月级     └ API Key    │            └ Tool Call └ 降级
                            │
                      ┌─────┴─────┐
                      │ 交叉分析   │
                      │ 任意维度组合│
                      └───────────┘

3.8.2 核心报表清单

报表名称更新频率核心指标受众
实时大盘秒级QPS、在线用户数、错误率、P99延迟SRE / 运维
日报调用量、Token消耗、成本、TopN用户技术经理
月度账单各业务线/团队/个人的费用明细财务 / 管理层
模型性价比报告各模型的质量评分、延迟、成本对比架构师
异常报告实时突增用量、异常 Key、高错误率模型安全 / SRE
趋势预测未来 30 天用量预测、预算消耗速率管理层

四、技术层面关键考量

4.1 技术选型建议

组件推荐方案理由
网关层Go / Rust 自研 或 Envoy AI Gateway高性能、低延迟、SSE 原生支持
配置中心etcd / Nacos配置热更新、Watch 机制
限流/缓存Redis Cluster高性能计数器、分布式锁、滑动窗口
元数据存储PostgreSQL事务可靠、模型/用户/Key管理
调用明细存储ClickHouse列式存储、亿级明细秒级查询
消息队列Kafka / Pulsar调用日志异步写入、流量削峰
可观测OpenTelemetry + Grafana + Jaeger开源标准、全链路追踪
语义缓存Redis + 向量数据库相似 Prompt 命中判断
API 协议OpenAI 兼容协议事实标准、生态最广

4.2 高性能设计

延迟预算分解(目标:中台自身附加延迟 < 20ms):

环节目标耗时优化手段
认证鉴权< 2ms本地 JWT 验证,Redis 缓存会话
限流判断< 3msRedis Pipeline 批量操作
路由决策< 2ms内存路由表,配置热加载
协议转换< 5ms零拷贝序列化,预编译模板
日志采集异步非阻塞写入 Kafka
合计< 12ms预留 buffer

流式处理关键优化

  • SSE 连接使用 HTTP/1.1 长连接(HTTP/2 多路复用与 SSE 不兼容)
  • 逐帧透传,不等待完整响应再转发
  • 背压控制:上下游速率不匹配时使用环形缓冲区
  • TTFT(首 Token 时间)监控:作为核心 SLI

4.3 高可用设计

                          DNS / SLB
                             │
                ┌────────────┼────────────┐
                ▼            ▼            ▼
          ┌──────────┐ ┌──────────┐ ┌──────────┐
          │ Gateway  │ │ Gateway  │ │ Gateway  │
          │ Node 1   │ │ Node 2   │ │ Node 3   │
          │ (AZ-a)   │ │ (AZ-b)   │ │ (AZ-c)   │
          └────┬─────┘ └────┬─────┘ └────┬─────┘
               │             │            │
               └─────────────┼────────────┘
                             │
           ┌─────────────────┼─────────────────┐
           ▼                 ▼                 ▼
     ┌──────────┐     ┌──────────┐     ┌──────────┐
     │ Redis    │     │PostgreSQL│     │ClickHouse│
     │ Cluster  │     │ Primary  │     │ Cluster  │
     │ (33从)  │     │+Standby  │     │ (3分片)   │
     └──────────┘     └──────────┘     └──────────┘

高可用核心策略

策略实现方式目标
多 AZ 部署网关节点分布在 3 个可用区单 AZ 故障不影响服务
无状态网关会话信息存 Redis,节点可任意扩缩水平弹性扩展
Provider 池化每个供应商多个 API Key 轮换单 Key 限流不影响全局
熔断降级基于错误率/延迟触发,自动切换备选模型故障隔离
异步化日志、统计、告警全部异步处理主链路不受旁路影响
优雅关闭新请求引导至其他节点,存量请求完成后下线发布零中断

SLA 目标

指标目标
可用性99.95%(月度不可用 < 22 分钟)
P50 延迟(中台自身)< 10ms
P99 延迟(中台自身)< 50ms
请求丢失率0
数据一致性计费数据最终一致,误差 < 0.1%

4.4 安全设计

┌───────────────────────────────────────────────┐
│                安全防护体系                      │
│                                               │
│  ┌─────────┐  ┌─────────┐  ┌──────────────┐  │
│  │ 传输安全 │  │ 认证授权 │  │  数据安全     │  │
│  │         │  │         │  │              │  │
│  │ TLS 1.3 │  │ API Key │  │ Prompt 不落盘 │  │
│  │ mTLS    │  │ RBAC    │  │ PII 脱敏     │  │
│  │ IP白名单│  │ 审计日志 │  │ Key 加密存储  │  │
│  └─────────┘  └─────────┘  └──────────────┘  │
│                                               │
│  ┌─────────┐  ┌─────────┐  ┌──────────────┐  │
│  │ 内容安全 │  │ 合规治理 │  │  运行时防护   │  │
│  │         │  │         │  │              │  │
│  │ AI护栏  │  │ 数据出境 │  │ WAF/DDoS    │  │
│  │ 敏感词  │  │ 审计追溯 │  │ 注入检测     │  │
│  │ 合规检查 │  │ 合规报表 │  │ 异常行为检测  │  │
│  └─────────┘  └─────────┘  └──────────────┘  │
└───────────────────────────────────────────────┘

五、产品层面关键考量

5.1 产品定位与用户画像

用户角色核心需求中台提供的价值
应用开发者快速接入模型、稳定调用统一 SDK、一行代码切模型
技术经理成本可控、用量透明仪表板、预算告警、审批流
个人开发者低门槛试用、按用量计费免费额度、Pay-as-you-go
安全/合规数据合规、可审计调用日志、数据流向追溯
AI 架构师灵活编排、模型评估A/B 测试、Benchmark 工具
财务清晰账单、可预测成本月度报表、预算预测

5.2 接入体验设计(DX - Developer Experience)

核心原则:5 分钟完成首次调用

# 已有 OpenAI SDK 的项目,接入中台只需改 2 行:
import openai

client = openai.OpenAI(
    api_key="aih_xxxx",                    # ← 改 1:换 Key
    base_url="https://ai-hub.company.com/v1"  # ← 改 2:换地址
)

# 之后的代码完全不变
response = client.chat.completions.create(
    model="gpt-4o",   # 或 "auto" 由中台智能路由
    messages=[{"role": "user", "content": "Hello"}],
    stream=True
)

DX 关键设施

  • Playground 在线调试台:选模型、调参数、看效果、对比输出
  • SDK 多语言支持:Python / TypeScript / Go / Java / cURL
  • OpenAPI Spec 自动生成:可导入 Postman / Swagger
  • 错误信息人性化:不返回 500 Internal Error,而是明确告知原因和解决建议

5.3 计费体系设计

┌─────────────────────────────────────┐
│          计费套餐体系                 │
│                                     │
│  ┌───────────┐  ┌───────────────┐  │
│  │  免费体验   │  │  按量付费      │  │
│  │  $0/月     │  │  Pay-as-you-go│  │
│  │  100K token │  │  充值余额      │  │
│  │  20 RPM    │  │  200 RPM      │  │
│  └───────────┘  └───────────────┘  │
│                                     │
│  ┌───────────┐  ┌───────────────┐  │
│  │  团队版    │  │  企业版        │  │
│  │  $99/月    │  │  自定义报价     │  │
│  │  5M token  │  │  无限额度      │  │
│  │  500 RPM   │  │  专属通道      │  │
│  │  5人团队   │  │  SLA保障      │  │
│  └───────────┘  └───────────────┘  │
└─────────────────────────────────────┘

5.4 管控台功能规划

功能模块P0 (MVP)P1 (增强)P2 (高级)
API Key 管理创建/删除/启停权限细分、过期策略Key 使用分析
用量仪表板总量/趋势图多维下钻自定义看板
成本中心实时余额/消费记录预算管理/告警成本预测/优化建议
模型市场模型列表/定价性能对比/评测私有模型上架
日志中心调用明细查询全链路追踪智能异常检测
团队管理成员/角色审批流SSO/SCIM

六、扩展性设计 —— 面向未来的架构弹性

6.1 插件化架构

中台核心链路采用 Filter Chain(过滤器链) 模式,所有非核心功能以插件方式挂载:

Request ──▶ [Auth] ──▶ [RateLimit] ──▶ [Router] ──▶ [Transform] ──▶ Provider
                                                       ▲
                                              可插拔 Filters:
                                              ├── ContentModeration
                                              ├── PromptInjectionDetect
                                              ├── SemanticCache
                                              ├── CostControl
                                              ├── A/B Testing
                                              ├── Logging
                                              └── CustomPlugin

6.2 多租户架构演进路径

Phase 1: 共享集群           Phase 2: 逻辑隔离          Phase 3: 物理隔离
┌──────────────┐        ┌──────────────┐        ┌──────────────┐
  所有租户共享    ────▶  同集群,不同     ────▶  VIP租户独占   
  同一网关集群           Namespace              专属网关集群   
  同一 Redis            独立限流空间            独立数据存储   
└──────────────┘        └──────────────┘        └──────────────┘
  适合:早期/小规模         适合:中等规模           适合:大客户/合规要求

6.3 模型能力扩展

中台不应止步于 Chat Completion,需要沿"模型能力图谱"持续扩展:

                    AI 能力中台能力图谱
                          │
        ┌────────┬────────┼────────┬────────┐
        ▼        ▼        ▼        ▼        ▼
     文本生成   向量化   图像生成  语音处理  视频理解
     Chat    Embedding  Image    Audio    Video
     │        │         │        │        │
     ├ 对话    ├ 文本向量  ├ 文生图   ├ ASR     ├ 视频摘要
     ├ 补全    ├ 图片向量  ├ 图编辑   ├ TTS     ├ 视频问答
     ├ 推理    ├ 多模态   ├ 风格迁移  ├ 实时语音 ├ 内容审核
     └ 工具调用 └ 重排序   └ 超分辨率  └ 声纹    └ 视频生成

七、演进路线图 —— 跟随 AI 产业发展逐步迭代

7.1 三阶段演进策略

                    ┌─────────────────────────────────────────┐
                    │                                         │
 Phase 3 (6-12月)   │  AI Agent 协作平台                       │
                    │  MCP/A2A 协议枢纽 · Agent 编排引擎        │
                    │  多 Agent 协作 · 工具市场 · 评估体系       │
                    │                                         │
              ┌─────┴──────────────────────────────────┐      │
              │                                        │      │
 Phase 2 (3-6月)  │  智能模型中台                         │      │
              │  智能路由 · 语义缓存 · 成本优化引擎        │      │
              │  模型评测 · A/B测试 · Prompt管理          │      │
              │                                        │      │
        ┌─────┴─────────────────────────────────┐      │      │
        │                                       │      │      │
 Phase 1 (0-3月) │  模型代理网关 MVP                  │      │      │
        │  统一协议 · 多厂商接入 · 基础限流         │      │      │
        │  调用记录 · Usage统计 · 基础计费          │      │      │
        │                                       │      │      │
        └───────────────────────────────────────┘      │      │
                                                       │      │
              └────────────────────────────────────────┘      │
                                                              │
                    └─────────────────────────────────────────┘

7.2 Phase 1:模型代理网关 MVP(0-3 个月)

目标:跑通核心链路,替代业务方直连模型供应商。

里程碑交付物验收标准
M1: 核心网关OpenAI 兼容 API、3 个 Provider Adapter请求成功率 > 99.9%
M2: 管控基础API Key 管理、基础限流、调用明细管控台可用
M3: 计费上线Usage 统一解析、成本计算、月度报表账单准确率 > 99.5%

Phase 1 技术栈

  • 网关:Go + Gin / Fiber
  • 存储:PostgreSQL + Redis
  • 队列:Kafka
  • 明细:ClickHouse
  • 监控:Prometheus + Grafana

7.3 Phase 2:智能模型中台(3-6 个月)

目标:从"转发代理"进化为"智能调度",实现显著成本优化。

核心能力描述预期收益
智能路由基于复杂度、成本、延迟的动态路由成本降低 50-70%
语义缓存相似问题复用历史回答减少 15-30% 调用量
Prompt 管理版本化、模板化、A/B测试提升输出质量 20%+
模型评测自动化质量评分、性价比排名数据驱动选模型
预算管控部门/项目/个人预算,超支自动降级成本可预测

7.4 Phase 3:AI Agent 协作平台(6-12 个月)

目标:从"模型调用层"升级为"AI 能力编排层",成为 Agent 时代的基础设施。

核心能力描述价值
MCP Server 注册中心统一管理所有 MCP 工具服务工具复用率↑
A2A 协议枢纽Agent 发现、任务分发、状态追踪Agent 间协作
Agent 编排引擎可视化编排多 Agent 工作流业务灵活度↑
工具市场企业内部/第三方工具上架、授权生态扩展
Eval 体系端到端 Agent 质量评估质量可度量
知识管理RAG 管道集成、知识库统一管理企业知识沉淀

7.5 长期演进思考

行业趋势中台跟进策略
模型能力趋同、价格内卷重心从"接入"转向"路由优化"和"成本智能"
多模态融合扩展 Adapter 支持 Vision / Audio / Video
端侧模型兴起支持本地模型(Ollama/vLLM)纳管,混合调度
Agent 原生应用爆发MCP/A2A 协议支持成为刚需
合规要求趋严数据分级、审计追溯、数据不出境方案
Reasoning 模型普及支持思维链(CoT)中间状态流式输出
模型微调私有化支持 Fine-tuned 模型注册和调度

八、实施建议 —— 技术总监的决策清单

8.1 Build vs Buy 决策

维度自建采购/SaaS建议
数据主权✅ 完全控制⚠️ 依赖供应商核心金融/医疗场景必须自建
定制灵活度✅ 完全自定义❌ 受限于供应商能力差异化需求强时自建
建设成本❌ 高(3-6 人月 MVP)✅ 低(即开即用)团队 < 10 人建议先采购
运维压力❌ 需要专职 SRE✅ 供应商负责小团队建议采购
长期 TCO✅ 规模化后更低❌ 随用量线性增长月消费 > $5000 自建更划算

8.2 团队配置建议

角色人数职责
架构师1整体架构设计、技术选型
后端工程师2-3网关开发、Provider Adapter、限流计费
前端工程师1管控台、仪表板
SRE1部署运维、监控告警
产品经理0.5需求管理、产品规划

Phase 1 最小团队:1 架构师 + 2 后端 + 0.5 前端 = 3.5 人,3 个月交付 MVP。

8.3 关键风险与对策

风险概率影响对策
供应商 API 频繁变更Adapter 层解耦 + 自动化兼容测试
大流量下限流不准Redis Cluster + 本地滑动窗口双保险
计费数据不准双写校验 + 定期与供应商账单核对
流式转发性能瓶颈Go/Rust 实现、连接池化、零拷贝
单点故障极高多 AZ 部署、无状态设计、自动 Failover

九、结语 —— 中台不是终点,是 AI 工程化的起跑线

AI 能力中台解决的不是"能不能用模型"的问题,而是"能不能规模化、可控、可持续地用模型"的问题。

当你的组织从 1 个模型扩展到 10 个,从 1 个应用扩展到 100 个,从试用探索进入生产落地——你会发现,缺的不是模型能力,而是管理模型的能力

这就是 AI 能力中台的价值:

  • 对开发者:一个 Key、一个 SDK、一行代码换模型
  • 对管理者:一个面板、一份账单、一目了然
  • 对企业:一层收口、一处管控、一个平台

百模大战终会尘埃落定,但"百模归一"的基础设施工程,才刚刚开始。


最后更新:2026 年 3 月