Exemplos de Agentes de Codificação
Três crates de exemplo executáveis em examples/,
cada um um agente real (sem mocks) que faz o trabalho e então verifica independentemente o resultado executando o código produzido. Todos utilizam um modelo Gemini 3 por padrão; defina uma chave primeiro:
export GOOGLE_API_KEY=… # or GEMINI_API_KEY
# or: CODING_PROVIDER=openai OPENAI_API_KEY=…
coding_agent
O harness em ação, com quatro modos:
# Multi-language demo (Rust, Python, JavaScript) in a temp workspace:
cargo run --manifest-path examples/coding_agent/Cargo.toml
# Build a medium program over a persistent multi-turn session:
cargo run --manifest-path examples/coding_agent/Cargo.toml -- multiturn
# Scenario tour — increasing complexity, each independently verified:
cargo run --manifest-path examples/coding_agent/Cargo.toml -- tour
# A single task in your own directory:
cargo run --manifest-path examples/coding_agent/Cargo.toml -- ./some/dir "make tests pass"
- demo — tarefas únicas em várias linguagens (escreve e executa
rustc/python3/node). - tour — cinco cenários de complexidade crescente (
hello→multifile→fixtest→debug→refactor), cada um auto-verificado com um resumo de APROVADO/FALHA. - multiturn — um agent/runner/session desenvolve uma CLI Python
todoao longo de cinco turnos (adicionar/listar → concluído → remover → erros robustos → testes), construindo sobre seu próprio trabalho anterior; verificado executando sua suíte de testes.
Leia para: o harness CodingAgent, o loop planejar→agir→observar, retenção de contexto multi-turno.
coding_graph
O fluxo de trabalho de ultra-revisão como um adk-graph StateGraph:
implementar → revisores paralelos de correção/casos-limite/estilo → sintetizar (fan-in adiado) → ciclo de revisão → finalizar.
cargo run --manifest-path examples/coding_graph/Cargo.toml
Leia para: agentes paralelos em um super-passo, add_deferred_node_fn fan-in,
roteamento cíclico condicional. Verifica importando a função produzida e
afirmando a especificação + casos-limite.
coding_goal
Modo autônomo /goal
com checkpointing durável: semeia um módulo com bugs + teste falho, repete
planejar→agir→verificar até que python3 test_stats.py seja aprovado, imprime o checkpoint persistido, então demonstra retomar (um objetivo concluído é uma no-op).
cargo run --manifest-path examples/coding_goal/Cargo.toml
Leia para: o ciclo de objetivo controlado pelo verificador, checkpointing atômico do estado do objetivo, e retomada após reinício.
streaming_bash
Uma UI web (Axum + WebSocket) que renderiza a atividade de ferramenta de um LlmAgent ao vivo de um único EventStream: transmissão de bash stdout/stderr mais resultados únicos de read_file / grep / glob, cada um como seu próprio cartão.
cargo run --manifest-path examples/streaming_bash/Cargo.toml # web UI
cargo run --manifest-path examples/streaming_bash/Cargo.toml -- cli
Leia para: transmissão de ToolContext::emit_progress, e os acessadores de primeira classe Event::tool_calls() / Event::tool_results() / event.tool_progress_stream() que permitem que uma UI renderize a saída de qualquer ferramenta genericamente. Veja Progresso da Ferramenta de Transmissão.
Um caminho sugerido
coding_agent(tour) — veja o harness resolver tarefas de complexidade crescente.coding_agent(multiturn) — observe-o construir um programa ao longo de uma Session.coding_goal— modo de objetivo autônomo, com portão de verificador, durável.coding_graph— orquestração de ultra-revisão paralela.
A CLI (code / goal / ultracode) empacota esses padrões como comandos de primeira classe.
← Voltar para a Visão geral do Coding Agent