Nome sugerido:
tinycoder-agent
Objetivo: Construir um agent coding local, leve e modular, otimizado para hardware fraco usando modelos locais via Ollama.
O agent deve conseguir:
- conversar sobre código
- editar arquivos
- gerar código
- analisar projetos
- executar comandos
- rodar testes
- corrigir erros simples
- trabalhar incrementalmente
- operar localmente sem cloud
- consumir pouca RAM
Seu notebook:
- i5-3210M
- 16GB RAM
- Intel HD 4000
Então o projeto deve:
✅ funcionar em CPU ✅ usar modelos 0.6B–2B ✅ usar contexto pequeno ✅ carregar 1 modelo por vez ✅ usar chunking inteligente
┌────────────────────┐
│ Interface (CLI) │
└─────────┬──────────┘
↓
┌────────────────────┐
│ Agent Orchestrator │
└─────────┬──────────┘
↓
┌────────┴────────┐
↓ ↓
Planner Coding Model
(granite) (qwen)
↓ ↓
└──────┬──────────┘
↓
┌────────────────────┐
│ Tools System │
├────────────────────┤
│ File Reader │
│ File Writer │
│ Grep Search │
│ AST Search │
│ Git Diff │
│ Test Runner │
│ Shell Runner │
└────────────────────┘
↓
┌────────────────────┐
│ Memory + RAG │
└────────────────────┘
tinycoder-agent/
│
├── app/
│ ├── main.py
│ ├── config.py
│ ├── agent.py
│ │
│ ├── llm/
│ │ ├── ollama_client.py
│ │ ├── planner.py
│ │ ├── coder.py
│ │ └── summarizer.py
│ │
│ ├── tools/
│ │ ├── files.py
│ │ ├── grep.py
│ │ ├── shell.py
│ │ ├── git.py
│ │ ├── tests.py
│ │ ├── ast_parser.py
│ │ └── tree.py
│ │
│ ├── memory/
│ │ ├── memory.py
│ │ ├── session.py
│ │ └── embeddings.py
│ │
│ ├── prompts/
│ │ ├── planner.txt
│ │ ├── coder.txt
│ │ └── summarize.txt
│ │
│ ├── rag/
│ │ ├── chunker.py
│ │ ├── retriever.py
│ │ └── indexer.py
│ │
│ └── utils/
│ ├── logger.py
│ ├── tokenizer.py
│ └── paths.py
│
├── workspace/
│
├── tests/
│
├── requirements.txt
├── README.md
└── run.py
Arquivo:
app/agent.py
Responsável por:
- receber input do usuário
- decidir fluxo
- chamar planner
- selecionar tools
- enviar contexto ao coder
- executar loop
Wrapper do Ollama.
Funções:
generate(model, prompt)
chat(model, messages)
stream(model, messages)Modelo:
granite3.3:2b
Responsável por:
- quebrar tarefas
- gerar plano
- decidir ferramentas
Saída JSON:
{
"steps": [
"find login route",
"inspect auth middleware",
"modify token validation"
]
}Modelo:
qwen3:1.7b
Responsável por:
- escrever código
- editar funções
- gerar patches
- corrigir bugs
Modelo:
qwen3:0.6b
Responsável por:
- resumir sessão
- comprimir contexto
- gerar memória persistente
Funções:
read_file()
write_file()
append_file()
list_files()Usa:
Funções:
search_code()
find_symbol()Usa:
Responsável por:
- localizar funções
- localizar classes
- refactor seguro
Executa:
run_command()Com sandbox simples.
Permitir:
- pytest
- npm test
- python scripts
Bloquear:
- rm -rf
- sudo
- reboot
Funções:
git_diff()
git_commit()
git_restore()Executa:
- pytest
- unittest
Captura:
- stack trace
- logs
- erros
Memória curta:
- últimas mensagens
- últimas ações
- últimos arquivos
Memória longa:
- decisões
- contexto importante
- objetivos
Persistência:
SQLite
Opcional.
Pode usar:
- sentence-transformers pequenos
- ou embeddings fake por TF-IDF
No seu hardware: TF-IDF já funciona muito bem.
Divide arquivos grandes.
Estratégia:
200–400 linhas
overlap pequeno
Busca:
- funções relevantes
- arquivos relevantes
- imports relacionados
Indexa:
- nomes
- funções
- classes
- docstrings
Usuário faz pedido
↓
Planner gera passos
↓
Agent seleciona tools
↓
Busca arquivos relevantes
↓
Coder recebe contexto mínimo
↓
Gera patch
↓
Executa testes
↓
Corrige erros
↓
Salva memória
ollama
fastapi
uvicorn
pydantic
rich
typer
pytest
gitpython
sqlite-utils
scikit-learn
Instalar:
Mais leve e rápido.
Exemplo:
python run.py/ask
/edit
/fix
/test
/search
/context
/reset
O MVP deve conseguir:
✅ conversar ✅ ler arquivos ✅ editar arquivos ✅ buscar código ✅ rodar testes ✅ corrigir erro simples ✅ usar Ollama
Adicionar:
- memória persistente
- RAG
- múltiplos modelos
- contexto inteligente
- auto-fix loop
Adicionar:
- interface web
- websocket streaming
- autocomplete
- plugin VSCode
- multi-agent
Sempre:
- grep primeiro
- recuperar contexto mínimo
Ideal:
2048–4096
No seu hardware:
OLLAMA_MAX_LOADED_MODELS=1
Máximo:
3 retries
- CLI
- integração Ollama
- planner
- coder
- file tools
- grep
- shell
- testes
- git diff
- memória
- RAG
- indexação
- auto-fix
- streaming
- otimização CPU
Você terá:
✅ coding assistant local ✅ agent terminal ✅ edição de projetos ✅ debug automático básico ✅ memória local ✅ sem depender de API paga ✅ funcionando em hardware fraco