Faz umas semanas que tô usando o Claude com janela de contexto de 1M de tokens. Isso mudou meu jeito de arquitetar software bem mais do que eu esperava.
Antes: eu ficava escolhendo a dedo quais arquivos mandar pra IA. "Toma o service, toma a interface do repository, toma o teste." Eu era o curador, decidindo que contexto importava. Metade das vezes esquecia algo e a IA me dava conselho que conflitava com restrição que ela nem sabia que existia. Resultado: ficava microgerenciando contexto em vez de focar no problema.
Agora mando o codebase inteiro, incluindo models, services, repositories, controllers, testes, configs e migrations, e pergunto: "dado tudo isso, como implemento a feature X?"
Quando o Claude vê o codebase inteiro, ele pega coisa que tu esqueceu que existia. "Vi que tu tem um padrão parecido no OrderService, a gente segue a mesma abordagem?" "Teu BaseRepository já faz soft delete, não precisa implementar de novo." "Isso ia conflitar com o event listener registrado no EventServiceProvider." Bicho, ele conhece teu código melhor que tu.
Consigo conversar sobre decisões de arquitetura com o contexto completo. Descrevi um módulo novo pro TOPO Contábil e o Claude, que já tinha visto toda a estrutura Clean Architecture, sugeriu o layout exato de pastas, definições de interface e bindings de DI que casavam com os outros módulos. Ele tinha reconhecido o padrão em dezenas de arquivos, sem eu explicar.
O que mudou na prática:
Na refatoração, peço "refatora o fluxo de pagamento pra usar strategy pattern" e o Claude encontra os controllers, services, testes e event listeners que tocam em pagamento. O plano leva todas essas dependências em conta. Antes eu refatorava uma camada e descobria três quebradas; agora ele avisa antes.
Code review. Colo o diff inteiro do PR mais o contexto do codebase em volta. O Claude pega inconsistência que nenhum reviewer humano pegaria porque nenhum ser humano segura 50 arquivos na cabeça ao mesmo tempo. "Esse endpoint novo não segue o padrão de middleware das outras rotas autenticadas." É o tipo de detalhe que quero pegar no review.
Debugging. Em vez de "aqui tá o erro e aqui tá o arquivo," mando só "aqui tá o erro" e deixo o Claude rastrear pela call stack inteira sozinho. Acha a causa raiz três camadas abaixo num arquivo que eu nem ia pensar em olhar.
Documentação. O Claude gera doc de arquitetura precisa a partir do código que leu. A doc referencia nomes reais de classe, assinaturas de método e os relacionamentos entre elas, sem depender da minha descrição nem ficar desatualizada.
O tradeoff é custo e velocidade. Mandar 500K tokens de contexto não é barato e o tempo de resposta sobe. Aprendi a ser estratégico. Pra pergunta rápida, ainda uso contexto focado. Mas pra decisão de arquitetura, refatoração grande e debug complexo, contexto completo vale cada centavo.
Também fiquei mais disciplinado com Clean Architecture, sabendo que a IA vai ler o projeto inteiro regularmente. Mantenho as fronteiras claras e a nomenclatura consistente pra deixar o padrão previsível. Facilita a compreensão tanto humana quanto da máquina.
Na Yooga a gente tem testado isso pro sistema de PDV. Codebase grande, centenas de arquivos em múltiplos bounded contexts. Poder perguntar "como um pagamento flui do terminal até o módulo fiscal" e receber resposta precisa que referencia código real é de arrepiar.
Cada vez menos preciso separar os arquivos relevantes antes de pedir ajuda. Mando tudo e deixo a IA descobrir o que importa. Ela faz essa seleção melhor que eu.
Isso também muda a economia de organização de código. Monorepo fica mais atraente quando tua ferramenta de IA consegue engolir tudo. O custo de navegar codebase grande cai pra zero quando teu assistente já leu tudo.
Ainda acho que a gente mal começou a entender o que isso significa pra dev. Quero acompanhar o que vier daí.