-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
State: Add local_iteration attribute #2990
Conversation
For usability purposes: how does the UI behave one the limit is reached? |
It's as bad as the status quo. No functional change. The user needs to click on I know you tried and it didn't work well for Claude, presumably because Claude was too conservative and cautious. |
Yeh, we need to come up with a PR to make this a more graceful "ending" of a chat session. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Haven't run it myself, but lgtm.
Thanks!
I am in favor of this idea. I don't want to take it though. |
Tests are failing due to #2992 |
We have
iteration
that tracks OpenDevin progress. When OpenDevin exceedsconfig.max_iterations
, it pauses execution.The introduction of agent delegation mechanism essentially makes OpenDevin a multi-agentic system. Without this PR, every agent instance keeps track of their own "local" iterations. What this means is with
max_iterations = 10
, OpenDevin could speak to LLM for 10 * 10 = 100 times in the worst case (root agent delegates 10 times). This defeats the purpose ofconfig.max_iterations
.This PR fixes this problem by introducing
local_iteration
that had the same behavior as prioriteration
. The attributeiteration
now becomes a global/shared value per task.Do we really need configs for both
max iterations per task
andmax iterations per subtask
? I don't think so. Thus, this PR doesn't introduce any new config.Closes #2121