Toda semana alguém me pergunta: "qual IDE com IA você usa? Cursor, Kiro ou ChatGPT?".
A resposta rápida é: o Cursor e o Kiro são apenas a interface de digitação. O ChatGPT é apenas um chat interativo. O que realmente faz a mágica acontecer no dia a dia não é o editor, mas o harness pessoal do desenvolvedor: uma memória central compartilhada, skills portáveis que funcionam em qualquer ferramenta e um modelo mental claro de orquestração.
Se você está pagando \$20 em uma ferramenta aqui, \$60 em outra ali, e cada sessão começa do zero como se a IA tivesse amnésia matinal, este artigo é para você. Vamos descomplicar como unificar essas ferramentas sob uma única arquitetura sem gastar rios de dinheiro em infraestrutura.
Atualização (out/2026): de três para seis harness
O título conta a história original, com três harness: Cursor, Kiro e ChatGPT. O ChatGPT hoje é o Codex, o mesmo harness da OpenAI, agora também com automações e POCs. A arquitetura sobreviveu e o setup cresceu: entraram Claude Code, Antigravity e Grok Bot. Hoje são seis harness, agrupados por contexto, todos lendo do mesmo harness-core (uma fonte da verdade e um adapter por harness) e todos ligados ao Downshift.
Quem tem pressa: o texto original, mais abaixo, explica o porquê da arquitetura; esta seção mostra como ela ficou. Separei por contexto, porque é o contexto que define o papel de cada um:
Trabalho (Cogna)
| Harness | Papel | Modelos | Observação |
|---|---|---|---|
| Kiro Pro+ | Squads, PRs e incidentes | Sonnet 5.5, Opus 5.5 e modelos menores | Duas licenças da Cogna: o Pro+ (2.000 créditos no plano) e o Kiro padrão, que uso quando os créditos acabam. Sonnet 5.5 no dia a dia de PRs, Opus 5.5 em incidentes e decisões difíceis, modelos menores em execução simples. Estou avaliando seriamente deixar de usar no futuro. |
Projetos, POCs e código
| Harness | Papel | Modelos | Onde rende mais |
|---|---|---|---|
| Claude Code (novo) | Código profundo, skills, POCs e estudos; criação do Montanha Zero Day. Só projetos pessoais e estudos, nunca o trabalho da Cogna | Opus 5.5 e Sonnet 5.5 (conta pessoal, Claude Pro) | Opus 5.5 em análise de segurança e investigações profundas, com várias skills; Sonnet 5.5 na implementação |
| Cursor | Edição rápida e protótipos | Grok 4.7 e modelos da Anthropic | Grok 4.7 na edição rápida; Anthropic quando a tarefa pede mais raciocínio |
| Codex (antes ChatGPT) | Automações, estudos e POCs de modelos 3D | GPT 6 ou superior (uso bastante) | GPT 6+ em automações e estudos; Astra nos POCs de modelos 3D |
Estudos
| Harness | Papel | Modelos | Observação |
|---|---|---|---|
| Antigravity (novo) | Estudos, documentação e relatórios, em perfil separado | Gemini 3.8 Flash | Uso para estudos por causa do subsídio do Google para estudantes. Rende em texto longo e rápido. |
Pessoal
| Harness | Papel | Modelos | Onde rende mais |
|---|---|---|---|
| Grok Bot (novo) | 11 agentes pessoais (detalhes abaixo). O de engenharia usa o Cursor | Grok | Tarefas recorrentes e de baixo risco, sempre com o meu OK final |
Por que tantos? Eu poderia ficar com apenas três. Mantenho os outros de propósito: gosto de testar cada harness com seus modelos para entender, na prática, onde cada um rende mais. Isso é observação de uso, não benchmark: não tenho métricas de custo ou qualidade por ferramenta. Medir créditos e tokens por harness é o próximo passo.
Fronteira de dados. O trabalho da Cogna passa só pelo Kiro, nas duas licenças da Cogna, ambas em ZDR (zero data retention). Claude Code (conta pessoal, Claude Pro), Cursor, Codex e Antigravity ficam para projetos pessoais, POCs e estudos. Nada do trabalho passa por eles.
Créditos do Kiro. O Kiro Pro+ tem um limite: 2.000 créditos no plano, subsidiados pela Cogna. Quando acabam, uso a outra licença da Cogna, o Kiro padrão, e o trabalho continua só no Kiro. Por isso o resto do setup não depende dele: o harness-core é compartilhado, e projetos pessoais, POCs e estudos rodam nos outros harness. Estou avaliando seriamente deixar de usar o Kiro Pro+ no futuro.
Todos ligados ao Downshift. Em todos os harness, as tarefas simples descem para o modelo menor e só o que é complexo sobe para o frontier. Por isso a coluna "Modelos" mostra o teto de cada ferramenta, não o que roda em cada chamada. O Downshift decide na minha máquina, com um classificador local (MiniLM), e o OpenRouter entrega o modelo. Jev e Laya, que estudei neste artigo, usei só em POCs locais. Detalhei a escolha de modelo em Model Routing para Software Engineers.
harness-core (fonte única: skills, steerings, sensores)
│ adapters (um por harness)
┌──────────┬───────┼─────────┬────────────┬───────────┐
Kiro Claude Code Cursor Codex Antigravity Grok Bot
└──────────┴───────┴────┬────┴────────────┴───────────┘
│
MCP compartilhado: logseq-kb (memória), dev-to, sentry, grafana, atlassian
│
Roteamento de modelos: Downshift + OpenRouter
trivial/simples → modelo barato
complexo (auth, pagamento, arquitetura) → frontier + revisão humana
Princípios que se mantiveram: cada harness tem um papel; código e dados do trabalho só passam pelo Kiro, em ZDR, e o que é sensível fica na máquina; guias (steerings e skills) antes, sensores (hooks, testes e agente de revisão) depois; memória no Logseq como barramento compartilhado.
O que aprendi com a mudança
- Crédito de plano é restrição de arquitetura. Com 2.000 créditos no plano, o Kiro Pro+ tem teto. Um core compartilhado evita que o setup dependa de uma ferramenta só.
- O contexto de dados define o harness, não o modelo. Trabalho no Kiro, tudo o mais fora dele. Essa regra decide mais do que qualquer comparação entre modelos.
- Mais harness só ajuda se der para comparar. Hoje a comparação é observação de uso. Sem medição, é opinião informada.
Grok Bot: 11 agentes pessoais com papéis separados
São 11, em três camadas: quem coordena não executa, e quem executa tem escopo fechado.
Coordenação (não escreve código)
├── Chefe de gabinete prioriza, decide e entrega resumos
├── Mesa canal Staff: Eng, Vitrine, Cibersec, Inbox, Carreira
└── Apps canal de produto: donos de app
Execução
├── Eng PRs pequenos, cloud agents, Cursor e Codex, OSS, Dependabot
├── Vitrine perfil e pins no GitHub, DEV.to, READMEs (nota mínima 8,5)
├── Cibersec AppSec e parte técnica da LGPD; OK de risco antes do merge
├── Inbox Gmail, Calendar, Outlook e WhatsApp em lote; não envia sem OK
└── Carreira filtra oportunidades profissionais e prepara rascunhos; sem envio em massa
Donos de app
├── Quinto fechamento mensal, ledger, sync online, lista de compras
├── LotRace PWA de tabuleiro com boardgame.io, 2 a 6 jogadores
└── IronToy caça miniaturas diecast com bom custo-benefício
Duas regras valem para todos: nenhum agente envia mensagem ou dispara candidatura sem o meu OK, e o que toca segurança passa pelo Cibersec antes do merge.
O restante do artigo abaixo é o texto original, mantido como estava. Onde ele fala de ChatGPT, leia como o Codex, que é o mesmo harness.
O Problema das "Ilhas Isoladas"
Imagine a seguinte situação: às 10h da manhã você gasta 20 minutos explicando as regras de negócio de um microsserviço no Kiro para resolver um bug de produção. Às 14h, você abre o Cursor para construir uma tela ou um script em outro projeto e precisa digitar todo o contexto de arquitetura e regras novamente. Às 20h, no chat pessoal, você tenta tirar uma dúvida e vê código confidencial da empresa misturado no histórico.
Esse caos acontece porque tratamos ferramentas como ilhas desconectadas:
[ Kiro ] [ Cursor ] [ ChatGPT ]
│ │ │
(Amnésia diária) (Amnésia diária) (Contexto solto)
│ │ │
▼ ▼ ▼
Explica tudo Explica tudo Copia e cola
do zero todo dia do zero todo dia sem padrão
O que nós realmente precisamos?
- Uma memória centralizada: Um cérebro versionado onde decisões, regras do time e incidentes fiquem salvos.
- Skills e regras reaproveitáveis: Uma regra de Clean Code ou AppSec escrita uma única vez deve valer no Cursor, no Kiro e no terminal.
- Fronteira limpa entre trabalho e vida pessoal: Sem vazamento acidental de dados sensíveis da empresa.
- Roteamento inteligente de esforço: Saber quando usar uma chamada local barata ou acionar um modelo de raciocínio profundo via OpenRouter.
A Arquitetura: Três Ferramentas, Um Único Cérebro
Em vez de deixar cada IA isolada, invertemos a lógica. As ferramentas viram simples clientes que leem da mesma fonte de verdade:
┌───────────────────────────────┐
│ Logseq Vault (Markdown) │
│ Hub-First: Regras & Memória │
└───────────────┬───────────────┘
│
┌───────────────────────┼───────────────────────┐
│ (Leitura / MCP) │ (Leitura / MCP) │ (Consulta isolada)
▼ ▼ ▼
┌───────────────┐ ┌───────────────┐ ┌───────────────┐
│ Kiro (Trabalho)│ │ Cursor (Projetos)│ │ ChatGPT (Vida)│
│ Squads / N3 │ │ Open Source │ │ Mentoria │
└───────┬───────┘ └───────┬───────┘ └───────────────┘
│ │
▼ ▼
[~/.kiro/skills/] [~/.cursor/skills/]
│ │
└───────────┬───────────┘
▼
[ Repo Central de Skills ]
(SKILL.md compartilhado)
O ponto de virada: O Cursor e o Kiro consultam o mesmo repositório de markdown local via MCP (logseq-kb). O ChatGPT fica isolado para mentorias e estudos pessoais. Se uma regra de negócio muda, eu altero um único arquivo Markdown e todas as IEs passam a respeitá-la instantaneamente.
1. O Cérebro: Memória Hub-First (Sem Overengineering de Embeddings)
Muitos times acreditam que para criar uma memória persistente para IAs é obrigatório subir um banco vetorial com Pinecone, pgvector e pipelines complexos de embeddings.
Para a maioria dos desenvolvedores e squads, isso gera custo alto, latência desnecessária e alucinação silenciosa (o famoso "drift" vetorial).
Adotamos a estratégia Hub-First em arquivos Markdown no Logseq:
vault/
├── ops/
│ ├── _hub.md <-- Ponto de entrada: links para squads e runbooks
│ └── incidentes/ <-- Histórico de post-mortems e decisões
├── carreira/
│ ├── _hub.md <-- Metas técnicas e projetos
└── meta/
└── rag-contract.md <-- Como o agente deve pesquisar no vault
Como a IA navega pelo Hub?
Quando o agente precisa investigar um problema, ele não faz uma busca cega por palavras soltas. Ele segue o contrato:
- Abre primeiro o arquivo
_hub.mddaquele domínio. - Lê os links canônicos indicados no índice.
- Se e somente se não encontrar a resposta direta, faz um grep cirúrgico nos arquivos relacionados.
Isso custa zero reais de infraestrutura, é 100% versionado com Git e permite saber com exatidão cirúrgica por que o agente tomou determinada decisão.
2. Skills e Steerings: Regras que Funcionam em Qualquer Editor
Um dos maiores erros ao adotar IA no desenvolvimento é digitar no prompt: "Por favor, seja sênior, siga Clean Code e não adicione dependências desnecessárias".
No dia seguinte, você esquece de digitar isso e o agente comete os mesmos deslizes.
A solução é o padrão aberto de Agent Skills (pastas com SKILL.md padronizado). Cursor e Kiro sabem ler essas pastas:
- Cursor lê de:
~/.cursor/skills/ - Kiro lê de:
~/.kiro/skills/
Basta criar links simbólicos (symlinks) apontando para o seu repositório central de governança (harness-core). Você refina o arquivo uma única vez e todas as ferramentas herdam a melhoria:
# Apontando ambas as ferramentas para a mesma fonte canônica de skills
ln -s ~/Github/harness-core/skills/clean-code-review ~/.cursor/skills/clean-code-review
ln -s ~/Github/harness-core/skills/clean-code-review ~/.kiro/skills/clean-code-review
Qual a diferença entre Skill e Steering (Rules)?
| Conceito | Como é ativado? | Quando usar? | Analogia |
|---|---|---|---|
Skill (SKILL.md) |
O modelo ativa sob demanda ao ler a descrição (ou quando você digita /nome) |
Tarefas amplas e especializadas (ex: auditoria AppSec, revisão de incidente) | Uma ferramenta especializada na caixa de ferramentas |
| Steering / Rules | Sempre ativo ou disparado automaticamente por extensão de arquivo (fileMatch) |
Regras inegociáveis de formatação, lint e convenções de pastas | A placa de trânsito que obriga a parar no cruzamento |
3. Orquestração e Bots Especializados
Em vez de manter um único chat gigante tentando fazer tudo (e falhando miseravelmente por poluição de contexto), separamos os papéis:
Orquestrador Geral
│
├── Especialista em Código (PRs enxutos, TDD, CI verde)
├── Especialista em AppSec (Análise de vulnerabilidades e OWASP)
├── Especialista em Incidentes (Correlação de logs no Grafana e Sentry)
└── Especialista em Escrita (Artigos técnicos e documentação)
Por que manter poucos subagentes simultâneos?
Subagentes custam caro em consumo de tokens e latência de rede. Manter 6 ou 8 agentes conversando entre si em paralelo consome contexto em minutos.
A regra de ouro é: no máximo 2 a 3 agentes ativos. Se uma tarefa requer conhecimento especializado de banco de dados ou infraestrutura, não crie um agente novo: crie uma Skill sob demanda. A skill é apenas texto injetado no momento exato, sem o overhead de orquestração.
Para tarefas locais de classificação rápida, como avaliar a complexidade de um prompt antes de mandá-lo para a nuvem, você pode usar um classificador local em Go como o Downshift (harness-downshift), decidindo na sua máquina se a requisição merece um modelo pesado ou uma chamada rápida via OpenRouter.
4. MCP: As Mãos e os Olhos da IA nos Seus Sistemas
Sem o Model Context Protocol (MCP), você é o garçom da IA: abre o Jira, copia a descrição do bug, cola no chat; abre o Sentry, copia o stacktrace, cola no chat; roda o comando no terminal e cola o resultado.
Com MCPs configurados no Cursor e no Kiro, o agente ganha conectores nativos:
[ Desenvolvedor ] ──> "Investiga o incidente VSUS-410"
│
▼
┌─────────────────┐
│ Kiro / Cursor │
└────────┬────────┘
│
┌────────────────┼────────────────┐
▼ ▼ ▼
[ MCP Jira ] [ MCP Sentry ] [ MCP Grafana ]
(Lê descrição) (Pega stacktrace) (Analisa logs P95)
│ │ │
└────────────────┼────────────────┘
│
▼
[ Salva hipótese no Vault Logseq ]
Em vez de trocar 15 vezes de aba no navegador, a IA reúne as evidências e redige o diagnóstico técnico enquanto você foca no julgamento crítico da solução.
5. Como Isso Funciona em um Dia Típico de Engenharia
Para entender como a engrenagem roda na prática:
- 08h30 - Triagem de PRs: O Kiro consulta os repositórios via MCP. O steering de convenções do time formata as sugestões de review cirurgicamente, respeitando os padrões de arquitetura adotados pela squad.
-
10h15 - Incidente em Produção: Aciono a skill
/incident-analysis. O modelo pesquisa os logs de erro no Sentry e Grafana via MCP, checa as regras de concorrência e gera a documentação do post-mortem direto no vault. - 14h00 - Escrita Técnica e Open Source: Abro o Cursor para evoluir um utilitário ou artigo. A skill editorial valida a clareza do texto e os exemplos de código.
- 19h30 - Estudos e Mentoria: Uso o ChatGPT isoladamente. Meus dados profissionais e credenciais corporativas nunca tocam essa sessão pessoal.
O Que Não Funcionou (Para Você Não Perder Tempo)
- Bancos vetoriais pesados para uso pessoal: O custo de manutenção e a dificuldade de auditar por que um chunk de texto foi recuperado não compensaram o ganho em relação a um vault Markdown bem estruturado.
- Proliferação descontrolada de agentes: Criar um agente para cada microsserviço gerou lentidão extrema. Agentes devem ser enxutos; a especialização deve viver nas skills.
- Usar a mesma sessão para trabalho e vida pessoal: Contextos longos confundem as instruções do sistema e aumentam o risco de segurança. Isole as instâncias.
Referências Didáticas e Vídeos Recomendados
Para aprofundar nos conceitos de arquitetura de contexto, ferramentas e MCP:
- 📺 Vídeo (YouTube em Português): O que é MCP (Model Context Protocol) e Como Usar na Prática - Guia didático sobre como conectar suas ferramentas favoritas aos LLMs.
- 📺 Vídeo (YouTube em Português): Cursor AI vs Alternativas: Como Configurar Rules e Contexto Real - Passo a passo para configurar regras e evitar amnésia nos editores.
- 📖 Artigo Clássico de Engenharia: Harness Engineering for Coding Agent Users (Martin Fowler) - O artigo que definiu os pilares de guias e sensores computacionais para agentes.
Checklist Prático para Começar Hoje
Você não precisa mudar todo o seu setup de uma vez. Comece pelo essencial nesta semana:
- [ ] 1. Crie uma pasta `~/vault/` com arquivos Markdown simples (`_hub.md`) para registrar decisões e notas.
- [ ] 2. Configure 1 MCP útil na sua IDE favorita (ex: conector Git ou conector de arquivos locais).
- [ ] 3. Crie sua primeira pasta de skill padronizada (`SKILL.md`) com as regras de Clean Code do seu time.
- [ ] 4. Isole o chat corporativo do pessoal para manter seus dados seguros.
A pergunta que define sua produtividade não é "qual IDE você assina", mas sim: as suas ferramentas de IA conversam entre si através de uma arquitetura central de regras e memória?
Se elas ainda não conversam, você está pagando caro por ilhas isoladas.
Top comments (0)