ModĂšles de projet composables
cargo adk new crée un projet Rust fonctionnel à partir de trois choix :
- un modĂšle dĂ©finit la structure de lâagent ou du workflow ;
- des modules complémentaires ajoutent des fonctionnalités telles que les sessions, MCP ou la télémétrie ; et
- 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Ăšle | Ce quâil crĂ©e | Choisissez-le lorsque |
|---|---|---|
llm | Un LlmAgent conversationnel | Un agent peut gérer la demande et appeler les outils nécessaires |
tools | Un agent LLM ainsi que des exemples #[tool] typĂ©s | Le premier jalon utile est un appel dâoutil Rust visible |
rag | Un agent dotĂ© dâun parcours de connaissances avec recherche vectorielle | Les rĂ©ponses doivent utiliser un document privĂ© ou une collection de connaissances |
api | Un agent exposĂ© via HTTP API | Une autre application appellera lâagent sur le rĂ©seau |
openai | Un agent LLM configuré pour OpenAI | OpenAI est le fournisseur de démarrage prévu |
sequential | Plusieurs agents exĂ©cutĂ©s dans un ordre fixe | Chaque Ă©tape dĂ©pend du travail de lâĂ©tape prĂ©cĂ©dente |
parallel | SpĂ©cialistes concurrents avec rĂ©sultats agrĂ©gĂ©s | Un travail indĂ©pendant peut sâexĂ©cuter simultanĂ©ment |
loop | ExĂ©cution rĂ©pĂ©tĂ©e jusquâĂ ce quâune condition soit remplie | Un cycle de rĂ©vision, de rĂ©paration ou de perfectionnement nĂ©cessite une boucle bornĂ©e |
conditional | Routage entre agents fondĂ© sur des dĂ©cisions | Les diffĂ©rentes requĂȘtes nĂ©cessitent diffĂ©rents spĂ©cialistes ou chemins |
graph | Flux de travail ramifié avec points de contrÎle | Le travail doit reprendre, se ramifier, se rejoindre ou survivre à une défaillance du processus |
realtime | Gestion bidirectionnelle de lâaudio et de la vidĂ©o | Le produit nĂ©cessite une conversation vocale ou multimodale en direct |
custom | Une implĂ©mentation manuelle du trait Agent | Le contrat dâexĂ©cution ne peut pas ĂȘtre exprimĂ© par un agent intĂ©grĂ© |
agent-engine | Un 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.
| Extension | Ce quâelle ajoute | Raison courante de lâutiliser |
|---|---|---|
telemetry | Configuration du traçage OpenTelemetry | Suivre les requĂȘtes entre les limites du modĂšle, de lâagent et de lâoutil |
auth | Infrastructure dâauthentification pour la clĂ© API et JWT | ProtĂ©ger un point de terminaison dâagent dĂ©ployĂ© |
sessions | Configuration du service dâĂ©tat de session | Poursuivre une conversation ou un workflow avec un Ă©tat enregistrĂ© |
memory | Mémoire sémantique et intégration de RAG | Récupérer des connaissances pertinentes au-delà de la conversation actuelle |
mcp | Connexion des fonctionnalités de MCP et point de départ du client | Connecter des capacités gérées par un autre processus ou service |
guardrails | Points dâextension de validation des entrĂ©es et des sorties | Faire respecter les rĂšgles du produit avant et aprĂšs lâexĂ©cution de lâagent |
eval | Structure de lâenvironnement dâĂ©valuation | Mesurer le comportement par rapport Ă des cas reproductibles avant la mise en production |
browser | IntĂ©gration de lâautomatisation du navigateur | Permettre Ă un agent approuvĂ© dâutiliser une interface web |
server | Configuration du serveur Axum HTTP et A2A | Publier lâagent pour les appelants distants |
docker | Fichiers 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Úle | Composition | Point de départ du produit |
|---|---|---|
multi-agent | sequential + télémétrie | Un flux de travail visible en plusieurs étapes |
production | llm + serveur + authentification + sessions + tĂ©lĂ©mĂ©trie | Un service dâagent authentifiĂ© et observable |
pipeline | sequential + sessions + télémétrie | Un pipeline de traitement avec état |
chatbot | llm + sessions + mémoire + serveur | Un produit HTTP conversationnel avec rappel |
a2a-server | llm + serveur + sessions | Un 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.