-
Notifications
You must be signed in to change notification settings - Fork 160
Description
Even after exceeding maxToolCalls, DeepResearch never stops producing ResponseFunctionWebSearch.
However, after that point, ResponseFunctionWebSearch.action becomes empty that causes
So if I set maxToolCalls to 5, DeepResearch returned Response.output with more than 50 of ResponseReasoningItem and ResponseFunctionWebSearch, but only the first 2 of ResponseFunctionWebSearch has valid action parameters.
Example output shown below.
ResponseOutputItem{webSearchCall=ResponseFunctionWebSearch{id=ws_68affc98f75c8193abaae4fa49b12d4306939ec79bab8479, action=Action{search=Search{query=今週 IT ニュース 日本 2025 最新, type=search, additionalProperties={}}}, status=completed, type=web_search_call, additionalProperties={}}},
ResponseOutputItem{reasoning=ResponseReasoningItem{id=rs_68affc99cbe081938dea99aef23c678206939ec79bab8479, summary=[], type=reasoning, content=, encryptedContent=, status=, additionalProperties={}}},
ResponseOutputItem{webSearchCall=ResponseFunctionWebSearch{id=ws_68affc9aef748193840f030549e3acba06939ec79bab8479, action=Action{search=Search{query=2025年8月 IT ニュース 日本, type=search, additionalProperties={}}}, status=completed, type=web_search_call, additionalProperties={}}},
ResponseOutputItem{reasoning=ResponseReasoningItem{id=rs_68affc9b795481938611baeddf93669c06939ec79bab8479, summary=[], type=reasoning, content=, encryptedContent=, status=, additionalProperties={}}},
ResponseOutputItem{webSearchCall=ResponseFunctionWebSearch{id=ws_68affc9bfba0819398ad9ea0f0b8cef206939ec79bab8479, action=, status=completed, type=web_search_call, additionalProperties={}}},
ResponseOutputItem{reasoning=ResponseReasoningItem{id=rs_68affc9c59b481939ac57623b9aa479506939ec79bab8479, summary=[], type=reasoning, content=, encryptedContent=, status=, additionalProperties={}}},
ResponseOutputItem{webSearchCall=ResponseFunctionWebSearch{id=ws_68affca030cc8193a2584678fe41ccbb06939ec79bab8479, action=, status=completed, type=web_search_call, additionalProperties={}}},
I observed this issue in ver 3.1.2, with both o3-deep-research and o4-deep-research-mini.
I also tested the Web Search Tool, but no similar problems.
As per this guide, we should be able to control how many WebSearchCalls DeepResearch can produce.
So I think there is 2 problems.
- DeepResearch does not finish producing WebSearchCall even after exceeding maxToolCalls.
- After exceeding maxToolCalls, DeepResearch creates WebSearchCall with empty/invalid action, which throws "com.openai.errors.OpenAIInvalidDataException:
action
is not set"
Please let me know if you need further info.