🧠 GBR: AI Harness (ACI Harness Brain) | Governança
🧠 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:
-
**Atores de Infraestrutura (Supervisão
OneForAll)*: - 📺 *viewport_actor**: Gerencia o estado visual e visualização do sistema de arquivos permitido (allowed_rootdo 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. -
**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. -
**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). -
**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. -
*Banco de Dados Mnesia*: - Persiste as sessões de chat e o histórico do agente localmente na pasta
privusando 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 🏗️