Blog · Guia · 29 de outubro de 2026
Escolha um runtime de agente AEGIS no registro padrão
Aviso: a 100monkeys.ai desenvolve o AEGIS, então leia este guia como o relato de quem o fabrica. Ele foi redigido por um dos nossos agentes de IA a partir da documentação pública do AEGIS, principalmente o Standard Runtime Registry, a entrada aegis.runtime.list de Management Tools e a CLI Reference, e revisado pela empresa; esta versão em português é uma tradução do guia original em inglês. Cada linha de YAML, chamada e comando abaixo foram copiados dessas páginas, e nenhum foi executado para este guia. As citações ficam em inglês com a tradução ao lado. Onde a documentação deixa uma pergunta em aberto, a última seção diz isso.
AEGIS by 100monkeys.ai, in beta, executa cada agente num contêiner. Um manifesto de agente pode nomear uma linguagem e uma versão em vez de uma imagem, e o orquestrador escolhe a imagem. A página do registro diz isso claramente: "Using StandardRuntime means you never specify a Docker image directly." (Usar StandardRuntime significa que você nunca especifica uma imagem Docker diretamente). Este guia escolhe um runtime, confere-o antes de implantar e mostra o que acontece na execução.
Passo 1. Entenda o que o registro decide
Quando um manifesto informa spec.runtime.language e spec.runtime.version, o orquestrador "resolves them to a deterministic, pinned Docker image at execution time." (os resolve para uma imagem Docker determinística e fixada no momento da execução). O mapeamento fica em runtime-registry.yaml, versionado no repositório do orquestrador e carregado quando o daemon inicia. O ponto para uma revisão é que dois agentes que nomeiam o mesmo par rodam na mesma imagem, e ninguém digita uma tag de imagem num manifesto.
Passo 2. Pergunte ao registro o que ele aceita
Um agente que escreve manifestos de outros agentes, ou uma pessoa num cliente, pode chamar a ferramenta embutida aegis.runtime.list. Sem argumentos ela lista todos os runtimes; com uma linguagem, filtra:
{}
{ "language": "python" }
A resposta nomeia language, version, image, description e um indicador deprecated de cada runtime, além de custom_runtime_supported. A página do registro dá o motivo da ferramenta: ela "prevents hallucinated language-version combinations from being written into manifests." (impede que combinações inventadas de linguagem e versão sejam escritas nos manifestos). Ela está disponível no contexto de segurança aegis-system-agent-runtime "with no additional configuration" (sem configuração adicional).
Passo 3. Escolha um par suportado
A matriz da página do registro, como está:
| Linguagem | Versões | Imagem |
|---|---|---|
python | 3.11, 3.10; 3.9 obsoleta | python:3.x-slim, Debian 12 |
javascript | 20, 18 | node:20-alpine, node:18-alpine |
typescript | 5.1 | node:20-alpine |
go | 1.21, 1.20 | golang:1.x-alpine |
rust | 1.75, 1.74 | rust:1.x-alpine |
bash | 5 | python:3.11-slim, com python3 para o bootstrap |
Manifestos que nomeiam uma versão obsoleta "still execute but emit a warning in the execution log" (ainda executam, mas emitem um aviso no log de execução). A página nomeia python: "3.9" como obsoleta e manda passar para 3.10 ou 3.11. Remoções são anunciadas "two phases in advance" (com duas fases de antecedência), e uma versão removida falha na validação.
Passo 4. Escreva-o no manifesto
spec:
runtime:
language: "python" # Required (StandardRuntime)
version: "3.11" # Required (StandardRuntime)
isolation: "docker" # inherit | docker | firecracker
model: "default" # LLM model alias from aegis-config.yaml
"Specifying an unsupported language+version combination is rejected at execution validation time with a descriptive error. There is no fallback to a default version." (Indicar uma combinação de language+version não suportada é rejeitado na validação da execução com um erro descritivo. Não há recurso a uma versão padrão). A última frase é a útil: um erro de digitação não roda calado em outro interpretador.
Passo 5. Valide e depois implante
aegis agent deploy ./agent.yaml --validate-only
aegis agent deploy ./agent.yaml
--validate-only analisa e valida sem implantar. Implantar duas vezes o mesmo nome e versão falha, a menos que você acrescente --force.
Passo 6. Instale o que o agente precisa, ou passe a uma imagem própria
Cada imagem padrão traz a ferramenta de pacotes da sua linguagem: pip e apt nas imagens Python, npm e apk nas de Node, go e apk em Go, cargo e rustc em Rust. Para TypeScript o orquestrador define TYPESCRIPT_VERSION=5.1 e a documentação diz que o seu bootstrap deve instalar o conjunto de ferramentas com npm install -g typescript ts-node. Quando um agente precisa de pacotes do sistema como ffmpeg, de uma versão que o registro não tem, de binários pré-compilados ou de dependências privadas, a resposta da página é um Custom Runtime, a sua própria imagem, em vez de instalar as mesmas coisas a cada execução.
Passo 7. Entenda o que acontece quando o agente inicia
Para um runtime padrão, o orquestrador resolve o par para uma imagem, cria o contêiner com um processo principal que só o mantém vivo, envia seu bootstrap.py para /usr/local/bin/aegis-bootstrap se ainda não estiver lá, e o executa com o prompt. O bootstrap se conecta de volta ao gateway de despacho do orquestrador e executa o laço de iteração: "generate → execute → validate → refine" (gerar, executar, validar, refinar).
Passo 8. No seu próprio nó, deixe o arquivo do registro onde o daemon procura
# aegis-config.yaml
spec:
runtime:
runtime_registry_path: "runtime-registry.yaml"
O caminho padrão é relativo ao diretório de trabalho do daemon. Se o arquivo faltar ou não puder ser analisado, o daemon "hard-fails at boot" (falha de vez na inicialização), porque "a missing registry makes every StandardRuntime agent execution impossible." (um registro ausente torna impossível toda execução de agente StandardRuntime). Defina um caminho absoluto quando o daemon roda a partir de outro diretório ou dentro de uma imagem de contêiner.
O que a documentação deixa em aberto
- Duas respostas de exemplo não batem. A resposta de exemplo de
aegis.runtime.listna página do registro lista Python 3.11, 3.10 e 3.9 empython:3.x-slim; a da página Management Tools lista Python3.12emghcr.io/100monkeys/runtime-python:3.12, que a matriz não contém. Pergunte ao seu próprio nó em vez de confiar em qualquer dos exemplos. - Quando um par inválido é pego. A página do registro diz que um par não suportado é rejeitado "at execution validation time" (na validação da execução). Não diz se
aegis agent deploy --validate-onlyjá o pega. - Valores de isolamento. O comentário do manifesto na página do registro lista
inherit | docker | firecracker; as referências de workflow e de agente também listamprocess. - Datas. Não há data de remoção para Python 3.9 além de "Phase 2" (fase 2).
Próximo
O runtime é um campo do manifesto de agente. Para o resto dele, leia O manifesto de agente do AEGIS: cada campo e o que ele impõe. O AEGIS se instala com o comando mostrado em 100monkeys.ai:
curl -fsSL https://get.100monkeys.ai | bash