CodeFlux: um par programmer offline que respeita seu repositório
Um modelo de código classe 7B rodando localmente com retrieval ciente do projeto. Por que um modelo menor com o contexto certo vence um maior sem ele.
A tese
Um modelo de código classe 7B, rodando localmente e alimentado com a fatia certa do seu repositório como contexto, é mais útil que um modelo cloud de fronteira que não faz ideia de como a sua base de código se parece.
Isso não é uma afirmação sobre pontuações de benchmark. É uma afirmação sobre completions que você de fato aceita. O CodeFlux é construído sobre essa tese.
Arquitetura
Três componentes on-device cooperando:
- O modelo. Um modelo de código 7B quantizado (avaliamos Qwen-2.5-Coder, DeepSeek-Coder-V2-Lite e derivados de StarCoder2; a variante 4-bit mais rápida que conseguimos enviar por plataforma). Inferência via MLX em Apple silicon, llama.cpp em PC/Linux, ONNX Runtime em Windows ARM.
- Um índice de repo. Um índice vetorial local do seu repositório, atualizado ao salvar. Embedamos em três granularidades: arquivo, símbolo, intervalo de linhas. O índice é um único arquivo SQLite dentro de
.codeflux/no repo. - Uma camada de retrieval. Quando você digita, olhamos o código ao redor, os imports do arquivo, os símbolos próximos; puxamos os top-K outros arquivos mais relevantes; emendamos no prompt; vamos.
Por que local para código
- Seu repo é o que você tem de mais sensível. O único modelo que deveria ver tudo é o que roda dentro da sua máquina.
- Seu código também é o input mais idiomático que o modelo vai receber. Modelos em nuvem normalizam para o estilo médio do GitHub; um modelo local condicionado no seu repo escreve código que encaixa.
- Latência em completion inline importa na escala de poucas centenas de milissegundos. Um round-trip na nuvem é um imposto que você paga a cada tecla.
O que o CodeFlux faz hoje
- Completion inline com cancelamento: enquanto você continua digitando, inferências em voo são canceladas e reiniciadas. O modelo nunca bloqueia o editor.
- Chat ancorado no repo. Pergunte "onde está o middleware de auth?" e o CodeFlux retrieve os arquivos relevantes e responde — citando números de linha.
- Edições sobre seleção. Destaque uma função, peça refactor, e o diff aparece como uma experiência de review normal. Aplica, descarta ou edita.
- Testes sob demanda. "Gere testes para este arquivo" produz um arquivo de teste candidato no framework existente, com imports corretamente resolvidos.
O que o CodeFlux não faz
- Sem agentes autônomos. Sem agente longo que toma ações no seu repo sem revisão sua. Reconsideramos quando a confiabilidade merecer.
- Sem telemetria sobre o que você pergunta ou o que sugerimos. Nenhuma. A tentação mais difícil de resistir numa ferramenta de dev, e a que mais nos comprometemos a recusar.
- Sem dependência de nuvem em nenhuma feature. Queda de rede não degrada nada.
Limitações honestas
- Um modelo de código 7B não vai igualar um modelo de fronteira 200B+ nos refactors mais pesados de raciocínio. Damos uma escotilha de um toque para enviar um snippet anonimizado a um modelo em nuvem de sua escolha. Sua decisão, seu provedor, suas configurações de anonimização.
- Indexar monorepos muito grandes é lento na primeira vez. Mantemos cache por máquina e enviamos um layout
.codeflux/git-ignored para que reaberturas sejam instantâneas.
O CodeFlux não é o modelo de maior score em leaderboard. É o modelo com a maior taxa de completion-aceito no seu código, porque de fato leu o seu código.