Skip to content

Codex/stream tool args truncation error - #728

Open
JohnYin-hub wants to merge 3 commits into
devfrom
codex/stream-tool-args-truncation-error
Open

Codex/stream tool args truncation error#728
JohnYin-hub wants to merge 3 commits into
devfrom
codex/stream-tool-args-truncation-error

Conversation

@JohnYin-hub

Copy link
Copy Markdown
Contributor

变更说明

修复 LLM 流式输出工具参数时被 length/max_tokens 截断,导致 JSON 不完整后被当作普通解析失败处理、工具不执行且会话可能静默完成的问题。

主要改动:

  • 新增 StreamToolArgumentsTruncatedError,将工具参数截断与普通 JSON 解析失败区分。
  • 截断场景下标记 tool input error,不执行工具,也不走 JSON repair/invalid tool 路径。
  • runner 对该错误执行受控重试:重试前删除失败 assistant message 并创建新 message。
  • 若已有工具执行开始,则禁止重试和 failover,避免重复执行副作用工具。
  • 重试耗尽且无工具副作用时,允许自动 failover。

验证:

  • 关键新增/相关用例通过:8 passed
  • 相关 session 子集通过:211 passed
  • failover 回归通过:4 passed
  • ruff / compileall / diff check 通过

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant