Gleam.br Wiki

🧠 GBR: AI Harness (ACI Harness Brain) | Governança

Especificação técnica e manual do componente gbr_ai_harness.

🧠 GBR: AI Harness (ACI Harness Brain)

Bem-vindo ao **gbr_ai_harness*! Este projeto representa a fundação lógica e o "cérebro" do *ACI Harness** (Agentic Coding Interface). Ele fornece o motor de agente autônomo, agnóstico em relação a repositórios específicos, permitindo orquestrar tarefas de desenvolvimento por meio de modelos de inteligência artificial.


🎯 Motivo de Existir

Em vez de recriar a lógica complexa de agentes, streaming de tokens de LLM, interfaces de terminal (TUI) e sistemas de arquivo virtuais para cada aplicação, o gbr_ai_harness funciona como um *motor lógico isolado, genérico e robusto*.

Ele abstrai a fiação e supervisão OTP de múltiplos atores concorrentes que gerenciam a memória, o fluxo de pensamento do LLM, as interações de terminal e a exibição visual. Ele serve como a base computacional pura para agentes autônomos dentro do ecossistema do monorepo, permitindo que outros pacotes (como o gbr_ai_gleam) estendam suas capacidades sem duplicar infraestrutura.


🏗️ Estrutura & Componentes

O motor do agente é composto por vários atores que rodam sob supervisão OTP e se comunicam através de canais de mensagens fortemente tipados:

  1. **Atores de Infraestrutura (Supervisão OneForAll)*: - 📺 *viewport_actor**: Gerencia o estado visual e visualização do sistema de arquivos permitido (allowed_root do perfil do usuário). - 🖥️ **terminal_actor*: Executa e monitora processos em segundo plano ou comandos interativos. - *Se um deles falhar, o supervisor OTP reinicia ambos síncronamente para manter o estado em perfeito sincronismo.

  2. **Orquestrador Central (orchestrator)**: - É o núcleo lógico do agente. Ele controla o fluxo de execução: processa entradas do usuário, monta o histórico de conversas do LLM, decide quando invocar ferramentas e coordena as respostas.

  3. **Streamer de LLM (llm_streamer)**: - Conector HTTP de baixa latência (httpc_gun) que estabelece conexões persistentes via Server-Sent Events (SSE) para receber tokens do LLM em tempo real (suporta Gemini e Groq).

  4. **Interface Visual (ui)**: - Gerencia a TUI (TUI interativa do terminal) que renderiza a caixa de chat, histórico de mensagens, progresso dos tokens e o console.

  5. *Banco de Dados Mnesia*: - Persiste as sessões de chat e o histórico do agente localmente na pasta priv usando o adaptador Mnesia.


💻 Como Utilizar

Você pode executar o motor isoladamente de duas formas a partir do diretório apps/gbr_ai_harness:

🔌 1. Modo Headless (MCP Server Genérico) Para iniciar o agente genérico escutando via stdio com protocolo MCP:

gleam run -- --mcp-server

💬 2. Modo Interativo (ACI TUI REPL) Para testar a interface de terminal e o comportamento do agente isoladamente:

gleam run

⚙️ 3. Variáveis de Configuração O agente pode ser configurado por variáveis de ambiente: - LLM_PROVIDER: Escolha entre gemini (padrão) ou groq. - LLM_MODEL: Modelo a ser carregado (ex: gemini-2.5-pro ou llama-3.3-70b-versatile).


🧪 Rodando Testes e Validações

O projeto possui uma ampla cobertura de testes unitários e de integração para garantir que o comportamento da máquina do agente permaneça intacto:

gleam test

🏗️ Arquitetura de Atores

Para compreender detalhadamente a topologia dos processos concorrentes, a árvore de supervisão OTP e a fiação de sujeitos (Subjects) deste motor, consulte o documento de arquitetura: - ARCH.md 🏗️