Exemples d'Agents de Codage

Trois exemples de crates exécutables dans examples/, chacun un véritable agent (sans maquettes) qui effectue le travail puis vérifie indépendamment le résultat en exécutant le code produit. Tous utilisent par défaut un modÚle Gemini 3 ; définissez une clé d'abord :

export GOOGLE_API_KEY=
          # or GEMINI_API_KEY
# or: CODING_PROVIDER=openai OPENAI_API_KEY=


coding_agent

Le harnais en action, avec quatre modes :

# 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 — tĂąches uniques dans plusieurs langages (Ă©crit et exĂ©cute rustc/python3/node).
  • tour — cinq scĂ©narios de complexitĂ© croissante (hello → multifile → fixtest → debug → refactor), chacun auto-vĂ©rifiĂ© avec un rĂ©sumĂ© RÉUSSITE/ÉCHEC.
  • multiturn — un agent/runner/session dĂ©veloppe une interface CLI Python todo en cinq tours (ajouter/lister → terminĂ© → supprimer → erreurs robustes → tests), s'appuyant sur son propre travail antĂ©rieur ; vĂ©rifiĂ© en exĂ©cutant sa suite de tests.

À lire pour : le harnais CodingAgent, la boucle planifier→agir→observer, la rĂ©tention de contexte multi-tours.


coding_graph

Le workflow d'ultra-rĂ©vision comme un adk-graph StateGraph : implĂ©menter → rĂ©viseurs parallĂšles de correction/cas limites/style → synthĂ©tiser (fan-in diffĂ©rĂ©) → boucle de rĂ©vision → finaliser.

cargo run --manifest-path examples/coding_graph/Cargo.toml

À lire pour : des agents parallĂšles en une seule super-Ă©tape, le fan-in add_deferred_node_fn, le routage cyclique conditionnel. VĂ©rifie en important la fonction produite et en affirmant les spĂ©cifications + les cas limites.


coding_goal

Autonome /goal mode avec point de contrĂŽle durable : initialise un module boguĂ© + un test Ă©chouĂ©, boucle planifier→agir→vĂ©rifier jusqu'Ă  ce que python3 test_stats.py rĂ©ussisse, affiche le point de contrĂŽle persistĂ©, puis dĂ©montre la reprise (un objectif achevĂ© est une no-op).

cargo run --manifest-path examples/coding_goal/Cargo.toml

Lisez-le pour : la boucle d'objectif validée par le vérificateur, le point de contrÎle atomique de l'état de l'objectif, et la reprise aprÚs redémarrage.


streaming_bash

Une interface utilisateur web (Axum + WebSocket) qui affiche l'activité des Tool d'un LlmAgent en direct à partir d'une seule EventStream : diffusion en continu du stdout/stderr de bash plus des résultats ponctuels de read_file / grep / glob, chacun comme sa propre carte.

cargo run --manifest-path examples/streaming_bash/Cargo.toml      # web UI
cargo run --manifest-path examples/streaming_bash/Cargo.toml -- cli

Lisez-le pour : la diffusion en continu de ToolContext::emit_progress, et les accesseurs de premiÚre classe de Event::tool_calls() / Event::tool_results() / event.tool_progress_stream() qui permettent à une interface utilisateur de rendre la sortie de n'importe quel Tool de maniÚre générique. Voir Streaming Tool Progress.


Un chemin suggéré

  1. coding_agent (tour) — voir le harnais rĂ©soudre des tĂąches de complexitĂ© croissante.
  2. coding_agent (multiturn) — le regarder construire un programme au cours d'une Session.
  3. coding_goal — mode objectif autonome, validĂ© par le vĂ©rificateur et durable.
  4. coding_graph — orchestration parallĂšle d'ultra-rĂ©vision.

Le CLI (code / goal / ultracode) intĂšgre ces modĂšles en tant que commandes de premiĂšre classe.

← Retour à la Vue d'ensemble de Coding Agent

Exemples d'Agents de Codage - Documentation ADK-Rust | ADK-Rust