fix: clear agent executor messages when reused across tasks #4320
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Fixes #4319
When the same agent is reused across multiple sequential tasks (common pattern in Flow with
@listendecorators), the agent executor's message history was not being cleared between tasks. This caused messages to accumulate, leading to duplicate system messages, context pollution, and eventually crashes with "Invalid response from LLM call - None or empty".The fix adds two lines to
_update_executor_parameters()inagent/core.pyto clear the messages list and reset the iterations counter when the agent executor is reused for a new task.Review & Testing Checklist for Human
_update_executor_parametersis called.@listendecorators where the same agent executes multiple sequential tasks.Suggested manual test:
Messages should reset to a consistent count after each task, not accumulate.
Notes