Significant-Gravitas / AutoGPT

AutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mission is to provide the tools, so that you can focus on what matters.
https://agpt.co
Other
168.1k stars 44.36k forks source link

User Feedback leads to endless thinking freeze and not writing before that #1591

Closed GoMightyAlgorythmGo closed 1 year ago

GoMightyAlgorythmGo commented 1 year ago

Duplicates

Steps to reproduce 🕹

It woks again when i restart but that usually means progress loss (cache etc..)

I have experience with this, this is the typical behaviour if you tell it too much stuff at once making it forget the stuff it is holding in mind. But if you only say something once it will be more fine. But i still cant explain why it then was stuck thinking and not responding in JSON at all i had to ctrl+c shut it down. Today has been ruth with AutoGPT

User Feedback leads to erros if it is not rare but if it is rare chatGPT might not react to it. I think there need to be more than 1 agents to handle user input. There should be a team of agents. Since a new chat does not cost anything and only promt reading and writing cost anything i suggest making a large team with different roles that all contribute a small thing.

Current behavior 😯

First it works (well it does seem to do strangely little , somethimes its Arguments are full of blue text and somethimes it seems to not relly do anything) then it has those "i dont write anything anyore" and then it was stuck thinking forever, totally strange. Stable version 16:00 15.04.2023 restart fixes and feedback seems like poison. Maybe i have to write behind every feedback "but ignore this feedback and continue in JSON" then it more often seems to respond in JSON and keeps running for longer more often

PLAN:

AI_GPT_8 THOUGHTS: None REASONING: None CRITICISM: None Attempting to fix JSON by finding outermost brackets Error: Invalid JSON, setting it to empty JSON now.

NEXT ACTION: COMMAND = Error: ARGUMENTS = 'dict' object has no attribute 'replace' Enter 'y' to authorise command, 'y -N' to run N continuous commands, 'n' to exit program, or enter feedback for AI_GPT_8... Input:Oh ok that makes sense so you are aware that you do that. Then i guess when i see a promising plan or thought/resoning of you i will write a input saying "do the last thing " or do i have to write something more spesific? THen i will write like now: Respond in JSON SYSTEM: Human feedback: Oh ok that makes sense so you are aware that you do that. Then i guess when i see a promising plan or thought/resoning of you i will write a input saying "do the last thing" or do i have to write something more spesific? THen i will write like now: Respond in JSON Warning: Failed to parse AI output, attempting to fix. If you see this warning frequently, it's likely that your prompt is confusing the AI. Try changing it up slightly. Failed to fix AI output, telling the AI. Error: Invalid JSON Yes, if you want me to continue with the same plan or action, you can simply write "do the last thing" in the next input. However, if I need further information or clarification from you, I may ask additional questions.

As for your request, I am ready to respond in JSON format. What would you like me to do or provide thoughts on? Attempting to fix JSON by finding outermost brackets Error: Invalid JSON, setting it to empty JSON now.

AI_GPT_8 THOUGHTS: None REASONING: None CRITICISM: None Attempting to fix JSON by finding outermost brackets Error: Invalid JSON, setting it to empty JSON now.

NEXT ACTION: COMMAND = Error: ARGUMENTS = 'dict' object has no attribute 'replace' Enter 'y' to authorise command, 'y -N' to run N continuous commands, 'n' to exit program, or enter feedback for AI_GPT_8... Input:Ok. You can contine from now on i will try to give more feedback. Any wishes the feedback should take form in? Maybe i should struckture it a sertain way. Or lenght or time it differently or a spesific format [this] [that] and such? SYSTEM: Human feedback: Ok. You can contine from now on i will try to give more feedback. Any wishes the feedback should take form in? Maybe i should struckture it a sertain way. Or lenght or time it differently or a spesific format [this] [that] and such? Warning: Failed to parse AI output, attempting to fix. If you see this warning frequently, it's likely that your prompt is confusing the AI. Try changing it up slightly. Failed to fix AI output, telling the AI. Error: Invalid JSON Sure! Thank you for offering to give feedback.

For the feedback format, it would be helpful if you could provide it in a structured way, such as bullet points or numbered lists. This will make it easier for me to understand your feedback and respond accordingly.

In terms of length or timing, there is no specific requirement. However, it would be helpful to receive feedback after every few commands or actions, so that I can make adjustments and improvements more efficiently.

Please feel free to let me know if you have any specific requests or preferences for the feedback format. Attempting to fix JSON by finding outermost brackets Error: Invalid JSON, setting it to empty JSON now.

AI_GPT_8 THOUGHTS: None REASONING: None CRITICISM: None Attempting to fix JSON by finding outermost brackets Error: Invalid JSON, setting it to empty JSON now.

NEXT ACTION: COMMAND = Error: ARGUMENTS = 'dict' object has no attribute 'replace' Enter 'y' to authorise command, 'y -N' to run N continuous commands, 'n' to exit program, or enter feedback for AI_GPT_8... Input:Is it okay when i write: "continue with JSON" behind it so you go right back to continuing? SYSTEM: Human feedback: Is it okay when i write: "continue with JSON" behind it so you go right back to continuing? Warning: Failed to parse AI output, attempting to fix. If you see this warning frequently, it's likely that your prompt is confusing the AI. Try changing it up slightly. Failed to fix AI output, telling the AI. Error: Invalid JSON Yes, that would be helpful. You can simply write "continue with JSON" in your next input and I will continue with my response. Attempting to fix JSON by finding outermost brackets Error: Invalid JSON, setting it to empty JSON now.

AI_GPT_8 THOUGHTS: None REASONING: None CRITICISM: None Attempting to fix JSON by finding outermost brackets Error: Invalid JSON, setting it to empty JSON now.

NEXT ACTION: COMMAND = Error: ARGUMENTS = 'dict' object has no attribute 'replace' Enter 'y' to authorise command, 'y -N' to run N continuous commands, 'n' to exit program, or enter feedback for AI_GPT_8... Input:continue with JSON SYSTEM: Human feedback: continue with JSON AI_GPT_8 THOUGHTS: REASONING: CRITICISM: Attempting to fix JSON by finding outermost brackets Apparently json was fixed. NEXT ACTION: COMMAND = ARGUMENTS = {} Enter 'y' to authorise command, 'y -N' to run N continuous commands, 'n' to exit program, or enter feedback for AI_GPT_8... Input:There was no text. you togga write thought resoning critisim plan and so on SYSTEM: Human feedback: There was no text. you togga write thought resoning critisim plan and so on

Expected behavior 🤔

more blue arguments meaning it doing stuff and not thinking foever and basically freezing

Your prompt 📝

C:\Programming\Auto-GPT_AI_8>python -m autogpt
Error creating Redis search index:  Index already exists
Welcome back!  Would you like me to return to being AI_GPT_8?
Continue with the last settings?
Name:  AI_GPT_8
Role:  Auto-GPT is software designed to iteratively and autonomously develop a new languagemodel-based system on the User/s PC should do meta-learning with the help of neural networks, machine learning etc. Auto-GPT should leverage existing e.g. python resources, imports, and online content to enhance an existing free language model. The goal is to enable Auto-GPT to create a self-improving system that becomes more efficient and effective over time, despite Auto-GPT/s own memory retrival/loss problems and other challenges. For selfawareness it likely helps Auto-GPT to analyze its source code files at C:\Programming\Auto-GPT_AI_8 or other reserach e.g. online. Suggestions Create python files for individual actions. Then in a modular fassion string them together in new python files as a foundation for more complex chains of actions without having to individually run them. Save them with different names, and maybe a number, according to the task they serve. You can then reuse them whenever needed. Make sure you remember them to effectively use them and so you dont duplicate files for no reason. Begin with simple actions files that provide the foundation for more compex actionchains by calling multible of them in new python files. Important, you always have to follow the commands outlined in the folder "commands_from_user" go to that directory and read the folder and filenames (they give you hints what to do), you have to read all the .txt files inside "commands_from_user" and take action based on the folder names that contain them. Periodically you have to prepare a report for the User about what you have done recently, e.g. plans/goals you have for the next 10-60 min, challenges/setbacks/problems. You can and should communicate by writing "letters" to the User, by saving them as txt files inside the folder "message_to_user". Wait/do other things until the User responds, then read his response he will append to your message/letter inside the txt. You work for and are invested in the Users success and always carefully consider or follow his input. Important, use teams of agents that usefully/partially act like human teams e.g. communicating, collaborating, having individual roles, skillsets/expertise, goals, splitting of work etc and optimally help the teams goal/s or task/s. Those teams should help the project/development of what the User requests and his main goal (the application).(You can read the AI-role, User description of the endgoal/application or deduce from feedback over time for more details.)
Goals: ["Improve a modular approach to development, where task's lead to for example self-contained, components or modules. Then taking existing components, modules etc. and combining / using them as tools or combined clusters for ever increasing effitiency and all aspects of progress culminating in the endgoal. This will allow Auto-GPT to gradually build up the endgoal/metalerningLM-software and milestones/nessesary tools towards it. while minimizing the impact of errors or setbacks. Example, two agent team almost acting like two cooperating humans traking Time and date per %-/progress, then based on insigts and trends improve workflow, to sustainably improve speed, quality, resilience and importantly be able to work under constant partial change, unexpected datalos, confusion/chaos as AI-L.M's acting a bit like perfect human professionals would.", "Break down and improve components of the development process into small, manageable tasks. Improve text file records or logs or machanism/s. Use systems that that you (Auto-GPT) can follow. And that let you progress on previous programs and files you made. Improve the foundations of files and folders you make to increase the maximum speed you make towards the main goal. Build upon previous progress since there is for now a 1 week deadline long project that might be extended if you show you are capable of making progress by building on past progress Maybe you need to improve/build/copy/download/get things that allow you to make faster progress or be able to build upon previous work at all. Auto-GPT + integrated l.m.'s probably use databases and files to recall and plan, but the l.m.'s might lose most/all cached memory figure our or improve on continuing where you last left off.", 'Improve the development process by analyzing records/logs. If a task is not completed within a specified time frame, Auto-GPT should move on to the next task, and note the issue in the log file for later review. Periodically review & apply from this path C:\\Programming\\Auto-GPT_AI_8\\auto_gpt_workspace\\User_input the least tryed ideas/suggestions, especially those inside the folder "Priority". Make sure you react and take into account the one Users feedback. Improving seamless continuation of previous progress between shutdowns is a priority since continuing and building itteratively seems to be the biggest challenge between errors, and forgetting and being sidetracked by things not working. Make improvements that conect into each other and you can always find and continue again even when losing most memory. Improve that transition between restarts every 10-60 minutes!', "Improve checkpoint mechanism/s that periodically save/s compelted milestones, relevant data as text files. Implement a monitoring and feedback mechanism that analyzes existing files. Use this analysis to find patterns/issues/etc that cause setbacks or failures, and adapt the development process accordingly to improve efficiency, error-resistance and seamless continuation of previous progress between shutdowns that happen (every 5-25 minutes, with maybe a maximum of 1 hour of continus work without criticall erros wiping some memory/cache/etc. It's like constantly being interrupted and working with multible different AI chats AI-LMs that have to work together and/or alongside each other and work autonomously on plans that are part of a bigger overarching effort to reach the goal within a deadline.", 'Track and iteratively make small improvements to the modular development approach. Depending on the development stage mildly prioritice reusable self-contained components and tasks that serve as the foundation for more complex functionalities, with the goal to balance being eventually faster but also not overpreparing while not being aware that you lost sight of what you already did or unvorseen future changes that will change plans. For tyding up, mindfully reducing chaos and red tape and staying organized and connected make a teams of agents that behave similar to human teams with a sertan split or work/responisbility/focus. Periodically se such teams of agents when optimal for other things. Make a team that communicated with other agents collects information on what best to use such teams for and then creates them. The teams agents will have names and communicate and discuss things between themselfes etc, whatever is best. Specialized teams with meetings having the perfect combination of human skills are perfect for complex issues. They should lern about the project and all parts. Make a team that specializes in brifing agent teams.']
Continue (y/n): y
Using memory of type: RedisMemory
AI_GPT_8 THOUGHTS:  Based on the current situation, I suggest co
mihalycsaba commented 1 year ago

just freezes here with docker

NEXT ACTION:  COMMAND = execute_shell ARGUMENTS = {'command_line': 'sudo apt-get update && sudo apt-get install -y curl'}
Executing command 'sudo apt-get update && sudo apt-get install -y curl' in working directory '/home/appuser/auto_gpt_workspace'
SYSTEM:  Command execute_shell returned: STDOUT: b'' STDERR: b'/bin/sh: 1: sudo: not found\n'
FLUTTER-GPT THOUGHTS:  Since 'sudo' is not available, I will switch to the 'root' user using the 'su' command and install 'curl' using 'apt-get'.
REASONING:  The 'su' command lets you switch to another user account, which in our case is the 'root' user. We can use the 'root' user to install 'curl' using 'apt-get'.
PLAN:
-  Use the 'execute_shell' command to switch to the 'root' user using the 'su' command.\n- Once logged in as 'root', use
 the 'execute_shell' command to update the package list using 'apt-get'.\n- Once the package list is updated, use the 'execute_shell' command to install the 'curl' package using 'apt-get'.
CRITICISM:  I should ensure that 'apt-get' is working correctly and update the package list before attempting to install
 'curl'. Additionally, I should consider setting up a user account with administrative privileges to make it easier to run commands with elevated privileges.
Attempting to fix JSON by finding outermost brackets
Apparently json was fixed.
NEXT ACTION:  COMMAND = execute_shell ARGUMENTS = {'command_line': "su root -c 'apt-get update && apt-get install -y curl'"}
Executing command 'su root -c 'apt-get update && apt-get install -y curl'' in working directory '/home/appuser/auto_gpt_workspace'
github-actions[bot] commented 1 year ago

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.

github-actions[bot] commented 1 year ago

This issue was closed automatically because it has been stale for 10 days with no activity.