ModĂšles de projet composables

cargo adk new crée un projet Rust fonctionnel à partir de trois choix :

  1. un modĂšle dĂ©finit la structure de l’agent ou du workflow ;
  2. des modules complémentaires ajoutent des fonctionnalités telles que les sessions, MCP ou la télémétrie ; et
  3. un modĂšle d’entreprise sĂ©lectionne un modĂšle et un groupe vĂ©rifiĂ© de modules complĂ©mentaires pour une structure de produit courante.

Le CLI installé fait autorité, car les répertoires de modÚles personnalisés peuvent étendre ou remplacer le registre intégré.

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

Créer un projet

# 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 reste un alias de llm. Utilisez le nom explicite llm dans la nouvelle documentation et l’automatisation.

ModÚles intégrés

Le registre intégré contient actuellement 13 modÚles.

ModĂšleCe qu’il crĂ©eChoisissez-le lorsque
llmUn LlmAgent conversationnelUn agent peut gérer la demande et appeler les outils nécessaires
toolsUn agent LLM ainsi que des exemples #[tool] typĂ©sLe premier jalon utile est un appel d’outil Rust visible
ragUn agent dotĂ© d’un parcours de connaissances avec recherche vectorielleLes rĂ©ponses doivent utiliser un document privĂ© ou une collection de connaissances
apiUn agent exposĂ© via HTTP APIUne autre application appellera l’agent sur le rĂ©seau
openaiUn agent LLM configuré pour OpenAIOpenAI est le fournisseur de démarrage prévu
sequentialPlusieurs agents exĂ©cutĂ©s dans un ordre fixeChaque Ă©tape dĂ©pend du travail de l’étape prĂ©cĂ©dente
parallelSpĂ©cialistes concurrents avec rĂ©sultats agrĂ©gĂ©sUn travail indĂ©pendant peut s’exĂ©cuter simultanĂ©ment
loopExĂ©cution rĂ©pĂ©tĂ©e jusqu’à ce qu’une condition soit remplieUn cycle de rĂ©vision, de rĂ©paration ou de perfectionnement nĂ©cessite une boucle bornĂ©e
conditionalRoutage entre agents fondĂ© sur des dĂ©cisionsLes diffĂ©rentes requĂȘtes nĂ©cessitent diffĂ©rents spĂ©cialistes ou chemins
graphFlux de travail ramifié avec points de contrÎleLe travail doit reprendre, se ramifier, se rejoindre ou survivre à une défaillance du processus
realtimeGestion bidirectionnelle de l’audio et de la vidĂ©oLe produit nĂ©cessite une conversation vocale ou multimodale en direct
customUne implĂ©mentation manuelle du trait AgentLe contrat d’exĂ©cution ne peut pas ĂȘtre exprimĂ© par un agent intĂ©grĂ©
agent-engineUn conteneur BYOC Gemini Enterprise Agent Engine avec Dockerfile et deploy/terraform/L’agent est dĂ©ployĂ© sur Agent Runtime en tant que conteneur prĂ©dĂ©fini

Choisissez d’abord la structure d’exĂ©cution. Ajoutez ensuite les sessions, MCP, la tĂ©lĂ©mĂ©trie ou d’autres fonctionnalitĂ©s du produit, plutĂŽt que de les utiliser pour dĂ©cider du workflow.

Extensions de capacités

RĂ©pĂ©tez --addon pour composer les capacitĂ©s. Le gĂ©nĂ©rateur rĂ©sout leurs indicateurs de fonctionnalitĂ©, leurs imports, leurs fragments d’initialisation, leurs exemples d’environnement et leurs fichiers gĂ©nĂ©rĂ©s selon un ordre de prioritĂ© stable.

ExtensionCe qu’elle ajouteRaison courante de l’utiliser
telemetryConfiguration du traçage OpenTelemetrySuivre les requĂȘtes entre les limites du modĂšle, de l’agent et de l’outil
authInfrastructure d’authentification pour la clĂ© API et JWTProtĂ©ger un point de terminaison d’agent dĂ©ployĂ©
sessionsConfiguration du service d’état de sessionPoursuivre une conversation ou un workflow avec un Ă©tat enregistrĂ©
memoryMémoire sémantique et intégration de RAGRécupérer des connaissances pertinentes au-delà de la conversation actuelle
mcpConnexion des fonctionnalités de MCP et point de départ du clientConnecter des capacités gérées par un autre processus ou service
guardrailsPoints d’extension de validation des entrĂ©es et des sortiesFaire respecter les rĂšgles du produit avant et aprĂšs l’exĂ©cution de l’agent
evalStructure de l’environnement d’évaluationMesurer le comportement par rapport Ă  des cas reproductibles avant la mise en production
browserIntĂ©gration de l’automatisation du navigateurPermettre Ă  un agent approuvĂ© d’utiliser une interface web
serverConfiguration du serveur Axum HTTP et A2APublier l’agent pour les appelants distants
dockerFichiers de build de conteneur en plusieurs Ă©tapes (Dockerfile, Dockerfile.static, .dockerignore)Empaqueter l’agent sous forme d’image de conteneur minimale

Exemple :

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

Le code de capacité généré constitue un point de départ. Remplacez les points de terminaison fictifs, les identifiants, les stratégies et les services en mémoire par des choix gérés par le déploiement avant la mise en production.

ModĂšles d’entreprise composĂ©s

Les modĂšles apparaissent dans le mĂȘme espace de noms --template que les modĂšles ordinaires. Il n’existe pas d’indicateur --pattern distinct.

ModÚleCompositionPoint de départ du produit
multi-agentsequential + télémétrieUn flux de travail visible en plusieurs étapes
productionllm + serveur + authentification + sessions + tĂ©lĂ©mĂ©trieUn service d’agent authentifiĂ© et observable
pipelinesequential + sessions + télémétrieUn pipeline de traitement avec état
chatbotllm + sessions + mémoire + serveurUn produit HTTP conversationnel avec rappel
a2a-serverllm + serveur + sessionsUn agent A2A déployé indépendamment

a2a reste un alias de 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

Sélection du fournisseur et du modÚle

Les modĂšles disposent d’un fournisseur par dĂ©faut, mais CLI peut le remplacer sans modifier la structure d’exĂ©cution.

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

Utilisez --non-interactive dans CI afin que les choix manquants provoquent un Ă©chec au lieu d’ouvrir une invite. Utilisez --json-output lorsqu’un autre programme a besoin du rĂ©sultat de la gĂ©nĂ©ration.

ModÚles personnalisés

Fournissez un rĂ©pertoire de manifestes TOML lorsqu’une organisation a besoin d’un point de dĂ©part rĂ©utilisable allant au-delĂ  du registre intĂ©grĂ©.

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

Un modĂšle personnalisĂ© portant le mĂȘme nom qu’un modĂšle intĂ©grĂ© le remplace pour cette invocation de CLI. Conservez les manifestes dans le contrĂŽle de version et testez les projets gĂ©nĂ©rĂ©s dans CI.

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

Vérifier le projet généré

cd support-agent
cargo adk build
cargo run

cargo adk build compile et valide le projet gĂ©nĂ©rĂ© sans le dĂ©ployer. Validez le code source gĂ©nĂ©rĂ©, examinez ses fonctionnalitĂ©s activĂ©es et ses exigences environnementales, et conservez la mĂȘme commande comme Ă©tape de contrĂŽle dans CI.

Maintenir l’automatisation à jour

Le contenu du registre peut changer entre les versions. Avant de mettre à niveau la génération automatisée de projets :

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

Cela vĂ©rifie les noms et la compatibilitĂ© avec le binaire exact de cargo-adk installĂ© dans l’environnement de compilation.

ModĂšles de projet composables - Documentation ADK-Rust | ADK-Rust