daveshap / OpenAI_Agent_Swarm

HAAS = Hierarchical Autonomous Agent Swarm - "Resistance is futile!"
MIT License
2.96k stars 382 forks source link

BOUNTY: Propose Milestones, Roadmap, and General Principles #66

Closed daveshap closed 10 months ago

daveshap commented 10 months ago

Context and Thank You

Thanks everyone for jumping in. It's clear there's a ton of energy and some general consensus. However, we're quickly finding out that network communication of agents is the hardest part. I had a great hourlong conversation with the core team of the ACE Framework as well, and we all agree - agents are easy now. The hard part will be organizing networks of agents, and getting to a self-organizing, arbitrarily scaling swarm is the Triple Crown we're looking for, but it will take work.

END GOAL: TRIPLE CROWN

The end goal is to have a fully autonomous swarm of agents with the following characteristics:

  1. Mission Driven: Rather than a human user giving basic instructions, the swarm will be given a higher order mission. Something like "Help me become the best YouTuber ever." or "Solve world hunger."
  2. Self-Organizing: The swarm should be able to create its own hierarchy based upon algorithmic and mechanistic principles. This means each agent needs to be equipped with enough intelligence to participate in the network, and the network may need decision mechanisms (e.g. top-down organization).
  3. Self-Improving: As more of a stretch goal, it would be great if the agents and network could ultimately self-improve, but that may be getting ahead of ourselves.

Milestones & Roadmap

Milestones need to be a set of objective tests, tasks, achievements, and capabilities. The Roadmap should be a sequential list of general achievements. This is more like guidelines than a rigid plan, but this discussion will help us figure out where we're going.

I'll add a WIKI to this repo so we can document some of this stuff.

BrianP8701 commented 10 months ago

Dave, I believe managing and navigating a knowledge base efficiently is incredibly important for this to be successful. Obviously, as we have seen in past months with all the attempts at RAG that this is a very difficult problem, so it is off topic and not the problem we are trying to solve here. However, I reckon we still ought to have an external database for the swarm to access.

Up until now, all the RAG implementations I've seen have been for a single agent or conversation, not a swarm. The only difference with a swarm I can think of is that we might not want lower level agents to have access to some information (Might be getting to far ahead of myself here). Other than that we can have the same concept.

Either way, LLAMA-Index provides a framework to build better RAG solutions then the weak 20 files Retrieval OpenAI provides. I propose adding a memory folder to manage the knowledge base and communications of the swarm. I'm not sure if this is aligned with your vision, so i want to get approval before I go further and begin to precisely share how we might start implementing this. I've seen the comment about having an internal discord, reddit and twitter, and think thats a wondeful 'framework/idea' for internal comms.

daveshap commented 10 months ago

Add it to the roadmap of milestones. https://github.com/daveshap/OpenAI_Agent_Swarm/wiki/Roadmap @BrianP8701

BrianP8701 commented 10 months ago

Let me think about this a little more in the context of the swarm. This is an idea I haven't deeply thought about yet with respect to memory, I always thought of it from the perspective of one agent with a suite of tools and chain of prompt and feedback flows etc. However, I see how this framework of an agent swarm is indeed better. I'll add it to the roadmap by tn, and then go from there.

Nivek92 commented 10 months ago

@BrianP8701

I believe it's important to really think through the interplay of knowledge and communication.

Will the swarm need shared knowledge database or does every assistant has its own knowledge database and information is shared through communication?

What are the advantages / disadvantages of each approach?

gruckion commented 10 months ago

HR not that generates job descriptions for the agents that are needed. Then use those job descriptions to set the context/foundation of the agent being spawned.

daveshap commented 10 months ago

It looks like this BOUNTY was premature. I will close this issue and move to discussion.

Moved to: https://github.com/daveshap/OpenAI_Agent_Swarm/discussions/92