编码代理 CLI
adk-rust CLI 提供三个原生编码命令。它们都会在受限工作区中运行真正的代理,默认使用 Gemini 3 模型,并以非交互方式从 --api-key 或环境变量(GEMINI_API_KEY/GOOGLE_API_KEY、OPENAI_API_KEY、……)解析 API 密钥,因此不会因设置提示而阻塞。
code — 一次性任务
adk-rust code "make the failing test pass"
adk-rust code --dir ./project "add a /health route"
adk-rust code --read-only "explain how auth works" # no writes / no shell
代理会探索、编辑、运行命令,并流式输出其工作过程(工具调用、结果、文本)以及最终计划。
goal — 自主目标模式(持久、可恢复)
Codex/Hermes /goal 模式:提供一个目标以及可验证的成功条件(--until 是一个必须以 0 退出的 shell 命令)。代理会循环执行计划 → 操作 → 验证,根据检查输出进行自我纠正,直到验证通过或达到迭代预算。
adk-rust goal "make all tests pass" --until "cargo test" --max-iters 8
adk-rust goal "port utils.py to type hints" --until "mypy utils.py" --dir ./svc
持久且可恢复。 每次迭代后,目标状态都会以原子方式检查点保存到 <dir>/.adk/goal.json(可使用 --state <path> 覆盖)。如果运行被中断,可以继续执行:
adk-rust goal "…" --until "cargo test" --resume
--resume 会将已完成的目标识别为空操作,并从中断处继续执行 running 或预算已耗尽的 exhausted 运行。
| 标志 | 含义 |
|---|---|
--until <cmd> | 成功条件:退出码 0 = 达成目标(必需)。 |
--dir <path> | 工作区目录(默认为 .)。 |
--max-iters <n> | 迭代预算(默认为 8)。 |
--state <path> | 检查点文件(默认为 <dir>/.adk/goal.json)。 |
--resume | 从已保存的检查点恢复。 |
成功条件正是使目标模式安全且有效的关键——选择一些可验证的内容(测试套件、类型检查器或构建),让代理拥有清晰、可由机器检查的“完成”定义。
ultracode — 并行超严格审查
Claude Code ultracode/ultrareview 模式:实施任务,然后分派给并行的专业审查者(正确性、边界情况、风格),综合他们的结论,并持续修改,直到他们批准——基于 adk-graph。
adk-rust ultracode "add input validation to the parser"
adk-rust ultracode --dir ./project --max-rounds 3 "implement a retry wrapper"
| 标志 | 含义 |
|---|---|
--dir <path> | 工作区目录(默认为 .)。 |
--max-rounds <n> | 最大审查 → 修订轮次(默认为 2)。 |
您将看到每位评审者的裁决、每轮综合得出的决定,以及修订步骤,最后以 finalize 结束。
选择模型
这三个命令都接受全局 --model / --provider / --api-key
标志。默认值为 gemini-3.1-flash-lite(快速、可靠的多步骤工具
使用)。对于 OpenAI:--provider openai --model gpt-5.6-terra(使用 OPENAI_API_KEY)。
下一步:工作流 →