What is an Agent?

In micro-agi, an agent is an autonomous unit programmed to perform tasks, make decisions, and communicate with other agents. Think of an agent as a member of a team, with specific skills and a particular job to do. Agents can have different roles like 'Researcher', 'Writer', or 'Customer Support', each contributing to the overall goal of the team.

Key Properties of an Agent

  • Role: Defines the agent's function within the team. It determines the kind of tasks the agent is best suited for.
  • Goal: The individual objective that the agent aims to achieve. It guides the agent's decision-making process.
  • Backstory: Provides context to the agent's role and goal, enriching the interaction and collaboration dynamics.
  • Tools: A set of capabilities or functions that the agent can use to perform tasks. Tools can be shared or exclusive to specific agents.

Agent Lifecycle

  1. Initialization: An agent is created with a defined role, goal, backstory, and set of tools.
  2. Task Assignment: The agent is assigned tasks either directly or through the team's process management.
  3. Execution: The agent performs the task using its available tools and in accordance with its role and goal.
  4. Collaboration: Throughout the execution, the agent can communicate with other agents to delegate, inquire, or assist.

Creating an Agent

To create an agent, you would typically import the Agent component with the desired properties. Here's a conceptual example:

<Agent role="" goal="" backstory="">
    {/* something here ...*/}
</Agent>

Agent Interaction

Agents can interact with each other using the micro-agi's built-in delegation and communication mechanisms. This allows for dynamic task management and problem-solving within the team.

Props

PropDescriptionDefault
roleDefines the agent's function within the crew. It determines the kind of tasks the agent is best suited for.undefined
goalThe individual objective that the agent aims to achieve. It guides the agent's decision-making process.undefined
backstoryProvides context to the agent's role and goal, enriching the interaction and collaboration dynamics.undefined
contextxxx.undefined
modelxxx.undefined
providerxxx.undefined
agentTypexxx.undefined
toolsSet of capabilities or functions that the agent can use to perform tasks. Tools can be shared or exclusive to specific agents.undefined
childrenxxxundefined