# Agents
Agents are just plugins that create or connect pipelines of other nested plugins, for implementing higher-level behaviors with more advanced control flow. They are designed to be layered on top of each other, so that you can combine capabilities of different agents together.
## Chat Agent
```{eval-rst}
.. autoclass:: nano_llm.agents.chat.ChatAgent
:members:
:special-members: __init__
```
## Voice Chat
```{eval-rst}
.. autoclass:: nano_llm.agents.voice_chat.VoiceChat
:members:
:special-members: __init__
```
## Web Chat
```{eval-rst}
.. raw:: html
.. autoclass:: nano_llm.agents.web_chat.WebChat
:members:
:special-members: __init__
```
## Video Stream
```{eval-rst}
.. autoclass:: nano_llm.agents.video_stream.VideoStream
:members:
:special-members: __init__
```
## Video Query
```{eval-rst}
.. raw:: html
.. autoclass:: nano_llm.agents.video_query.VideoQuery
:members:
:special-members: __init__
```