構成可能なプロジェクトテンプレート

cargo adk newは、以下の3つの選択肢から動作するRustプロジェクトを作成します。

  1. テンプレートは、Agentまたはワークフローの形状を定義します。
  2. アドオンは、セッション、MCP、テレメトリなどの機能を追加します。
  3. エンタープライズパターンは、一般的な製品形状のために、テンプレートとレビュー済みのAdd-onグループを選択します。

インストールされている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

basicllmのエイリアスとして残ります。新しいドキュメントや自動化では、明示的なllm名を使用してください。

組み込みテンプレート

組み込みレジストリには現在12個のテンプレートが含まれています。

テンプレート作成するもの選択するタイミング
llm1つの会話型 LlmAgent1つのAgentがリクエストを所有し、必要に応じてToolを呼び出すことができる
toolsLLM Agentと型付き #[tool] の例最初の有用なマイルストーンは、目に見えるRust Toolの呼び出しです
ragベクトル検索の知識パスを持つエージェント回答はプライベートなドキュメントまたは知識コレクションを使用する必要があります
apiHTTP API を介して公開されるエージェント別のアプリケーションがネットワーク経由でエージェントを呼び出します
openaiLLM エージェントが OpenAI に設定されているOpenAI が意図された開始プロバイダーです
sequential固定された順序で実行される複数のエージェント各ステージは前のステージの作業に依存します
parallel集約された結果を持つ並行スペシャリスト独立した作業を同時に実行できる
loop条件が満たされるまで繰り返し実行レビュー担当者、修正、または洗練サイクルには、境界のあるループが必要
conditionalエージェント間の意思決定に基づくルーティング異なるリクエストには異なるスペシャリストまたはパスが必要
graphチェックポイントを持つ分岐ワークフロー作業は再開、分岐、結合、またはプロセス障害を乗り越える必要がある
realtime双方向の音声およびビデオ処理製品がライブ音声またはマルチモーダルな会話を必要とする
customAgent trait の手動実装実行契約が組み込みエージェントでは表現できない

最初に実行形状を選択します。セッション、MCP、テレメトリー、またはその他の製品機能は、それらを使用してワークフローを決定するのではなく、後で追加します。

機能アドオン

機能を構成するために--addonを繰り返します。ジェネレーターは、それらの機能フラグ、インポート、初期化フラグメント、環境例、および生成されたファイルを安定した優先順位で解決します。

アドオン追加される機能一般的な使用理由
telemetryOpenTelemetry トレース設定モデル、エージェント、ツールの境界を越えてリクエストを追跡する
authAPI-key および JWT 認証スキャフォールディングデプロイされたエージェントエンドポイントを保護する
sessionsSession状態サービスの設定保存された状態を使用して会話またはワークフローを続行する
memoryセマンティックメモリとRAG統合現在の会話を超えて関連する知識を取得する
mcpMCP機能の配線とクライアントの開始点別のプロセスまたはサービスが所有する機能を接続する
guardrails入力と出力の検証フックAgentの実行前後に製品ルールを適用する
eval評価ハーネスの足場リリース前に再現可能なケースに対して動作を測定する
browserブラウザ自動化の統合承認されたエージェントがウェブインターフェースを操作できるようにする
serverAxum HTTP and A2A サーバー設定リモート呼び出し元向けにエージェントを公開する

例:

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

生成された機能コードは出発点です。リリース前に、プレースホルダーのエンドポイント、資格情報、ポリシー、インメモリサービスを、デプロイメントが所有する選択肢に置き換えてください。

構成されたエンタープライズパターン

パターンは、通常のテンプレートと同じ --template 名前空間に表示されます。 個別の --pattern フラグはありません。

パターン構成製品の出発点
multi-agentsequential + telemetry可視化された多段階ワークフロー
productionllm + server + auth + sessions + telemetry認証され、監視可能なエージェントサービス
pipelinesequential + sessions + telemetryステートフルな処理パイプライン
chatbotllm + sessions + memory + server記憶力のある会話型 HTTP product
a2a-serverllm + server + sessions独立してデプロイされた A2A agent

a2aa2a-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 バイナリに対して、名前と互換性が検証されます。