编码 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 — 五个复杂度递增的场景(
hello→multifile→fixtest→debug→refactor),每个都通过 PASS/FAIL 摘要进行自验证。 - multiturn — 一个 agent/runner/session 在五个回合中(添加/列出 → 完成 → 删除 → 健壮错误 → 测试)逐步构建一个 Python
todoCLI,基于其自身之前的工作;通过运行其测试套件进行验证。
阅读它以了解: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。
建议路径
coding_agent(tour) — 了解 harness 如何解决复杂度递增的任务。coding_agent(multiturn) — 观察它在一个会话中构建程序。coding_goal— 自主、验证器门控、持久目标模式。coding_graph— 并行超审查编排。
CLI (code / goal / ultracode) 将这些模式打包为一等命令。
← 返回 Coding Agent 概述