# Component Agent Introduction

{% hint style="info" %}
Important

[Legacy plugins](https://github.com/Significant-Gravitas/Auto-GPT-Plugins) no longer work with AutoGPT. They have been replaced by components, although we're still working on a new system to load plug-in components.
{% endhint %}

[Legacy plugins](https://github.com/Significant-Gravitas/Auto-GPT-Plugins) no longer work with AutoGPT. They have been replaced by components, although we're still working on a new system to load plug-in components.

This guide explains the component-based architecture of AutoGPT agents. It's a new way of building agents that is more flexible and easier to extend. Components replace some agent's logic and plugins with a more modular and composable system.

Agent is composed of *components*, and each *component* implements a range of *protocols* (interfaces), each one providing a specific functionality, e.g. additional commands or messages. Each *protocol* is handled in a specific order, defined by the agent. This allows for a clear separation of concerns and a more modular design.

This system is simple, flexible, and doesn't hide any data - anything can still be passed or accessed directly from or between components.

## Definitions & Guides <a href="#definitions-guides" id="definitions-guides"></a>

See [Creating Components](https://docs.agpt.co/forge/components/creating-components/) to get started! Or you can explore the following topics in detail:

* [🧩 Component](https://docs.agpt.co/forge/components/components/): a class that implements one or more *protocols*. It can be added to an agent to provide additional functionality. See what's already provided in [Built-in Components](https://docs.agpt.co/forge/components/built-in-components/).
* [⚙️ Protocol](https://docs.agpt.co/forge/components/protocols/): an interface that defines a set of methods that a component must implement. Protocols are used to group related functionality.
* [🛠️ Command](https://docs.agpt.co/forge/components/commands/): enable *agent* to interact with user and tools.
* [🤖 Agent](https://docs.agpt.co/forge/components/agents/): a class that is composed of components. It's responsible for executing pipelines and managing the components.
* **Pipeline**: a sequence of method calls on components. Pipelines are used to execute a series of actions in a specific order. As of now there's no formal class for a pipeline, it's just a sequence of method calls on components. There are two default pipelines implemented in the default agent: `propose_action` and `execute`. See [🤖 Agent](https://docs.agpt.co/forge/components/agents/) to learn more.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://agpt.co/docs/classic/forge/component-agent-introduction.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
