fix(core): reset length_continue_retries after successful continuation
length_continue_retries and truncated_response_prefix were initialized once before the outer loop and never reset after a successful continuation. If a conversation hit length truncation once (counter=1), succeeded on continuation, did more tool calls, then hit length again, the counter started at 1 instead of 0 — reducing available retries from 3 to 2. The stale truncated_response_prefix would also leak into the next response. Reset both after the prefix is consumed on a successful final response.
This commit is contained in:
parent
4433b83378
commit
24282dceb1
1 changed files with 2 additions and 0 deletions
|
|
@ -6169,6 +6169,8 @@ class AIAgent:
|
||||||
|
|
||||||
if truncated_response_prefix:
|
if truncated_response_prefix:
|
||||||
final_response = truncated_response_prefix + final_response
|
final_response = truncated_response_prefix + final_response
|
||||||
|
truncated_response_prefix = ""
|
||||||
|
length_continue_retries = 0
|
||||||
|
|
||||||
# Strip <think> blocks from user-facing response (keep raw in messages for trajectory)
|
# Strip <think> blocks from user-facing response (keep raw in messages for trajectory)
|
||||||
final_response = self._strip_think_blocks(final_response).strip()
|
final_response = self._strip_think_blocks(final_response).strip()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue