Skip to content
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

Automated Self Feedback #4220

Closed
1 task done
Boostrix opened this issue May 15, 2023 · 9 comments
Closed
1 task done

Automated Self Feedback #4220

Boostrix opened this issue May 15, 2023 · 9 comments
Labels
enhancement New feature or request good first issue Good for newcomers meta Meta-issue about a topic that multiple issues already exist for

Comments

@Boostrix
Copy link
Contributor

Boostrix commented May 15, 2023

Duplicates

  • I have searched the existing issues

Summary 💡

In continuous mode, we should provide an option to trigger automated self-feedback based on some configurable threshold, such as number of errors/warnings the system is seeing (for instance when executing commands that don't exist), to "self-correct". Self-correction should include a list of valid commands/parameters.

Related:

Examples 🌈

No response

Motivation 🔦

No response

@k-boikov k-boikov added the enhancement New feature or request label May 15, 2023
@Boostrix Boostrix added the good first issue Good for newcomers label May 16, 2023
@bbonifacio-at-mudd
Copy link

Hi @Boostrix, do you think this should be encoded with the Observer/Supervisor class you discussed here? Or should they be separate? #4242

@Boostrix
Copy link
Contributor Author

Boostrix commented May 19, 2023

I would have thought to log the number of warnings/errors to a Python dict (hash table) so that this can be used at runtime, if we have that data available, we can use this for all sorts of purposes - including a reward/fitness function, but also to "score" certain combinations of command + parameters.

Which would make it pretty easy to bail out (even in continuous mode) if the llm keeps making mistakes by coming up with commands or arguments that don't exist.

Also, we could provide a meaningful error message so that the agent can forward so that the LLM, e.g. something like "Command does not exist", "Command does not support the following argument", "Argument X is not of the right type/format".

The LLM would be able to make much better choices based on this sort of info.

Imagine running with -y -100 and the agent keeps hallucinating command/param combinations, we would support a configurable threshold of allowing these mistakes (say 2-3 times) and if it's not adapting by then, we would trigger self-feedback to change the action/command

Some initial heuristics would include:

  • does the command exist
  • is the argument supported
  • is the argument provided in the proper form

We would come up with good error messages for these, so that the LLM can provide better tailored actions/commands.
If it doesn't, i.e. by suggesting the same command/argument combinations, we could use an "error score" and tell it to reduce its errors.

The error message itself could include name of the command and a copy of the description string, including a valid example.

With this sort of system we could even tell the LLM right away which commands + param combinations were previously executed successfully.

All of this is touching in #3668

@github-actions
Copy link
Contributor

github-actions bot commented Sep 6, 2023

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 github-actions bot added the Stale label Sep 6, 2023
@Pwuts Pwuts added meta Meta-issue about a topic that multiple issues already exist for and removed Stale labels Sep 14, 2023
@saumit123
Copy link

Hi I am new to open source and I want to contribute,can you please help

@Boostrix
Copy link
Contributor Author

Boostrix commented Oct 4, 2023

We can, please consider joining discord to learn more.

@estefysc
Copy link

Hey, @Boostrix! I would love to start contributing to the project. I do not have lots of experience, so I was looking at the issues with the "good first issue" label, so I think it would be a good idea for me to contribute to an issue in conjunction with other people. Do you know if this issue is being worked on? Maybe I can join and somehow help..

@Boostrix
Copy link
Contributor Author

Howdy, best to get in touch via discord, would that work for ya?

@estefysc
Copy link

@Boostrix, yeah! I am a member already, but not sure in what channel to post or reference this or how to go about this. Should I just do it in general? I feel it's going to get lost there.

@Bentlybro
Copy link
Member

just to note this issue is active in discord here so this could be a good place to continue the conversation, just a thought

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers meta Meta-issue about a topic that multiple issues already exist for
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants