# Agent Runtime
Supported in ADKPython v0.1.0TypeScript v0.2.0Go v0.1.0Java v0.1.0Kotlin v0.1.0
ADK provides several ways to run and test your agents during development. Choose
the method that best fits your development workflow.
## Ways to run agents
- :material-web:{ .lg .middle } **Dev UI**
---
Use `adk web` to launch a browser-based interface for interacting with your
agents.
[:octicons-arrow-right-24: Use the Web Interface](web-interface/index.md)
- :material-console:{ .lg .middle } **Command Line**
---
Use `adk run` to interact with your agents directly in the terminal.
[:octicons-arrow-right-24: Use the Command Line](command-line.md)
- :material-api:{ .lg .middle } **API Server**
---
Use `adk api_server` to expose your agents through a RESTful API.
[:octicons-arrow-right-24: Use the API Server](api-server.md)
- :material-access-point:{ .lg .middle } **Ambient Agents**
---
Build autonomous agents that process events, monitor systems, and respond
asynchronously without human intervention.
[:octicons-arrow-right-24: Use Ambient Agents](ambient-agents.md)
## Technical reference
For more in-depth information on runtime configuration and behavior, see these
pages:
- **[Event Loop](event-loop.md)**: Understand the core event loop that powers
ADK, including the yield/pause/resume cycle.
- **[Resume Agents](resume.md)**: Learn how to resume agent execution from a
previous state.
- **[Cancel Agent Runs](cancel.md)**: Gracefully cancel running
agent invocations using AbortSignal (TypeScript).
- **[Runtime Config](runconfig.md)**: Configure runtime behavior with
RunConfig.