Core Concepts

What is micro-agi?

micro-agi enables the creation of AI autonomous agents using a structured, JSX-style syntax. This framework facilitates the development of sophisticated AI agents that can perform a variety of tasks autonomously and interact with each other to solve complex problems.

micro-agi is built around three fundamental components:

  • Team
  • Agent
  • Task

Using micro-agi, you can create complex systems of AI agents that work together to accomplish tasks. Here's a simple example:

<Team>
  <Agent role="designer">
    <Task> design landing page" <Task/>
  </Agent>
  <Agent role="frontend developer">
    <Task> develop landing page with react and tailwind <Task/>
    <Task> publish to github <Task/>
  </Agent>
</Team>

In this example, the Team contains two Agent components: one with the role of a designer and the other as a frontend developer. Each agent has specific Task components assigned to them, and these tasks can be enhanced with tools compatible with Langchain for advanced language processing capabilities.

Each plays a crucial role in the orchestration of AI autonomous agents. Let's delve deeper into these components.

Team

A Team is a container that groups a collection of Agent components. It represents a collaborative unit within which agents can interact, delegate tasks, and combine their efforts to achieve common objectives.

  • Purpose: Acts as a collaborative environment for agents.
  • Usage: Define a Team to encapsulate a group of agents working towards a shared goal.

Agent

An Agent is an individual entity within a Team with a specific role and set of responsibilities. Each agent can be assigned one or more tasks.

  • Roles: Define the role of an agent (e.g., designer, developer) to specify its function within the team.
  • Autonomy: Agents can work independently or collaborate with other agents.
  • Interaction: Agents within the same team can communicate and delegate tasks among themselves.
  • Tools Compatibility: Agents can be attributed tools that are compatible with Langchain, enhancing their capabilities in natural language processing and understanding.

Task

A Task is an actionable item assigned to an agent. It defines what needs to be done and can include specific parameters or requirements.

  • Flexibility: Tasks can range from simple to complex and can be dynamically assigned or re-assigned to agents.
  • Customizable: Each task can be tailored with specific descriptions, parameters, and tools needed for completion.
  • Tools Assignment: Tasks can be assigned specific tools compatible with Langchain, allowing for more sophisticated processing and execution.