编码 Agent 示例

examples/ 中有三个可运行的示例 crate,每个都是一个真实的 agent(没有模拟),它执行工作,然后通过运行生成的代码独立验证结果。所有示例默认使用 Gemini 3 模型;请先设置一个密钥:

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

coding_agent

运行中的 harness,有四种模式:

# 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 — 跨语言的一次性任务(写入并运行 rustc/python3/node)。
  • tour — 五个复杂度递增的场景(hellomultifilefixtestdebugrefactor),每个都通过 PASS/FAIL 摘要进行自验证。
  • multiturn — 一个 agent/runner/session 在五个回合中(添加/列出 → 完成 → 删除 → 健壮错误 → 测试)逐步构建一个 Python todo CLI,基于其自身之前的工作;通过运行其测试套件进行验证。

阅读它以了解:CodingAgent harness、计划→行动→观察循环、多轮上下文保留。


coding_graph

超审查 workflow 作为 adk-graph StateGraph:实现 → 并行正确性/边缘情况/风格审查者 → 综合(延迟扇入)→ 修订循环 → 最终确定。

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

阅读它以了解:在一个超级步骤中的并行 agent、add_deferred_node_fn 扇入、条件循环路由。通过导入生成的函数并断言规范 + 边缘情况进行验证。


coding_goal

自主 /goal 模式,具有持久检查点:植入一个有 bug 的模块 + 失败的测试,循环计划→行动→验证直到 python3 test_stats.py 通过,打印持久化的检查点,然后演示恢复(已完成的目标是空操作)。

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

阅读它以了解:验证器门控的目标循环、原子目标状态检查点以及跨重启恢复。


streaming_bash

一个 Web UI (Axum + WebSocket),它从单个 EventStream 实时渲染 LlmAgent 的工具活动:流式传输 bash stdout/stderr 以及一次性 read_file / grep / glob 结果,每个都作为自己的卡片。

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

阅读它以了解:ToolContext::emit_progress 流式传输,以及允许 UI 通用渲染任何工具输出的一等 Event::tool_calls() / Event::tool_results() / event.tool_progress_stream() 访问器。请参阅 Streaming Tool Progress


建议路径

  1. coding_agent (tour) — 了解 harness 如何解决复杂度递增的任务。
  2. coding_agent (multiturn) — 观察它在一个会话中构建程序。
  3. coding_goal — 自主、验证器门控、持久目标模式。
  4. coding_graph — 并行超审查编排。

CLI (code / goal / ultracode) 将这些模式打包为一等命令。

← 返回 Coding Agent 概述