> For the complete documentation index, see [llms.txt](https://docs.amesa.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.amesa.com/build-multi-agent-systems/define-skills.md).

# Create Agents

Agents that perform skills are the foundational building blocks for your intelligent agent system. They take action to achieve goals in key scenarios where your agent orchestration needs to succeed. To build an orchestration with Machine Teaching, you will create multiple skill agents and then orchestrate them together.

You can use three different types of agents within AMESA.

* Create a teacher[^1] to implement a [learned skill](#user-content-fn-2)[^2] that uses DRL to learn to make decisions. You can set up your teacher to [configure the agent using goals](/build-multi-agent-systems/define-skills/train-with-goals-using-the-ui.md) or to [train with rewards](/build-multi-agent-systems/define-skills/train-with-goals-or-rewards-using-the-sdk.md). The skill agent will then train and practice in simulation until it can make decisions successfully.
* Create a controller[^3] to implement a [programmed skill agent](#user-content-fn-4)[^4] that makes decisions based on programming rather than learning. A controller can use math, rules, optimization, or any other technology that can be expressed in a Python program. [Configure controllers with the Python agent training library](/build-multi-agent-systems/define-skills/configure-programmed-algorithms-as-skills.md) and publish them to the UI to use in orchestrations.
* Create an orchestrator[^5] to [orchestrate skills together](/build-multi-agent-systems/orchestrate-skills.md). Orchestrators are specialized agents that direct the orchestration how to choose between different decision-making agents. Orchestrators can be either learned or programmed.

You can create agents in two different ways, using the Agent Orchestration Studio or using code. If you use the code workflow, you can then [publish the skills using the CLI](/build-multi-agent-systems/import-agent-components-to-the-ui.md) to appear in the Agent Orchestration Studio ready be included in agent system designs. Or if you use coding agents, the skills can be published via the AMESA Autonomy MCP Server.

For learned skills you can use either the Agent Orchestration Studio or the Agent Training Library to create teachers, but the Agent Training Library includes some fine-tuning options that are not available in the Agent Orchestration Studio.

Controllers for programmed skills can be created only through the code workflow. They can then be published to the UI for use in agent systems.

You can use either the Agent Orchestration Studio or the code workflow to create orchestrators.

[^1]: An algorithm that creates a skill that uses DRL to learn to make decisions

[^2]: Skills that use DRL to make decisions and learn by practicing in simulation

[^3]: Any algorithm that makes decisions based on programming rather than DRL

[^4]: Skills that make decisions based on programmed algorithms

[^5]: A special skill that assigns decision-making control to the right skill based on current conditions


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.amesa.com/build-multi-agent-systems/define-skills.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
