# Agents (https://www.agentenvframework.com/docs/agents)

> What an agent is, and the pages that take one from a Python class to a deployed agent with extensions and skills, and human agents

An agent is what acts in an environment. It speaks the agent-to-agent protocol (A2A): it serves an
agent card that says who it is and what it supports, and it takes work as A2A messages. You write
it as a Python class, or wrap a harness you already use, and register it as an agent: the stored,
versioned definition the framework deploys. Each deployment of an agent is an agent instance, a
running copy with its own id and A2A URL. AgentEnv Framework ships ten agents ready to deploy,
Claude Code, Codex, Gemini, Hermes Agent, OpenCode, pi, OpenHands, Letta Code, Pydantic AI and
Browser Use; [Supported Agents](https://www.agentenvframework.com/docs/agents/supported-agents.md) covers them.

These pages follow one agent, `claudius`, which works the `email` environment from
[Environments](https://www.agentenvframework.com/docs/environments.md): it reads Dana's request for the Q3 numbers and sends them to Sam
Lee. Read them in order:

1. [Creating your own agent](https://www.agentenvframework.com/docs/agents/creating.md): write `ClaudiusRLMAgent`, Claude as a recursive
   language model: it answers each task with the tools of the envs it is given, and calls itself on
   sub-tasks.
2. [Deploying your agent](https://www.agentenvframework.com/docs/agents/deploying.md): register it, deploy it in a sandbox, use it in a
   task and tear the instance down.
3. [Useful A2A extensions](https://www.agentenvframework.com/docs/agents/extensions.md): the `urn:agentenv:*` extensions the framework
   relies on to provide full functionality.
4. [Skills](https://www.agentenvframework.com/docs/agents/skills.md): write a skill once, use on any agent.
5. [Human agents](https://www.agentenvframework.com/docs/agents/human-agents.md): a person answers as an A2A agent, in the same
   conversation an LLM agent has.