Ir para o conteúdo principal
  1. Artigos/

Docker Cagent: Runtime para Agentes de IA

Vitalik Buterin
Autor
Vitalik Buterin
Visionary behind the Ethereum protocol, renowned for his research and thought leadership in cryptography, blockchain technology, and decentralized systems.
Índice

No último ano, passei inúmeras horas a experimentar com agentes de IA—construindo protótipos, a partir coisas e a testar ferramentas como Claude Code, Codex e outras. Cada tentativa ensinou-me algo novo, mas também trouxe à superfície as mesmas frustrações: scripts que só funcionavam no meu laptop, configurações frágeis que não escalavam, nenhuma forma clara de configurar o que cada agente deveria fazer ou que ferramentas podia usar, e dificuldade em fazer os agentes comportarem-se como eu queria—quanto mais entregar resultados extraordinários. Demasiadas vezes encontrei-me a combater peculiaridades do ambiente em vez de explorar o que os agentes podiam realmente alcançar.

É por isso que estou tão entusiasmado com o que temos trabalhado na Docker. Fizemos uma pergunta simples: e se executar agentes pudesse ser tão fácil, portável e fiável como executar containers? O resultado é o cagent, um novo runtime para agentes de IA, construído para tornar a experimentação mais simples e a colaboração mais fácil - e hoje, tornamo-lo open source.

Conheça o cagent
#

cagent é um runtime open source, Docker-native desenhado para tornar os agentes cidadãos de primeira classe no teu workflow de desenvolvedor. Em vez de scripts frágeis ou configurações ad-hoc, o cagent dá-te uma forma consistente de definir, executar e partilhar agentes usando os mesmos padrões que já conheces do Docker.

No seu núcleo, o cagent é um runtime multi-agente. Podes definir um único agente com um simples ficheiro YAML, ou orquestrar uma equipa inteira de agentes especializados que colaboram em tarefas. Cada agente pode ser configurado com o seu próprio papel, personalidade e acesso a ferramentas externas.

Providers suportados
#

Out of the box, o cagent suporta múltiplos providers de modelos incluindo OpenAI, Anthropic, Google Gemini e outros. Podes alternar entre eles facilmente através de configuração, por isso não estás preso a um único vendor.

Ferramentas e integração MCP
#

Podem ser dadas ferramentas aos agentes para estender as suas capacidades. O cagent fala o Model Context Protocol (MCP), o que significa que os teus agentes podem conectar-se a um amplo ecossistema de servidores MCP—seja pesquisa (como DuckDuckGo), acesso ao sistema de ficheiros ou APIs custom que exponhas. Podes decidir que ferramentas cada agente recebe, tornando a sua configuração explícita e reproduzível.

Além disso, o cagent funciona perfeitamente com o Docker MCP Gateway e o MCP Catalog (Docker Hub MCP), que te permitem adicionar ferramentas aos teus agentes de forma mais segura e seamless. Tanto o gateway como o catálogo vêm empacotados com o Docker Desktop, por isso se estás a correr Docker Desktop podes usá-los out of the box.

Configurações multi-agente
#

O cagent torna simples orquestrar equipas de agentes. Um ficheiro de agente pode descrever um agente researcher, um agente coder e um agente reviewer, cada um com as suas próprias responsabilidades e ferramentas. Quando executas um ficheiro/imagem de agente com o cagent, os agentes arrancam juntos, colaboram e passam tarefas entre si. Podes até misturar modelos e providers entre agentes—um agente pode usar OpenAI, outro Anthropic e outro Gemini—tudo na mesma configuração.

Guardar e partilhar
#

Cada configuração que crias pode ser partilhada facilmente. Podes definir um agente (ou uma equipa) declarativamente num ficheiro YAML, fazer commit no version control e partilhá-lo como qualquer outro artefacto de código. Ou podes empacotar agentes como imagens Docker para distribuição totalmente portável.

Em resumo
#

Com o cagent podes:

  • Containerizar agentes para que funcionem em qualquer lugar onde o Docker funcione, com isolamento e reprodutibilidade por defeito.
  • Configurar comportamentos e ferramentas declarativamente—decidir o que cada agente faz, a que providers e ferramentas MCP pode aceder, e como interagem.
  • Orquestrar múltiplos agentes como equipa, deixando-os colaborar em tarefas com interfaces limpas.
  • Experimentar rapidamente sem te preocupares com drift de configuração, dependency hell ou incompatibilidades de ambiente.
  • Guardar e partilhar agentes através de ficheiros YAML ou imagens Docker, tornando experiências reproduzíveis e colaboração seamless.

Em resumo: o cagent dá-te uma base para passar de “experiências hackadas” para workflows de agentes repetíveis e componíveis—mantendo-se leve e fácil de usar.

Instalação e configuração
#

Começar com o cagent é simples.

Instalação
#

Binários pré-compilados para Windows, macOS e Linux estão disponíveis na página de releases.

  1. Faz download do binário para a tua plataforma.
  2. Em macOS e Linux, torna-o executável:
    chmod +x /path/to/downloads/cagent-linux-amd64
  3. Opcionalmente, renomeia-o para cagent e move-o para o teu PATH.

Configura as tuas chaves API
#

Dependendo de quais providers queres usar, configura as chaves apropriadas no teu ambiente:

# Para modelos OpenAI
export OPENAI_API_KEY=your_api_key_here

# Para modelos Anthropic
export ANTHROPIC_API_KEY=your_api_key_here

# Para modelos Gemini
export GOOGLE_API_KEY=your_api_key_here

Só precisas de configurar as chaves para os providers que planeias usar. Se múltiplas estiverem configuradas, o cagent escolherá por ordem (Anthropic → OpenAI → Google) a menos que sobreponhas com --model.

Com o binário instalado e pelo menos uma chave API configurada, estás pronto para criar e executar o teu primeiro agente.

Criar um novo agente do zero
#

Uma das funcionalidades mais poderosas do cagent é a capacidade de gerar novos agentes (ou mesmo equipas multi-agente) do zero com um único comando: cagent new.

Quando executas cagent new, ser-te-á pedido que descrevas o que queres que o teu agente (ou equipa de agentes) faça. A partir daí, o cagent gera automaticamente a configuração YAML, escolhendo um provider/modelo baseado nas tuas chaves API disponíveis (Anthropic → OpenAI → Google por defeito) a menos que sobreponhas com --model. O cagent também sugerirá um conjunto de ferramentas que o agente pode precisar baseado na tua descrição.

Por trás dos panos, o cagent usa um agente gerador built-in para fazer bootstrap do YAML por ti. Podes imediatamente executar o ficheiro gerado, editá-lo ou partilhá-lo. No exemplo abaixo vou criar um agente inspirado em Tyler Durden de Fight Club.

Prompt de criação do agente Tyler Durden

Depois de descreveres o teu agente, o cagent gera um ficheiro YAML que especifica o papel do agente, provider, modelo e acesso a ferramentas. Isto torna a configuração do teu agente explícita, reproduzível e fácil de modificar.

YAML do agente gerado para o exemplo Tyler Durden

Aqui está um exemplo do YAML gerado para o agente Tyler Durden:

version: "1"

models:
  anthropic:
    provider: anthropic
    model: claude-sonnet-4-0
    max_tokens: 64000

agents:
  root:
    model: anthropic
    description: "An agent that embodies Tyler Durden's philosophical mindset - challenging consumerism, questioning authority, and speaking with raw, unfiltered truth"
    instruction: |
      You are an agent inspired by Tyler Durden's philosophy and speaking style. You should:

      SPEAKING STYLE:
      - Be direct, provocative, and uncompromising
      - Use short, punchy statements mixed with longer philosophical rants
      - Challenge conventional thinking and societal norms
      - Speak with confidence and authority
      - Use visceral, concrete imagery in your explanations
      - Be brutally honest, even when uncomfortable

      PHILOSOPHICAL APPROACH:
      - Question consumerism and materialism
      - Challenge people to break free from societal expectations
      - Emphasize authenticity over appearance
      - Focus on what truly matters vs. what society says should matter
      - Promote self-reliance and personal transformation
      - Critique corporate culture and meaningless work

      COMMUNICATION PATTERNS:
      - Start with bold, attention-grabbing statements
      - Use analogies involving decay, destruction, and renewal
      - Ask hard questions that make people uncomfortable
      - Deliver uncomfortable truths about modern life
      - End with calls to action or philosophical challenges

      TOPICS TO ADDRESS:
      - The meaninglessness of consumer culture
      - Breaking free from others' expectations
      - Finding authentic purpose and meaning
      - The importance of facing harsh realities
      - Personal transformation through destruction of false selves
      - Questioning authority and social structures

      Remember: You're not encouraging actual violence or illegal activity - you're using Tyler's philosophical lens to challenge thinking about society, purpose, and authenticity. Focus on psychological and philosophical rebellion rather than physical destruction.
    toolsets: []
    add_date: false
    add_environment_info: false

Podes refinar ainda mais a que ferramentas o agente pode aceder, incluindo ferramentas MCP como pesquisa, sistema de ficheiros ou APIs custom. Esta secção de ferramentas explícita garante que o teu agente só tem as capacidades que defines.

A executar o agente Tyler Durden

Isto torna incrivelmente rápido passar de uma ideia para uma configuração de agente funcional. Quer estejas a prototipar um único agente helper ou a desenhar uma equipa de especialistas, cagent new permite-te partir de linguagem natural e obter uma config executável em segundos.

Executar os teus agentes
#

O comando cagent run é como dás vida aos teus agentes. Recebe um ficheiro YAML (ou mesmo uma imagem Docker empacotada) e inicia os agentes que definiste dentro dele. O comando trata da orquestração, comunicação inter-agente e acesso a ferramentas—tudo enquanto mantém isolamento e reprodutibilidade através de containerização.

Quando executas cagent run, várias coisas acontecem:

  • Cada agente é inicializado com o seu modelo, papel e ferramentas especificados
  • O runtime configura canais de comunicação seguros entre agentes
  • O acesso a ferramentas é configurado de acordo com as tuas especificações YAML
  • O agente primário (tipicamente chamado “root”) inicia e pode delegar a outros agentes conforme necessário

Exemplo: Construir um jogo de xadrez
#

Vamos percorrer um exemplo prático usando a equipa de desenvolvimento multi-agente de examples/dev-team.yaml. Esta configuração define três agentes especializados a trabalhar juntos:

  • Product Manager: Coordena o projeto, decompõe requisitos e gere iterações
  • Designer: Foca-se na experiência do utilizador, design visual e planeamento da interface
  • Engineer: Trata da implementação, coding e arquitetura técnica

Para este exemplo, vou copiar a configuração do agente para o meu diretório de projeto e executá-la a partir daí, dando aos agentes o diretório de trabalho correto para criar e modificar ficheiros:

# Copia a configuração dev team para o teu diretório de projeto
cp dev-team.yaml /path/to/my-chess-project/
cd /path/to/my-chess-project/

# Executa os agentes a partir do diretório de projeto
cagent run dev-team.yaml

Esta abordagem garante que quando o agente Engineer cria ficheiros ou a equipa precisa de iterar no código, tudo é criado no sítio certo e os agentes podem facilmente aceder e modificar os ficheiros do projeto.

Depois peço a esta equipa para “construir um jogo de xadrez”.

Pedido inicial para construir um jogo de xadrez

O agente Product Manager assume a liderança, decompondo imediatamente o jogo de xadrez em componentes manejáveis. O Product Manager depois coordena com o agente Designer para planear a interface do utilizador. O Designer considera o layout visual, interações do utilizador e experiência geral. Esta colaboração acontece automaticamente—os agentes comunicam através do runtime cagent sem coordenação manual. Vários ficheiros são gerados para esboçar a estrutura do projeto e design inicial (nota: funcionalidade específica dos agentes dev-team).

Product Manager e designer a definir requisitos e a coordenar com a equipa

O agente Engineer é envolvido para planear a implementação técnica. Pensa sobre estrutura de código, arquitetura HTML/CSS/JavaScript e como implementar a lógica do jogo eficientemente. O engineer pode aceder a ferramentas de sistema de ficheiros para realmente criar e modificar ficheiros.

A equipa trabalha iterativamente—o Engineer implementa funcionalidades, o Designer fornece feedback sobre a interface e o Product Manager acompanha o progresso. Cada agente mantém a sua perspetiva especializada enquanto contribui para o objetivo partilhado.

Designer a planear a interface do utilizador

O resultado final é um jogo de xadrez funcional com lógica de jogo correta, interface visual e interações do utilizador. Os agentes colaboraram para entregar algo mais sofisticado do que qualquer agente individual teria produzido sozinho.

Engineer a implementar a solução técnica
Implementação final com jogo de xadrez funcional

O que torna isto poderoso
#

Este exemplo demonstra várias vantagens chave da abordagem multi-agente do cagent:

Expertise especializada: Cada agente foca-se no que faz melhor—planeamento de produto, pensamento de design ou implementação técnica—em vez de tentar tratar de tudo.

Colaboração natural: Os agentes comunicam e coordenam automaticamente. Não precisas de passar informação manualmente entre eles ou gerir as suas interações.

Desenvolvimento iterativo: Tal como equipas humanas, os agentes trabalham em iterações, refinando e melhorando a solução à medida que avançam.

Resultados reproduzíveis: Como tudo está definido em configuração YAML, podes executar exatamente a mesma configuração de equipa novamente, partilhá-la com outros ou modificá-la para projetos diferentes.

Integração de ferramentas: Cada agente pode ser configurado com diferentes ferramentas—o Engineer pode ter acesso ao sistema de ficheiros para escrever código, enquanto o Designer tem acesso a APIs de geração de imagens.

Podes personalizar esta equipa modificando o ficheiro YAML—muda os seus papéis, ajusta as suas personalidades, dá-lhes diferentes ferramentas ou até troca diferentes modelos para cada agente. A configuração torna a experimentação fácil enquanto mantém tudo reproduzível.

Começa com o cagent
#

Pronto para containerizar os teus workflows de IA? O repositório cagent inclui exemplos e templates para começar:

Opções de quick start:

  • Cria o teu primeiro agente: Faz download do binário, configura a tua chave API e executa cagent new para criar o teu primeiro agente
  • Experimenta com equipas multi-agente: Copia dev-team.yaml para o teu projeto e vê os agentes a colaborar em tarefas reais
  • Explora os exemplos: Navega pelas configurações de agentes pré-construídas para diferentes casos de uso no repositório

Junta-te à comunidade:

  • Partilha as tuas criações: Encontra-nos no Slack para mostrar os agentes e workflows que estás a construir com o cagent
  • Contribui exemplos: Submete pull requests com templates de agentes para workflows comuns
  • Discute casos de uso: Junta-te às conversas e diz-nos como podemos melhorar

Quer estejas a construir automação pessoal, a prototipar workflows de IA ou a escalar sistemas de agentes em produção, o cagent dá-te a base Docker-native para o tornar fiável e partilhável.

O futuro do desenvolvimento de IA é colaborativo, containerizado e reproduzível. Vamos construí-lo juntos.

Relacionados