Blog Leonardo Leão
Novidades

AIOX: o framework que transforma agents de IA em squad operável

AIOX é o framework de governança de squads de IA aplicada do Sinkra Hub: 8 layers da identidade do business até a evolução do framework, 8 princípios constitucionais enforced via hooks pré-commit e pré-push, e arquitetura hub-and-spoke que isola 4 businesses no mesmo monorepo sem que mudanças num quebrem os outros.

Por Publicado em 13 min de leitura
AIOX: o framework que transforma agents de IA em squad operável

Principais conclusões

  1. 01AIOX opera uma camada acima de LangGraph/CrewAI: governança operacional de longo prazo, não orquestração de uma run.
  2. 02Arquitetura em 8 layers (L1-L8) usa separação física por diretório para amarrar CODEOWNERS por camada.
  3. 03Constitution tem 8 princípios enforced via hooks executáveis (push, story, quality), não via disciplina humana.
  4. 04Squad SINKRA-compliant é projetado automaticamente para Claude Code, Gemini e Cursor via *sync-ecosystem.
  5. 05Hub-and-spoke isola 4 businesses no mesmo monorepo; cross-business só via squad ou serviço compartilhado.

Que problema o AIOX resolve que LangGraph e CrewAI não resolvem?

LangGraph e CrewAI são bibliotecas de orquestração de agentes — você escreve código Python que define grafos de execução, ferramentas e roteamento. Elas resolvem o "como" tático: como passar mensagem entre agentes, como aplicar guardrails, como gerenciar estado durante uma run.

AIOX opera uma camada acima. Resolve o "como" operacional de longo prazo: como múltiplos times humanos trabalham com squads de agentes durante meses, como mudanças num squad não vazam para outros, como agents preservam autoridade exclusiva (só @devops empurra código, só @db-sage roda migration), como squads são projetados para Claude Code, Gemini e Cursor sem dupla escrita. Quem precisa só de orquestração de uma run usa LangGraph e está bem servido. Quem precisa rodar isso em produção com múltiplos businesses, governança formal e CLI First, AIOX é a resposta opinada.

Como funciona a arquitetura em 8 layers?

AIOX organiza tudo em oito camadas, da mais concreta à mais abstrata: L1 Business contém os businesses do hub e seus dados isolados em workspace/businesses/{slug}/; L2 Execution hospeda os squads SINKRA-governados em squads/; L3 Product traz aplicações compartilhadas em apps/; L4 Services abriga adapters em services/; L5 Infrastructure são pacotes @sinkra/* e CI/CD; L6 Framework é o canônico AIOX em .aiox-core/; L7 Governance tem constituição, CODEOWNERS e hooks em .claude/; L8 Evolution é o sistema de auto-aprendizado.

A separação física por diretórios não é cosmética — é o que permite CODEOWNERS aplicar regras de aprovação diferentes por camada (mudança em squads/ precisa de owner do squad; mudança em workspace/businesses/aiox/ precisa do owner do business AIOX; mudança em .aiox-core/ precisa do core team). Sem essa separação, governança vira reuniões intermináveis em vez de regra mecânica.

O que é a Constitution AIOX e como ela é enforced?

A Constitution lista oito princípios não-negociáveis: (1) CLI First (CLI > Observability > UI; toda feature precisa funcionar 100% via CLI antes de UI); (2) Agent Authority (operações exclusivas por agent — só @devops faz push/PR/release); (3) Story-Driven (todo código exige story com critérios de aceitação); (4) No Invention (specs traçam de requirement, nunca inventar feature); (5) Quality First (lint e typecheck precisam passar antes do merge); (6) Task-First (tasks são unidade primária, não agents); (7) KISS (sem overengineering, escopo bounded e logical); (8) Extraction Pipeline sem fallbacks (extractors emitem só valor extraído ou marcador extraction_gap, nunca default universal).

O detalhe que diferencia da maioria dos frameworks: cada princípio é enforced via hook executável, não via disciplina. enforce-git-push-authority.sh bloqueia push se o agent ativo não for @devops. enforce-story-reference.sh avisa quando commit não cita story. enforce-quality-first.sh bloqueia push se doctor falhar. Princípio sem mecanismo é placa de rua sem fiscalização — vira ornamento.

O que significa um squad ser SINKRA-compliant?

SINKRA é o protocolo de mapeamento de processos do hub. Um squad é SINKRA-compliant quando segue um esqueleto fixo: config.yaml com pack, slash_prefix, entry_agent e name; estrutura de diretórios agents/, data/, rules/, skills/, workflows/, tasks/, templates/, scripts/ na raiz (flat por padrão, KISS); um agent declarado como is_entry: true; e validação verde em npm run validate:squad-structure.

Compliance não é burocracia — é o que permite que *sync-ecosystem projete o squad para todos os IDEs suportados automaticamente. Sem o esqueleto, projeção quebra; com ele, um squad recém-materializado vira slash command em Claude Code, Gemini e Cursor sem nenhuma duplicação manual de código. O squad content-geo é exemplo: definido uma vez em squads/content-geo/, virou /geo:geo-chief em Claude Code, slash equivalente em Gemini, e contexto consumível em Cursor.

Como squads são projetados para Claude Code, Gemini e Cursor?

O comando *sync-ecosystemsquads/{nome}/config.yaml, agents/*.md e skills/*.md, e gera as projeções por IDE: .claude/agents/, .claude/skills/ para Claude Code; .gemini/agents/ e .gemini/commands/ para Gemini; e arquivos equivalentes para outros IDEs registrados. Cada projeção respeita as convenções do IDE alvo (front matter, naming, paths) sem que o autor do squad precise saber dessas convenções.

O autor escreve uma vez em squads/, marca o squad como ide_sync_published: true em squads/sinkra-squad/data/ecosystem-registry.yaml, e roda npm run sync:ide. O resultado é onboarding zero para qualquer time entrar num IDE diferente: o squad já está lá. Squads marcados como ide_sync_published: false ficam manuais, geralmente quando a projeção exige customização que não vale automatizar (caso do próprio content-geo, que tem skills com surface manual em .claude/skills/).

Como isolamento por business funciona em hub-and-spoke?

O hub é o monorepo sinkra-hub. Spokes são os businesses (atualmente AllFluence, AIOX, Academia Lendária e Bilhon). Cada business tem seu workspace em workspace/businesses/{slug}/ com 5 camadas (L0-identity, L1-strategy, L2-tactical, L3-product, L4-operational), TTLs por camada (365d/90d/60d/30d/7d) e CODEOWNERS específico que limita quem pode editar o que.

A regra de ouro é simples: um business nunca lê ou escreve no workspace de outro diretamente. Cross-business só via squad ou serviço compartilhado. Essa restrição é o que permite que mudança num business não cause regressão noutro — o blast radius está fisicamente delimitado pelo diretório. Squads vivem em squads/ (compartilhados, business-agnostic) justamente para que cada business consuma o mesmo squad com inputs diferentes, em vez de cada um forkar a lógica.

Como adotar AIOX em um time pequeno?

O AIOX foi desenhado para multi-business, mas funciona em single-business. O caminho mínimo de adoção: clone o monorepo, mantenha apenas workspace/businesses/{seu-slug}/, desative os outros businesses no squads/sinkra-squad/data/ecosystem-registry.yaml, e configure CODEOWNERS para um único owner. Os squads compartilhados continuam funcionando porque são business-agnostic.

O ROI vem nos primeiros três meses: parar de pensar em "como fazer agent X" e passar a pensar em "qual squad executa o processo Y" muda a velocidade de implementação. Stories deixam de ser tickets soltos e viram artefatos reproduzíveis com critério de aceitação claro. Push para produção deixa de ser ato individual e vira protocolo: @dev propõe, @devops executa, @qa valida.

Como AIOX se compara com LangGraph, CrewAI e AutoGen?

Comparar AIOX com LangGraph, CrewAI ou AutoGen é tentador, mas a comparação só faz sentido se ficar claro que estão em camadas diferentes. AIOX governa squads em produção por meses; os outros orquestram uma run de agentes. O lado a lado abaixo mostra onde cada um brilha e onde a confusão de camada gera escolha errada.

Top-line

AtributoAIOXLangGraphCrewAIAutoGen
CamadaOperacional (governance)Tática (run orchestration)Tática (role-based)Tática (multi-agent chat)
LinguagemNode + Python (hooks)PythonPythonPython (Studio: GUI)
DistribuiçãoMonorepo + CLI Firstpip libpip libpip lib + Studio
Multi-tenancyHub-and-spoke nativoManual (app-level)ManualManual
Governance enforcementHooks executáveisApp-level apenasApp-level apenasApp-level apenas
IDE projectionSync para Claude/Gemini/Cursorn/an/an/a
Long-term runMeses entre timesSingle executionSingle executionSingle execution

Matriz por dimensão (12)

#DimensãoAIOXLangGraphCrewAIAutoGen
1Definição de agent.md persona filesTypedDict + node fnAgent class (role/goal/backstory)ConversableAgent class
2State managementFilesystem (tasks/outputs)State graphShared contextChat history
3Authority enforcementHooks bloqueiamApp-levelApp-levelApp-level
4Multi-IDE1 source → N projectionsCode PythonCode PythonCode Python ou Studio
5Governance formalConstitution + 8 layersAd-hoc por devAd-hocAd-hoc
6Skill libraryskills/*.md on-demandTool list por agentTool listTool registration
7Squad scaffoldingvalidate:squad-structureFree-formFree-formFree-form
8Persistência cross-sessionoutputs/{squad}/{mission}/App responsibilityApp responsibilityApp responsibility
9Onboarding novo devClone monorepo + ler CLAUDE.mdAprender API + setupAPI + setupAPI + setup
10Caso de uso idealHub multi-business + workflow de mesesApp single-purposeApp single-purposeApp single-purpose
11LicenseOpen-source-ready (CLI-first)MITMITMIT
12Limite explícitoNão orquestra run sozinhoNão governa frotaNão governa frotaNão governa frota

Verdict: Não são concorrentes diretos. AIOX é o como time grande de IA aplicada opera em produção; LangGraph/CrewAI/AutoGen são o como uma run de agentes flui internamente. Squads AIOX podem usar LangGraph ou CrewAI por dentro para orquestrar a run de seus agentes — o aninhamento é desenhado, não acidental. Quem precisa só de orquestração de uma run usa LangGraph; quem precisa rodar isso em produção com governança formal por meses usa AIOX por cima.

Onde o AIOX falha e o que ele explicitamente NÃO resolve?

AIOX não resolve criatividade. O framework garante que processo é executado, que governança é respeitada, que mudança não vaza para outro business. Mas não substitui o pensamento original que vai dentro de um agent ou de uma story. Se a entrada é fraca (story mal escrita, agent mal especificado), AIOX entrega execução fiel de algo fraco — não conserta.

AIOX também não resolve falta de equipe. Hub-and-spoke pressupõe que existem owners diferentes por business; em time de uma pessoa, todo CODEOWNERS aponta para a mesma pessoa e a separação por aprovação vira teatro. Para esse caso, modo single-business é honesto. Por fim, AIOX não resolve adoção de IDE: se o time não usa Claude Code, Gemini ou Cursor, a projeção *sync-ecosystem não tem destino e parte do valor evapora — o squad continua útil como documentação executável, mas perde o loop de ativação por slash command.

#aiox #sinkra #framework #governance #constitution #multi-business

Perguntas frequentes

AIOX é open-source?
O framework é open-source-ready (CLI-first, sem dependência de UI proprietária). A constituição, hooks e estrutura de squads são reproduzíveis em qualquer monorepo Node + Python.
Preciso de Claude Code para usar AIOX?
Não obrigatoriamente. Squads são projetados para Gemini e Cursor via *sync-ecosystem. A CLI é agnóstica de IDE — agents podem ser invocados de qualquer cliente que respeite a convenção de slash commands.
Como AIOX se compara com LangGraph ou CrewAI?
LangGraph e CrewAI orquestram uma run de agentes (camada tática). AIOX governa squads em produção por meses (camada operacional). São complementares: um squad AIOX pode usar LangGraph internamente para orquestrar a run de seus agentes.
Posso usar AIOX só para um business?
Sim. A arquitetura hub-and-spoke é o caso multi-business; para single-business você desabilita os outros workspaces e mantém o restante. O custo de overhead é baixo e a governança continua útil.
AIOX impõe um stack específico?
Não. O monorepo de referência usa Node 18+ e Python para hooks, mas o framework é stack-agnóstico. Squads podem ser implementados em qualquer linguagem desde que respeitem a estrutura de diretórios e o config.yaml.

Sobre o autor

Equipe Editorial

Equipe responsável pela curadoria, revisão e publicação de artigos técnicos no blog.

Seguir