Visão geral
Neste guia, você pode aprender como criar e registrar um novo projeto de agente usando os seguintes comandos:
agentengine create: obtém um modelo inicial, reescreve os campos de identidade do projeto e escreve um arquivo de ambiente personalizado que usa seus valores de configuração.
agentengine init: registra seu agente no Atlas Agent Engine e gera arquivos de desenvolvimento local.
Se você preferir criar os arquivos de projeto manualmente em vez de usar um modelo inicial, consulte a seção Configurar um agente manualmente.
Ande um projeto
Esta seção mostra como estruturar um novo projeto usando o comando agentengine create.
O comando agentengine create não exige agentengine auth login e não registra seu projeto no Atlas Agent Engine. Você pode personalizar manualmente os arquivos de andaime antes de executar e testar seu agente localmente.
Sintaxe do comando
Use o seguinte comando para estruturar um novo projeto:
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]
Dependendo dos sinalizadores especificados, a CLI solicita que você configure seu projeto.
Esse comando cria um diretório de projeto que contém um arquivo project-config.yaml e estrutura o diretório de espaço de trabalho do seu agente em um subdiretório <project-directory>/agents/<slug>. O valor <slug> é uma versão em minúsculas e hifenizada do valor --name. O diretório do espaço de trabalho contém agent.yaml, .env e os outros arquivos específicos do agente descritos em seções futuras.
Sinalizadores de comando
bandeira | Descrição |
|---|---|
| Opcional. ID do modelo inicial. Valores suportados: |
| Nome de exibição do aplicativo. Obrigatório quando |
| Opcional. Diretório do projeto de destino. Os arquivos do espaço de trabalho do seu agente estão organizados em um subdiretório |
| Condicional (necessário se |
| Condicional (necessário se |
| Condicional (necessário para uma conexão |
| Condicional (necessário para conexões OpenRouter e compatíveis). Nome do modelo ou sistema. |
| Opcional. Ative a memória para modelos iniciais de agente e solicite um |
| Opcional. Organize um projeto somente de memória que gera apenas |
| Opcional. Permitir acesso de saída aberto para agente e ferramenta em vez de listar os hosts LLM selecionados. Escreve |
| Opcional. Aceite os padrões para todos os prompts opcionais, incluindo valores de variáveis de ambiente local detectados. |
| Opcional. Sinalizador de ajuda CLI padrão que exibe informações de uso para o comando. |
Restrições de nome de exibição
A CLI copia o nome de exibição nos arquivos de origem gerados. O nome não pode conter os seguintes caracteres:
Aspas duplas (
")Barras invertidas (
\)Backtiques
Caracteres de controle, quebra de linha ou direção de texto
Se você inserir um nome inválido ao usar a CLI interativa, a CLI exibirá um erro e solicitará novamente. Se você passar um nome inválido para o sinalizador --name, o comando falhará com um erro que nomeia o caractere não permitido ou a categoria de caracteres.
Modelos suportados
A tabela a seguir descreve os modelos iniciais que você pode passar para o comando agentengine create:
template | Tipo | Caso de uso |
|---|---|---|
| Agente inicial | Um agente mínimo do Atlas Agent Engine com memória opcional. |
| Agente inicial | Um agente mínimo criado com o Google Agent Development Kit (ADK). |
| Agente inicial | Um agente TypeScript LangGraph mínimo que suporta a funcionalidade ser humano-in-the-loop e fusos horários IANA. |
| Agente inicial | Um agente realista com ferramentas, políticas, declarações, memória opcional e revisão humana. |
| Agente inicial | Um agente de domínio de seguros criado com o Google ADK. |
| Agente inicial | Um agente TypeScript completo que combina um orquestrador de agente detalhados, um subagente e ferramentas suportadas por memória. |
| Aplicativo cliente | Uma interface de bate-papo do Next.js e do Vercel AI SDK para um agente implantado existente. |
Padrões do ambiente local
Quando você escolhe uma conexão LLM no catálogo do provedor, agentengine create solicita os detalhes da conexão necessária, como uma chave de API. Se LLM_API_KEY estiver configurado em seu ambiente de shell, o comando o oferecerá como padrão. Quando você confirma o valor, o comando o grava no arquivo .env gerado como LLM_API_KEY. Você não precisa configurar este valor manualmente.
Dica
Para rotear as chamadas LLM do seu agente por meio de um gateway, consulte a seção Configuração do gateway LLM.
Quando a memória está ativada, o agentengine create detecta o VOYAGE_API_KEY do seu ambiente local e o oferece como padrão. Confirmar o valor grava no .env gerado.
Quando você executa agentengine create com o sinalizador --yes, o comando não solicita valores de ambiente detectados. Para cada opção do catálogo do fornecedor exceto custom, você deve definir LLM_API_KEY em seu ambiente antes de executar o comando. Quando você também passar --memory --yes, deverá definir VOYAGE_API_KEY em seu ambiente antes de executar o comando, ou o comando falhará.
Observação
Quando você seleciona um provedor LLM compatível, a CLI grava sua credencial LLM no arquivo .env gerado sob o nome de variável LLM_API_KEY compartilhado e usa o mesmo valor LLM_API_KEY que api_key_secret para extração de memória em project-config.yaml . Isso permite que o agente e a extração de memória compartilhem um segredo carregado. Para saber mais, consulte Adicionar memória ao seu agente.
O modelo chatbot-client gera um arquivo .env.local em vez de um arquivo .env. Antes de executar o aplicativo, você deve preencher manualmente o arquivo .env.local com os seguintes valores:
Personalize seu agente com andaime
Após a conclusão de agentengine create, navegue até o diretório do espaço de trabalho do seu agente em <project-directory>/agents/<slug> e revise os arquivos gerados.
Todos os agentes gerados incluem a habilidade atlas-agent-engine em .agents/skills/atlas-agent-engine (para Codex, Copiot e outros agentes) ou .claude/skills/atlas-agent-engine (para laudo código).
Ao usar um modelo de início de agente , revise a origem do agente gerada e o arquivo .env para confirmar se a conexão LLM atende aos seus requisitos. O cliente LLM, o modelo, o endpoint e o comportamento de autenticação são configurados no código-fonte do agente gerado.
Para opções de catálogo que configuram uma conexão LLM, o arquivo .env gerado contém a credencial compartilhada como LLM_API_KEY. Se você escolher Manual setup, configure a conexão LLM no código do agente e adicione quaisquer segredos que o código exija ao arquivo .env. Para saber mais, consulte Configurar um gateway LLM no código.
Ao usar o modelo chatbot-client, revise o arquivo .env.local e confirme se você definiu corretamente a URL da API, a ID do projeto, a ID do espaço de trabalho e o token de acesso à conta de serviço do agente implantado. Não há nenhum arquivo agent.yaml em um aplicativo cliente de chatbot.
Observação
Os modelos são obtidos usando suas credenciais Git locais. O diretório de projeto gerado é inicializado automaticamente como um repositório Git.
Configurar um agente manualmente
Em vez de estruturar um agente usando o comando agentengine create, você mesmo pode criar os arquivos necessários. Cada agente exige os seguintes arquivos juntos em um diretório:
agent.yaml: Configuração do agente descrevendo como a plataforma executa seu agente.env: Segredos de tempo de execução e variáveis de ambientepyproject.toml: Define os metadados do projeto Python, incluindo o campo[project].name
Este é o seu diretório de espaço de trabalho e você executa comandos agentengine a partir dele. Quando você executa posteriormente o comando agentengine init, o Atlas Agent Engine registra este diretório como um espaço de trabalho.
As etapas a seguir descrevem como configurar um agente manualmente.
Bootstrap um projeto Python .
Se você estiver começando de um diretório vazio, instale a ferramenta uv e inicialize um novo projeto:
mkdir my-agent && cd my-agent uv init
Crie um arquivo agent.yaml.
Crie um arquivo agent.yaml no diretório do espaço de trabalho. Os campos entrypoint e sandboxes são obrigatórios.
A tabela a seguir descreve os campos agent.yaml disponíveis:
Campo | Obrigatório | Descrição |
|---|---|---|
| Sim | Caminho de importação do Python para a instância do aplicativo, no formato |
| Sim | Configura as sandboxes |
| No | Nome do agente usado como serviço Docker Compose e prefixo de nome de rede. Use um valor alfanumérico em minúsculas com hífens, mas não inclua hífens iniciais ou finais. |
| No | Descrição legível por humanos do agente. Use um máximo de 500 caracteres. |
| No | Identificador de framework, como |
| No | Idioma do agente. Os valores suportados são |
| No | Versão do agente. Aceita um valor semver rigoroso, |
| No | Configuração remota do servidor MCP. Para saber mais, consulte Usar servidores MCP remotos. |
| No | Recursos do agente exibidos na interface do usuário da plataforma. O campo aceita uma string |
| No | Obsoleto. Mova substituições da porta de serviço local para um arquivo |
| No | Sinalizadores de recursos. O bloco aceita |
| No | Declara registros de pacote privados para compilações gerenciadas. Para saber mais,consulte Esquema do Agente YAML. |
O exemplo a seguir mostra uma configuração agent.yaml mínima:
entrypoint: my_agent.graph:app name: my-agent framework: langgraph sandboxes: agent: secrets: ["*"] tools: [] tool: secrets: - ANTHROPIC_API_KEY tools: - invoke_llm
Crie um arquivo .env.
Crie um arquivo .env no diretório do espaço de trabalho para fornecer os segredos exigidos pelo código do agente . Adicione as variáveis secretas exigidas pelo seu cliente LLM a este arquivo.
Configure o provedor LLM, modelo, endpoint e comportamento de autenticação no código do agente , não no agent.yaml. O arquivo .env é apenas para segredos, como chaves de API. Para saber mais sobre o arquivo agent.yaml, consulte o guia Referência de contrato do agente.
A tabela a seguir lista as variáveis obrigatórias e opcionais para um arquivo .env:
Variável | Obrigatório | Descrição |
|---|---|---|
| Sim | string de conexão do MongoDB |
| No | Chave do provedor LLM. A plataforma não exige um fornecedor específico nem valida credenciais de LLM, mas seu agente falha no tempo de execução sem um. As chaves comuns incluem |
Importante
O arquivo .env é a única fonte de segredos validados no tempo de execução. As variáveis de ambiente do host são intencionalmente ignoradas pelo contêiner. O container só monta .env no tempo de execução, portanto, qualquer chave ausente do arquivo também estará ausente dentro do container. Não confirme nenhum segredo real em seu sistema de controle de versão.
Configuração do gateway LLM
A forma como seu agente faz e autentica chamadas LLM é determinada inteiramente em seu código. As instruções para definir variáveis de ambiente ou selecionar opções de LLM no agentengine create se aplicam somente aos modelos iniciais de exemplo . O Atlas Agent Engine não hospeda nem gerencia sua conexão LLM.
Há duas maneiras de configurar um gateway LLM:
Use um modelo inicial para estruturar uma conexão LLM funcional em um agente gerado.
Configure o gateway no código, que funciona para qualquer agente, inclusive aqueles que você não constrói a partir de um modelo inicial.
Configurar um Gateway LLM a partir de um Modelo Inicial
Ao executar o comando agentengine create, o comando solicita que você escolha uma conexão LLM, semelhante ao exemplo a seguir:
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
Se você escolher um fornecedor deste catálogo, o comando agentengine create solicitará os detalhes exigidos pela conexão, que poderão incluir o seguinte:
URL base
Nome do modelo ou sistema
Chave API
Cabeçalho de autenticação para conexões quando o host não é reconhecido
O comando grava o cliente LLM selecionado na origem do agente gerada e armazena a credencial compartilhada no arquivo .env gerado como LLM_API_KEY.
O comando também solicita que você escolha como o Agente e a Ferramenta acessam hosts externos:
Aplique a configuração
network.egressrecomendada. Se nenhum host de gateway estiver disponível, como quando você escolheManual setup(custom), essa opção instrui você a configurar a saída do LLM posteriormente.Permitir todo o acesso de saída.
Importante
O provedor selecionado configura somente o projeto inicial criado por este comando agentengine create. Ele não configura automaticamente outros agentes que você cria posteriormente.
Se sua conexão LLM não for uma das opções listadas, escolha Manual setup e configure o gateway no código. Esta opção cria um stub de construtor de modelo para que você possa configurar a conexão no código do agente .
Configurar um Gateway LLM no Código
Para conectar um LLM ao seu agente, crie um modelo específico da framework e passe a instância do modelo resultante para o método app.llm(...) a partir do ponto de entrada do seu agente. Você pode colocar o código de construção de modelo em qualquer arquivo em seu código de agente , mas os modelos iniciais colocam um stub em um arquivo específico do idioma. Se você não usar um modelo inicial, poderá definir o modelo em outro lugar, desde que app.llm(...) receba um objeto de modelo compatível.
A tabela a seguir descreve as convenções para configurar um gateway LLM no código em diferentes tempos de execução:
Tempo de execução | arquivo | O que você devolve |
|---|---|---|
Python LangGraph |
| A LangChain |
LangGraph TypeScript |
| A LangChain |
ADK Python |
| Um ADK |
O construtor é o que define o endpoint, cabeçalhos de autenticação e nome do modelo. Por exemplo, o modelo LangGraph Python insurance-agent define build_llm() em src/<module>/llm.py e retorna um LangChain BaseChatModel. O ponto de entrada do agente importa build_llm() e passa o modelo retornado para app.llm(...).
Permita o host do gateway para que seu agente possa acessá-lo. Adicione o host do gateway personalizado e a porta ao bloco network.egress no arquivo agent.yaml. Por exemplo, para adicionar gateway.example.com:443 à lista de permissões de saída existente da sandbox de ferramenta, execute o seguinte comando:
agentengine agent egress add --component tool gateway.example.com:443
Para saber mais sobre como configurar a saída de rede para seu agente, consulte o guia Introdução à saída de rede.
Registre seu agente
Depois de estruturar seu agente, você pode registrá- agente e gerar arquivos de desenvolvimento local usando o comando agentengine init. Antes de executar este comando, execute as seguintes tarefas de pré-requisito:
Instalar e autenticar o MongoDB Atlas Agent Engine.
Crie um diretório de espaço de trabalho do agente contendo
agent.yaml,.envepyproject.tomloupackage.json. O comando agentengine create organiza esse diretório em<project-directory>/agents/<slug>, ou você pode criá-lo configurando um agente manualmente.
Sintaxe do comando
No diretório do espaço de trabalho do agente , execute o seguinte comando para registrar o agente e gerar arquivos locais:
agentengine init [--workspace-id <id>] [--project-id <id>] [--org-id <id>] [--base-url <url>] [--context <name>]
Este comando seleciona ou cria interativamente uma organização e projeto, gera arquivos de desenvolvimento local e registra seu agente como um espaço de trabalho no Atlas Agent Engine.
Sinalizadores de comando
bandeira | Descrição |
|---|---|
| (Opcional) Vincula este diretório a um espaço de trabalho existente em vez de criar um. |
| (Opcional) ID do projeto para usar sem prompts. |
| (Opcional) ID da organização para usar sem prompts. |
| (Opcional) Substitui o URL base da API do Atlas Agent Engine. |
| (Opcional) Contexto local nomeado para criar ou atualizar. |
Fluxo interativo
Quando você executa o agentengine init, a CLI orienta você nas seguintes etapas:
Lista suas organizações com um menu numerado, incluindo uma opção
"Create a new organization...". Se não existirem organizações, a CLI solicitará que você insira um nome para criar uma.Lista seus projetos com um menu numerado depois que você escolhe uma organização, incluindo uma opção
"Create a new project...". Se não existir nenhum projeto, a CLI solicitará que você insira um nome para criar um.Salva o projeto selecionado como seu
project_idativo no estado de autenticação local.Gera os seguintes arquivos dev locais em seu diretório de agente :
docker-compose.yml.agentengine/Dockerfile.agentengine/entrypoint.py.dockerignore.gitignore
Registra o agente como um espaço de trabalho na plataforma e cria o arquivo
.agentengine/state.jsoncom oworkspace_id,org_ideproject_idespecificado.
Observação
Se o arquivo .agentengine/state.json já existir, a CLI pulará o registro do espaço de trabalho. Execute novamente o comando agentengine init para registrar novamente o agente sem substituir os arquivos gerados. Se o nome do espaço de trabalho já existir na plataforma, o workspace_id existente será reutilizado.
Próximos passos
As seções a seguir descrevem como iniciar o desenvolvimento local para cada tipo de modelo. Para saber mais sobre desenvolvimento e testes locais, consulte Executar e testar seu agente localmente e Testar seu agente.
Modelos para agentes iniciais
Se você estiver usando um modelo TypeScript, instale as dependências do Node.js antes de iniciar seu agente localmente:
pnpm install
Depois de revisar seu agente com andaime, execute agentengine dev up para iniciar seu agente localmente:
agentengine dev up
Modelo de cliente do chatbot
Após definir os valores necessários no arquivo .env.local, instale as dependências e inicie o servidor de desenvolvimento:
pnpm install pnpm run dev
Abra o http://localhost:3000 no seu navegador para usar a interface do usuário de bate-papo.