Skip to content

feat: Caveman mode — compressão de output tokens dos agentes #28

@ElioNeto

Description

@ElioNeto

Objetivo

Integrar o estilo caveman ao teamcode: agentes respondem com linguagem telegráfica, descartando palavras desnecessárias mas mantendo 100% de precisão técnica.

"why use many token when few do trick"JuliusBrussee/caveman

Motivação

Agentes verbosos consomem mais tokens, são mais lentos e geram mais ruído no output. O modo caveman reduz ~65% dos tokens de saída sem perda de acurácia técnica — na prática, torna os agentes do swarm mais rápidos e baratos.

Antes / Depois

Normal Caveman
"The reason your component is re-rendering is likely because you're creating a new object reference on each render cycle..." (69 tokens) "New object ref each render. Inline prop = re-render. Wrap in useMemo." (19 tokens)

Mesma correção. 75% menos tokens. Brain still big.

Escopo

Níveis de compressão

Nível Comportamento
lite Remove filler words e frases de cortesia
full Modo caveman padrão — fragmentos, sem formalidades (default)
ultra Telegráfico — apenas o essencial

Configuração em opencode.jsonc

{
  "caveman": {
    "enabled": true,
    "level": "full"  // "lite" | "full" | "ultra"
  }
}

Flag CLI

teamcode --caveman
teamcode run --caveman "refatore esse arquivo"

Ativação inline

Dentre de qualquer sessão, o usuário pode ativar/desativar via:

/caveman          → ativa modo full
/caveman lite     → ativa modo lite
/caveman ultra    → ativa modo ultra
normal mode       → desativa

Aplicação no Swarm

  • Agentes do swarm (Orchestrator, Workers) respeitam o nível de compressão configurado
  • Templates em swarm/templates.ts ganham variantes caveman
  • Logs e eventos de observabilidade não são afetados (apenas output ao usuário)
  • Mensagens de approval.ts (human-in-the-loop) também comprimidas quando ativo

UX na TUI

  • Badge 🪨 CAVEMAN no header da TUI quando ativo
  • Comando /caveman-stats mostra tokens economizados na sessão

Compressão de arquivos de contexto (caveman-compress)

  • Comando para reescrever arquivos de contexto do projeto (ex: opencode.jsonc, memory files) em linguagem caveman
  • Redução esperada de ~46% nos tokens de entrada por sessão
  • Preservação intacta de código, URLs e caminhos de arquivo

Critérios de aceite

  • teamcode --caveman ativa o modo e exibe badge na TUI
  • Respostas dos agentes são notavelmente mais curtas sem perda de informação técnica
  • Configurável por nível via flag CLI e opencode.jsonc
  • Desativável com normal mode ou removendo a config

Referências

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions