Plantillas de proyecto componibles

cargo adk new crea un proyecto de Rust funcional a partir de tres opciones:

  1. una plantilla define la estructura del agente o flujo de trabajo;
  2. los complementos añaden capacidades como sesiones, MCP o telemetría; y
  3. un patrón empresarial selecciona una plantilla y un grupo revisado de complementos para una estructura de producto común.

El CLI instalado es la fuente de autoridad, ya que los directorios de plantillas personalizadas pueden ampliar o reemplazar el registro integrado.

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

Crear un proyecto

# 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 sigue siendo un alias de llm. Usa el nombre explícito llm en la documentación y la automatización nuevas.

Plantillas integradas

El registro integrado contiene actualmente 13 plantillas.

PlantillaQué creaElígelo cuando
llmUn LlmAgent conversacionalUn agente puede encargarse de la solicitud y llamar a herramientas según sea necesario
toolsUn agente LLM más ejemplos #[tool] tipadosEl primer hito útil es una llamada visible a una herramienta de Rust
ragUn agente con una ruta de conocimiento de búsqueda vectorialLas respuestas deben utilizar un documento privado o una colección de conocimientos
apiUn agente expuesto mediante HTTP APIOtra aplicación llamará al agente a través de la red
openaiUn agente LLM configurado para OpenAIOpenAI es el proveedor inicial previsto
sequentialVarios agentes ejecutados en un orden fijoCada etapa depende del trabajo de la etapa anterior
parallelEspecialistas concurrentes con resultados agregadosEl trabajo independiente puede ejecutarse al mismo tiempo
loopEjecución repetida hasta que se cumpla una condiciónUn ciclo de revisión, reparación o refinamiento necesita un bucle acotado
conditionalEnrutamiento basado en decisiones entre agentesDistintas solicitudes necesitan diferentes especialistas o rutas
graphUn flujo de trabajo ramificado con puntos de controlEl trabajo debe reanudarse, ramificarse, unirse o sobrevivir a un fallo del proceso
realtimeGestión bidireccional de audio y vídeoEl producto necesita una conversación de voz en tiempo real o multimodal
customUna implementación manual del trait AgentEl contrato de ejecución no se puede expresar mediante un agente integrado
agent-engineUn contenedor BYOC de Gemini Enterprise Agent Engine con Dockerfile y deploy/terraform/El agente se implementa en Agent Runtime como un contenedor precompilado

Elige primero la forma de ejecución. Agrega sesiones, MCP, telemetría u otras capacidades del producto después, en lugar de usarlas para decidir el flujo de trabajo.

Complementos de capacidades

Repite --addon para combinar capacidades. El generador resuelve sus indicadores de funcionalidades, importaciones, fragmentos de inicialización, ejemplos de entorno y archivos generados en un orden de prioridad estable.

ComplementoLo que añadeMotivo habitual para usarlo
telemetryConfiguración de trazas de OpenTelemetrySeguir las solicitudes a través de los límites entre el modelo, el agente y la herramienta
authInfraestructura de autenticación para API-key y JWTProteger un endpoint de agente implementado
sessionsConfiguración del servicio de estado de sesiónContinuar una conversación o un flujo de trabajo con el estado almacenado
memoryMemoria semántica e integración con RAGRecuperar conocimientos relevantes más allá de la conversación actual
mcpConexión de funciones de MCP y punto de partida del clienteConectar capacidades propiedad de otro proceso o servicio
guardrailsEnlaces de validación de entrada y salidaAplicar las reglas del producto antes y después de la ejecución del agente
evalInfraestructura del arnés de evaluaciónMedir el comportamiento con respecto a casos reproducibles antes del lanzamiento
browserIntegración de automatización del navegadorPermitir que un agente aprobado opere una interfaz web
serverConfiguración del servidor Axum HTTP y A2APublicar el agente para clientes remotos
dockerArchivos de compilación de contenedores de varias etapas (Dockerfile, Dockerfile.static, .dockerignore)Empaquetar el agente como una imagen de contenedor mínima

Ejemplo:

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

El código de capacidades generado es un punto de partida. Reemplace los endpoints de marcador de posición, las credenciales, las políticas y los servicios en memoria por opciones gestionadas por la implementación antes del lanzamiento.

Patrones empresariales compuestos

Los patrones aparecen en el mismo espacio de nombres --template que las plantillas ordinarias. No hay ningún indicador --pattern independiente.

PatrónComposiciónPunto de partida del producto
multi-agentsequential + telemetríaUn flujo de trabajo visible de varias etapas
productionllm + servidor + autenticación + sesiones + telemetríaUn servicio de agente autenticado y observable
pipelinesequential + sesiones + telemetríaUna canalización de procesamiento con estado
chatbotllm + sesiones + memoria + servidorUn producto conversacional HTTP con capacidad de recordar
a2a-serverllm + servidor + sesionesUn agente A2A desplegado de forma independiente

a2a sigue siendo 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

Selección del proveedor y del modelo

Las plantillas tienen un proveedor predeterminado, pero CLI puede anularlo sin cambiar la estructura de ejecución.

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

Usa --non-interactive en CI para que las opciones faltantes produzcan un error en lugar de abrir un indicador. Usa --json-output cuando otro programa necesite el resultado de la generación.

Plantillas personalizadas

Pasa un directorio de manifiestos TOML cuando una organización necesite un punto de partida reutilizable más allá del registro integrado.

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

Una plantilla personalizada con el mismo nombre que una integrada la reemplaza para esa invocación de CLI. Mantén los manifiestos bajo control de versiones y prueba los proyectos generados en CI.

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

Verificar el proyecto generado

cd support-agent
cargo adk build
cargo run

cargo adk build compila y valida el proyecto generado sin implementarlo. Confirma el código fuente generado, revisa sus características habilitadas y los requisitos del entorno, y conserva el mismo comando como comprobación de CI.

Mantener actualizada la automatización

El contenido del registro puede cambiar entre versiones. Antes de actualizar la generación automatizada de proyectos:

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

Esto verifica los nombres y la compatibilidad con el binario exacto de cargo-adk instalado en el entorno de compilación.

Plantillas de proyecto componibles - Documentación ADK-Rust | ADK-Rust