-
Notifications
You must be signed in to change notification settings - Fork 44.5k
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
Implement structured planning & evaluation #4107
Comments
The following blog article goes into detail about our lack of planning: https://lorenzopieri.com/autogpt_fix/
|
This issue has automatically been marked as stale because it has not had any activity in the last 50 days. You can unstale it by commenting or removing the label. Otherwise, this issue will be closed in 10 days. |
Discussion
Before we can start managing the workflow of the agent, we have to give it some more structure. The different ways to implement this can generally be subdivided into 3 groups:
Planning mechanism that is controlled by the agent
a. Let the agent manage its plan and to-do list through commands
b. Add (an) output field(s) to the executive prompt through which the agent can manage its plan / to-do list
Planning mechanism that is part of the agent loop
a. Extra step in the agent’s loop to evaluate progress and update the plan / to-do list.
b. Parallel thread that evaluates the agent’s performance and intervenes / gives feedback when needed.
c. Add output fields to the executive prompt through which the agent communicates its qualitative & quantitative assessment of the previous step.
Planning mechanism that controls the agent
a. Compose plan consisting of subtasks & employ the agent to complete subtasks
Proposal
We propose a combination of solutions [2a] and [2c] based on the comparison above.
Why
To do
Work out:
e.g. do we replace the agent’s
task
in the prompt by the current subtask?Sketch amended agent loop diagram
Prototype planning+evaluation prompt(s) (in a Jupyter notebook)
Implement [2a]
Work out:
"Is your approach to the problem working out?"
→ if not, evaluate & adjust plan
"Is this the last step needed to complete the [sub]task?"
→ if so, verify & move on to next subtask
Implement [2c]
OneShotPromptStrategy
(AKA the executive prompt)Related
Earlier issues regarding improvements to tasking/planning:
This issue has been hijacked by a maintainer to replace+expand the solution proposal. Click here to see the original proposal by @Boostrix.
BIFs are built-in functions (aka commands), weighted by a chat_with_ai() instance for the given task at hand and their utility, and then recursively evaluated by adding them to a queue: #3933 (comment)
Motivation 🔦
At the very least, even without getting fancy, we should be able to get the LLM to provide a list of tasks and move those into a queue to recursively call the LLM to provide sub-tasks and work those, pushing/popping as needed (possibly involving sub-stacks, which is kinda logical to do once you think about multiple agents: #3549)
This would need to take place with certain constraints:
The text was updated successfully, but these errors were encountered: