Skip to main content

Multi Agent Frameworks

We are strong advocates for the future of AI agents, envisioning a world where autonomous agents communicate and collaborate as a cohesive team to undertake and complete complex tasks.

We hold the belief that research is a pivotal element in successfully tackling these complex tasks, ensuring superior outcomes.

Consider the scenario of developing a coding agent responsible for coding tasks using the latest API documentation and best practices. It would be wise to integrate an agent specializing in research to curate the most recent and relevant documentation, before crafting a technical design that would subsequently be handed off to the coding assistant tasked with generating the code. This approach is applicable across various sectors, including finance, business analysis, healthcare, marketing, and legal, among others.

One multi-agent framework that we're excited about is LangGraph, built by the team at Langchain. LangGraph is a Python library for building stateful, multi-actor applications with LLMs. It extends the LangChain Expression Language with the ability to coordinate multiple chains (or actors) across multiple steps of computation.

What's great about LangGraph is that it follows a DAG architecture, enabling each specialized agent to communicate with one another, and subsequently trigger actions among other agents within the graph.

We've added an example for leveraging GPT Researcher with LangGraph which can be found in /multi_agents.

The example demonstrates a generic use case for an editorial agent team that works together to complete a research report on a given task.

The Multi Agent Team

The research team is made up of 7 AI agents:

  • Chief Editor - Oversees the research process and manages the team. This is the "master" agent that coordinates the other agents using Langgraph.
  • Researcher (gpt-researcher) - A specialized autonomous agent that conducts in depth research on a given topic.
  • Editor - Responsible for planning the research outline and structure.
  • Reviewer - Validates the correctness of the research results given a set of criteria.
  • Revisor - Revises the research results based on the feedback from the reviewer.
  • Writer - Responsible for compiling and writing the final report.
  • Publisher - Responsible for publishing the final report in various formats.

How it works

Generally, the process is based on the following stages:

  1. Planning stage
  2. Data collection and analysis
  3. Writing and submission
  4. Review and revision
  5. Publication

Architecture


Steps

More specifically (as seen in the architecture diagram) the process is as follows:

  • Browser (gpt-researcher) - Browses the internet for initial research based on the given research task.
  • Editor - Plans the report outline and structure based on the initial research.
  • For each outline topic (in parallel):
    • Researcher (gpt-researcher) - Runs an in depth research on the subtopics and writes a draft.
    • Reviewer - Validates the correctness of the draft given a set of criteria and provides feedback.
    • Revisor - Revises the draft until it is satisfactory based on the reviewer feedback.
  • Writer - Compiles and writes the final report including an introduction, conclusion and references section from the given research findings.
  • Publisher - Publishes the final report to multi formats such as PDF, Docx, Markdown, etc.

How to run

  1. Install required packages:
    pip install -r requirements.txt
  2. Run the application:
    python main.py

Usage

To change the research query and customize the report, edit the task.json file in the main directory.