Pular para o conteúdo

Seu agente de programação desperdiça MUITOS tokens só para encontrar código — veja como resolver

Ver no idioma original →

Autoria: Cole Medin · Assistir no YouTube

Vídeo de autoria do canal indicado, não da IANIA; todos os direitos pertencem ao criador. Transcrição, resumo e tradução gerados automaticamente; o conteúdo no idioma original é preservado na versão em idioma original.

Idioma original: inglês

Vídeo original: Your Coding Agent Wastes SO MANY Tokens Just Finding Code - Here’s the Fix · Canal: Cole Medin · 02:11 · Assistir no YouTube

Tópicos: Agentes de IA, Ferramentas de desenvolvimento com IA, Inferência e otimização de modelos, RAG, busca e recuperação de informação

Agentes de programação gastam tempo e tokens procurando e lendo arquivos para descobrir quais partes do código precisam ser alteradas. Essa busca pode deixar passar trechos relevantes quando seus nomes não correspondem ao que o agente procura. O vídeo apresenta o Sonar Vortex, que usa um grafo da base de código para localizar relações entre elementos diretamente, sem depender de busca textual. Em um exemplo, a ferramenta permite fazer a mesma consulta e carregar mais contexto com aproximadamente o mesmo número de tokens que a busca anterior consumiu; um estudo citado encontrou economias de 6% a 34% em tarefas de refatoração.

  • Encontrar o código relevante pode consumir mais tempo e tokens do que escrever a alteração.
  • A busca convencional é uma tentativa sujeita a deixar passar código com nomes diferentes dos termos pesquisados.
  • O Sonar Vortex faz consultas diretas sobre relações entre elementos da base de código, como implementações de interfaces e chamadas de funções.
  • O grafo usado nas consultas é construído na máquina local e atualizado em cerca de um milissegundo após edições.
  • O exemplo apresentado compara uma busca que consumiu 80 mil tokens com uma consulta via Sonar Vortex e uma solicitação adicional de contexto, que juntas usaram aproximadamente o mesmo número de tokens.
  • Um estudo da Sonar com seis tarefas de refatoração e dez execuções encontrou economias de tokens entre 6% e 34%.
  • A navegação semântica oferece suporte a Java, C#, JavaScript, TypeScript, Python e Rust.
  • O recurso funciona no SonarQube Cloud com o complemento Sonar Agent Essentials.
Início Capítulo Resumo
00:00 O custo de encontrar o código certo Agentes de programação gastam contexto procurando e lendo arquivos antes de começar a alterar o código.
00:34 Os limites da busca convencional A busca pode não encontrar trechos relevantes quando os nomes usados no código diferem dos termos procurados.
01:07 Consultas diretas com Sonar Vortex O Sonar Vortex usa um grafo local atualizado rapidamente para identificar relações no código sem busca textual.
01:40 Economia de tokens e linguagens compatíveis O vídeo compara o consumo de tokens e apresenta os resultados do estudo e as linguagens com suporte.

A maior parte do que você paga a um agente de programação não é, na verdade, para escrever código. — 00:00

A busca é uma tentativa. — 00:34

Ele consegue identificar isso de forma muito eficiente e direta. — 01:07

Foram necessários 80 mil tokens só para fazer essa busca. — 01:40

A economia de tokens ficou entre 6% e 34%. — 02:11

  • Sonar Vortex (ferramenta): Ferramenta que consulta um grafo da base de código para localizar relações entre elementos e arquivos.
  • Sonar (empresa): Empresa que desenvolve a plataforma Sonar e o Sonar Vortex.
  • SonarQube Cloud (ferramenta): Plataforma na nuvem na qual o Sonar Vortex funciona com o complemento indicado.
  • Sonar Agent Essentials (ferramenta): Complemento necessário para usar o recurso no SonarQube Cloud.
  • navegação semântica (conceito): Método de navegação pelo código que identifica relações entre elementos, como implementações e chamadas de funções.
  • tokens (conceito): Unidades de texto contabilizadas no uso de contexto por um LLM.
  • Cole Medin (pessoa): Apresentador do canal que demonstra o Sonar Vortex no vídeo.

00:00 A maior parte do que você paga para um agent de programação fazer não é, na verdade, escrever código. É encontrar o código certo para editar. Sério, se você pedir ao seu agent de programação para mudar qualquer coisa na sua base de código, desde que não seja algo trivial, veja o que acontece. Ele passa muito tempo pesquisando e lendo todos os arquivos que encontra para garantir que sejam relevantes. E a pesquisa em si é rápida e barata, mas ler todos esses arquivos consome muito context window antes mesmo de você mudar uma única linha de código. E não se trata só do custo. Pesquisar é um palpite. Então, se houver algo que o agent deveria ter

00:34 mudado, mas que tem um nome diferente do que o agent está procurando, você simplesmente não vai encontrar. Assim, a mudança pode estar correta em todos os lugares que ele identificou, mas isso nem sempre é suficiente. No fundo, o agent está apenas respondendo a uma única pergunta: que código se aplica aqui à mudança solicitada pelo usuário? O problema é que os agents de programação não conseguem responder a isso diretamente, mas existe uma ferramenta que consegue, chamada Sonar Vortex. Sonar é uma plataforma que já apresentei bastante no meu canal. Ela já analisa sua base de código. E agora o Sonar Vortex é uma ferramenta que funciona sobre essa plataforma e

01:07 resolve o nosso problema. Ela consegue identificar de forma muito eficiente e direta coisas como quais classes implementam uma interface, o que chama uma função e o que ela chama, até o arquivo e a linha. Agora estou de volta ao Cloud Code com o mesmo prompt, mas desta vez dando a ele acesso ao Sonar Vortex, para mostrar que se trata de uma consulta direta, não de uma pesquisa. É muito mais eficiente. E o grafo usado para fazer as consultas é construído diretamente na nossa máquina. Não há compilador nem servidor de linguagem, e ele é atualizado em cerca de um milissegundo após qualquer edição, o que é muito importante para mim

01:40 porque, em geral, quando o agent está na metade de uma rodada, sua base de código ainda não foi compilada. Na conversa original, depois de pesquisar e ler todos os arquivos, ele usou 80.000 tokens só para fazer essa pesquisa. Mas, na segunda conversa, com o Sonar Vortex, consegui fazer a mesma consulta e até enviar um prompt de acompanhamento para carregar mais contexto, e o total de tokens usado ainda ficou praticamente igual. Então, com certeza, é mais eficiente. A Sonar fez um estudo em que executou seis tarefas de refatoração ao longo de 10 rodadas e concluiu que a economia de tokens ficou entre

02:11 6 e 34%. No momento, a navegação semântica é compatível com Java, C#, JavaScript, TypeScript, Python e Rust. Ela funciona no SonarQube Cloud com o complemento Sonar Agent Essentials. Agradeço à Sonar por trabalhar comigo neste conteúdo, e deixarei um link para o Sonar Vortex na descrição.

Transcrição original

[00:00] Most of what you pay a coding agent for isn’t actually writing code. It’s finding the right code to edit in the first place. Seriously, if you ask your coding agent to change anything in your code base, as long as it’s not trivial, look what happens. It spends so much time searching and reading through all the files it finds to make sure they apply. And the search itself is fast and cheap, but reading through all these files, it takes so much context here before you’re even changing a single line of code. And it’s not just the cost. searching is a guess. And so, if you have something the agent should have

[00:34] changed, but it’s named differently than what the agent is looking for, you’re just going to miss it. And so, the change might be correct for everywhere that it identified, but that isn’t always good enough. Now, underneath all of this, your agent is just answering a single question. What code applies here for the change the user is requesting. The problem is, coding agents can’t answer that directly, but there is a tool that can, and it’s called Sonar Vortex. And so, Sonar is a platform I’ve covered a lot on my channel already. It already parses your code base. And so, now Sonar Vortex is a tool on top that

[01:07] solves our problem here. It’s able to identify for us very efficiently and directly things like what classes implement an interface, what calls a function, and what it calls back, down to the file and line. So, now I’m back over in Cloud Code with the same prompt, but this time giving it access to Sonar Vortex. To show you here that it is a direct lookup instead of a search. It is much more efficient. And the graph that it uses to perform the lookups is built right on our machine. There’s no compiler or language server, and it refreshes in about a millisecond after any edit, which is a big deal for me

[01:40] because generally halfway through an agent turn, your code base hasn’t compiled yet. So, in our original conversation, after it did all of the searching and reading all the files, it took 80,000 tokens just to do this searching. But now, over to the second one with Sonar Vortex, I was able to do the same lookup and then even a follow-up prompt to load more context, and it still was about the same number of tokens that it took. So, it’s definitely more efficient. Sonar did a study where they ran six refactoring tasks across 10 runs, and they figured out that the token savings was anywhere

[02:11] between 6 and 34%. Semantic navigation covers Java, C#, JavaScript, TypeScript, Python, and Rust right now. It runs on SonarQube Cloud with the Sonar Agent Essentials add-on. Thanks to Sonar for working with me on this, and I’ll have a link to Sonar Vortex in the description.