Package: agent-actors
Agent Actors: Plan-Do-Check-Adjust with Parallelized LLM Agent TreesCreate your own trees of AI agents that work towards a common objective. Together, let's explore the potential of Agent Actors and inspire the LLM community to delve deeper into this exciting realm of possibilities!Watch this 2-minute demo walkthrough —https://www.loom.com/share/8e60585f069c4a9f8ac9f01204b41704Here's a sample generated execution plan:Key FeaturesTime Weighted Long-Term Memoryusinglangchain.retrievers.TimeWeightedVectoreStoreRetrieverSynthesized Working Memory: An agent draws insights from and synthesizes their relevant memories into a "working memory" of 1–12 items for use with zero-shot prompts.Implements thePlan-Do-Check-Adjust (PDCA)operational framework for continuous improvement.Automatic Planning and Distribution of Tasks to AgentsOurParentAgentclass plans tasks for its children to do and distributes them to be completed in parallel.Parallel Execution of AgentsChildAgents work in parallel to Do and Check their results. Before running, they wait for all task dependencies to be resolved and inject that into their context.Create your own trees of autonomous AI agentsYou can nestParentAgents underParentAgents, or comingle them withChildAgents. Use your own vector store, retriever, or embedding function with ourParentAgentandChildAgentclasses. See how easy it is intest_system.py.What will you build?Terminating auto-GPTs that converges across successive runsYour own research and reporting teams of agentsSimulation-driven organizational behaviour researchCreate a developerteamof AutoGPTs that code for you togetherLimitationsProof of Concept, not production readyWe've only tested used GPT3.5InstallationRequires Python: ^3.10Install through your choice of package manager:poetryaddgit+https://github.com/shaman-ai/agent-actors.git
pipenvinstallgit+https://github.com/shaman-ai/agent-actors.git#egg=agent-actorsLearn Agent Actors in 5 minutesfromagent_actorsimport(Agent,# subclass and replace with your own `run` methodChildAgent,# Do and CheckParentAgent,# Plan and AdjustConsolePrettyPrinter,# Helpful for printing JSON task outputs, pass as a handler to CallbackManager)Readtest_system.py!Run Agent ActorsClone the repopoetry install --with dev --with typingModifytest_system.pyto your own needsRunpoetry run pytest -s -k 'test_name_str_to_filter_by'You can also run all tests withpoetry run pytest, but this may take a while to execute, and is likely to hit into API rate limits.Contribute to Agent ActorsCheck out this diagram to understand how the system works:https://beta.plectica.com/maps/W26XSGD28Requests for Pull RequestsImproved Agent Prompts: Develop better prompts for the Plan, Do, Check, and Adjust chainsVisualization Tooling: Develop an interface for exploring first, then composing, an execution tree of Agent Actors, allowing researchers to better understand and visualize the interaction between the supervisory agent and worker agents.Evaluation Data: Understanding how this performs in different contexts is key to developing a better AGI architecture.Unlock Talking to Agents: The dialogue functions are there, and we're looking for help on how we can "talk" to these agents from another, say, IPython, to get a look into their state.Unlock Inter-Agent Communication: What happens if agents can talk to each other, not just return results to their parents and write memories to the global store?LicenseBUSL-1.1GratefulnessWe extend our gratitude to the contributors of the Python packageslangchainandray, without which this wouldn't be possible. We extend our gratitude to the amazing researchers who wrote Generative Simulacra [TODO], ReAct [TODO], and Jeremy Howard [TODO] and FastAI, without which this wouldn't be possible. And to BabyAGI and AutoGPT for inspiring us.CitationCitation
Please cite the repo if you use the data or code in this repo.@misc{agentactors,
  author = {Shaman AI},
  title = {Agent Actors: Plan-Do-Check-Adjust with Parallelized LLM Agent Trees},
  year = {2023},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/shaman-ai/agent-actors}},
}