快速结论:该报错通常发生在通过 Ollama 的 POST /v1/responses 端点运行 OpenAI Codex CLI 多智能体(multi-agent)功能时,请求 input 数组中包含 "type": "agent_message" 的输入项,被 Ollama 校验阶段直接拒绝。优先确认 Ollama 版本以及 Codex CLI 是否启用了多智能体,并检查是否需要更新到已包含代理修复的版本。
适用环境:Issue 中已确认:Ollama 0.33.3,macOS 26.6.2 arm64(Apple silicon);触发客户端为 OpenAI Codex CLI 0.153.4(启用 multi-agent);端点 POST /v1/responses。模型使用 qwen3.8:27b-mlx,但校验在推理之前失败,模型本身与问题无关。
最快修复方案:Issue 最终状态为 “Fixed with the proxy work!”,即该问题已通过 Codex 代理相关工作(关联 #18244)修复。首选处理方式是升级到包含该代理修复的 Ollama 版本;若暂时无法升级,可使用 Issue 中已验证的代理重写方案作为临时绕过。
注意事项:Issue 中没有给出具体修复版本号或提交哈希,因此无法确认哪个确切版本包含修复,需要以实际发布说明为准。已验证的代理重写方案属于客户端侧或中间代理层规避,不是 Ollama 服务端原生支持;encrypted_content 在该场景中实际承载的是明文,因此可直接拼接使用,但若后续内容真正加密,该绕过方案可能失效。
问题场景
用户在 Ollama 上通过 OpenAI 兼容端点 POST /v1/responses 使用 OpenAI Codex CLI 的多智能体功能。父代理调用 spawn_agent 创建子代理后,会在下一次请求中把子代理的任务以 agent_message 类型的输入项发送给 Ollama。Ollama 在请求校验阶段即返回 400,导致子代理虽然被创建,却永远收不到任务指令。
报错原文
{"error":{"message":"input[1]: unknown input item type: \"agent_message\"","type":"invalid_request_error","param":null,"code":null}}
HTTP 400
实际 Codex 运行中观察到的报错形式为:
ERROR: {"error":{"message":"input[11]: unknown input item type: \"agent_message\"", ...}}
原因分析
最可能的原因是 Ollama 的 openai/responses.go 中对输入项类型使用 switch itemType 处理,已支持 message、function_call、function_call_output、tool_search_call、tool_search_output、reasoning、web_search_call、compaction、compaction_trigger 等类型,但没有 agent_message 分支,于是落入 default 并返回 unknown input item type。该请求在推理之前就于校验阶段被拒绝,因此无需加载模型即可复现。
Issue 评论中已通过针对 unmarshalResponsesInputItem 的单元测试在 main(83ed7d99)上复现,确认拒绝来自该类型 switch 的 default 分支。
环境排查
- 确认 Ollama 版本是否为 0.33.3 或同系列未包含代理修复的版本。
- 确认操作系统与架构,Issue 环境为 macOS 26.6.2 arm64(Apple silicon)。
- 确认是否使用 OpenAI Codex CLI,以及是否启用 multi-agent;Issue 环境为 0.153.4。
- 确认触发端点为
POST /v1/responses,而非其他兼容端点。 - 确认请求
input数组中是否出现"type": "agent_message"。 - 确认是否已部署 Codex 代理层,以及该代理是否包含对
agent_message的处理。
解决步骤
- 先确认问题来自
agent_message输入项:检查请求体中input数组是否包含"type": "agent_message"。 - 优先升级 Ollama 到已包含 Codex 代理修复的版本,因为 Issue 最终以 “Fixed with the proxy work!” 关闭,修复与 #18244 的 Codex 桌面代理工作相关。
- 若暂时无法升级,可优先尝试在 Codex 与 Ollama 之间加一层代理,把
agent_message项重写为标准的message项,将input_text与encrypted_content的文本内容拼接后放入单个 user 消息的input_text中。Issue 中给出了该重写形式:
{"type": "message", "role": "user",
"content": [{"type": "input_text",
"text": "<the input_text text><the encrypted_content text>"}]}
该代理重写方案在原 Issue 中被标记为已验证(known-good workaround),足以让 Codex 客户端正常工作。
验证方法
升级或应用代理重写后,重新运行 Codex multi-agent 流程,确认父代理 spawn_agent 之后的请求不再返回 400 invalid_request_error,且子代理能够收到任务并返回预期结果。也可以直接用 Issue 中的 curl 复现请求验证:若返回不再包含 unknown input item type: "agent_message",说明该输入项已被接受。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。

![[BUG] Task output schema in the prompt marks Optional fields as required and strips null, so the model cannot express "not applicable"](https://www.chat-gpts.plus/wp-content/uploads/2026/09/6774-15a8d678-768x403.jpg)
