按图索骥成建制地排雷扫错

当请求成片砸锅时,跟着这套找茬流水线:查报错病脸、捏时间走线、剥皮看包囊,揪出藏在阴影里的元凶。

概览(Overview)

吃闭门羹跌挂单的理由海去了:大厂老家炸了机、门诊量挤冒了顶(限流)、你投进去的包长得歪七扭八、敲门牌(API key)过期烂了,再不就是问的话踩了人家的涉黄涉暴红条。请求日志(Request Logs)这就给你长齐了装备,帮你火速分门别类、搭脉寻源,一套连招成体系地扫荡这些死挂单。


挂单死因大分门(Failure categories)

连累在模型供应老东家头上的死案(Provider-level failures)

源自 AI 供货大厂那头的拒签惹祸:

死挂病相(Error type)报错大字样板(Example message)背后真凶(Typical cause)拿药解方(Resolution)
撞红线限阻(Rate limit)rate_limit_exceeded往人家那敲门敲得太频太多被挡了撤退缓冲些,或者多拉几家备胎垫背
货停更撤柜(Model unavailable)model_not_found这型号老掉牙下架了或临时歇业切个新牌子型号跑或干等它复苏
敲门证烂了(Authentication)invalid_api_key掏的 API 秘钥到期、撤牌废了滚去设置里(Settings)换套新令牌
嘴没把门触法(Content policy)content_filtered问的话踩了人家审查大文的涉案红线去洗洗你的提示词提示包再来
厂家老窝起火(Server error)internal_server_error供货大厂自家的服务器后院炸了纯看天靠备胎,坐着等人家修通管道

往下放件交代不成的送活死案(Webhook delivery failures)

没法把信儿递交到你家接风后台手里的跑单挂落:

死挂病相(Error type)报错大字样板(Example)背后真凶(Typical cause)拿药解方(Resolution)
闭门拒收包裹(Connection refused)ECONNREFUSED你家接收口死机瘫痪了赶紧去把你家接包服务器重启拉活
干等耗干血(Timeout)Request timeout after 30s你家接收口拉屎太慢卡死了去除锈润滑加快你们接口盘活效率
找不着这门牌(DNS failure)ENOTFOUND你填那域名门牌纯属是个鬼扯号去核对你写的 Webhook 投送带路地址
假冒伪劣戳章(SSL error)UNABLE_TO_VERIFY_LEAF_SIGNATUREHTTPS 绿网证书烂了过期了乖乖回去重弄门面的 SSL 安全大挂锁
骂咧咧挡门回票(Non-2xx response)HTTP 500货送去了,你家后台接完翻旧账给抛了错回你自家后台深挖你的家日志报错底

等不到你回头打招呼的回抛死案(Callback failures)

那些放长线发异步单却始终等不来你们敲个回头锣的死单:

死挂病相(Error type)背后真凶(Typical cause)拿药解方(Resolution)
等到黄花菜凉(Timeout - 5 min)你们后台磨洋工,时限内死不给老子打回叫电话加大马力提速死干后端消食出件
牛头不对马嘴的信皮(Invalid payload)你往回抛的数据包连模子都不搭边全是乱码茬翻图纸对对看回抛的数据大骨架要求
人间蒸发再没下落(Missing callback)你那接包系统生生忘了掉头喊那一嗓次回传确认去验看你那段发回抛锣令的收尾大代码

按部就班顺藤摸瓜的诊疾法(Step-by-step troubleshooting)

1. 先探探灾情有多漫长(Assess the scope)

在一头扎进单个死鬼面前,先得放高眼界看看这是连着天的一场什么规模的局:

  1. 漏斗卡紧定在 Live mode(真实现场)Error(红牌死错)
  2. 捻数算算这撞煞的时节里连趴了多少个单。
  3. 竖起眼找它的结队死规律:
    • 大水冲龙王庙全挂了?(All requests failing?) → 多半是总管道炸了(令牌废了,或者老东家大规模全线死机停服)。
    • 指名道姓专死某一口型号?(Specific models failing?) → 就是那个供应商自家起火长毛了。
    • 时不时抽风挂一两个?(Intermittent failures?) → 撞限流了,或者就是网络打着盹的过云雨死错。

2. 给死因盖红黄戳分大类(Categorize the failure)

戳进那一挂死单,拽开那拉底时间线(timeline)一瞅:

A: All provider attempts failed
OpenAI gpt-4o failed 150ms
Anthropic claude-3.5 failed 120ms
Google gemini-1.5 failed 180ms
:
 
B: Provider succeeded, webhook failed
OpenAI gpt-4o success 1,200ms
Webhook error 30,000ms
: Webhook
 
C: Everything worked except callback
OpenAI gpt-4o success 1,200ms
Webhook success 45ms
Backend timeout 300,000ms
:

3. 解剖死底查原话红单(Inspect error details)

戳开那带伤坠毁的部位翻原由底库:

大厂甩客的大挂报文(Provider errors):

JSON
1{
2 "error": {
3 "type": "invalid_request_error",
4 "message": "This model's maximum context length is 128000 tokens. However, your messages resulted in 135420 tokens. Please reduce the length of the messages.",
5 "code": "context_length_exceeded"
6 }
7}

送货员砸在自家门口的回票录(Webhook errors):

Status: Error
HTTP Status: 502
Error: Bad Gateway
Duration: 120ms
URL: https://api.yourapp.com/webhooks/modelriver

4. 照方抓药去清秽拔毒(Apply the fix)

按着你理出来的死状对症下刀:

  • 限流门槛太死(Rate limits): 早点广招备胎多挂几个东源子,在门口放挂单队列慢慢排走,或者干脆拿大钞票砸向大厂提限额。
  • 肚子被撑爆了(Context length exceeded): 全盘压缩削减历史旧账,浓缩旧话收大纲,或者请出肚子更大的吃书神兽模型扛它。
  • 假令牌骗门死拦(Authentication failures): 直接进 设定大口(Settings) → 去 供货仓点(Providers) 把那些该挂死的 API 大钥匙全换一遍金的。
  • 交活件门接死机(Webhook failures): 把你们自家接口管盘活,然后进请求日志点那 复活重发大钮(Retry) 补交作业。
  • 长等没有回音口落空(Callback timeouts): 请个大牛去把你们家接消化盘吃活打回声的底线调大、加并发粗盘处理口径。

5. 返场大拉练验真伪查修通(Verify the fix)

下完药后:

  1. 杀进沙盘练兵场(Playground)打一枪看。
  2. 回到请求大日志盯盘找上刚才那把的枪声包。
  3. 瞧真这时间流走线最后画圆挂着全大绿过了。
  4. 按常全守望 30 分钟看这缝合的底线有没有脱口泄流。

老炮专用的深解连珠挂因盘大法(Advanced failure analysis)

摸清多米诺骨牌式的大雪崩相(Identifying cascading failures)

死穴一点通,崩塌引四方崩:

1.
2.
3. 线
4. Webhook
5.

拔草寻源之法(How to trace): 拆解那个撞地血单,一行行盘那底线大明细表(timeline),找见那一连串摔跤点。通常第一下磕掉牙的那点,就是掀起滔天血案的造大恶祸首。

各大教派的独门死绝怪报门类(Provider-specific error patterns)

各家独有些老常挂口头死词:

OpenAI 家派:

  • rate_limit_exceeded: 在晚高峰红头门点挤人时最爱甩这脸。
  • context_length_exceeded: 嫌你废话长长硬喂撑着它的门限肚量。
  • invalid_api_key: 你交去家的金钥匙全被废掉撤回烂了。

Anthropic 家底:

  • overloaded: 被成千上万人压趴下高喊救命吃不消的高需时日。
  • invalid_request_error: 你喂过去的不成规矩不是它的这格式。

Google 门号:

  • RESOURCE_EXHAUSTED: 吃空大水库底配掏没余额门线。
  • INVALID_ARGUMENT: 传进的配料不对规参差挂红挡门外了。

往下连通探深去