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
todoen 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é
coding_agent(tour) — voir le harnais résoudre des tâches de complexité croissante.coding_agent(multiturn) — le regarder construire un programme au cours d'une Session.coding_goal— mode objectif autonome, validé par le vérificateur et durable.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