Gemini-3.8-flash 和 gemini-3.1-flash-lite 偶尔报 400 错误说不支持后台交互到底是怎么回事
在公司推行 AI 自动化流程的时候,最怕的就是这种“随机性”的 API 报错。最近我们在调用 Interactions API 处理一些异步任务,结果在 2026-09-21 这一天遇到了非常诡异的情况:Gemini-3.8-flash 和 gemini-3.1-flash-lite 这两个模型突然开始间歇性地返回 HTTP 400 错误,提示 does not support background interactions。
最让人抓狂的是,这根本不是一个持续性的故障,而是一种“抽风”状态。同一套请求参数,早些时候跑得好好的,到了晚上突然报错,过了几个小时又神奇地恢复了。
具体的报错复现过程
这次的问题出在后台执行(background execution)上。我们的请求结构一直没变,用的也是 2026-05-20 这个 Api-Revision 版本。
具体的请求体大概长这样:
{
"model": "gemini-3.8-flash",
"background": true,
"store": true,
"generation_config": { "temperature": 0.1 },
"response_format": { "type": "text", "mime_type": "application/json", "schema": { "..." } },
"webhook_config": { "uris": ["example"], "user_metadata": { "..." } },
"system_instruction": "...",
"input": "..."
}
在这个配置下,我们观察到了一个很离谱的时间线(UTC 时间):
- 2026-09-21 14:50:同样的客户端、同样的请求参数,两个模型都能正常创建后台交互,并且顺利完成。
- 2026-09-21 20:55 到 21:10:突然开始大面积崩掉。请求直接被拦截,返回 HTTP 400 错误,具体的报错原文是:
{"error":{"message":"Model ‘gemini-3.8-flash’ does not support background interactions.","code":"invalid_request"}} - 对于 gemini-3.1-flash-lite:{"error":{"message":"Model ‘gemini-3.1-flash-lite’ does not support background interactions.","code":"invalid_request"}} 而且最诡异的是,在同一个时间窗里,有些请求居然能拿到 interaction id,但随后又报告失败。 - 2026-09-22 02:40:在没有任何代码变更的情况下,同样的请求(包含 JSON schema 和 webhook_config)再次被接受,状态回到了
in_progress。
为什么这个报错很坑
如果只是普通的网络波动或服务宕机,通常会报 500 或 503。但这次 Google 返回的是 400 错误,而且明确在 message 里写了“模型不支持该功能”。
这给开发者的误导性极大。按照官方文档(最后更新于 2026-09-17)的描述,标准的 Gemini 模型(比如 gemini-3.8-flash)是明确支持后台执行的,而且在 Webhook 指南里也直接用了 background: true 的示例。更何况,当时的变更日志里根本没有任何关于这两个模型失去后台支持的通知。
总结与避坑建议
这次经历告诉我们,即便官方文档写了支持,在实际落地公司业务时,对于这种异步回调机制,必须做好极强的重试机制和异常捕获。
因为这次报错的文本是 does not support,很多习惯于根据错误信息做逻辑判断的程序可能会直接判定为“配置错误”而停止重试,但实际上这可能只是一个暂时的服务波动。
如果你的项目也用到了 https://generativelanguage.googleapis.com/v1beta/interactions 这个端点,建议在日志里把 invalid_request 类的 400 错误详细记录下来,不要盲目相信文档里的“支持列表”,因为实际运行时的状态可能随时在变。
全部回复 (3)
想当场把话说完?进全球 AI 聊天室,登录就能开口。
把 background 设成 false 绕过去就行,我之前为了强行异步硬扛 400 报错,结果白忙活了一个晚上。