AI Agent半夜集体罢工:一次模型配额耗尽的真实故障复盘
AI Agentåå¤éä½ç½¢å·¥ï¼ä¸æ¬¡æ¨¡åé é¢èå°½çç宿 éå¤ç
ä¸ç±è¿å¨çè·è 2026-08-22 0 é 读10åé8æ15æ¥æï¼æä»¬7个AIæ°ååå·¥agentå¹¶è¡å¼åä¼ä¸çº§Skillå ±äº«å¹³å°ï¼Harry䏿¬¡æ§æ´¾å5æ¡ä»»å¡ï¼10åéåå ¨é¨åæ¶å¤±è´¥ââç¶æfinishedï¼è¾åºå´æ¯429é é¢èå°½ï¼éè¯ä¾ç¶ç§å¤±è´¥ï¼æ¨¡ååè¿æ¾ç¤ºunknownã
æ¯ä»»å¡æ²¡è°èµ·æ¥è¿æ¯æ¨¡åé ç½®åºéï¼æ ¹å æ¯7个åå·¥å ±ç¨çtoken-planå¨é é¢å¥é¤èå°½ãæ¬æå¤ç30åéææ¥å ¨è¿ç¨ä¸3æ¡é¢é²æªæ½ã
ä¸ãæ éç°è±¡ï¼5æ¡ä»»å¡éä½"ç§å¤±è´¥"
彿æ éçç¹å¾éå¸¸å ¸åï¼ä»»å¡ä¸æ¯"å¡ä½"ï¼èæ¯"ç¬é´å¤±è´¥"ï¼ä¸é误信æ¯é«åº¦ä¸è´ã
æä»¬çå¼åæ¹å¼æ¯7个ä¸èagentå¹¶è¡ä½æï¼äº§åç»çã项ç®ç®¡çåãå¼åãæµè¯ãè¿ç»´ãUIãå端ï¼å ¨é¨è·å¨å¼æºAgentæ¡æ¶ QwenPaw ä¸ï¼ç±åè°agent Harry ç»ä¸æ´¾æ´»ã8æ15æ¥æä¸ï¼Harry 䏿¬¡æ§æ´¾åäº5æ¡å¼åä»»å¡ââæå¡ç«¯éª¨æ¶ãéé认è¯ãAPIãCIæµæ°´çº¿ãå端骨æ¶ââå ¨é¨è½¬å ¥åå°å¹¶è¡æ§è¡ã
ç»æåºä¹ææï¼ä»»å¡æäº¤åå ¨é¨å¤±è´¥ãæ´è¯¡å¼çæ¯ï¼ä»»å¡ç¶æåæ¾ç¤ºçæ¯ finishedï¼æ§è¡å®æï¼ï¼ä½æ§è¡ç»æéå´æ¯å¤±è´¥ä¿¡æ¯ï¼
Task failed. Error: Quota exceeded for model unknown.
Reason: Your token-plan 1-week quota has been exhausted.
The quota will reset at 08-20 15:29:00 UTC.
è¿è¡æ¥éæä¸¤ä¸ªè¯¯å¯¼ç¹ï¼
- 模ååæ¾ç¤º unknownãçå°è¿ä¸ªå段ï¼ç¬¬ä¸ååºæ¯"请æ±åæ ¹æ²¡å¸¦ä¸æ¨¡åå"ââè¿è®©æä»¬ä¸åº¦æçæ¯ä»»å¡è°åº¦é ç½®çé®é¢ï¼æ¹åå·®ç¹è·åã
- ç¶ææ¯ finishedã妿åªçç¶æåï¼ä¼ä»¥ä¸ºä»»å¡"æ£å¸¸ç»æäº"ï¼å¿ é¡»ç¹å¼é误 dump æè½çå°çæ£ç失败åå ã
彿¶æä»¬è¿åäºä¸ä»¶é常"符åç´è§ä½æ²¡ç¨"çäºï¼åå¤éè¯ãç»ææ¯æ¬¡é½æ¯ç§å¤±è´¥ââæ³¨æ"ç§å¤±è´¥"è¿ä¸ªç¹å¾ï¼å®è¯´æè¯·æ±å¨å¾çæ¶é´å 就被æå¡ç«¯æç»ï¼ä¸æ¯è¶ æ¶ã䏿¯ç½ç»æå¨ï¼æ¯æç¡®ççç¥æ§æç»ã
æ éæ¶é´çº¿ã仿´¾åä»»å¡å°ä¿®å¤å®æçº¦30åéï¼å ¶ä¸åå¤éè¯æµªè´¹äºçº¦30åééçå30åéã
äºãææ¥è¿ç¨ï¼6æ¥è¯æ®é¾å®ä½çå¶
æ´åºææ¥çæ ¸å¿æ¹æ³æ¯"è®©è¯æ®è¯´è¯"ï¼æ¯ä¸æ¥é½åºäºé误dumpãé ç½®æä»¶åæ¥å¿ä¸ç»è®ºï¼è䏿¯é çã å çæ´ä½å³çæµï¼
ææ¥å³çæµã第1æ¥ç¨é误dumpåºå"任塿²¡è°èµ·æ¥"å"è°èµ·æ¥è¢«æç»"ï¼æ¯æ´åºææ¥çåæ°´å²ã
第1æ¥ï¼å çé误 dumpââ请æ±å°åºååºå»æ²¡æï¼
å夿ç任塿²¡è°èµ·æ¥ï¼ä½é误 dump æ¾ç¤ºè¯·æ±å·²ç»èµ°å°æ¨¡å APIï¼è¢«æå¡ç«¯429æç»ââç»è®ºæ¯ä»»å¡è°èµ·æ¥äºï¼é®é¢å¨é é¢ã
彿¶ç第ä¸ç´è§æ¯ï¼ä»»å¡ç§å¤±è´¥ + 模åå unknownï¼å «ææ¯é 置缺失导è´ä»»å¡æ ¹æ¬æ²¡è·èµ·æ¥ã使å¼é误 dump éçå¼å¸¸æ åï¼å¤æç«å»å转ï¼
openai.RateLimitError: Error code: 429 - {'error': {'message': 'Your token-plan 1-week quota has been exhausted. The quota will reset at 08-20 15:29:00 UTC.', 'type': 'insufficient_quota', 'code': 'insufficient_quota'}}
å ³é®ä¿¡æ¯å¨é误类åä¸ï¼openai.RateLimitErrorãHTTP 429ãinsufficient_quotaï¼é é¢ä¸è¶³ï¼ãè¿è¯´æè¯·æ±å·²ç»éè¿äºæ¡æ¶çè°åº¦ï¼èµ°å°äº OpenAI å ¼å®¹å±ï¼ä¸ä¸ªæä¾ OpenAI å ¼å®¹ API çç½å ³ï¼ç»ä¸è½¬åå°å家模åæå¡ï¼ï¼ç¶å被æå¡ç«¯æç»ã妿æ¯ä»»å¡æ²¡è°èµ·æ¥ï¼æ ¹æ¬ä¸ä¼æè¿ä¸å± API ååºã
è¿ä¸ª dump æ¯æ´ä¸ªææ¥æéè¦çç©è¯ï¼å®è¯æ"ä»»å¡è°èµ·æ¥äºï¼æ¯é é¢é®é¢"ã
第2æ¥ï¼æ¥å ¨å±é ç½®ââæ¨¡åé ç½®ç«ç¶ä¸å¨é ç½®æä»¶é
æ¥ config.json å agent.jsonï¼æ¨¡åé ç½®åæ®µé½æ¯ç©º dictââæ¨¡åé ç½®ä¸æ¯åæ»å¨é ç½®æä»¶éçï¼èæ¯è¿è¡æ¶å¨æç®¡ççã
æ¢ç¶ç¡®è®¤æ¯é é¢é®é¢ï¼ä¸ä¸ä¸ªé®é¢å°±æ¯ï¼æ¨¡åé ç½®å°åºå¨åªé çï¼æä»¬ç¿»éäºå ¨å±ç config.json å agent.jsonï¼ç»æä¸¤ä¸ªæä»¶éçæ¨¡åé ç½®åæ®µå ¨æ¯ç©ºåå ¸ {}ã
è¿è¯´ææ¨¡åé ç½®æ¯å¹³å°è¿è¡æ¶å¨æç®¡ççï¼æ agent 维度ä¸åï¼ï¼ä¸å¨éæé ç½®æä»¶éãææ¥æ¹åéä¹è½¬åï¼"模åé ç½®åå¨åªãæä¹æ¥"ã
第3æ¥ï¼æ¥æå¡ç«¯æ¥å¿ââ两æ¡å ³é®çº¿ç´¢
æ¥å¿éåºç°ä¸¤æ¡çº¿ç´¢ï¼â åè° agent ç¨ç模ååæ°ååå·¥ä¸ä¸æ ·ï¼â¡æ 402 Insufficient Balanceï¼ä½é¢ä¸è¶³ï¼æ¥éã
çº¿ç´¢ä¸æ¥èªå¹³å°æ¥å¿çä¸è¡è¾åºï¼
Returning agent-specific model for default: aliyun/qwen3.7-plus
注æå ³é®è¯ agent-specific modelââæ¨¡åé ç½®æ¯"æ agent åºå"çãè¿è¡æ¥å¿è¯´æåè° agentï¼defaultï¼èµ°çæ¯ aliyun/qwen3.7-plusï¼åæ°åå工䏿¯åä¸ä¸ªé ç½®ã
çº¿ç´¢äºæ¯æ¥å¿é夹æç 402 Insufficient Balanceï¼ä½é¢ä¸è¶³ï¼æ¥éââè¯´ææ provider è¿è´¦æ·ä½é¢é½ä¸å¤äºï¼è¿ä¸æ¯å¤ç«ç 429 é®é¢ï¼èæ¯å¤ä¸ª provider çå¯ç¨æ§åæ¶åºé®é¢ã
第4æ¥ï¼é个æ¥è¯¢ææé ç½®ââçç¸å¤§ç½
è°ç¨ GET effective æ¥å£éä¸ªæ¥ 8 个 agent çæææ¨¡åï¼7 åæ°ååå·¥å ¨é¨ç»å® aliyun/qwen3.8-max**ï¼token-plan å¨é é¢å¥é¤ï¼ï¼åè° agent 已被人工åèµ°ã**
平尿ä¾äºæ¥è¯¢"çæé ç½®"çæ¥å£ï¼
# æ¥è¯¢æä¸ª agent å®é
çæç模åé
ç½®ï¼scope=effective 表示åæç»çæå¼ï¼
GET /api/models/active?scope=effective&agent_id=<agent_id>
æä»¬å¾ªç¯æ¥äºå ¨é¨ 8 个 agentï¼Harry + 7 åæ°ååå·¥ï¼ï¼ç»æè§¦ç®æå¿ï¼
- 7 åæ°ååå·¥å ¨é¨ç»å® aliyun/qwen3.8-maxï¼èµ°çæ¯åä¸ä¸ª token-plan å¨é é¢å¥é¤ï¼äºååæå¨å®å token é¢åº¦ç计费æ¹å¼ï¼ï¼
- åè° agent Harry å·²ç»è¢«äººå·¥åæ¢å°äºå«ç模åï¼æä»¥å®æ²¡ææï¼
- ä½ 7 个å工没人è·çåã
å°è¿éæ ¹å å·²ç»æµ®åºæ°´é¢ï¼è¿ä¸æ¯"æ²¡é æ¨¡å"ï¼èæ¯"7 个åå·¥ç»å¨åä¸ä¸ªå³å°èå°½çé é¢å¥é¤ä¸"ââé é¢ä¸èå°½ï¼å°±æ¯éä½ç½¢å·¥ã
第5æ¥ï¼Provider å¯ç¨æ§ææ¥ââåä¸é é¢å¥é¤å°±æ¯åç¹æ é
é个éªè¯å¯ç¨ providerï¼aliyun ç³»ä¸ä¸ª provider å ±ç¨åä¸å¥é¤ç«¯ç¹å ¨é¨ 429ï¼dashscope æéä»è´¹ key ä¸ºç©ºä¸ 402ï¼deepseek key ææââ彿¶å¯ä¸å¯ç¨ã
为äºè®©"为ä»ä¹åªæ deepseek è½å"è¿ä»¶äºææ®å¯æ¥ï¼æä»¬æå½æ¶ç¯å¢éææ provider çå¯ç¨æ§æäºä¸å¼ 表ï¼
| Provider | ç«¯ç¹ | 计费æ¹å¼ | æ éæ¶ç¶æ | ææ¥ç»è®º | | --- | --- | --- | --- | --- | | aliyun | token-plan.cn-beijing.maas.aliyuncs.com | token-plan å¨é é¢å¥é¤ | 429 é é¢èå°½ | 7 个åå·¥ç»å®æ¤å¥é¤ | | aliyun-tmp | åä¸ | åä¸ | 429 | ä¸ aliyun åä¸å¥é¤ç«¯ç¹ | | aliyun-tokenplan | åä¸ | åä¸ | 429 | ä¸ aliyun åä¸å¥é¤ç«¯ç¹ | | dashscope | æéä»è´¹ | æéä»è´¹ | api_key 为空 + 402 ä½é¢ä¸è¶³ | å¤ç¨ééå®é ä¸å¯ç¨ | | deepseek | api.deepseek.com | ç¬ç« key | key ææ | å¯ä¸å¯ç¨ï¼åæ¢ç®æ |
aliyun/aliyun-tmp/aliyun-tokenplan ä¸ä¸ª provider çèµ·æ¥æ¯ä¸ä¸ªé项ï¼å®é æååä¸ä¸ªå¥é¤ç«¯ç¹ââé é¢èå°½æ¶ï¼ä¸ä¸ª"é项"ä¸èµ·æ»ã
è¿å¼ 表解éäºæ´åºæ éçç»ææ§åå ãé ä¸å¼ æ¶æå¾ç徿´æ¸ æ¥ï¼
8 个 agent åèªææ per-agent 模åé ç½®ï¼ç»ä¸èµ° OpenAI å ¼å®¹å±è·¯ç±å°ä¸å providerã7 个åå·¥å ±ç¨ä¸æ¡ aliyun é é¢ééââè¿å°±æ¯åç¹ã
第6æ¥ï¼ä¿®å¤ââå¾ªç¯ PUTï¼éä¸ªåæ¢ 7 个 agent
ä¿®å¤å¨ä½æ¯å¾ªç¯è°ç¨ PUT æ¥å£ï¼æ 7 åæ°ååå·¥é个åå° deepseekï¼scope å¿ é¡»æ¯ agentï¼åªæ¹å个 agentï¼ï¼ç¶å GET éªè¯æä¹ åã
å ³é®ç¹ï¼å 为模åé ç½®æ¯ per-agent çï¼æ²¡æ"ä¸é®å ¨å"çå ¥å£ï¼åªè½éä¸ªåæ¢ãä¿®å¤å½ä»¤å¦ä¸ï¼agent_id 为示æï¼å®é æå¹³å°ç agent å表循ç¯ï¼ï¼
# å¾ªç¯æ 7 个æ°ååå·¥ agent åæ¢å° deepseek
# scope=agent 表示åªä¿®æ¹å个 agent çæ¨¡åé
ç½®ï¼ä¸å½±ååè° agent
for agent_id in product-manager project-admin developer qa ops ui frontend; do
curl -X PUT "https://<qwenpaw-host>/api/models/active" \
-H "Content-Type: application/json" \
-d "{
\"provider_id\": \"deepseek\",
\"model\": \"deepseek-v4-flash\",
\"scope\": \"agent\",
\"agent_id\": \"$agent_id\"
}"
done
# 忢åå¿
é¡»éªè¯ï¼é个 GET effective 确认已æä¹
å
for agent_id in product-manager project-admin developer qa ops ui frontend; do
curl "https://<qwenpaw-host>/api/models/active?scope=effective&agent_id=$agent_id"
done
忢宿åï¼æä»¬éæäº3æ¡æ ¸å¿ä»»å¡ï¼60ç§åæ£æ¥å ¨é¨ runningï¼ä¹åæ¯ç§å¤±è´¥ï¼ï¼3åéã4.5åéåå夿¥äºä¸¤æ¬¡ï¼æç» runningï¼åçæå¡ç«¯æ¥å¿ï¼ç¡®è®¤åæ¢åé¶é é¢é误ã
ä¸ãæ ¹å ï¼ä¸ºä»ä¹è¿æ¬¡æ é"å¿ åç"
è¿æ¬¡æ é䏿¯å¶ç¶ï¼æ¯"per-agent 模åé ç½® + åä¸é é¢å¥é¤ + æ å¯ç¨ fallback"ä¸éå å çå¿ ç¶ç»æã
å¤ç䏿¥ï¼æ ¹å å¯ä»¥ææä¸å±ï¼
- é ç½®å±ï¼æ¨¡åé ç½®æ¯ per-agent çãåè° agent 被人工åèµ°æ¶ï¼7 个å工没æè·çåââ"æ¹ä¸ä¸ªä¸çäºæ¹å ¨é¨"ã
- èµæºå±ï¼7 个åå·¥å ±ç¨ä¸ä¸ª token-plan å¨é é¢å¥é¤ï¼é é¢èå°½ = éä½ç½¢å·¥ãaliyun/aliyun-tmp/aliyun-tokenplan ä¸ä¸ª provider ååä¸åï¼æååä¸ä¸ªå¥é¤ç«¯ç¹ï¼æ¬è´¨æ¯åä¸ä¸ªèµæºã
- 容ç¾å±ï¼æ²¡æå¯ç¨ç fallbackãdashscope æéä»è´¹æ¬æ¥æ¯æåççå¤ç¨ééï¼ä½å½æ¶ api_key 为空ãä½é¢è¿ä¸è¶³ï¼402ï¼ï¼çäºä¿é©ä¸ç§äºæ²¡å¾æ¢ã
ä»»ä½ä¸ä¸ªå±é¢å µä½ï¼è¿æ¬¡æ éé½ä¸ä¼åçï¼æ¯å¦å·¡æ£æ¶åç°åå·¥è¿ç»å¨æ§å¥é¤ãæ¯å¦ dashscope ééæåé 好 keyãæ¯å¦é é¢åè¦ã
åãç»æï¼3æ¡ä»»å¡æ¢å¤ï¼CI 馿¬¡å ¨ç»¿
彿3æ¡æ ¸å¿ä»»å¡å ¨é¨æ¢å¤æ§è¡ï¼æç»äº§åº6个 MR å ¨é¨åå ¥ develop 忝ï¼CI æµæ°´çº¿é¦æ¬¡å ¨ç»¿ã
ä»åç°æ éå°ä¿®å¤å®æçº¦ 30 åéï¼æç»æ°æ®ï¼
- 3 æ¡æ ¸å¿ä»»å¡æ¢å¤æ§è¡ï¼å ¨é¨è·å®ï¼
- äº§åº 6 个 MRï¼å ¨é¨åå ¥ develop 忝ï¼
- CI æµæ°´çº¿é¦æ¬¡å ¨ç»¿ï¼build 25s + lint 50s + test 50sï¼
- æå¡ç«¯æ¥å¿é¶é é¢é误ã
è¿æ¬¡æ éæ²¡æé æå¼åè¿åº¦æå¤±ï¼ä½ç»æä»¬ä¸äºä¸è¯¾ï¼å¤Agent ç³»ç»ç"åç¹"å¾å¾è卿¨¡åé ç½®å±ï¼è䏿¯ä»£ç å±ã
äºã䏿¡é¢é²æªæ½ï¼åç»ææå¤Agentç³»ç»
è¿ä¸æ¡ä¸æ¯é坹䏿¬¡æ éçè¡¥ä¸ï¼èæ¯ä»»ä½è·çå¤ä¸ª agent çå¢éé½è¯¥å ç½®çè¿ç»´ä¹ æ¯ã
1. 建ç«"é个éªè¯ææé ç½®"çå·¡æ£ä¹ æ¯
per-agent 模åé ç½®æ¯å¸¸æï¼"æ¹ä¸ä¸ª agent"ä¸çäº"æ¹å ¨é¨ agent"ãæä»¬ç°å¨çåæ³æ¯ï¼ä»»ä½æ¨¡åé ç½®åæ´åï¼æ¹é GET effective æ¥å£éä¸ªæ ¸å¯¹ï¼è䏿¯æ¹å®å°±é»è®¤çæãæ"æ¥çæé ç½®"åè¿å叿µç¨ï¼å°±åä¸çº¿åæ£æ¥ç¯å¢åé䏿 ·èªç¶ã
2. ä»»å¡å¤±è´¥å çé误 dumpï¼åä¸ç»è®º
"任塿²¡è°èµ·æ¥"å"è°èµ·æ¥è¢«æç»"æ¯ä¸¤ç±»å®å ¨ä¸åçæ éï¼ææ¥æ¹åæªç¶ç¸åãè¿æ¬¡å¦ææ²¡æé误 dump éçå¼å¸¸æ ï¼æä»¬ä¼ä¸ç´å¨è°åº¦å±æ¾é®é¢ãè¯æ®æ¯ç´è§å¯é ââåªææ¥ééçæ¨¡å忝 unknownï¼ä¹ä¸è¦è¢«å®å¸¦åï¼è¦ç宿´ dumpã
3. å ³é®ä¾åºåå¿ é¡»æ fallback
åä¸é é¢å¥é¤ = åç¹æ éãé é¢èå°½åä½é¢ä¸è¶³æ¯äºæå¡åçæ¥å¸¸ï¼ä»»ä½å ³é®ä¾åºåé½è¦æä¸æ¡æéä»è´¹çå¤ç¨ééï¼åªæè´µä¸ç¹ï¼å®æ¯ä¿é©ä¸ââè¿æ¬¡å¦æä¸æ¯ deepseek ç key ä¸ç´ææï¼æä»¬è¿å齿²¡å¾åã
ä½ çå¤Agentç³»ç»éå°è¿ç±»ä¼¼çéä½ç½¢å·¥åï¼æ¬¢è¿å¨è¯è®ºåºåäº«ä½ éå°çæ¥éåææ¥ç»åââå°¤å ¶æ¯é£äº"çèµ·æ¥åé ç½®é®é¢ï¼å ¶å®æ¯é é¢é®é¢"çåã
Aitishiku.com