Conteúdos

OpenCode: o agente que virou padrão no meu dia a dia

Depois que comecei a utilizar inteligência artificial com agentes, passei a pesquisar maneiras de dar mais contexto às ferramentas e obter resultados melhores. Foi nesse processo que encontrei o OpenCode. A partir daí, comecei a conseguir resultados realmente surpreendentes em tarefas que antes exigiam muito tempo apenas para entender por onde começar.

O que me chamou a atenção foi que o OpenCode não funciona apenas como uma conversa com um modelo. Ele atua como um agente dentro do terminal, capaz de ler o projeto, consultar arquivos, executar comandos, analisar o ambiente e fazer alterações. O modelo continua sendo importante, mas o agente também sabe usar as ferramentas disponíveis para transformar a conversa em trabalho realizado.

O que gostei no OpenCode

O OpenCode é um agente de código open source voltado para o terminal. Gosto desse formato porque ele trabalha no mesmo ambiente em que estão os projetos, os arquivos de configuração e os comandos que já uso no dia a dia.

Ele também suporta vários providers e modelos. Posso testar modelos diferentes, comparar o comportamento deles e escolher qual faz mais sentido para determinada tarefa. Isso evita ficar preso a uma única empresa ou a um único modelo. Se um provider está com problemas, se o limite acabou ou se outro modelo se mostra melhor para uma atividade, existe a possibilidade de trocar.

Essa liberdade foi uma das características que mais me agradaram. Em vez de pensar apenas em qual chatbot abrir, passei a pensar em qual combinação de agente, provider e modelo é mais adequada para o trabalho que preciso fazer.

O teste com o OpenCode Go

Cheguei a testar também o plano OpenCode Go. Ele oferecia um limite que considerei bastante razoável e dava acesso a vários modelos, em sua maioria chineses e abertos. Era uma maneira interessante de experimentar modelos como Qwen, DeepSeek, Kimi, GLM e outros projetos que eu ainda não tinha usado com tanta intensidade.

O catálogo e os limites podem mudar, mas a ideia do plano me pareceu boa: reunir modelos voltados para programação em uma assinatura de baixo custo, sem exigir que eu configurasse uma conta separada em cada serviço. Para quem quer testar alternativas e entender como diferentes modelos se comportam em tarefas de código, isso facilita bastante o começo.

Mesmo tendo gostado da experiência, hoje acabo utilizando o OpenCode principalmente com o ChatGPT. O resultado dos testes me ajudou a entender que nem sempre o modelo mais diferente é o melhor para o meu fluxo completo. A estabilidade, o contexto e a qualidade das ferramentas também pesam na escolha.

Por que continuo usando o ChatGPT no OpenCode

Uma diferença importante para mim é a possibilidade de usar a assinatura do ChatGPT com outro agente. A OpenAI é uma das poucas empresas que permitem utilizar o limite de um plano ChatGPT, como Plus ou Pro, no OpenCode por meio da integração própria. Assim, consigo usar o OpenCode como interface e agente de trabalho sem precisar necessariamente pagar cada requisição pela API.

Na comparação que fiz, o cenário ficou menos favorável com outros serviços. Com o Google e o Gemini, e com a Anthropic e o Claude, os planos de consumidor não me deram uma forma equivalente de usar os modelos em um agente externo. O caminho disponível ficou concentrado na API, com cobrança por tokens. Para o meu uso diário, esse modelo de cobrança pode ficar caro e imprevisível, a ponto de inviabilizar a utilização contínua.

No caso do Claude, a própria documentação do OpenCode informa que o uso dos modelos Claude Pro ou Max por meio de plugins é proibido pela Anthropic. Já a documentação do OpenCode apresenta a autenticação do ChatGPT Plus/Pro como uma opção de provider. Essa diferença pesou bastante na minha decisão de continuar usando o ChatGPT dentro do OpenCode.

Isso não quer dizer que a API seja ruim ou que um provider seja sempre melhor do que outro. A API faz sentido quando preciso de controle de consumo, integração própria ou faturamento por projeto. Para o meu trabalho individual, porém, usar o limite da assinatura em um agente de programação é mais simples e acaba sendo mais viável.

Meu fluxo com Plan e Build

Outra coisa de que gostei muito é o modo de utilização do OpenCode. Com a tecla Tab, alterno entre os modos Plan e Build.

No começo de qualquer atividade, costumo ficar no modo Plan. Primeiro, peço para o OpenCode contextualizar o ambiente: entender a estrutura do projeto, identificar os arquivos relevantes, observar as tecnologias utilizadas e apontar as restrições que precisam ser respeitadas. Depois explico a tarefa que preciso realizar e deixo o agente analisar o que deve ser feito.

O resultado é um planejamento que posso revisar antes de qualquer alteração. Se alguma parte estiver incompleta ou se eu tiver esquecido uma regra do projeto, consigo corrigir o rumo enquanto ainda estamos discutindo a solução.

Quando o plano está bem definido, pressiono Tab novamente para voltar ao modo Build. A partir daí, mando executar a atividade. O OpenCode passa a ler e editar os arquivos, executar os comandos necessários e seguir as etapas que foram combinadas.

Esse fluxo evita que o agente saia alterando o projeto antes de entender o problema. Também me dá um momento para confirmar se a interpretação da tarefa está correta. Para mudanças pequenas, posso ir direto ao Build, mas para atividades maiores prefiro começar planejando.

Contexto com opencode.json e AGENTS.md

Nos meus projetos, costumo criar um arquivo opencode.json e um AGENTS.md para fornecer mais informações ao OpenCode. Esses arquivos ajudam a registrar o contexto que não deveria precisar ser repetido em toda conversa.

Uma configuração simples pode indicar que o agente deve carregar as instruções do projeto:

{
  "$schema": "https://opencode.ai/config.json",
  "instructions": ["AGENTS.md"]
}

O AGENTS.md pode explicar a estrutura do projeto, os comandos corretos, os padrões de código, as verificações obrigatórias e as áreas que não devem ser alteradas sem cuidado. Também registro ali decisões e restrições que são importantes para o trabalho.

O opencode.json pode crescer conforme a necessidade. Nele é possível configurar agentes, providers, modelos, permissões, comandos e outras partes do ambiente. Não coloco credenciais no arquivo do projeto; a autenticação deve permanecer no armazenamento apropriado ou nas variáveis de ambiente.

O mais importante é que esses arquivos fazem parte do próprio projeto. Assim, o contexto acompanha o código e pode ser usado independentemente do modelo escolhido. Se estou usando um modelo do ChatGPT, um modelo do OpenCode Go ou outro provider, o agente começa com as mesmas regras e informações.

O OpenCode no meu trabalho

O OpenCode acabou virando o meu agente padrão para o uso diário. Estou tocando projetos de programação e também fazendo análises da infraestrutura com ele, obtendo resultados muito satisfatórios.

Em programação, ele ajuda a explorar uma base de código, localizar a origem de um problema, planejar uma alteração, implementar a solução e executar as verificações. Em infraestrutura, consigo analisar serviços, configurações, logs e o estado dos servidores, sempre conferindo os comandos antes de aplicá-los.

O ganho não está apenas em gerar código. Muitas vezes o maior benefício aparece na investigação: conseguir resumir a estrutura de um projeto, organizar hipóteses, comparar alternativas e transformar uma tarefa vaga em uma sequência de passos concretos.

Também consigo alternar entre modelos sem perder todo o contexto do projeto. Isso é útil quando quero usar um modelo mais rápido para uma pergunta simples, um modelo com mais capacidade para uma análise complexa ou outro provider para comparar resultados.

O agente não substitui a revisão

Os resultados têm sido muito bons, mas não trato o OpenCode como uma autoridade que pode agir sem supervisão. Um agente pode interpretar uma regra de maneira errada, escolher um arquivo inadequado ou sugerir um comando perigoso. Por isso, continuo revisando o plano, conferindo o diff, testando as alterações e validando o estado final do ambiente.

Também evito compartilhar segredos, tokens, chaves privadas e informações que não sejam necessárias para a tarefa. Ter mais contexto ajuda o modelo, mas contexto não significa enviar indiscriminadamente tudo o que existe no projeto.

Minha conclusão

Depois que comecei a pesquisar IA com agentes, encontrei no OpenCode uma ferramenta que transformou a maneira como trabalho. Os resultados foram muito além de respostas para perguntas isoladas: passei a contar com um agente capaz de entender projetos, usar ferramentas e me acompanhar em tarefas de programação e análise de infraestrutura.

Gostei especialmente do suporte a vários providers e modelos. Testei o OpenCode Go, aproveitei o acesso a diferentes modelos e, depois de comparar as opções, continuei usando principalmente o ChatGPT por causa da possibilidade de utilizar o limite da assinatura dentro do OpenCode.

O modo Plan e Build também se encaixou muito bem no meu jeito de trabalhar. Primeiro contextualizo o ambiente e construo o planejamento; depois pressiono Tab, entro no Build e mando executar. Com opencode.json, AGENTS.md e um modelo adequado, o agente recebe uma base de contexto consistente e consegue fazer o serviço de maneira exemplar.

Hoje, o OpenCode é o meu agente padrão. Ele está presente nos projetos que estou desenvolvendo e nas análises que faço da infraestrutura, sempre com revisão humana, testes e responsabilidade sobre o resultado.

Para conhecer os detalhes da ferramenta, vale consultar a documentação oficial do OpenCode, a página de providers e a documentação do OpenCode Go.