Onde o contexto se perde quando você usa Claude Code e Jev no mesmo projeto (e como evitar)

diagrama mostrando onde o contexto é desperdiçado ao usar Claude Code e Jev no mesmo projeto
Resposta rápida

Quem usa Claude Code e Jev no mesmo projeto costuma desperdiçar contexto em seis pontos: arquivo colado de novo no chat, explicação do projeto reescrita a cada sessão, CLAUDE.md inchado de imports, histórico de tarefa antiga carregado à toa, documentação do Jev colada toda vez e o mesmo state enviado ao Jev em várias chamadas. As correções: usar @arquivo, manter um CLAUDE.md enxuto com path-scoped rules, usar /clear e /resume, instalar a skill oficial da TypeSafe e juntar as perguntas (Choice, Score, Noul) numa chamada só, já que o Jev cobra apenas tokens de entrada

Fala aí, beleza? Se você usa Claude Code e Jev no mesmo projeto, tem uma boa chance de estar pagando duas vezes pelo mesmo contexto: uma na janela da sessão e outra no state das chamadas 😛

Se liga no cenário

O Jev é um modelo da TypeSafe AI que não gera texto: ele devolve decisões tipadas com probabilidades calibradas, e a TypeSafe chama essa categoria de modelo System One

Já o Claude Code tem UMA janela de contexto por sessão, e ela é dividida entre histórico da conversa, conteúdo dos arquivos, saídas de comandos, CLAUDE.md, auto memory, skills carregadas e instruções de sistema

Ou seja: tudo disputa o mesmo espaço

Aqui eu mapeio os pontos de desperdício mais típicos de quem roda as duas ferramentas em paralelo, o sinal de que cada um está acontecendo e o que fazer no lugar

Bora?

Arquivo colado de novo no chat: como parar de duplicar conteúdo no Claude Code

Sintoma: o mesmo arquivo aparece colado várias vezes na conversa

Aquele schema.json que define o state do Jev, por exemplo, colado uma vez pra montar a chamada, outra pra ajustar e mais uma pra debugar…

Causa: o conteúdo dos arquivos entra na mesma janela de contexto da sessão

Cada vez que você cola, o custo se repete, e o Claude passa a ter várias cópias do mesmo texto ocupando espaço

Solução: em vez de colar, referencie o arquivo com @ seguido do nome dele

@nome-do-arquivo

O Claude Code adiciona o arquivo ao contexto da conversa sem você precisar copiar e colar nada 🙂

Como prevenir: antes de adicionar qualquer coisa, roda o /context pra conferir o que já está carregado

/context

Se o arquivo já está lá, não precisa trazer de novo

E se você prefere acompanhar a janela sem ficar digitando comando, vale ver a comparação entre mod ou status line que a gente já fez aqui no blog

Explicação do projeto reescrita a cada sessão: use o CLAUDE.md

Sintoma: toda sessão começa com o mesmo parágrafo explicando a stack, as regras do código e o papel do Jev no projeto

Tipo um ritual, sabe? haha

Causa: o contexto que deveria ser persistente vive só no chat

Quando a sessão acaba, ele vai junto, e tu escreve tudo de novo na próxima

Solução: mover essa explicação pro CLAUDE.md

Que arquivo é esse? É o arquivo de memória que o Claude Code lê automaticamente no início de toda sessão, o que dá ao projeto um contexto persistente

Ele pode viver em escopos diferentes:

Escopo Onde fica
Usuário ~/.claude/CLAUDE.md
Projeto ./CLAUDE.md ou ./.claude/CLAUDE.md
Local ./CLAUDE.local.md
Organização managed policy

Pra explicar o projeto (stack, convenções, como o Jev entra no fluxo), o escopo de projeto é o lugar natural

Tem um detalhe massa aqui: depois de um /compact, o Claude Code relê do disco o CLAUDE.md da raiz do projeto e injeta de novo na sessão

Então o que está nele sobrevive à compactação, coisa que o parágrafo colado no chat não garante

Como prevenir: abre o /context e confere a lista de Memory files

Se o seu CLAUDE.md não aparece ali, ele não está sendo carregado, e aí a explicação vai voltar pro chat…

CLAUDE.md inchado ou cheio de imports: por que importar não economiza contexto

Sintoma: o CLAUDE.md vai crescendo com tudo sobre Claude Code e Jev, ou começa a importar vários arquivos com @caminho

Parece organizado, mas tem pegadinha

Causa: a documentação do Claude Code recomenda menos de 200 linhas por CLAUDE.md, porque arquivos maiores gastam mais contexto e reduzem a aderência às instruções

E arquivos acima de 4 MiB são simplesmente ignorados

E os imports? O CLAUDE.md aceita importar arquivos com a sintaxe abaixo, com no máximo quatro níveis de importação recursiva

@path/to/import

O problema: importar NÃO reduz o custo de contexto

O arquivo importado também carrega na inicialização, então dividir o CLAUDE.md em cinco arquivos importados dá praticamente na mesma

Tome cuidado com isso!

Solução: enxugar o CLAUDE.md e usar path-scoped rules

Path-scoped rules são regras que só carregam quando o Claude mexe em arquivos que batem com um padrão definido por você

Se as regras de como montar chamadas ao Jev só importam na pasta onde fica a integração, elas não precisam ocupar a janela quando você está mexendo no front, por exemplo

A sintaxe exata está na documentação de memória do Claude Code, vale ler direto lá

Como prevenir: revisa o tamanho do CLAUDE.md de tempos em tempos

Passou de 200 linhas? Hora de cortar ou mover parte pra uma regra sob demanda

Histórico repetido entre tarefas: quando usar /clear, /compact e /resume

Sintoma: a sessão continua carregando a conversa de uma tarefa que já terminou enquanto você começa outra

Ou o contrário: tu recontextualiza na mão uma sessão que dava pra simplesmente retomar

Causa: o histórico da conversa disputa a mesma janela que os arquivos, o CLAUDE.md e as skills

Conversa velha sobrando é espaço a menos pro que interessa agora

Solução: usar o comando certo pra cada situação

Situação Comando
Começar uma tarefa nova do zero /clear
Retomar dentro da sessão /resume
Reabrir a conversa mais recente do diretório claude --continue
Escolher uma sessão antiga num seletor claude --resume

O /clear limpa a conversa, mas mantém a memória do projeto, então o CLAUDE.md continua lá

Já pra retomar, não precisa recontar a história: as transcrições de sessão ficam salvas em JSONL em ~/.claude/projects/, e o --continue e o --resume trazem essa conversa de volta

claude --continue
claude --resume

Como prevenir: uma tarefa por sessão

Terminou a integração com o Jev e vai mexer em outra coisa? /clear e bora

Documentação do Jev colada no chat: instale a skill da TypeSafe

Sintoma: toda vez que você pede pro Claude Code montar uma chamada ao Jev, cola trechos da documentação junto

O formato do state, os tipos de pergunta, os limites… tudo de novo

Causa: essa referência vira histórico de conversa, e histórico repetido é contexto repetido

Solução: a TypeSafe tem uma agent skill oficial pro Claude Code

A instalação é feita com dois comandos, nesta ordem:

  1. Adicionar o marketplace da TypeSafe:
claude plugin marketplace add typesafe-ai/skills
  1. Instalar o plugin:
claude plugin install typesafe@typesafe-ai

O erro comum aqui é rodar o install antes do marketplace add: a ordem importa

Também existe uma instalação alternativa:

npx skills add typesafe-ai/skills --skill typesafe-ai

O SKILL.md fica no repositório typesafe-ai/skills, mas se liga: a referência oficial das requisições continua sendo a documentação da TypeSafe

Em caso de dúvida sobre como a chamada deve ser, quem manda é a docs

Como prevenir: lembra que skills carregadas também ocupam a janela de contexto

Não é mágica, é só um jeito melhor de entregar a referência 😀 Confere no /context o que está carregado

Mesmo state enviado ao Jev várias vezes: junte as perguntas numa chamada só

Sintoma: o código faz uma chamada ao Jev por pergunta, reenviando o mesmo state em cada uma

Precisa saber se um ticket é urgente, qual a categoria e um score de risco? Três chamadas, três vezes o mesmo state

Causa: o Jev 1.13 cobra só por token de entrada: US$ 0,042 por milhão de tokens, com saída gratuita (valor da página do Jev 1.13 no OpenRouter)

Como o state é entrada, repetir o state é repetir o custo

Solução: uma chamada só, com o campo state e várias questions

O state pode ser texto ou JSON, e cada pergunta é de um destes tipos:

  • Choice: escolha entre opções
  • Score: uma pontuação
  • Noul: probabilidade de sim ou não

Todas as perguntas são respondidas em paralelo na mesma chamada, e o Jev lê o state uma vez só pra avaliar todas elas

É como mandar o processo inteiro pro avaliador junto com a lista de perguntas, em vez de mandar o processo de novo a cada pergunta haha

O formato exato da requisição está no quickstart da docs.typesafe.ai, e vale seguir ele à risca

Como prevenir: respeitar os limites de contexto do Jev 1.13

Limite Valor
Por requisição (state + todas as perguntas) 64 mil tokens
State + a pergunta mais longa 32 mil tokens

Só divide em mais de uma chamada quando passar disso

Abaixo do limite, juntar é o caminho

Checklist para não desperdiçar contexto com Claude Code e Jev

Recapitulando, bem direto:

  • Referenciar arquivos com @nome-do-arquivo em vez de colar
  • Colocar stack, regras e o papel do Jev no CLAUDE.md, não no chat
  • Manter o CLAUDE.md abaixo de 200 linhas, lembrando que imports com @caminho também carregam na inicialização
  • Mover regras específicas pra path-scoped rules, que carregam sob demanda
  • Usar /clear pra tarefa nova e /resume, claude --continue ou claude --resume pra retomar
  • Instalar a skill oficial da TypeSafe em vez de colar a documentação do Jev
  • Juntar as perguntas ao Jev numa chamada só, dentro dos 64 mil tokens por requisição

Próximo passo? Abre o /context na sua sessão atual e vê o que está ocupando espaço

Depois pega a chamada que seu código faz ao Jev e compara com a docs.typesafe.ai: se tiver o mesmo state indo várias vezes, já sabe onde mexer 🙂

Até o próximo post!

Perguntas frequentes

Quanto custa usar o Jev em paralelo com o Claude Code num projeto?

O Jev 1.13 cobra só pelos tokens de entrada, a US$ 0,042 por milhão (US$ 42 por bilhão), e os tokens de saída são gratuitos. O Claude Code em si não tem custo por token de contexto da sessão, mas o gasto de contexto repetido (arquivo colado várias vezes, por exemplo) aumenta o tamanho das chamadas que você manda pro Jev, e isso sim pesa na conta.

Qual é o limite de tokens de uma chamada ao Jev?

O Jev 1.13 aceita até 64 mil tokens por requisição, somando o state e todas as perguntas enviadas. Já o state somado à pergunta mais longa tem um limite separado de 32 mil tokens. Abaixo desses tetos, o caminho é juntar todas as perguntas numa chamada só com um único state, e só dividir em mais de uma chamada quando passar deles.

O Jev gera texto como o Claude Code?

Não. O Jev é um modelo System One da TypeSafe AI que devolve decisões tipadas com probabilidades calibradas, em vez de gerar texto corrido. Cada chamada envia um state e um conjunto de perguntas do tipo Choice, Score ou Noul, e todas são respondidas em paralelo na mesma chamada, já que o state é lido uma única vez.

Como instalar a skill da TypeSafe sem usar o plugin marketplace do Claude Code?

Dá sim. Além dos comandos claude plugin marketplace add typesafe-ai/skills e claude plugin install typesafe@typesafe-ai, existe a alternativa npx skills add typesafe-ai/skills –skill typesafe-ai. O SKILL.md fica no repositório typesafe-ai/skills, mas a referência oficial sobre as requisições continua em docs.typesafe.ai.

Quantas linhas um CLAUDE.md pode ter antes de pesar na janela de contexto do Claude Code?

A documentação recomenda menos de 200 linhas por CLAUDE.md, porque arquivos maiores gastam mais contexto e reduzem a aderência às instruções. Arquivos acima de 4 MiB são simplesmente ignorados pelo Claude Code.

O CLAUDE.md some depois de um /compact no Claude Code?

Não. Depois de um /compact, o Claude Code relê do disco o CLAUDE.md da raiz do projeto e injeta ele de novo na sessão. É por isso que o escopo de projeto (./CLAUDE.md ou ./.claude/CLAUDE.md) é mais confiável pra guardar contexto sobre o Jev do que um parágrafo repetido no chat.



Escrito por | Matheus Battisti

Matheus Battisti
Fundador da Hora de Codar

Programador apaixonado pelo mundo das tecnologias, sempre buscando em aprender e se aprofundar em linguagens, frameworks e o que mais for necessário para executar um bom trabalho. Agora tem uma nova missão que é de passar seu conhecimento adiante para formar novos programadores e especializar mais os que já são.

Subscribe
Notify of
guest

0 Comentários
Oldest
Newest Most Voted

Formações

Formação Vibe Coding

Formação Vibe Coding

Do Prompt ao Produto: Crie Software Real com IA

  • 474 aulas
  • 20 projetos
  • 39h 30min

Blog | Mais populares