camel-ai / camel

🐫 CAMEL: Finding the Scaling Law of Agents. The first and the best multi-agent framework. https://www.camel-ai.org
https://docs.camel-ai.org/
Apache License 2.0
5.55k stars 677 forks source link

[Roadmap] Reproduce more SOTA LLM agents #186

Open lightaime opened 1 year ago

lightaime commented 1 year ago

Required prerequisites

Motivation

CAMEL is a framework to implement and organize different agents. We would like to use it to implement more SOTA LLM agents for people to easier use, build and compare. Here is a list of agents that we are interested in implementing. Please add your favorite ones:

Solution

No response

Alternatives

No response

Additional context

No response

markf278 commented 1 year ago

These are the most useful ones I have found other than Camel:

These are all kinda similar, AutoGPT and BabyAGI were first but honestly I have never been able to get them to produce anything, Cursor.so is probably ahead of everyone tbh.

Further investigation required on the below:

lightaime commented 1 year ago

These are the most useful ones I have found other than Camel:

  • Cursor.so (agent builtin to vscodium)
  • Smol-developer
  • GPTEngineer

These are all kinda similar, AutoGPT and BabyAGI were first but honestly I have never been able to get them to produce anything, Cursor.so is probably ahead of everyone tbh.

Further investigation required on the below:

  • SmartGPT
  • Ecoute (very basic but could be a super powerful assistant)
  • Agent-LLM
  • Agent-Mimir
  • IX
  • SuperAGI
  • AgentForge

Thanks @markf278. That is very useful! We will look into it.

markf278 commented 1 year ago

This might be more appropriate, list of known Agent Architectures: ReACT (AutoGPT) Reflexion ReWOO SwiftSage ADEPT (SmartGPT)

For the individual agent apps, after looking at 20+ ...we have come to the conclusion that the best thing to do is to read the prompts, if some new agent comes out just check its prompts.

Some other very interesting agents/prompts you should check out:

lightaime commented 1 year ago

This might be more appropriate, list of known Agent Architectures: ReACT (AutoGPT) Reflexion ReWOO SwiftSage ADEPT (SmartGPT)

For the individual agent apps, after looking at 20+ ...we have come to the conclusion that the best thing to do is to read the prompts, if some new agent comes out just check its prompts.

Some other very interesting agents/prompts you should check out:

Thanks @markf278! We will look into it.

markf278 commented 1 year ago

Here is a huge list of agents that is being kept up to date:

https://github.com/e2b-dev/awesome-ai-agents

markf278 commented 1 year ago

What I would really like Camel to do is to take an existing project and improve it, it could also have options for Refactor or Debug.

For example: If you had the initial loop save the code snippets from the chat history into appropriate files, the above could be options at the end of each run, continue/improve, refactor, generate_tests/debug.

hychen-naza commented 1 year ago

I briefly go through these papers and notice they share a lot in common, for example: BabyAGI: chat agent + task agent (for creating and prioritizing tasks) NegotiationAgent: chat agent + critic agent (for improving chat agents) RepeatedGamesAgent: chat agent + predict agent (for predicting other player’s actions before making a choice) I believe we have discussed in zoom before, just want to confirm the idea: we may fulfill each single functionality in task agent, critic agent and more, then build Babyagi or NegotiationAgent through composition. If you think it's good, I will go ahead and implement in this way. @lightaime @Benjamin-eecs

lightaime commented 1 year ago

Hi, @hychen-naza this is exactly what we want to do. A good first step will be to decompose the BabyAGIAgent. Some of the task-related task agents like the task_creation_agent and task_prioritization_agent can be implemented as separate task agents like TaskSpecifyAgent. https://github.com/camel-ai/camel/blob/7a09b36761866196339a6abb1c473c67b6ccc960/camel/agents/task_agent.py#L23