快速结论:这个报错通常出现在查看或运行 OpenAI Python SDK 自带的 Responses 接口测试示例时:测试代码把 context_management 的 type 写成了占位值 "type",而 SDK 类型定义与 API 规范只支持 "compaction"。优先排查你参考的示例/测试是否来自旧版生成内容,而不是你的业务代码逻辑。
适用环境:OpenAI Python SDK v2.20.0;Python 3.12;操作系统 AnyOS(Issue 标注)。Issue 未提供 CUDA、显卡等依赖信息。
最快修复方案:将 context_management 中的 "type" 改为 "compaction",即使用 {"type": "compaction", "compact_threshold": 1000}。这是 Issue 中明确指出的唯一受支持枚举值。
注意事项:该修复已在 main 分支合并(#3896),但截至 v3.16.2 尚未包含该修正,正式发布前旧版本中仍可能看到错误的生成示例。若你直接依赖 SDK 源码中的示例,需注意版本差异,不要仅凭测试文件判断 SDK 行为。
问题场景
用户在使用 OpenAI Python SDK 的 client.responses.create() 时,参考了 tests/api_resources/test_responses.py 或生成示例中的 context_management 参数写法。示例里 type 的取值是占位符 "type",导致按照示例传参时无法触发实际的上下文压缩逻辑。该问题属于 SDK 自动生成的测试/示例文件中的取值错误,而非用户业务代码本身的问题。
报错原文
context_management=[{"type": "type"}] in tests, not 'compaction'
原因分析
最可能的原因是:测试文件和示例代码由 Stainless 根据 OpenAPI 规范自动生成,生成过程中把 context_management[].type 的占位符 "type" 当成了实际取值写进示例,而没有替换为规范中唯一支持的枚举值 "compaction"。SDK 源码 src/openai/types/responses/response_create_params.py 的注释也写明目前仅支持 'compaction'。因此使用 "type" 时,API 不会执行预期的上下文管理逻辑。由于问题出在生成器/规范层面,直接改测试文件并不是根本修复方式。
环境排查
- 确认 OpenAI Python SDK 版本:Issue 报告版本为 v2.20.0。
- 确认 Python 版本:Issue 报告为 3.12。
- 确认
context_management中type的实际取值是"type"还是"compaction"。 - 确认参考的测试或示例代码是来自 SDK 安装包、本地源码,还是旧版本生成内容。
- 如启用了 Pydantic 校验,确认校验是否通过;Issue 中提到该参数在有/无 Pydantic 校验下均可工作。
解决步骤
- 把你的调用代码中的
context_management改为正确枚举值:
response = client.responses.create(
background=True,
context_management=[
{
"type": "compaction",
"compact_threshold": 1000,
}
],
)
- 如果你是在阅读 SDK 自带的测试文件或生成示例,注意该处占位符
"type"是自动生成遗留问题,不要照搬。 - 升级到包含 #3896 修正的 SDK 版本;在升级前,Issue 明确指出修正“pending release and is not included in v3.16.2”,因此 v3.16.2 及更早版本中仍可能存在错误示例。
- 不要仅修改
tests/api_resources/test_responses.py来“修复”,因为该文件由 Stainless 从 OpenAPI 规范自动生成,真正修复需落在规范/生成器,已在 #3896 处理。
验证方法
使用 {"type": "compaction", "compact_threshold": 1000} 调用 client.responses.create(),确认请求正常提交;Issue 评论指出 API 在参数正确时会实际执行上下文管理逻辑,且在有/无 Pydantic 校验的情况下均可工作。若你升级到包含 #3896 的版本,可检查稳定版与 beta 测试中生成示例是否都已改为 "type": "compaction"。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。

![[Bug]: Zero-cost budget bypass leaks unbounded spend when the free model has a paid fallback](https://www.chat-gpts.plus/wp-content/uploads/2026/09/41344-83830b1b-768x403.jpg)
