AutoGPT
AutoGPT copied to clipboard
do_nothing is the only response i get from auto-gpt: NEXT ACTION: COMMAND = do_nothing ARGUMENTS = {}
⚠️ Search for existing issues first ⚠️
- [X] I have searched the existing issues, and there is no existing issue for my problem
GPT-3 or GPT-4
- [ ] I am using Auto-GPT with GPT-3 (GPT-3.5)
Steps to reproduce 🕹
breaks on simple tasks
Continue with the last settings?
Name: javascript-developer-GPT
Role: an ai that codes
Goals: ['write code for javascript', 'create a javascript file', 'run a request animation frame and print out +1 on a variable', 'return a print for every time there is 1000 added', 'return a print for every time there is 2000 added']
Continue (y/n): y
Using memory of type: LocalCache
Using Browser: chrome
THOUGHTS: I will start by writing the code for javascript and creating a javascript file. Then I will use the request animation frame to print out +1 on a variable. I will set up a condition to return a print for every time there is 1000 added and another print for every time there is 2000 added.
REASONING: I will start by breaking down the task into smaller steps and then executing each step in order. This will ensure that I am able to complete the task efficiently and without any errors.
PLAN:
- Write the code for javascript
- Create a javascript file
- Use the request animation frame to print out +1 on a variable
- Set up a condition to return a print for every time there is 1000 added
- Set up a condition to return a print for every time there is 2000 added
CRITICISM: I need to ensure that I am writing clean and efficient code. I should also test my code thoroughly to ensure that it is working as expected.
NEXT ACTION: COMMAND = do_nothing ARGUMENTS = {}
### Current behavior 😯
NEXT ACTION: COMMAND = do_nothing ARGUMENTS = {}
### Expected behavior 🤔
do_something
### Your prompt 📝
```yaml
#
javascript-developer-GPT is: an ai that codes
Goal 1: write code for javascript
Goal 2: create a javascript file
Goal 3: run a request animation frame and print out +1 on a variable
Goal 4: return a print for every time there is 1000 added
Goal 5: return a print for every time there is 2000 added
branch
master
im on linux mint if that helps
@torchesburn . I've been running into similar issues. Also, running on GPT3.5 as well. Maybe GPT3.5 may not have the brainpower for this?
I do wonder though if just some simple meta-reflection on the progress of tasks would help with this. Kind of like the "CRITICISM" section but for the entire process rather than the current step. Thoughts?
Also, maybe use one of the releases rather than main. I think those are supposed to be more stable and might have these issues fixed (hopefully).
@torchesburn . I've been running into similar issues. Also, running on GPT3.5 as well. Maybe GPT3.5 may not have the brainpower for this?
I do wonder though if just some simple meta-reflection on the progress of tasks would help with this. Kind of like the "CRITICISM" section but for the entire process rather than the current step. Thoughts?
@torchesburn . I've been running into similar issues. Also, running on GPT3.5 as well. Maybe GPT3.5 may not have the brainpower for this?
gpt3.5 spits it out in 200ms
function animate() {
count++;
console.log(count);
if (count % 1000 === 0) {
console.log("Count is now " + count);
}
if (count % 2000 === 0) {
console.log("Count is now " + count + " (multiple of 2000)");
}
requestAnimationFrame(animate);
}
This is a breakage caused between yesterday and today. In trying older versions, file execution still works.
LLMs love predicting the next token with high confidence, and since do_nothing
takes no arguments and is universally applicable, it's a dangerous command to offer to the AI.
The only reason why instructions like "If you don't know the answer, say 'I don't know'" work, is that it's they're universally applicable and can be predicted with higher confidence than most other (higher entropy) completions.
@torchesburn @patrickdeluca What temperature do you use? If your temperature is set low, try a higher temperature.
Ah, is that the issue? Set at “0” per new configs.
On Sun, Apr 16, 2023 at 10:21 PM Robin Richtsfeld @.***> wrote:
@torchesburn https://github.com/torchesburn
Ah, is that the issue? Set at “0” per new configs. … On Sun, Apr 16, 2023 at 10:21 PM Robin Richtsfeld @.***> wrote: @torchesburn https://github.com/torchesburn
mine has set the temperature to 1 and still gets the error
@Julienbase Are you using gpt-3.5-turbo
or gpt-4
?
-
My prompt was to open some text files, and summarise the content inside them in a new text file. The idea was to use execute_shell with various AutoGPT commands, including linux terminal commands.
-
Lets say there are 10 files, i want it to remember it has processed 4 files already and 6 more to go, and to remember which file it has last left the 'cursor' on
-
I have some doubts about this. my prompts have been simple really, but ive spent $10 so far on GPT4 and was not really able to get it to do something coherent, its definitely not too smart on the directory cursor. So even in the workspace it doesnt know which folder its in, I got around this by giving it full directory paths.
-
GPT-4 sometimes hangs for a while, and it just says thinking for ages until it times out. i had not really gone over the token limit.
-
Fairly certain continuous mode had something in a background thread event loop still running on python making requests, and it was not until i deleted the API key that it stopped adding to the cost
-
Setting the temperature higher and lower has varying results.
-
It definitely needs to do more to record the current step that its on in the task journey.
I will keep trying to figure out a decent workflow.
same issue here, After switching to the Stable branch, it will make plans but all the commands are do_nothing.
I replaced the line response for the do_nothing command in the app.py with the following:
return (
"You are not allowed to do nothing. You must take an action."
"Review the tasks you've been given and choose an action that suits the task at hand."
)
This worked fairly well for me. At the very least, it doesn't get stuck in a loop of planning what it will do but actually do nothing.
@Julienbase Are you using
gpt-3.5-turbo
orgpt-4
?
Gpt 3.5
Same issue for me. Stuck in a loop despite implementing @0xRy4n fix
source /Users/evandk/Documents/VSCode/Auto-GPT/autogpt_env/bin/activate
❯ source /Users/evandk/Documents/VSCode/Auto-GPT/autogpt_env/bin/activate
❯ python -m autogpt
Welcome back! Would you like me to return to being BiologyTech-GPT?
Continue with the last settings?
Name: BiologyTech-GPT
Role: Create a database for my inventory in my biology lab
Goals: ['Identify the data entities: Determine the primary entities you need to store information about in the biology laboratory database. Common entities in a laboratory database may include samples, experiments, test results, etc.', 'Define the attributes: For each entity, list the attributes (columns) that need to be recorded. For example, for the "samples" entity, you might have attributes such as sample_id, sample_name, sample_type, date_collected, etc.', 'Determine relationships: Understand the relationships between different entities. For example, a sample may be associated with a specific experiment', 'Create the schema: Use SQL commands to create the schema, including creating tables for each entity, defining columns with appropriate data types, setting primary keys, and defining any foreign keys for relationships between tables.']
Continue (y/n): y
Using memory of type: LocalCache
Using Browser: chrome
THOUGHTS: To determine which command to use for creating the database schema, let's start by identifying the data entities and their attributes.
REASONING: By starting with the entities and attributes, we can plan out the schema and determine how the entities should be related to each other.
PLAN:
- Identify the data entities
- Define the attributes for each entity
- Determine relationships between entities
- Create the schema using SQL commands
CRITICISM: We need to ensure that we are accurately capturing all necessary information for the biology lab inventory, and making efficient use of the SQL commands to create the schema.
SPEAK: Let's start by identifying the data entities and their attributes so we can create the schema for the lab inventory database.
Attempting to fix JSON by finding outermost brackets
Apparently json was fixed.
NEXT ACTION: COMMAND = do_nothing ARGUMENTS = {}
Enter 'y' to authorise command, 'y -N' to run N continuous commands, 'n' to exit program, or enter feedback for ...
Input:y
-=-=-=-=-=-=-= COMMAND AUTHORISED BY USER -=-=-=-=-=-=-=
SYSTEM: Command do_nothing returned: You are not allowed to do nothing. You must take an action.Review the tasks you've been given and choose an action that suits the task at hand.
THOUGHTS: The first step in creating the database schema is to identify the primary entities that we need to store information about in the biology laboratory database.
REASONING: By identifying the primary entities, we can determine what information needs to be stored and in which tables, which will then inform how the tables should be related to each other.
PLAN:
- Identify the primary entities that need to be stored in the database
CRITICISM: We need to ensure that we are capturing all necessary entities and not overcomplicating the database schema.
SPEAK: Our first step is to identify the primary entities that need to be stored in the database. This will guide us in determining how the tables should be related to each other.
Attempting to fix JSON by finding outermost brackets
Apparently json was fixed.
NEXT ACTION: COMMAND = do_nothing ARGUMENTS = {}
Enter 'y' to authorise command, 'y -N' to run N continuous commands, 'n' to exit program, or enter feedback for ...
Input:y -2
-=-=-=-=-=-=-= COMMAND AUTHORISED BY USER -=-=-=-=-=-=-=
SYSTEM: Command do_nothing returned: You are not allowed to do nothing. You must take an action.Review the tasks you've been given and choose an action that suits the task at hand.
THOUGHTS: The primary entities that we need to store information about in the biology laboratory database are samples, experiments, and test results.
REASONING: These entities are commonly found in a laboratory database, and they represent the most important components of the biology lab inventory.
PLAN:
- Define the attributes for each entity
- Determine relationships between entities
- Create the schema using SQL commands
CRITICISM: We need to ensure that we are accurately capturing all necessary information for each entity, and determining how they should be related to each other.
SPEAK: The primary entities that we need to store information about in the biology laboratory database are samples, experiments, and test results. Let's define the attributes for each entity and determine how they should be related to each other.
Attempting to fix JSON by finding outermost brackets
Apparently json was fixed.
NEXT ACTION: COMMAND = do_nothing ARGUMENTS = {}
SYSTEM: Command do_nothing returned: You are not allowed to do nothing. You must take an action.Review the tasks you've been given and choose an action that suits the task at hand.
THOUGHTS: Let's start by defining the attributes for the 'samples' entity. Some potential attributes could include: sample_id, sample_name, sample_type, date_collected, and notes.
REASONING: Defining the attributes is key to determining what information will be stored in the database and how it will be organized.
PLAN:
- Define the attributes for the 'samples' entity
- Repeat for the 'experiments' and 'test results' entities
- Determine relationships between entities
- Create the schema using SQL commands
CRITICISM: We need to ensure that we are capturing all necessary attributes for each entity, while keeping in mind the overall structure and organization of the database.
SPEAK: Let's start by defining the attributes for the 'samples' entity, which will help us determine what information we need to store in the database.
Attempting to fix JSON by finding outermost brackets
Apparently json was fixed.
NEXT ACTION: COMMAND = do_nothing ARGUMENTS = {}
Same here. I'm using the latest master version, gpt-4 for smart and 3.5 for fast llm model, and temperature to 1.
However, when I instruct it to write code for me, it creates the files but doesn't write anything into them? 🤔 After that, it makes really good plans and lots of plausible reasoning, but the commands are always do_nothing, until it finally says everything is done, the code tested and so suggests to shut down.
But when I look at the files outputted, they're empty.
I've tried the latest version of Stable as of this date and found that :
- its more consistent and can actually figure out directories
- when cloning a repo if it cant access folders outside of the workspace, it corrects itself with the workspace directory path.
- On the
search_files
command when presented with either a) a file thats too long in text form and b) folders that have too many subfolders and files it can actually go over the token limit by a good 100K dependant on repo size. For this would it be possible to try and split the files if they are too long by the line / character limit so it doesnt go over the token limit and instead keep track of what the current progress of overall search is.
Much better than before though. Way more consistent.
I think probably there needs to be a better way of managing the token limit and maybe apply a 10-20% buffer zone that is used for overall handling of commands and keeping cognizant of the task
I also get this using the latest stable, temp 0, will raise it and see.
NEXT ACTION: COMMAND = do_nothing ARGUMENTS = {}
stuck in this loop. I suggest hard coding or a config setting to force breaking out of a do nothing loop. Basically eliminate the possibility of do nothing option as it has no utility.
try this as input:
do not take the action "command = do_nothing"; this command is no longer an option for you.
having same issue. Using AutoGPT-0.2.2 Not GPT4 API.
Also having the same issue. Although if I enter "y" it will have a new thought and a new plan, but still land on do_nothing.
return ( "You are not allowed to do nothing. You must take an action." "Review the tasks you've been given and choose an action that suits the task at hand." )
do not take the action "command = do_nothing"; this command is no longer an option for you.
Mine is supposed to analyze a Python code, but after reading the file, it just defaults to do_nothing. And if I get it to try something, it just runs a lot of nonsense commands like trying to clone a repository that don't exist or read files that I didn't even mention (and don't exist too). I think I'll just skip Auto-GPT for now and wait for GPT-4 because 3.5-turbo doesn't work.
as per #3668, the idea to hash commands including their arguments and use those as a lookup into a hash table/dictionary, would also allow us to detect local redundancy, i.e. whenever the agent is trying to execute commands over and over again, using always the same arguments and getting always the same response.
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.