【故障解决分享】openclaw → cpa plus 6.9.5-0-plus → 第三方 gpt-5.4 chat completions tools 相关报错
- 内容介绍
- 文章标签
- 相关推荐
如有理解错误,欢迎指出交流。
环境背景: openclaw 版本:2026.3.3 。cpa plus 版本:6.9.5-0-plus 上游供应商接口:/v1/chat/completions(openai-compatible),gpt5.4
报错: 400 An assistant message with ‘tool_calls’ must be followed by tool messages responding to each ‘tool_call_id’. The following tool_call_ids did not have response messages: call_DohhiOWokIol8IAEGaEIqWNn
大意: assistant 返回了 tool_calls,但后续没有被模型提供方识别到对应的 tool_call_id 返回结果,因此请求被判定为工具调用链不完整。
我这边最终可行的处理方式:
将 CPA Plus 6.9.5-0-plus 更换为主线 CPA 6.9.7 更换后,我这边这个问题消失了
注意:这里我只能确认“对我当前这套环境有效”,还不能完全下结论说“官方已经明确修复了这个具体 bug”。
我的排查结论
在使用龙虾时,遇到上述 400 tools 报错。期间做过这些排查/排除: 从较旧版本 CPA 升级到 CPA Plus 更换供应商 去掉 CPA 层直连测试 调整 CPA 配置 重开会话 排除 heartbeat / fallback / hook 干扰
最终根据本地日志和会话痕迹,我目前的判断是:高度怀疑 CPA/兼容层在 tools 回传时,对 tool_call_id 的包装存在不一致,导致上游模型校验时认为缺少对应的 tool result。
也就是说,现象上更像是:
OpenClaw 把消息和 tools 发给中间层 → 上游返回需要调用的 tool → 本地工具执行后,准备把 tool result 回传 → 但中间层前后使用的 tool_call_id 没有完全对齐 → 最终导致模型提供方认为“这个 tool_call_id 没有收到对应的 tool message”,于是报 400
当前我对事情的谨慎表述:
这个现象与公开项目里出现过的几类问题有一定相似性,例如:
tool_result 缺失tool pairing breakopenai responses translator 修复相关问题
但因为我还没有对cpa plus源码做逐行确认,所以目前更准确的说法是:
这是一个基于日志和现象的怀疑,而不是已经完全源码实锤的最终结论。
如果你也遇到类似报错,并且环境接近:
openclaw 2026.3.3cpa plus 6.9.5-0-plus第三方 openai-compatible gpt-5.4tools / tool_calls 场景
可以先尝试:
把 cpa plus 6.9.5-0-plus 换成更新的主线 cpa至少在我这边,这样处理后问题消失了
网友解答:--【壹】--:
如有理解错误,欢迎指出交流。
环境背景: openclaw 版本:2026.3.3 。cpa plus 版本:6.9.5-0-plus 上游供应商接口:/v1/chat/completions(openai-compatible),gpt5.4
报错: 400 An assistant message with ‘tool_calls’ must be followed by tool messages responding to each ‘tool_call_id’. The following tool_call_ids did not have response messages: call_DohhiOWokIol8IAEGaEIqWNn
大意: assistant 返回了 tool_calls,但后续没有被模型提供方识别到对应的 tool_call_id 返回结果,因此请求被判定为工具调用链不完整。
我这边最终可行的处理方式:
将 CPA Plus 6.9.5-0-plus 更换为主线 CPA 6.9.7 更换后,我这边这个问题消失了
注意:这里我只能确认“对我当前这套环境有效”,还不能完全下结论说“官方已经明确修复了这个具体 bug”。
我的排查结论
在使用龙虾时,遇到上述 400 tools 报错。期间做过这些排查/排除: 从较旧版本 CPA 升级到 CPA Plus 更换供应商 去掉 CPA 层直连测试 调整 CPA 配置 重开会话 排除 heartbeat / fallback / hook 干扰
最终根据本地日志和会话痕迹,我目前的判断是:高度怀疑 CPA/兼容层在 tools 回传时,对 tool_call_id 的包装存在不一致,导致上游模型校验时认为缺少对应的 tool result。
也就是说,现象上更像是:
OpenClaw 把消息和 tools 发给中间层 → 上游返回需要调用的 tool → 本地工具执行后,准备把 tool result 回传 → 但中间层前后使用的 tool_call_id 没有完全对齐 → 最终导致模型提供方认为“这个 tool_call_id 没有收到对应的 tool message”,于是报 400
当前我对事情的谨慎表述:
这个现象与公开项目里出现过的几类问题有一定相似性,例如:
tool_result 缺失tool pairing breakopenai responses translator 修复相关问题
但因为我还没有对cpa plus源码做逐行确认,所以目前更准确的说法是:
这是一个基于日志和现象的怀疑,而不是已经完全源码实锤的最终结论。
如果你也遇到类似报错,并且环境接近:
openclaw 2026.3.3cpa plus 6.9.5-0-plus第三方 openai-compatible gpt-5.4tools / tool_calls 场景
可以先尝试:
把 cpa plus 6.9.5-0-plus 换成更新的主线 cpa至少在我这边,这样处理后问题消失了
如有理解错误,欢迎指出交流。
环境背景: openclaw 版本:2026.3.3 。cpa plus 版本:6.9.5-0-plus 上游供应商接口:/v1/chat/completions(openai-compatible),gpt5.4
报错: 400 An assistant message with ‘tool_calls’ must be followed by tool messages responding to each ‘tool_call_id’. The following tool_call_ids did not have response messages: call_DohhiOWokIol8IAEGaEIqWNn
大意: assistant 返回了 tool_calls,但后续没有被模型提供方识别到对应的 tool_call_id 返回结果,因此请求被判定为工具调用链不完整。
我这边最终可行的处理方式:
将 CPA Plus 6.9.5-0-plus 更换为主线 CPA 6.9.7 更换后,我这边这个问题消失了
注意:这里我只能确认“对我当前这套环境有效”,还不能完全下结论说“官方已经明确修复了这个具体 bug”。
我的排查结论
在使用龙虾时,遇到上述 400 tools 报错。期间做过这些排查/排除: 从较旧版本 CPA 升级到 CPA Plus 更换供应商 去掉 CPA 层直连测试 调整 CPA 配置 重开会话 排除 heartbeat / fallback / hook 干扰
最终根据本地日志和会话痕迹,我目前的判断是:高度怀疑 CPA/兼容层在 tools 回传时,对 tool_call_id 的包装存在不一致,导致上游模型校验时认为缺少对应的 tool result。
也就是说,现象上更像是:
OpenClaw 把消息和 tools 发给中间层 → 上游返回需要调用的 tool → 本地工具执行后,准备把 tool result 回传 → 但中间层前后使用的 tool_call_id 没有完全对齐 → 最终导致模型提供方认为“这个 tool_call_id 没有收到对应的 tool message”,于是报 400
当前我对事情的谨慎表述:
这个现象与公开项目里出现过的几类问题有一定相似性,例如:
tool_result 缺失tool pairing breakopenai responses translator 修复相关问题
但因为我还没有对cpa plus源码做逐行确认,所以目前更准确的说法是:
这是一个基于日志和现象的怀疑,而不是已经完全源码实锤的最终结论。
如果你也遇到类似报错,并且环境接近:
openclaw 2026.3.3cpa plus 6.9.5-0-plus第三方 openai-compatible gpt-5.4tools / tool_calls 场景
可以先尝试:
把 cpa plus 6.9.5-0-plus 换成更新的主线 cpa至少在我这边,这样处理后问题消失了
网友解答:--【壹】--:
如有理解错误,欢迎指出交流。
环境背景: openclaw 版本:2026.3.3 。cpa plus 版本:6.9.5-0-plus 上游供应商接口:/v1/chat/completions(openai-compatible),gpt5.4
报错: 400 An assistant message with ‘tool_calls’ must be followed by tool messages responding to each ‘tool_call_id’. The following tool_call_ids did not have response messages: call_DohhiOWokIol8IAEGaEIqWNn
大意: assistant 返回了 tool_calls,但后续没有被模型提供方识别到对应的 tool_call_id 返回结果,因此请求被判定为工具调用链不完整。
我这边最终可行的处理方式:
将 CPA Plus 6.9.5-0-plus 更换为主线 CPA 6.9.7 更换后,我这边这个问题消失了
注意:这里我只能确认“对我当前这套环境有效”,还不能完全下结论说“官方已经明确修复了这个具体 bug”。
我的排查结论
在使用龙虾时,遇到上述 400 tools 报错。期间做过这些排查/排除: 从较旧版本 CPA 升级到 CPA Plus 更换供应商 去掉 CPA 层直连测试 调整 CPA 配置 重开会话 排除 heartbeat / fallback / hook 干扰
最终根据本地日志和会话痕迹,我目前的判断是:高度怀疑 CPA/兼容层在 tools 回传时,对 tool_call_id 的包装存在不一致,导致上游模型校验时认为缺少对应的 tool result。
也就是说,现象上更像是:
OpenClaw 把消息和 tools 发给中间层 → 上游返回需要调用的 tool → 本地工具执行后,准备把 tool result 回传 → 但中间层前后使用的 tool_call_id 没有完全对齐 → 最终导致模型提供方认为“这个 tool_call_id 没有收到对应的 tool message”,于是报 400
当前我对事情的谨慎表述:
这个现象与公开项目里出现过的几类问题有一定相似性,例如:
tool_result 缺失tool pairing breakopenai responses translator 修复相关问题
但因为我还没有对cpa plus源码做逐行确认,所以目前更准确的说法是:
这是一个基于日志和现象的怀疑,而不是已经完全源码实锤的最终结论。
如果你也遇到类似报错,并且环境接近:
openclaw 2026.3.3cpa plus 6.9.5-0-plus第三方 openai-compatible gpt-5.4tools / tool_calls 场景
可以先尝试:
把 cpa plus 6.9.5-0-plus 换成更新的主线 cpa至少在我这边,这样处理后问题消失了

