1. 不要丢掉 Grok 429 的错误正文
只记录 HTTP 429 会丢失最关键的分流信息。部分响应会带有 code、滚动时间窗口、tokens actual/limit 或重置提示,这些字段比笼统的“限流”更能说明下一步。
| 错误线索 | 更可能的原因 | 优先动作 |
|---|---|---|
| free-usage-exhausted | 当前账户包含额度已用完 | 等待窗口或切换付费额度 |
| actual/limit Token | 滚动 Token 窗口达到上限 | 缩短上下文与输出 |
| retry-after | 短时速率限制 | 按提示等待并退避 |
| 中转控制台显示密钥额度不足 | 平台 Key 预算或并发限制 | 调整密钥额度或并发 |

2. 评论区的共同点:长任务比对话轮数更重要
某社区 的 Grok 使用讨论中,有用户反馈连续数小时运行编码任务后额度迅速耗尽;另一些评论则强调限制可能按滚动窗口计算。可复用的结论不是某个固定额度数字,而是:上下文、工具返回和输出 Token 才是主要消耗项,限额也可能随产品策略变化。
3. 先量化上下文和工具返回
- 记录失败前最后一个成功请求的输入与输出 Token。
- 检查是否重复发送完整仓库、长日志或大型工具结果。
- 关闭并行 Agent,只保留一个最小任务。
- 新建短会话,用同一模型发送一句提示。
- 比较短请求与原任务的状态码。
- 查看响应头和控制台中的重置时间。
4. 429 只做有限指数退避
MAX_RETRIES = 4
for attempt in range(MAX_RETRIES):
response = request()
if response.ok: return response
if response.status != 429: raise response.error
sleep(RETRY_AFTER or (2 ** attempt) + RANDOM_JITTER)
raise "rate limit still active"达到上限后应停止,避免失败请求继续消耗客户端资源。涉及写入或扣费操作时,还要保证请求可安全重试。
5. Grok API 中转站的两层额度
使用中转 API 时,需要同时考虑平台 Key 的预算与上游模型限制。控制台没有请求记录时查 Base URL、代理和客户端;有记录且平台返回密钥额度不足时调整 Key;平台记录了上游 429 时,再结合错误正文判断模型窗口。
island AI Coding 的 OpenAI 兼容 Base URL 为 https://www.codex789.com/v1,模型代号以模型广场与创建密钥页面为准。
6. 恢复后逐步放大请求
先用固定模型执行短请求,然后逐步增加上下文、工具结果和并发。连续记录数次成功请求的 Token 与延迟;如果恢复到某一负载就再次 429,该负载就是当前优化重点。
7. 常见问题
Grok API 429 一定是账户没钱吗?
不一定。429 可能来自短时速率、滚动 Token 窗口、免费额度、平台密钥预算或上游容量,应读取完整错误正文。
为什么长时间 Coding 任务更容易 429?
每轮可能重复发送仓库上下文和工具结果,实际 Token 增长远快于对话轮数。压缩上下文和限制工具输出通常比单纯减少提问次数有效。
Grok 429 应该无限自动重试吗?
不应该。应遵循 retry-after 或有限指数退避,达到上限后停止并向用户说明等待时间。
如何区分平台限额与上游 Grok 限额?
核对中转控制台记录与响应正文。平台 Key 预算不足和上游返回的 rate-limit code 通常会留下不同记录。
* 本文由 island AI Coding 技术团队根据官方文档与公开问题记录原创整理。公开 issue 描述的是特定版本和环境,修复状态可能变化;操作前请记录版本并保留回滚路径。更新时间:2026-08-19。
参考:xAI API 限流说明 · 某社区 Grok 额度与 429 讨论