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 dia
  • ollama pull qwen2.5-coder:3b # fallback rápido — tarefas simples
  • ollama 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...