Overview
En esta guía, aprenderá cómo crear y registrar un nuevo proyecto de agente utilizando los siguientes comandos:
agentengine create: Obtiene una plantilla de inicio, reescribe los campos de identidad del proyecto y escribe un archivo de entorno personalizado que utiliza sus valores de configuración.
agentengine init: Registra su agente en Atlas Agent Engine y genera archivos de desarrollo locales.
Si prefiere crear los archivos del proyecto manualmente en lugar de utilizar una plantilla de inicio, consulte la sección "Configurar un agente manualmente".
Estructurar un proyecto
Esta sección muestra cómo crear la estructura básica de un nuevo proyecto utilizando el comando agentengine create.
El comando agentengine create no requiere agentengine auth login y no registra su proyecto en el motor de agentes de Atlas. Puede personalizar manualmente los archivos de andamiaje antes de ejecutar y probar su agente localmente.
Sintaxis del comando
Utilice el siguiente comando para generar la estructura básica de un nuevo proyecto:
agentengine create [--template <template-id>] [--name <display-name>] [--dir <path>] [--llm <provider>] [--llm-base-url <url>] [--llm-model <model>] [--llm-auth-header <header>] [--memory] [--yes]
Dependiendo de las opciones que especifique, la interfaz de línea de comandos le pedirá que configure su proyecto.
Este comando crea un directorio de proyecto que contiene un archivo project-config.yaml y genera la estructura del directorio de espacio de trabajo de su agente en un subdirectorio <project-directory>/agents/<slug>. El valor <slug> es una versión en minúsculas y con guiones del valor --name. El directorio de espacio de trabajo contiene agent.yaml, .env y los demás archivos específicos del agente que se describen en secciones posteriores.
Banderas de comando
Flag | Descripción |
|---|---|
| Opcional. ID de la plantilla inicial. Valores admitidos: |
| Nombre para mostrar de la aplicación. Obligatorio cuando se establece |
| Opcional. Directorio del proyecto de destino. Los archivos del espacio de trabajo de su agente se generan en un subdirectorio |
| Condicional (obligatorio si |
| Condicional (obligatorio si |
| Condicional (obligatorio para una conexión |
| Condicional (obligatorio para OpenRouter y conexiones compatibles). Nombre del modelo o de la implementación. |
| Opcional. Habilite la memoria para las plantillas de inicio del agente y solicite un |
| Opcional. Crea un proyecto que solo utilice memoria y genere únicamente |
| Opcional. Permite el acceso saliente abierto para el agente y la herramienta en lugar de listar los hosts LLM seleccionados. Escribe |
| Opcional. Acepte los valores predeterminados para todas las solicitudes opcionales, incluidos los valores detectados de las variables de entorno locales. |
| Opcional. Indicador de ayuda estándar de la interfaz de línea de comandos que muestra información de uso para el comando. |
Restricciones del nombre para mostrar
La interfaz de línea de comandos (CLI) copia el nombre para mostrar en los archivos fuente generados. El nombre no puede contener los siguientes caracteres:
Comillas dobles (
")Barras invertidas (
\)acentos graves
Caracteres de control, salto de línea o dirección de texto
Si introduce un nombre no válido al usar la interfaz de línea de comandos interactiva, esta mostrará un error y le pedirá que lo introduzca de nuevo. Si pasa un nombre no válido al indicador --name, el comando fallará con un error que indicará el carácter o la categoría de caracteres no permitidos.
Plantillas compatibles
La siguiente tabla describe las plantillas de inicio que puede pasar al comando agentengine create:
Template | Tipo | Caso de uso |
|---|---|---|
| Agente de inicio | Un agente mínimo de Atlas Agent Engine con memoria opcional. |
| Agente de inicio | Un agente mínimo creado con el kit de desarrollo de agentes de Google (ADK). |
| Agente de inicio | Un agente mínimo de TypeScript LangGraph que admite la funcionalidad de intervención humana y las zonas horarias de IANA. |
| Agente de inicio | Un agente realista con herramientas, políticas, reclamaciones, memoria opcional y revisión humana. |
| Agente de inicio | Un agente del sector de seguros creado con el kit de desarrollo de anuncios de Google (Google ADK). |
| Agente de inicio | Un agente TypeScript con todas las funciones que combina un orquestador de agentes avanzado, un subagente y herramientas basadas en memoria. |
| Aplicación cliente | Interfaz de chat basada en Next.js y el SDK de IA de Vercel para un agente ya implementado. |
Configuración predeterminada del entorno local
Al seleccionar una conexión LLM del catálogo de proveedores, agentengine create le solicita los detalles de conexión necesarios, como una clave API. Si LLM_API_KEY está configurado en su entorno de shell, el comando lo ofrece como valor predeterminado. Al confirmar el valor, el comando lo escribe en el archivo .env generado como LLM_API_KEY. No es necesario configurar este valor manualmente.
Tip
Para enrutar las llamadas LLM de su agente a través de una puerta de enlace, consulte la sección Configuración de la puerta de enlace LLM.
Cuando la memoria está habilitada, agentengine create detecta VOYAGE_API_KEY de su entorno local y lo ofrece como valor predeterminado. Al confirmar el valor, este se escribe en el .env generado.
Al ejecutar agentengine create con la bandera --yes, el comando no solicita valores de entorno detectados. Para todas las opciones del catálogo de proveedores, excepto custom, debe configurar LLM_API_KEY en su entorno antes de ejecutar el comando. Si también pasa --memory --yes, debe configurar VOYAGE_API_KEY en su entorno antes de ejecutar el comando; de lo contrario, el comando fallará.
Nota
Al seleccionar un proveedor LLM compatible, la CLI escribe su credencial LLM en el archivo .env generado bajo el nombre de variable compartido LLM_API_KEY y utiliza el mismo valor LLM_API_KEY que api_key_secret para la extracción de memoria en project-config.yaml. Esto permite que el agente y la extracción de memoria compartan un secreto cargado. Para obtener más información, consulte Agregar memoria a su agente.
La plantilla chatbot-client genera un archivo .env.local en lugar de un archivo .env. Antes de ejecutar la aplicación, debe completar manualmente el archivo .env.local con los siguientes valores:
URL de la API de su agente implementado
ID detu proyecto
ID detu espacio de trabajo
Token de acceso a su cuenta de servicio
Personaliza tu agente andamiado
Una vez que agentengine create se complete, navegue hasta el directorio del espacio de trabajo de su agente en <project-directory>/agents/<slug> y revise los archivos generados.
Todos los agentes generados incluyen la habilidad atlas-agent-engine en .agents/skills/atlas-agent-engine (para Codex, Copilot y otros agentes) o .claude/skills/atlas-agent-engine (para Claude Code).
Al usar una plantilla de agente inicial, revise el código fuente del agente generado y el archivo .env para confirmar que la conexión LLM cumple con sus requisitos. El cliente LLM, el modelo, el punto final y el comportamiento de autenticación se configuran en el código fuente del agente generado.
Para las opciones de catálogo que configuran una conexión LLM, el archivo .env generado contiene la credencial compartida como LLM_API_KEY. Si elige Manual setup, configure la conexión LLM en el código de su agente y agregue los secretos que dicho código requiera al archivo .env. Para obtener más información, consulte Configurar una puerta de enlace LLM en el código.
Al usar la plantilla chatbot-client, revise el archivo .env.local y confirme que ha configurado correctamente la URL de la API, el ID del proyecto, el ID del espacio de trabajo y el token de acceso a la cuenta de servicio de su agente implementado. No existe un archivo agent.yaml en la aplicación cliente del chatbot.
Nota
Las plantillas se obtienen utilizando tus credenciales locales de Git. El directorio del proyecto generado se inicializa automáticamente como un repositorio Git.
Configurar un agente manualmente
En lugar de generar un agente mediante el comando agentengine create, puede crear usted mismo los archivos necesarios. Cada agente requiere los siguientes archivos juntos en un mismo directorio:
agent.yaml: Configuración del agente que describe cómo la plataforma ejecuta su agente.env: Secretos de tiempo de ejecución y variables de entornopyproject.toml: Define los metadatos del proyecto Python, incluido el campo[project].name.
Este directorio es su directorio de espacio de trabajo, y desde él ejecuta los comandos agentengine. Cuando posteriormente ejecuta el comando agentengine init, el motor del agente de Atlas registra este directorio como un espacio de trabajo.
Los siguientes pasos describen cómo configurar un agente manualmente.
Iniciar un proyecto de Python.
Si parte de un directorio vacío, instale la herramienta uv e inicialice un nuevo proyecto:
mkdir my-agent && cd my-agent uv init
Cree un archivo agent.yaml.
Crea un archivo agent.yaml en el directorio de tu espacio de trabajo. Los campos entrypoint y sandboxes son obligatorios.
La siguiente tabla describe los campos agent.yaml disponibles:
Campo | Requerido | Descripción |
|---|---|---|
| Sí | Ruta de importación de Python a la instancia de la aplicación, en formato |
| Sí | Configura los entornos aislados |
| No | El nombre del agente se utiliza como prefijo del servicio y del nombre de red de Docker Compose. Utilice un valor alfanumérico en minúsculas con guiones, pero no incluya guiones al principio ni al final. |
| No | Descripción del agente legible para humanos. Utilice un máximo de 500 caracteres. |
| No | Identificador del marco de trabajo, como |
| No | Idioma del agente. Los valores admitidos son |
| No | Versión del agente. Acepta un valor semver estricto, |
| No | Configuración remota del servidor MCP. Para obtener más información, consulte Uso de servidores MCP remotos. |
| No | Capacidades del agente que se muestran en la interfaz de usuario de la plataforma. El campo acepta una cadena |
| No | Obsoleto. Mueva las anulaciones de puertos de servicio local a un archivo |
| No | Indicadores de características. El bloque acepta |
| No | Declara registros de paquetes privados para compilaciones gestionadas. Para obtener más información, consulte el esquema YAML del agente. |
El siguiente ejemplo muestra una configuración mínima de agent.yaml:
entrypoint: my_agent.graph:app name: my-agent framework: langgraph sandboxes: agent: secrets: ["*"] tools: [] tool: secrets: - ANTHROPIC_API_KEY tools: - invoke_llm
Crear un archivo .env.
Crea un archivo .env en el directorio de tu espacio de trabajo para proporcionar los secretos que requiere el código de tu agente. Agrega las variables secretas que requiere tu cliente LLM a este archivo.
Configure el proveedor LLM, el modelo, el punto final y el comportamiento de autenticación en el código de su agente, no en agent.yaml. El archivo .env se utiliza exclusivamente para información confidencial, como claves API. Para obtener más información sobre el archivo agent.yaml, consulte la guía de referencia del contrato del agente.
La siguiente tabla enumera las variables obligatorias y opcionales para un archivo .env:
Variable | Requerido | Descripción |
|---|---|---|
| Sí | Cadena de conexión de MongoDB |
| No | Clave del proveedor LLM. La plataforma no requiere un proveedor específico ni valida las credenciales LLM, pero si no lo tiene, su agente fallará durante la ejecución. Las claves comunes incluyen |
Importante
El archivo .env es la única fuente de secretos que se validan en tiempo de ejecución. El contenedor ignora intencionadamente las variables de entorno del host. El contenedor solo monta .env en tiempo de ejecución, por lo que cualquier clave que falte en el archivo también faltará dentro del contenedor. No guarde ningún secreto real en su sistema de control de versiones.
Configuración de la puerta de enlace LLM
La forma en que su agente realiza y autentica las llamadas LLM se determina completamente en su código. Las instrucciones para configurar variables de entorno o seleccionar opciones LLM en agentengine create se aplican únicamente a las plantillas de ejemplo. El motor del agente Atlas no aloja ni gestiona su conexión LLM.
Existen dos maneras de configurar una puerta de enlace LLM:
Utilice una plantilla de inicio para crear una conexión LLM funcional y generar un agente.
Configura la puerta de enlace mediante código, lo cual funciona para cualquier agente, incluso para aquellos que no se crean a partir de una plantilla inicial.
Configurar una puerta de enlace LLM a partir de una plantilla de inicio
Cuando ejecuta el comando agentengine create, el comando le solicita que elija una conexión LLM, similar al siguiente ejemplo:
Which LLM connection do you want to use? 1) OpenAI 2) Anthropic 3) Google Gemini 4) OpenRouter 5) OpenAI-compatible - AWS Bedrock, Azure Foundry 6) Anthropic-compatible - AWS Bedrock, Azure Foundry 7) Manual setup - implement the LLM client in code
Si elige un proveedor de este catálogo, el comando agentengine create le pedirá los detalles necesarios para la conexión, que podrían incluir lo siguiente:
URL base
Nombre del modelo o de la implementación
Clave de API
Encabezado de autenticación para conexiones cuando el host no es reconocido.
El comando escribe el cliente LLM seleccionado en la fuente del agente generado y almacena la credencial compartida en el archivo .env generado como LLM_API_KEY.
El comando también le solicita que elija cómo el Agente y la Herramienta acceden a los hosts externos:
Aplique la configuración
network.egressrecomendada. Si no hay ningún host de puerta de enlace disponible, como cuando eligeManual setup(custom), esta opción le indica que configure la salida LLM más adelante.Permitir todo el acceso saliente.
Importante
El proveedor que seleccione configura únicamente el proyecto inicial creado mediante el comando agentengine create. No configura automáticamente otros agentes que cree posteriormente.
Si su conexión LLM no aparece entre las opciones listadas, seleccione Manual setup y configure la puerta de enlace mediante código. Esta opción crea un modelo auxiliar para que pueda configurar la conexión en el código de su agente.
Configurar una puerta de enlace LLM en código
Para conectar un LLM a tu agente, crea un modelo específico del framework y pasa la instancia del modelo resultante al método app.llm(...) desde el punto de entrada de tu agente. Puedes colocar el código de creación del modelo en cualquier archivo del código de tu agente, pero las plantillas de inicio colocan un fragmento de código en un archivo específico del lenguaje. Si no utilizas una plantilla de inicio, puedes definir el modelo en otro lugar, siempre que app.llm(...) reciba un objeto de modelo compatible.
La siguiente tabla describe las convenciones para configurar una puerta de enlace LLM en el código en diferentes entornos de ejecución:
Tiempo de ejecución | Archivo | Lo que devuelvas |
|---|---|---|
LangGraph Python |
| Una cadena de Lang |
LangGraph TypeScript |
| Una cadena de Lang |
ADK Python |
| Un ADK |
El constructor es el que establece el punto final, los encabezados de autenticación y el nombre del modelo. Por ejemplo, la plantilla LangGraph Python insurance-agent define build_llm() en src/<module>/llm.py y devuelve un LangChain BaseChatModel. El punto de entrada del agente importa build_llm() y pasa el modelo devuelto a app.llm(...).
Permita el host de la puerta de enlace para que su agente pueda acceder a él. Agregue el host y el puerto de la puerta de enlace personalizados al bloque network.egress en el archivo agent.yaml. Por ejemplo, para agregar gateway.example.com:443 a la lista de permisos de salida existente del entorno aislado de la herramienta, ejecute el siguiente comando:
agentengine agent egress add --component tool gateway.example.com:443
Para obtener más información sobre cómo configurar la salida de red para su agente, consulte la guía "Primeros pasos con la salida de red".
Registre a su agente
Después de configurar su agente, puede registrarlo y generar archivos de desarrollo locales mediante el comando agentengine init. Antes de ejecutar este comando, realice las siguientes tareas previas:
Instale y autentique el motor del agente de MongoDB Atlas.
Cree un directorio de espacio de trabajo del agente que contenga
agent.yaml,.envypyproject.tomlopackage.json. El comando agentengine create genera este directorio en<project-directory>/agents/<slug>, o puede crearlo configurando un agente manualmente.
Sintaxis del comando
Desde el directorio del espacio de trabajo de su agente, ejecute el siguiente comando para registrar el agente y generar archivos locales:
agentengine init [--workspace-id <id>] [--project-id <id>] [--org-id <id>] [--base-url <url>] [--context <name>]
Este comando selecciona o crea interactivamente una organización y un proyecto, genera archivos de desarrollo locales y registra su agente como un espacio de trabajo en el motor de agentes de Atlas.
Banderas de comando
Flag | Descripción |
|---|---|
| (Opcional) Vincula este directorio a un espacio de trabajo existente en lugar de crear uno nuevo. |
| (Opcional) ID del proyecto que se utilizará sin que se solicite. |
| (Opcional) ID de la organización que se utilizará sin necesidad de confirmación. |
| (Opcional) Sobrescribe la URL base de la API de Atlas Agent Engine. |
| (Opcional) Contexto local con nombre para crear o actualizar. |
Flujo interactivo
Cuando ejecutas agentengine init, la interfaz de línea de comandos te guía a través de los siguientes pasos:
Muestra una lista de tus organizaciones con un menú numerado, que incluye la opción
"Create a new organization...". Si no existen organizaciones, la interfaz de línea de comandos te pide que introduzcas un nombre para crear una.Una vez que seleccione una organización, verá una lista de sus proyectos en un menú numerado, que incluye la opción
"Create a new project...". Si no existen proyectos, la interfaz de línea de comandos le pedirá que ingrese un nombre para crear uno.Guarda el proyecto seleccionado como su
project_idactivo en el estado de autenticación local.Genera los siguientes archivos de desarrollo locales en el directorio de tu agente:
docker-compose.yml.agentengine/Dockerfile.agentengine/entrypoint.py.dockerignore.gitignore
Registra el agente como un espacio de trabajo en la plataforma y crea el archivo
.agentengine/state.jsoncon los parámetrosworkspace_id,org_idyproject_idespecificados.
Nota
Si el archivo .agentengine/state.json ya existe, la CLI omite el registro del espacio de trabajo. Vuelva a ejecutar el comando agentengine init para registrar nuevamente el agente sin sobrescribir los archivos generados. Si el nombre del espacio de trabajo ya existe en la plataforma, se reutiliza el archivo workspace_id existente.
Próximos pasos
Las siguientes secciones describen cómo iniciar el desarrollo local para cada tipo de plantilla. Para obtener más información sobre el desarrollo y las pruebas locales, consulte Ejecutar y probar el agente localmente y Probar el agente.
Plantillas de inicio para agentes
Si utiliza una plantilla de TypeScript, instale las dependencias de Node.js antes de iniciar su agente localmente:
pnpm install
Después de revisar su agente con estructura básica, ejecute agentengine dev up para iniciar su agente localmente:
agentengine dev up
Plantilla de cliente de chatbot
Después de configurar los valores necesarios en el archivo .env.local, instale las dependencias e inicie el servidor de desarrollo:
pnpm install pnpm run dev
Abre http://localhost:3000 en tu navegador para usar la interfaz de chat.