autogen icon indicating copy to clipboard operation
autogen copied to clipboard

[Roadmap] Agents Self-Improvement/Learning/Optimization

Open qingyun-wu opened this issue 2 years ago • 5 comments

Describe the issue

[!TIP]

Want to get involved?

We'd love it if you did! Please get in contact with the people assigned to this issue, or leave a comment. See general contributing advice here too.

Description

What is the feature?

This feature allows agents created with AutoGen to learn from past experiences and achieve self-improvement without needing direct access to the LLM models. These improvements can be seen in different areas of the agents, such as function calls, memory usage, and prompts.

### Tasks
- [x] Introducing AgentOptimizer:  https://github.com/microsoft/autogen/pull/1053
- [x] AgentOptimizer Integration: https://github.com/microsoft/autogen/pull/1767
- [x] Blogpost: https://github.com/microsoft/autogen/pull/1767
- [ ] Make AgentOptimizer API more general (allow more agent formats)

qingyun-wu avatar Nov 02 '23 00:11 qingyun-wu

Suggestions/ideas generally related to this topic is welcomed!

skzhang1 avatar Mar 14 '24 20:03 skzhang1

I suggest to integrate into autogen studio to make generalized agents and optimize the functions. In my fork I created multi shot examples using the skills and it works. From there directed graphs for group workflows within speaker selection can be setup to create the type of environment for learning like reflecting and always directing to some specific agents without worrying about it not ever doing the necessary checks. So to recap, autogen studio can make agents and have generic python modules (not gpt function calls), and you can create DAGs for agents as needed for strongly opinionated workflows, and try to protoype learning within that to craft new workflows or optimize others. That should be pretty interesting.

In my work i have github connectors and zapier example skills, with graph speaker selection and your ideas about learning you can probably easily recreate something like devin generically.

sidhujag avatar Mar 14 '24 21:03 sidhujag

hi there @skzhang1 , it's great to see the energy behind this cool PR :-)

i really like the idea of @BeibinLi about the capability, this would be great and might only require a "seed prompt" as input , which is kind of the point.

another point would be to also optimize the prompts in context / chain . so that's based on group chat , for example optimizing the group chat parameters.

just some ideas :-)

Josephrp avatar Mar 15 '24 13:03 Josephrp

@skzhang1 , please replace optimizer_model gpt-4-1106 with gpt-4-1106-preview.

jamesliu avatar Mar 21 '24 03:03 jamesliu

@skzhang1 , please replace optimizer_model gpt-4-1106 with gpt-4-1106-preview.

Thanks for the suggestions. Done

skzhang1 avatar Mar 21 '24 19:03 skzhang1

Closing this for now as the team is focusing on v0.4 release.

@skzhang1 you are welcome to take a look at the core API and port agent optimizer toward the new API. We can discuss this in Discussion.

ekzhu avatar Oct 13 '24 06:10 ekzhu