可组合的项目模板

cargo adk new 可根据三个选择创建一个可运行的 Rust 项目:

  1. 模板定义 agent 或工作流的结构;
  2. 附加组件添加会话、MCP 或遥测等功能;以及
  3. 企业模式选择一个模板和一组经过审核的附加组件,用于构建常见的产品结构。

已安装的 CLI 具有权威性,因为自定义模板目录可以扩展或替换内置注册表。

cargo adk templates
cargo adk addons
cargo adk new --help

创建项目

# One LLM agent
cargo adk new support-agent --template llm

# A tool-using agent with operating capabilities
cargo adk new support-agent \
  --template tools \
  --addon sessions \
  --addon telemetry \
  --addon guardrails

# Preview generated files without writing them
cargo adk new support-agent --template graph --dry-run

basic 仍是 llm 的别名。在新的文档和自动化中,请使用明确的 llm 名称。

内置模板

内置注册表目前包含 13 个模板。

模板创建内容适用场景
llm一个对话式 LlmAgent一个代理可以负责请求,并根据需要调用工具
tools一个 LLM 代理以及类型化的 #[tool] 示例第一个有用的里程碑是一次可见的 Rust 工具调用
rag具有向量搜索知识路径的代理答案必须使用私有文档或知识集合
api通过 HTTP API 暴露的代理另一个应用程序将通过网络调用该代理
openai配置为 OpenAI 的 LLM 代理OpenAI 是预期的起始提供程序
sequential按固定顺序执行的多个代理每个阶段都依赖于上一阶段的工作
parallel具有聚合结果的并发专业代理独立工作可以同时运行
loop持续执行,直到满足条件审查、修复或优化周期需要有界循环
conditional基于决策在代理之间进行路由不同请求需要不同的专业代理或路径
graph带检查点的分支工作流工作必须能够恢复、分支、汇合,或在进程故障后继续
realtime双向音频和视频处理产品需要实时语音或多模态对话
customAgent trait 的手动实现执行契约无法通过内置 agent 表达
agent-engine带有 Dockerfiledeploy/terraform/ 的 Gemini Enterprise Agent Engine BYOC 容器agent 以预构建容器的形式部署到 Agent Runtime

先选择执行形态。之后再添加会话、MCP、遥测或其他产品功能,而不是使用这些功能来决定工作流。

功能附加项

重复 --addon 以组合功能。生成器会按稳定的优先级顺序解析它们的功能标志、导入项、初始化片段、环境示例和生成的文件。

附加组件添加内容典型使用原因
telemetryOpenTelemetry 追踪设置跨越模型、代理和工具边界跟踪请求
authAPI 密钥和 JWT 身份验证脚手架保护已部署的代理端点
sessions会话状态服务设置使用存储的状态继续对话或工作流
memory语义记忆和 RAG 集成检索当前对话之外的相关知识
mcpMCP 功能连接和客户端起始点连接由其他进程或服务负责的功能
guardrails输入和输出验证钩子在 agent 执行前后强制执行产品规则
eval评估测试框架脚手架在发布前,针对可重复案例衡量行为
browser浏览器自动化集成让经批准的 agent 操作 Web 界面
serverAxum HTTP 和 A2A 服务器设置将 agent 发布给远程调用方
docker多阶段容器构建文件(DockerfileDockerfile.static.dockerignore将 agent 打包为最小容器镜像

示例:

cargo adk new order-agent \
  --template tools \
  --addon mcp \
  --addon sessions \
  --addon server \
  --addon auth \
  --addon telemetry

生成的能力代码只是一个起点。在发布之前,请将占位端点、凭据、策略和内存中服务替换为由部署方决定的选项。

组合式企业模式

模式与普通模板位于同一 --template 命名空间中。 不存在单独的 --pattern 标志。

模式组成产品起点
multi-agentsequential + 遥测可见的多阶段工作流
productionllm + 服务器 + 身份验证 + 会话 + 遥测经过身份验证且可观测的代理服务
pipelinesequential + 会话 + 遥测有状态的处理流水线
chatbotllm + 会话 + 记忆 + 服务器具备记忆能力的对话式 HTTP 产品
a2a-serverllm + 服务器 + 会话独立部署的 A2A agent

a2a 仍然是 a2a-server 的别名。

cargo adk new operations-agent --template production
cargo adk new research-team --template multi-agent --addon eval
cargo adk new public-specialist --template a2a-server --addon auth

提供商和模型选择

模板具有默认提供商,但 CLI 可以覆盖它,而无需更改执行结构。

cargo adk new support-agent \
  --template tools \
  --provider openai \
  --model company-approved-model

在 CI 中使用 --non-interactive,这样缺少选择时会直接失败,而不是打开提示。需要让其他程序获取生成结果时,使用 --json-output

自定义模板

当组织需要超越内置注册表的可复用起点时,传入包含 TOML 清单的目录。

cargo adk new finance-agent \
  --template company-finance \
  --template-dir ./agent-templates

如果自定义模板与内置模板同名,则会在该 CLI 调用中替换内置模板。将清单置于版本控制中,并在 CI 中测试生成的项目。

name = "company-finance"
description = "Company finance agent with approved defaults"
provider = "openai"
features = ["minimal", "tools"]
imports = ["use std::sync::Arc;"]

验证生成的项目

cd support-agent
cargo adk build
cargo run

cargo adk build 会编译并验证生成的项目,但不会部署该项目。提交生成的源代码,检查其启用的功能和环境要求,并在 CI 中保留相同的命令作为门禁。

保持自动化内容为最新

注册表内容可能会在不同版本之间发生变化。在升级自动化项目生成之前:

cargo adk templates
cargo adk addons
cargo adk new smoke-agent --template tools --addon mcp --dry-run

这会根据构建环境中安装的确切 cargo-adk 二进制文件,验证名称和兼容性。