Voltar

Desenvolvedor Luta Contra Log Colorizer Intensivo em CPU Construído por um LLM

Desenvolvedor Luta Contra Log Colorizer Intensivo em CPU Construído por um LLM

Fundo

Um programador buscou automatizar a criação de uma ferramenta de colorização de log pedindo ao modelo de linguagem grande Claude. O objetivo era gerar um script Python separado que pudesse aceitar entrada por pipe, analisar códigos de cor ANSI e exibir os logs dentro de uma janela de rolagem. O desenvolvedor descreveu o comportamento desejado em linguagem natural, confiando no modelo para traduzir os requisitos em código funcional.

O Desafio

Claude produziu um script que inicialmente parecia funcionar: os logs foram exibidos e a rolagem foi possível. No entanto, quando o desenvolvedor testou a rolagem horizontal além de uma curta distância, o uso de CPU da máquina hospedeira disparou dramaticamente, "iluminando como uma árvore de Natal em chamas". A ferramenta consumiu quase 100 por cento de uma única core de CPU durante as operações de rolagem.

Explicação da Causa Raiz

Quando questionado sobre o motivo do alto uso de CPU, o modelo explicou que o gargalo decorria da forma como a ferramenta lidava com a redesenho da tela. Cada nova linha acionava uma redesenho completa da altura da tela do terminal, e cada repetição de tecla - como segurar uma tecla de seta - fazia com que o programa escaneasse todo o buffer, computasse a largura visível e redesenhasse toda a vista. Esse processamento exhaustivo para cada pequena interação resultou no consumo excessivo de CPU.

Busca por uma Solução de Impacto Zero na CPU

O desenvolvedor solicitou uma versão da ferramenta com "impacto zero na CPU". Claude esclareceu que alcançar um impacto zero na CPU não era viável, dado a necessidade de analisar sequências ANSI, fatiar linhas e repintar a tela em cada evento de rolagem. Em vez disso, o modelo sugeriu abordagens de baixo impacto que poderiam reduzir, mas não eliminar, a carga de processamento.

Otimizações Tentadas

Seguindo o conselho do modelo, o desenvolvedor e Claude experimentaram várias estratégias de ajuste de desempenho. A colaboração envolveu o consumo de uma quantidade substancial de tokens, à medida que o modelo gerava alterações de código incrementais e explicações. Apesar desses esforços, o desenvolvedor admitiu uma capacidade limitada de entender o código Python em evolução, o que dificultou a orientação e testes eficazes.

Resultado

Após vários dias de interação intensiva em tokens e revisões de código, o esforço de desenvolvimento atingiu um impasse. A ferramenta permaneceu intensiva em CPU durante a rolagem, e as otimizações de baixo impacto prometidas não entregaram uma redução satisfatória no uso de recursos. O desenvolvedor concluiu que o projeto havia atingido um muro, reconhecendo tanto as capacidades quanto as limitações de confiar em um LLM para tarefas de engenharia de software críticas de desempenho.

Usado: News Factory APP - descoberta e automação de notícias - ChatGPT para Empresas

Também disponível em: