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 (hellomultifilefixtestdebugrefactor), cada um auto-verificado com um resumo de APROVADO/FALHA.
  • multiturn — um agent/runner/session desenvolve uma CLI Python todo ao 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

  1. coding_agent (tour) — veja o harness resolver tarefas de complexidade crescente.
  2. coding_agent (multiturn) — observe-o construir um programa ao longo de uma Session.
  3. coding_goal — modo de objetivo autônomo, com portão de verificador, durável.
  4. 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