microsoft / autogen

A programming framework for agentic AI. Discord: https://aka.ms/autogen-dc. Roadmap: https://aka.ms/autogen-roadmap
https://microsoft.github.io/autogen/
Creative Commons Attribution 4.0 International
27.96k stars 4.08k forks source link

[Roadmap] Agents Self-Improvement/Learning/Optimization #521

Open qingyun-wu opened 8 months ago

qingyun-wu commented 8 months ago

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)
skzhang1 commented 3 months ago

Suggestions/ideas generally related to this topic is welcomed!

sidhujag commented 3 months ago

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.

Josephrp commented 3 months ago

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 :-)

jamesliu commented 3 months ago

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

skzhang1 commented 3 months ago

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

Thanks for the suggestions. Done