ADK Studio
Ambiente de desenvolvimento visual para construir agentes de IA com arrastar e soltar.
Visão Geral
ADK Studio oferece uma interface low-code para projetar, testar e implantar agentes de IA construídos com ADK-Rust. Crie fluxos de trabalho complexos multi-agent visualmente e, em seguida, compile-os para código Rust de produção.

Instalação
# Install from crates.io (self-contained binary)
cargo install adk-studio
# Or build from source
cargo build --release -p adk-studio
Início Rápido
# Start the studio server
adk-studio
# Open in browser
open http://localhost:3000
Opções da CLI
| Opção | Descrição | Padrão |
|---|---|---|
--port, -p | Porta do servidor | 3000 |
--host, -h | Endereço de bind | 127.0.0.1 |
--dir, -d | Diretório de projetos | ~/.local/share/adk-studio/projects |
--static, -s | Sobrescrever diretório de arquivos estáticos | (embutido) |
# Bind para todas as interfaces para acesso remoto
adk-studio --host 0.0.0.0 --port 8080
# Diretório de projetos personalizado
adk-studio --dir ./my-projects
Tutorial Passo a Passo
Siga este tutorial para construir seu primeiro agente de IA no ADK Studio.
Passo 1: Criar um Novo Projeto
Clique no botão + Novo Projeto no canto superior direito.

Insira um nome para o seu projeto (ex: "Projeto Demonstração") e clique em Criar.
Passo 2: Adicionar um Agente à Tela
A barra lateral esquerda contém a Paleta de Agentes com os tipos de agente disponíveis:
- LLM Agent - Agente de IA único alimentado por um modelo de linguagem
- Sequential - Executa sub-agentes em ordem
- Parallel - Executa sub-agentes concomitantemente
- Loop - Itera até a condição de saída
- Router - Encaminha para sub-agentes com base na entrada
Clique em LLM Agent para adicioná-lo à tela.

Passo 3: Configurar o Agente
Quando você seleciona um agente, o Painel de Propriedades aparece no lado direito. Aqui você pode configurar:
- Name - Identificador para o agente
- Model - Provedor e modelo LLM (Gemini, OpenAI, etc.)
- Instructions - Prompt do sistema para o agente

Passo 4: Adicionar Ferramentas ao Agente
Role para baixo na barra lateral esquerda para encontrar a Paleta de Ferramentas:
- Function - Função Rust personalizada com editor de código
- MCP - Servidor do Protocolo de Contexto do Modelo
- Browser - 46 ações de automação WebDriver
- Google Search - Busca web fundamentada
- Load Artifact - Carregar arquivos para o contexto
Clique em uma ferramenta para adicioná-la ao seu agente.

Passo 5: Construir e Testar
Clique em Construir Projeto para compilar seu agente. Uma vez construído, use o Painel de Chat na parte inferior para testar seu agente com conversas reais.

O chat suporta:
- Respostas de streaming SSE ao vivo
- Animações de execução do agente
- Painel de rastreamento de eventos para depuração
Passo 6: Visualizar Código Gerado
Clique em Visualizar Código para ver o código Rust pronto para produção gerado a partir do seu design visual.

Você pode copiar este código ou usar Compilar para gerar um projeto Rust completo.
Recursos
Tipos de Agente
| Agente | Descrição |
|---|---|
| LLM Agent | Agente único alimentado por um LLM |
| Sequential | Executa sub-agentes em ordem |
| Parallel | Executa sub-agentes concorrentemente |
| Loop | Itera até a condição de saída |
| Router | Encaminha para sub-agentes com base na entrada |
Tipos de Ferramenta
| Ferramenta | Descrição |
|---|---|
| Function | Função Rust personalizada com editor de código |
| MCP | Servidor do Protocolo de Contexto do Modelo |
| Browser | 46 ações de automação do WebDriver |
| Google Search | Pesquisa web fundamentada |
| Load Artifact | Carrega arquivos para o contexto |
Chat em Tempo Real
Teste agents diretamente no estúdio:
- Respostas de streaming SSE ao vivo
- Animações de execução de Agent
- Painel de rastreamento de eventos para depuração
- Persistência da memória da Session
Geração de Código
Converta designs visuais em código de produção:
- View Code - Visualize o Rust gerado com destaque de sintaxe
- Compile - Gera projeto Rust completo
- Build - Compila para executável com saída em tempo real
- Run - Executa o agent construído
Arquitetura
┌─────────────────────────────────────────────────────────────┐
│ ADK Studio UI │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │
│ │ Palette │ │ Canvas │ │ Properties │ │
│ │ - Agents │ │ ReactFlow │ │ - Name │ │
│ │ - Tools │ │ Workflow │ │ - Model │ │
│ │ │ │ Designer │ │ - Instructions │ │
│ └─────────────┘ └─────────────┘ └─────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
│
▼ HTTP/SSE
┌─────────────────────────────────────────────────────────────┐
│ ADK Studio Server │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │
│ │ Routes │ │ Codegen │ │ Storage │ │
│ │ /api/* │ │ Rust code │ │ Projects │ │
│ │ /chat │ │ generation │ │ File-based │ │
│ └─────────────┘ └─────────────┘ └─────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
│
▼ Build
┌─────────────────────────────────────────────────────────────┐
│ Generated Rust Project │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Cargo.toml + src/main.rs │ │
│ │ Uses: adk-rust, adk-agent, adk-model, etc. │ │
│ └─────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
Endpoints da API
Projetos
| Endpoint | Método | Descrição |
|---|---|---|
/api/projects | GET | Listar todos os projetos |
/api/projects | POST | Criar novo projeto |
/api/projects/:id | GET | Obter detalhes do projeto |
/api/projects/:id | PUT | Atualizar projeto |
/api/projects/:id | DELETE | Excluir projeto |
Geração de Código
| Endpoint | Método | Descrição |
|---|---|---|
/api/projects/:id/codegen | POST | Gerar código Rust |
/api/projects/:id/build | POST | Compilar projeto |
/api/projects/:id/run | POST | Executar executável compilado |
Chat
| Endpoint | Método | Descrição |
|---|---|---|
/api/chat | POST | Enviar mensagem (stream SSE) |
Variáveis de Ambiente
| Variável | Descrição | Obrigatório |
|---|---|---|
GOOGLE_API_KEY | Chave de API Gemini | Sim (para Gemini) |
OPENAI_API_KEY | Chave de API OpenAI | Sim (para OpenAI) |
ADK_DEV_MODE | Usar dependências do workspace local | Não |
RUST_LOG | Nível de log | Não (padrão: info) |
Estrutura do Código Gerado
my-project/
├── Cargo.toml
└── src/
└── main.rs
Exemplo de main.rs gerado:
use adk_rust::prelude::*;
use adk_rust::Launcher;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
dotenvy::dotenv().ok();
let api_key = std::env::var("GOOGLE_API_KEY")?;
let model = GeminiModel::new(&api_key, "gemini-2.0-flash")?;
let agent = LlmAgentBuilder::new("assistant")
.description("Helpful AI assistant")
.instruction("You are a helpful assistant.")
.model(Arc::new(model))
.build()?;
Launcher::new(Arc::new(agent)).run().await?;
Ok(())
}
Modelos
Studio inclui modelos pré-construídos:
- Assistente Básico - Agente LLM simples
- Agente de Pesquisa - Agente com Google Search
- Roteador de Suporte - Roteamento multi-agente
- Assistente de Código - Agente com ferramentas de código
Melhores Práticas
| Prática | Descrição |
|---|---|
| Comece simples | Comece com um único Agente LLM, adicione complexidade |
| Teste frequentemente | Use o painel de chat para validar o comportamento |
| Revise o código | Verifique o código gerado antes de implantar |
| Controle a versão dos projetos | Exporte e controle a versão do JSON do projeto |
| Use modelos | Comece com modelos para padrões comuns |
Anterior: ← Memória | Próximo: Diretrizes de Desenvolvimento →