原始报错
2026-11-05APIError: 429 {\"error\":{\"message\":\"Rate limit exceeded\"}}原因
两个原因叠加:前缀缓存没开(每次请求都把整段上下文重算一遍),以及客户端遇到 429 直接重打、没有指数退避。
解法
- 在接入源侧开 Prompt 缓存,并确认中转层原样透传
cache_control标记,中转层一旦改写请求体,缓存全部失效,成本反而更高 - 看返回里的
cache_read_input_tokens,为 0 就说明缓存没生效 - 客户端侧配指数退避重试,Codex 用
request_max_retries/stream_max_retries - 并发确实超了,就降并发而不是加并发