123 lines
3.8 KiB
Markdown
123 lines
3.8 KiB
Markdown
# Agent Development Kit (ADK) 2.0
|
|
|
|
[](LICENSE)
|
|
[](https://pypi.org/project/google-adk/)
|
|
[](https://pypi.org/project/google-adk/)
|
|
[](https://pepy.tech/project/google-adk)
|
|
[](https://github.com/google/adk-python/actions/workflows/python-unit-tests.yml)
|
|
[](https://google.github.io/adk-docs/)
|
|
|
|
<h2 align="center">
|
|
<img src="https://raw.githubusercontent.com/google/adk-python/main/assets/agent-development-kit.png" width="256"/>
|
|
</h2>
|
|
<h3 align="center">
|
|
An open-source, code-first Python framework for building, evaluating, and deploying sophisticated AI agents with flexibility and control.
|
|
</h3>
|
|
<h3 align="center">
|
|
Important Links:
|
|
<a href="https://google.github.io/adk-docs/">Docs</a>,
|
|
<a href="https://github.com/google/adk-samples">Samples</a> &
|
|
<a href="https://github.com/google/adk-web">ADK Web</a>.
|
|
</h3>
|
|
|
|
______________________________________________________________________
|
|
|
|
> **⚠️ BREAKING CHANGES FROM 1.x**
|
|
>
|
|
> This release includes breaking changes to the agent API, event model, and
|
|
> session schema. **Sessions generated by ADK 2.0 are readable by ADK 1.28+
|
|
> (extra fields will be ignored), but are incompatible with older 1.x versions.**
|
|
|
|
______________________________________________________________________
|
|
|
|
## 🔥 What's New in 2.0
|
|
|
|
- **Workflow Runtime**: A graph-based execution engine for composing
|
|
deterministic execution flows for agentic apps, with support for routing,
|
|
fan-out/fan-in, loops, retry, state management, dynamic nodes,
|
|
human-in-the-loop, and nested workflows.
|
|
|
|
- **Task API**: Structured agent-to-agent delegation with multi-turn task
|
|
mode, single-turn controlled output, mixed delegation patterns,
|
|
human-in-the-loop, and task agents as workflow nodes.
|
|
|
|
## 🚀 Installation
|
|
|
|
```bash
|
|
pip install google-adk
|
|
```
|
|
|
|
**Requirements:** Python 3.10+.
|
|
|
|
To install optional integrations, you can use the following command:
|
|
|
|
```bash
|
|
pip install "google-adk[extensions]"
|
|
```
|
|
|
|
The release cadence is roughly bi-weekly.
|
|
|
|
## Quick Start
|
|
|
|
> **Beginner Note:** ADK applications are built using two main classes:
|
|
> **`Agent`** (defines an AI's instructions, tools, and behavior) and
|
|
> **`Workflow`** (orchestrates agents and tasks in a graph-based flow).
|
|
|
|
### Agent
|
|
|
|
```python
|
|
from google.adk import Agent
|
|
|
|
root_agent = Agent(
|
|
name="greeting_agent",
|
|
model="gemini-2.5-flash",
|
|
instruction="You are a helpful assistant. Greet the user warmly.",
|
|
)
|
|
```
|
|
|
|
### Workflow
|
|
|
|
```python
|
|
from google.adk import Agent, Workflow
|
|
|
|
generate_fruit_agent = Agent(
|
|
name="generate_fruit_agent",
|
|
instruction="Return the name of a random fruit. Return only the name.",
|
|
)
|
|
|
|
generate_benefit_agent = Agent(
|
|
name="generate_benefit_agent",
|
|
instruction="Tell me a health benefit about the specified fruit.",
|
|
)
|
|
|
|
root_agent = Workflow(
|
|
name="root_agent",
|
|
edges=[("START", generate_fruit_agent, generate_benefit_agent)],
|
|
)
|
|
```
|
|
|
|
### Run Locally
|
|
|
|
```bash
|
|
# Interactive CLI
|
|
adk run path/to/my_agent
|
|
|
|
# Web UI (supports multi-agent directories or pointing directly to a single agent folder)
|
|
adk web path/to/agents_dir
|
|
```
|
|
|
|
## 📚 Documentation
|
|
|
|
- **Getting Started**: https://google.github.io/adk-docs/
|
|
- **Samples**: See `contributing/workflow_samples/` and
|
|
`contributing/task_samples/` for workflow and task API examples.
|
|
|
|
## 🤝 Contributing
|
|
|
|
See [CONTRIBUTING.md](CONTRIBUTING.md) for details.
|
|
|
|
## 📄 License
|
|
|
|
This project is licensed under the Apache 2.0 License — see the
|
|
[LICENSE](LICENSE) file for details.
|