Sobre o projeto
O Agent Substrate é um runtime de execução de agentes seguro por padrão, projetado para executar milhões de sandboxes com densidade 10x maior do que runtimes de contêineres padrão. Construído especificamente para agentes autônomos, ele oferece operações de retomada em menos de 500ms com mais de 500 ativações de suspensão/retomada por segundo, com isolamento nativo de kernel e rede de confiança zero. Ele suporta múltiplas tecnologias de sandbox, incluindo microVMs e gVisor, permitindo operações de ciclo de vida consistentes para todos os tipos de sandbox.
Em seu núcleo, o Agent Substrate mapeia um conjunto maior de 'atores' (aplicações como agentes) para um conjunto menor de 'workers' prontos, aproveitando o fato de que aplicações semelhantes a agentes tendem a ficar ociosas na maior parte do tempo para alcançar multiplexação pesada. Ele fornece funcionalidade para gerenciar o ciclo de vida de um ator (por exemplo, criar/destruir, suspender/retomar), atribuir atores a workers em tempo real e rotear o tráfego de entrada para eles.
O Agent Substrate é destinado a ser um sistema de baixa opinião. As cargas de trabalho que ele gerencia não precisam ser agentes de IA literais, mas esses são o melhor exemplo do tipo de aplicações para as quais foi projetado. Não é um SDK para construir agentes, mas sim um sistema para executá-los em escala.
O Agent Substrate aproveita o Kubernetes para provisionamento de infraestrutura e gerenciamento do ciclo de vida dos workers (Pods do Kubernetes). Ele se baseia em recursos do Kubernetes como Pods e autoscaling de Pods, enquanto o Agent Substrate fornece agendamento e controle específicos para agentes para alcançar menor latência. Usar o Kubernetes como sistema subjacente permite gerenciamento de infraestrutura consistente em todos os tipos de carga de trabalho necessários para implantações agênticas de ponta a ponta e permite otimizações holísticas de infraestrutura para cenários de RL que abrangem ciclos agênticos, de inferência e de treinamento.
## Demonstração
Um vídeo de demonstração mostra o cluster do Agent Substrate multiplexando ~250 atores com estado em apenas 8 pods físicos. As principais capacidades demonstradas incluem:
1. **Teletransporte de Ator:** Suspensão e retomada de alto desempenho de atores em qualquer worker disponível no pool com ativação em menos de um segundo.
2. **Persistência de Estado:** Memória de trabalho persistente (RAM volátil) e estado do sistema de arquivos preservados perfeitamente através de ciclos de hibernação via snapshots de estado completo.
3. **Multiplexação de Agentes:** Demonstra oversubscription de 30x+ ao 'fazer malabarismo' com um grande registro de atores com estado em um pequeno pool de pods físicos compartilhados.
## Agnóstico de Framework e Compatibilidade
O Agent Substrate é projetado para ser agnóstico de framework e harness de agente. Como ele gerencia contêineres OCI padrão no nível do kernel (via gVisor), pode hospedar agentes construídos em qualquer stack.
- **Agent Development Kit (ADK):** Suporte para agentes ADK com preservação de estado de sessão entre invocações como estado de ator.
- **LangChain:** Ambiente de execução ideal para agentes e chamadas de ferramentas LangChain.
- **Claude Code, CodeX e Antigravity:** Suporte para ambientes de codificação com estado e alta densidade que preservam o estado do sistema e o estado do sistema de arquivos entre sessões.
- **Model Context Protocol (MCP):** Suporte para implantar servidores MCP seguros e em sandbox como Atores Substrate para fornecer ferramentas duráveis para qualquer modelo.
## Ecossistema e Exemplos
- **Agent Executor (google/ax):** Um runtime de agente distribuído que demonstra a construção de um harness de agente seguro e hiperescalável no Agent Substrate.
- **kagent:** Um projeto CNCF Sandbox e framework nativo do Kubernetes para construir, implantar e gerenciar agentes de IA que usa o Agent Substrate para executar cargas de trabalho de agente com estado e em sandbox.
## Status e compatibilidade
O Agent Substrate está atualmente em desenvolvimento inicial. Não está pronto para uso em produção, e as APIs quase certamente mudarão. Nenhuma garantia de compatibilidade retroativa é feita neste estágio.
### Versões Suportadas do Kubernetes
Atualmente visa suportar a versão estável mais recente do Kubernetes e a versão menor anterior.
## Comunidade
Junte-se ao Google Group ate-dev para anúncios e discussões. Reuniões comunitárias semanais são realizadas toda quinta-feira das 10h às 11h PST. Há também canais do Slack da CNCF: #substrate-users e #substrate-dev.
## Início Rápido (Desenvolvimento)
Para configurar o ambiente completo localmente:
1. Certifique-se de que Go, kubectl e docker estejam instalados.
2. Execute as seguintes etapas:
- `hack/create-kind-cluster.sh` para criar o cluster e o registro local.
- `hack/install-ate-kind.sh --deploy-ate-system` para instalar ate, PostgreSQL, rustfs.
- `hack/install-ate-kind.sh --deploy-demo-counter` para instalar a demonstração do contador.
- `go install ./cmd/kubectl-ate` para instalar kubectl-ate.
- Crie um ator de contador: `kubectl ate create actor my-counter-1 -a ate-demo-counter --template counter`.
- Faça port-forward do roteador de rede: `kubectl port-forward -n ate-system svc/atenet-router 8000:80`.
3. Em um terminal separado, envie uma solicitação HTTP para incrementar o contador:
```shell
curl -X POST -H "ate-target-actor: ate-demo-counter/my-counter-1" -i http://localhost:8000/
```
A capacidade do worker é versionada: o dataplane agenda apenas em nós que carregam o rótulo `ate.dev/substrate-version`, e a instalação o carimba em cada nó que existe quando é executada.
### Início Rápido no GKE (Desenvolvimento)
1. Copie e edite o arquivo de ambiente: `cp hack/ate-dev-env.sh.example .ate-dev-env.sh`.
2. Ative as credenciais de aplicativo padrão: `gcloud auth application-default login --project=${PROJECT_ID}`.
3. Provisione recursos do GCP: `go run ./tools/setup-gcp bootstrap`.
4. Implante o sistema: `./hack/install-ate.sh --deploy-ate-system`.
5. Implante aplicativos de exemplo: `./hack/install-ate.sh --deploy-demo-counter`.
Scripts personalizados de configuração e desmontagem estão disponíveis para etapas individuais.
## Demonstrações
- **Demonstração do Contador:** Um servidor HTTP Go com estado que demonstra a preservação de estado entre suspensões/retomadas.
- **Demonstração de Sandbox (Antigravity):** Um ambiente de execução seguro e em sandbox (Alpine Linux) que permite execução arbitrária de shell enquanto preserva o estado do sistema de arquivos.
- **Multiplexação Claude Code:** Demonstra oversubscription de hardware físico multiplexando múltiplos agentes Claude Code em um pool limitado de workers.
- **Multi-Template:** Dois ActorTemplates executando binários diferentes compartilham um WorkerPool.
- **Estacionamento de Solicitações:** Um pool com oversubscription onde o roteador mantém solicitações de entrada até que um worker seja liberado.
- **WorkerPool com Autoscaling:** Dimensiona um WorkerPool com base em sua contagem de workers atribuídos com um HPA alimentado por prometheus-adapter.
## Documentação e Guias
- Arquitetura: Como o plano de controle, o supervisor de nó e a pilha de rede se encaixam.
- Guia de Configuração da API: Referência detalhada para configurar WorkerPools, ActorTemplates, Secrets e Volumes.
- Documentação Completa da CLI: Instalação e uso do kubectl-ate.
- Glossário: Termos principais (Actor, Atespace, ActorTemplate, WorkerPool, Worker, ate-api-server, atenet, atelet, ateom).
- Repositórios de Integração: Onde as integrações vivem e como as correções fluem de volta ao núcleo.
- Guia de Observabilidade: Logs de atores, métricas e rastreamento distribuído.
- Guia de Autenticação: Configure provedores JWT confiáveis e credenciais humanas.
- Tráfego de Saída: Quais protocolos um Ator pode usar para alcançar o mundo externo e quais são bloqueados.
- Habilitando interceptação MITM para a política de Egress do Ator.
- Estacionamento de Solicitações: Como o roteador estaciona solicitações através de saturação transitória do worker-pool.
- Runbook de Atualização Contínua: Atualize um substrate em execução nó por nó sem perder o estado do ator.
- Modelo de Ameaças: Limites de confiança, suposições e riscos conhecidos.
- Roadmap: Limitações atuais e o que está planejado em seguida.
- Guia de Benchmarking: Testes de carga baseados em Locust, stack de monitoramento e harness de benchmark orquestrado.
## Tour
Principais comandos e componentes:
- `cmd/ateapi`: Servidor da API do plano de controle central expondo endpoints gRPC.
- `cmd/atelet`: DaemonSet de nível de nó supervisionando pods de worker físicos.
- `cmd/atecontroller`: Controlador Kubernetes reconciliando recursos personalizados do WorkerPool.
- `cmd/atenet`: Controlador de rede combinado fornecendo roteamento Envoy e sidecars de proxy.
- `cmd/ateom-gvisor`: Auxiliar interno do pod executando comandos de checkpoint e restore do runsc.
- `cmd/ateom-microvm`: Par de Micro-VM executando atores como VMs cloud-hypervisor.
- `cmd/podcertcontroller`: Polyfill fornecendo signatários de Certificado de Pod.
- `cmd/kubectl-ate`: Ferramenta CLI para gerenciar recursos do Agent Substrate.
- `cmd/benchmarking`: Cargas de trabalho sintéticas para testes de carga.
- `tools/setup-gcp`: Utilitário de provisionamento para infraestrutura GCP.
- `demos/`: Aplicativos de exemplo demonstrando capacidades.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.