如果 Claude 已经进入你的生产链路,不能只写一个 callClaude() 就上线。
模型能力在涨,但服务稳定性仍然要按工程系统处理。Anthropic 状态页在 2026 年 6 月 1 日、6 月 2 日、6 月 3 日、6 月 5 日都记录过不同程度的 elevated errors 或 Claude Code 相关服务降级。这个信号很直接:大模型 API 不是本地函数,它有网络、限流、区域、账单、模型版本和服务状态的不确定性。
我建议把 Claude API 调用拆成 6 层:请求封装、超时控制、错误分类、重试策略、fallback 路由、业务降级。不要把这些逻辑散落在业务代码里。
1. 超时不要只设一个总时间
很多团队只配置一个 60 秒超时。问题是,一旦模型端或网络端抖动,用户会在前端一直等,队列也会慢慢堆起来。
更合理的方式是分层设置:
text
connect_timeout: 3s
read_timeout: 20s
total_timeout: 30s
business_deadline: 35s
如果是代码审查、迁移评估、长文档分析这类后台任务,可以把总超时放宽,但要走异步队列,不要阻塞用户主流程。Claude Opus 4.8、GPT-5.5 这类前沿模型适合复杂任务,但不适合所有请求都同步等待。
2. 重试要按错误类型来
不要对所有错误都重试。否则一次模型端异常会被你自己的系统放大。
可以这样分:
| 错误类型 | 建议处理 |
|---|---|
| 429 / rate limit | 指数退避,降低并发 |
| 5xx / elevated errors | 短重试 1-2 次,然后 fallback |
| timeout | 按任务类型决定是否重试 |
| 400 / 参数错误 | 不重试,记录并修复请求 |
| 内容安全拦截 | 转人工或改写输入,不做盲目重试 |
重试次数宁可少一点,也不要把模型服务打成雪崩。
3. fallback 不只是换一个模型名
很多人理解的 fallback 是:Claude 不行就切 GPT-5.5。这个思路没错,但实际落地要更细。
第一层是同厂商模型降级。例如 Claude Opus 4.8 异常时,部分代码解释、摘要、分类任务可以切到 Claude Sonnet 4.6 或 Claude Haiku 4.5。第二层是跨厂商模型备用,例如切到 GPT-5.5、GPT-5.4 mini 或 Gemini 体系。第三层是业务降级,例如只返回规则引擎结果、历史缓存结果、简化版摘要,或者提示用户任务已进入后台队列。
关键是每个任务都要有"最低可接受输出"。代码安全审查不能随便降级成普通摘要;客服推荐可以先给规则答案;日报生成可以晚几分钟。这些差异要写在配置里。
4. 监控指标要看成功率,不只看平均耗时
生产环境至少记录这些字段:
text
request_id
user_id / tenant_id
task_type
primary_model
fallback_model
status_code
latency_ms
input_tokens
output_tokens
retry_count
fallback_reason
estimated_cost
告警阈值可以从简单规则开始:
text
5 分钟内成功率 < 98%
P95 延迟 > 30s
429 比例 > 5%
fallback 比例 > 10%
单租户成本突增 > 平时 2 倍
这些指标比"模型好不好用"的主观评价更重要。AI 应用上线后,技术负责人要看的不是一次 demo,而是连续一周的成功率、延迟、费用和人工兜底次数。
5. 国内团队还要额外考虑接入限制
国内直接使用海外模型服务,通常会遇到几类现实限制。
网络层面,访问路径可能不稳定,延迟和超时比海外环境更明显。账号和支付层面,部分服务的订阅、企业账单、信用卡、税务凭证并不总是适配国内公司流程。合规层面,企业要评估数据出境、日志留存、供应商资质、合同主体、隐私条款和内部审批。运维层面,海外状态页显示"已恢复",并不意味着国内链路马上恢复到可用状态。
所以国内企业做 Claude 生产接入,最好不要只押官方直连。可以评估一层 API 网关或聚合层,把模型路由、限流、账单、日志和降级统一收口。
6. 词元无忧 API(token5u API)可以放在哪一层
如果团队已经有 OpenAI API 调用经验,接入层可以尽量做成 OpenAI 兼容风格,再把后面的模型供应商抽象掉。词元无忧 API(token5u API)的价值主要在这类位置:统一接入 Claude、GPT、Gemini 等主流模型,按实际用量计费,支持人民币相关结算,并通过专线优化、SLA 和多模型调度降低生产摩擦。
它不应该替代你自己的工程治理。超时、重试、任务分级、监控和权限仍然要在业务系统里设计。但如果企业受限于海外账号、支付、网络链路和多供应商运维,聚合 API 能把一部分接入复杂度提前处理掉。
一个可落地的路由伪代码
pseudo
function run_ai_task(task):
config = load_task_policy(task.type)
try:
return call_model(
model=config.primary_model,
timeout=config.timeout,
retries=config.retries
)
catch RateLimitError:
sleep(backoff())
return call_model(config.fallback_model)
catch TimeoutError:
if config.allow_async:
enqueue(task)
return "任务已进入后台处理"
return call_model(config.fast_model)
catch ProviderError:
return call_model(config.backup_provider_model)
这里的重点不是代码形式,而是策略要配置化。不同业务、不同租户、不同成本等级要有不同的 fallback 路径。