Intenção e controle
Desde que eu comecei a usar IA para desenvolver software passei por 3 momentos diferentes em relação a como usar essa ferramenta.
Inicio
Na empresa onde eu trabalhava, o diretor técnico exigiu que todos os desenvolvedores usassem a então maneira da época (a mais ou menos uns 2 anos atrás) — essa maneira consistia em ferramentas como o Cursor com uma adaptação de cliente dentro do VSCode.
Eu detestei e, obviamente, não aderi. Esse foi um dos motivos que precipitou nosso rompimento (eu e a dita empresa) — segue a lista:
- Modelos ruins
- Ferramentas ruins
- Gestão péssima
- Quebra do meu fluxo de trabalho
Usando de verdade
Ano passado eu passei a utilizar de um jeito tímido, abria o duck.ia e fazia algumas perguntas. Já tínhamos ferramentas mais maduras e o hype estava forte, mas ainda não fazia sentido para mim. Vejamos os motivos:
- VSCode ainda era o principal cliente de IA
- Claude no hype
- GPT no hype
- Quebra do meu fluxo de trabalho
Mas nessa época, descobri a primeira ferramenta de harness que realmente fez sentido para mim: OpenCode. Pela primeira vez consegui usar um agente de IA no terminal com controle total sobre:
- Modelos
- Sessões
- Ferramentas
- Integração perfeita com meu fluxo de trabalho
Passei a usar no meu dia-a-dia e minha produtividade subiu muito, é neste ponto que estou atualmente, ou melhor, estava.
Entendendo o jogo
Já se passaram 8 meses desde que passei a usar IA como ferramenta de trabalho diariamente. Agora gerencio o agente e os modelos de forma natural, mas ainda há duas questões que me incomodam:
- A troca de informações entre o agente e o modelo é uma verdadeira caixa preta
- Depender de assinatura para manter meu fluxo de trabalho em projetos pessoais é insustentável. A empresa em que trabalho atualmente oferece modelos excelentes, mas são da empresa, não meus — seria antiético usar seus tokens para resolver problemas pessoais.
Ajustando meu fluxo com IA
Resolvi fazer alguns ajustes e está muito promissor.
Hardware
Tentei rodar modelos locais usando apenas minha GPU integrada — falhei miseravelmente. Então comprei uma placa modesta, uma RX580.
Sim, é uma placa de quase 10 anos, mas funciona surpreendentemente bem.
# Segue a receita, tive que mudar para o Arch Linux
sudo pacman -S --needed vulkan-radeon vulkan-icd-loader vulkan-tools mesa shaderc cmake base-devel git curl pkgconf nodejs npm ripgrep
# Confirmar que a RX 580 aparece no Vulkan
vulkaninfo --summary | grep -i "RX 580"
# Esse foi o motivo da troca, no debian temos apenas a versão com interface mais moderna de comunicação
sudo pacman -S ollama-vulkan
# Habilitar e subir o serviço via systemd
sudo systemctl enable --now ollama
# Permitir que o Ollama reporte VRAM corretamente (recomendado)
sudo setcap cap_perfmon+ep $(which ollama)
sudo systemctl restart ollama
# Forçar só 1 modelo carregado por vez (VRAM efetiva menor via Vulkan)
sudo systemctl edit ollama.service
# adicionar em [Service]: Environment="OLLAMA_MAX_LOADED_MODELS=1"
sudo systemctl daemon-reload && sudo systemctl restart ollama
Quais modelos?
Preciso de modelos que caibam nos meus modestos 8GB, cheguei na seguinte lista:
ollama pull qwen2.5-coder:7b # principal — código do dia a diaollama pull qwen2.5-coder:3b # fallback rápido — tarefas simplesollama pull qwen3-vl:8b # visão + tool calling — screenshots, mockups, diagramas
Para quem não sabe, aqueles 7b, 3b e 8b referem-se ao número de parâmetros: 7 bilhões, 3 bilhões e 8 bilhões, respectivamente.
Para ter certeza que vocês está usando a GPU durante uma requisição de modelo local:
ollama ps
Não são os melhores modelos da atualidade em tamanho ou poder de processamento, mas resolvem muito bem problemas de automação e codificação com excelente performance.
Qual agente?
Aqui é onde as coisas realmente ficaram interessantes. O que ainda me incomodava era a autonomia excessiva da minha ferramenta anterior (OpenCode) — precisava de mais controle, transparência e independência.
Apresentando o Pi
Pi is a minimal agent harness.
Adapt Pi to your workflows, not the other way around.
Estou acertando o setup ainda, mas já posso confirmar que funciona para meu trabalho e para meus experimentos pessoais. A diferença crucial em relação ao OpenCode é a transparência: consigo ver exatamente o que o agente está fazendo, quais ferramentas está usando e como está se comunicando com o modelo. Sem autonomia excessiva, sem caixas pretas.
spoiler Muito rápido! Em breve mais informações sobre meu setup com Pi e os primeiros resultados...