O Desafio: Eficiência em Hiperescala
Quando seu código atende mais de 3 bilhões de pessoas, uma regressão de performance de 0,1% se traduz em um consumo massivo de energia. A organização de Capacity Efficiency da Meta trata a eficiência como um esforço de duas frentes:
- Ofensiva: Encontrar e implantar otimizações proativamente.
- Defensiva: Monitorar produção para detectar regressões, encontrar a causa raiz e implantar mitigações.
Ambas funcionavam bem, mas o gargalo era sempre o mesmo: tempo de engenharia humano. Engenheiros passavam horas consultando dados de profiling, revisando documentação, checando deploys recentes e analisando discussões de lançamento. Não importa quão boa seja a ferramenta, nunca há tempo suficiente para resolver todos os problemas de performance quando a prioridade é inovar.
O insight da Meta foi perceber que ofensiva e defensiva compartilham a mesma estrutura. Isso levou a uma plataforma unificada de agentes de IA que codifica expertise de domínio em skills reutilizáveis e componíveis.
(Fonte: Meta Engineering Blog)

A Arquitetura: Ferramentas + Skills
A plataforma é construída em duas camadas:
MCP Tools (Interfaces Padronizadas)
Cada ferramenta faz uma coisa: consultar dados de profiling, buscar resultados de experimentos, recuperar histórico de configuração, pesquisar código ou extrair documentação. São interfaces padronizadas para LLMs invocarem código.
Skills (Expertise de Domínio Codificada)
Skills capturam os padrões de raciocínio que engenheiros seniores desenvolveram ao longo de anos. Por exemplo:
- "Consulte os principais endpoints GraphQL para regressões de latência"
- "Procure mudanças recentes de schema se a função afetada lida com serialização"
Juntas, ferramentas e skills promovem um modelo de linguagem geral para algo que pode aplicar expertise de domínio típica de engenheiros seniores.
# Exemplo simplificado de como uma skill orquestra ferramentas
class SkillMitigacaoRegressao:
def __init__(self, ferramentas):
self.ferramentas = ferramentas
def executar(self, evento_regressao):
# Passo 1: Coletar contexto
funcoes_afetadas = self.ferramentas.consultar_dados_profiling(evento_regressao.ids_funcoes)
prs_recentes = self.ferramentas.buscar_historico_config(evento_regressao.timestamp)
# Passo 2: Aplicar expertise de domínio
if evento_regressao.tipo == "regressao_logging":
# Regressões de logging podem ser mitigadas aumentando a amostragem
mitigacao = self.ferramentas.criar_pull_request(
arquivos=funcoes_afetadas,
mudanca="aumentar taxa de amostragem de log",
criterio_validacao="uso de CPU < 5% de aumento"
)
elif evento_regressao.tipo == "regressao_cpu":
# Regressões de CPU geralmente precisam de memoização
mitigacao = self.ferramentas.criar_pull_request(
arquivos=funcoes_afetadas,
mudanca="adicionar decorador de memoização",
criterio_validacao="uso de CPU volta ao normal"
)
return mitigacao
Defensiva: AI Regression Solver
FBDetect, a ferramenta interna de detecção de regressão da Meta, captura regressões tão pequenas quanto 0,005%. Quando uma regressão é encontrada, o AI Regression Solver é ativado:
- Coletar contexto com ferramentas: encontrar sintomas, consultar a PR causa raiz, arquivos e linhas alteradas.
- Aplicar expertise com skills: usar conhecimento de mitigação específico para o código/linguagem.
- Criar resolução: produzir uma nova PR e enviar para o autor original revisar.
Isso comprime ~10 horas de investigação manual em ~30 minutos.
Ofensiva: Resolução de Oportunidades Assistida por IA
No lado ofensivo, engenheiros podem ver uma oportunidade de eficiência e solicitar uma PR gerada por IA. O pipeline espelha a defensiva:
- Coletar contexto com ferramentas: metadados da oportunidade, documentação, exemplos, critérios de validação.
- Aplicar expertise com skills: por exemplo, memoizar uma função para reduzir uso de CPU.
- Criar resolução: produzir um fix candidato com guardrails, verificar sintaxe e estilo, e exibir o código no editor pronto para aplicar.
Para um mergulho mais profundo em como construir assistentes de troubleshooting com IA, confira nosso guia sobre Arquitetando Observabilidade Conversacional para Kubernetes.
![]()
Limitações e Considerações
Embora os resultados sejam impressionantes—centenas de megawatts recuperados—há ressalvas importantes:
- Esforço de Engenharia de Skills: Codificar expertise de domínio em skills não é trivial. Exige que engenheiros seniores articulem explicitamente seus padrões de raciocínio.
- Confiabilidade do LLM: PRs geradas por IA ainda precisam de revisão humana. O sistema foi projetado para auxiliar, não substituir engenheiros.
- Generalizabilidade: Essa arquitetura funciona bem na escala da Meta com infraestrutura homogênea. Organizações menores podem não ver o mesmo ROI.
- Custo do Modelo: Executar LLMs para cada regressão e oportunidade pode ser caro em termos de computação e APIs.
Próximos Passos para Aprendizado
- Explore MCP (Model Context Protocol): Entenda como interfaces de ferramentas padronizadas funcionam com LLMs.
- Construa um agente simples baseado em skills: Comece com um codebase pequeno e codifique um padrão de otimização (ex: cache).
- Estude técnicas de detecção de regressão: Veja métodos estatísticos para detectar mudanças de performance em séries temporais ruidosas.
- Leia sobre a estratégia mais ampla da Meta: A mesma plataforma agora alimenta assistentes conversacionais, agentes de planejamento de capacidade e recomendações personalizadas.

Conclusão: Retornos Compostos
A arquitetura unificada com ferramentas e fontes de dados compartilhadas tem sido uma abstração limpa. Cada novo agente tem uma maneira fácil de coletar contexto sem reinventar a roda. Em um ano, a mesma base alimentou assistentes conversacionais, agentes de planejamento de capacidade, recomendações personalizadas de oportunidades, workflows de investigação guiados e validação assistida por IA.
A mudança mais profunda é cultural: Engenheiros que passavam manhãs em triagem defensiva agora revisam análises geradas por IA em minutos. A pergunta assustadora "Por onde eu começo?" foi substituída por revisar e implantar fixes de alto impacto.
Para mais sobre arquitetura de sistemas resilientes em escala, veja nosso guia sobre Projetando para Soberania Digital: Failover Cross-Partition na AWS.