Agentes de programação com IA estão prejudicando grandes bases de código — Dan Adler, Sourcegraph
Autoria: AI Engineer · 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: AI Coding Agents Are Breaking Big Codebases — Dan Adler, Sourcegraph · Canal: AI Engineer · 11:56 · Assistir no YouTube
Tópicos: Agentes de IA, Cibersegurança e segurança de software, Engenharia de software com IA
Dan Adler argumenta que agentes de programação aceleram a produção de código, mas também aumentam o volume de mudanças que equipes precisam revisar e manter em bases de código grandes e antigas. Como agentes não conseguem compreender repositórios que não cabem em seu contexto, podem surgir duplicação, padrões inconsistentes, dependências frágeis e vulnerabilidades. Ele defende infraestrutura que permita pesquisar e entender bases com milhares de repositórios, combinando informações de grafo de código com análise precisa do compilador. Também apresenta um produto da Sourcegraph para aplicar mudanças em vários repositórios, com acompanhamento, auditoria e uso de agentes ou scripts determinísticos conforme a necessidade.
Pontos-chave
Seção intitulada “Pontos-chave”- A maior parte do software que sustenta serviços essenciais está em bases de código grandes, antigas e complexas.
- Agentes de programação produzem código em ritmo acelerado, elevando o volume de mudanças que precisa de revisão e manutenção.
- Mudanças geradas por agentes podem contribuir para duplicação, padrões inconsistentes, dependências frágeis e novas vulnerabilidades.
- A documentação de arquitetura fornecida aos agentes não substitui a capacidade de pesquisar e compreender toda a base de código.
- Segundo Adler, compreender bases com milhares de repositórios exige infraestrutura que não cabe no contexto de um agente.
- A Sourcegraph defende o uso de um grafo de código, pesquisa e informações precisas do compilador para dar contexto aos agentes.
- O produto de mudanças em lote apresentado na palestra pode aplicar alterações em centenas ou milhares de repositórios.
- A ferramenta combina agentes, quando é necessário julgamento, com scripts determinísticos para mudanças que podem ser padronizadas.
- A palestra enfatiza rastreabilidade e auditabilidade para verificar se uma correção foi aplicada em todos os locais necessários.
Capítulos
Seção intitulada “Capítulos”| Início | Capítulo | Resumo |
|---|---|---|
| 00:01 | O trabalho essencial de manter grandes bases de código | Adler descreve como sistemas antigos e complexos sustentam serviços cotidianos e alerta que agentes estão aumentando o volume de código a manter. |
| 03:06 | O custo do volume de código gerado por IA | A palestra relaciona o crescimento do código a padrões inconsistentes, duplicação, dependências frágeis e vulnerabilidades que exigem supervisão. |
| 06:13 | Contexto e infraestrutura para compreender milhares de repositórios | Adler argumenta que agentes precisam de ferramentas para pesquisar e entender bases enormes, além das instruções de arquitetura fornecidas em arquivos. |
| 09:21 | Mudanças em lote e rastreabilidade | Ele apresenta uma ferramenta para aplicar correções em muitos repositórios e relata um caso em que a exploração da base encontrou vulnerabilidades adicionais. |
Citações
Seção intitulada “Citações”Uma onda de código está vindo na direção de vocês. — 02:05
Não sei o que esse código faz. A IA escreveu para mim. — 04:38
Claro que o Claude Code consegue fazer essa mudança, mas tenho 90 mil repositórios nos quais preciso aplicá-la. — 06:43
Visibilidade é infraestrutura. — 08:50
Conceitos e entidades
Seção intitulada “Conceitos e entidades”- Dan Adler (pessoa): Palestrante que apresenta os desafios de manter grandes bases de código na era dos agentes de programação.
- Sourcegraph (empresa): Empresa apresentada por Adler como responsável por ferramentas para pesquisar e compreender bases de código em grande escala.
- Claude Code (ferramenta): Ferramenta citada como capaz de fazer mudanças, mas cujo uso em dezenas de milhares de repositórios depende de infraestrutura para localizar e entender o código.
- grafo de código (conceito): Representação da estrutura da base de código que, junto com pesquisa e informações do compilador, pode ajudar agentes a entender mudanças.
- agent harness (conceito): Infraestrutura para agentes, mencionada como parte do ecossistema que precisa permitir acesso e compreensão de grandes bases de código.
- mudanças em lote com agentes (conceito): Abordagem para aplicar e acompanhar alterações em muitos repositórios, usando agentes quando é preciso julgamento e scripts determinísticos nos demais casos.
Tradução completa (pt-BR)
Seção intitulada “Tradução completa (pt-BR)”00:01 [música] Olá, pessoal, sejam todos bem-vindos. Sou Dan Adler, CEO da SourceCraft. É ótimo ver todos vocês aqui hoje. Muito obrigado por terem vindo e se juntado a nós. Esta palestra é sobre o trabalho nada glamouroso, mas fundamental, de cuidar de uma base de código grande e complexa, e por que
00:31 as ferramentas de IA e de programação com agents tornam esse trabalho mais difícil e mais importante do que nunca. Para começar, o software que move o mundo não é bonito. Não é novo. Não é limpo. É assim que tudo realmente funciona. 72% dos empregos do setor de software estão em empresas com mais de 500 pessoas. São as grandes empresas do mundo. São empresas que gerenciam milhares de repositórios e décadas de histórico de bases de código. Poucos dos seus colegas
01:04 trabalham em startups, nas empresas badaladas de que vocês talvez ouçam falar nas redes sociais. E menos ainda são, na verdade, empreendedores individuais que ganham a vida com seus feeds nas redes sociais. A maioria de nós trabalha com bases de código grandes e longevas. É por meio delas que sua conta bancária rejeita uma transação em tempo real quando você ultrapassa seu limite. É assim que sua seguradora calcula a taxa de reembolso para um segurado com dupla cobertura. É assim que um chip e um leitor de código de barras de um depósito permitem que a Amazon informe quando suas meias vão chegar. É assim que seu Uber estima um
01:35 horário de chegada. É assim que um avião usa o radar para ajustar trajetórias. É assim que seu salário é pago. É assim que o ar-condicionado do seu escritório funciona sem parar. São essas coisas que mantêm o mundo em movimento. Todos nós dependemos completamente de bases de código enormes, com décadas de existência e supercomplexas, que foram construídas ao longo de muitos e muitos anos por milhares de engenheiros.
02:05 E os agents de programação estão escrevendo mais código, e melhor, mais rápido do que jamais vimos. Uma onda gigantesca de código está vindo na sua direção. Está vindo para sua base de código e para todos os engenheiros da sua equipe, que estão tentando simplesmente manter a cabeça fora d’água. Todos nós sentimos essa dor, essa enxurrada de código gerado por IA que agora temos de revisar e garantir que esteja saudável para nossa base de código; estamos exaustos com isso. E, vejam, agora existem agents de revisão de código. Tenho certeza de que há muitos deles por esta sala agora. Existem
02:35 ferramentas projetadas para ajudar a medir a saúde da sua base de código e coisas do tipo. E, vejam, os principais agents de programação vão começar a incorporar essas coisas. Os modelos vão melhorar com o tempo. Vamos continuar colocando sacos de areia para conter essa enchente, certo? Vamos continuar encontrando esses máximos locais para tentar evitar esse problema. Mas, enquanto isso, o que está acontecendo é que essas bases de código — essas enormes, que mantêm o mundo funcionando — estão começando a decair. Milhões de linhas de código, dezenas de
03:06 milhares de repositórios, muito mais do que cabe em uma context window ou do que seria possível clonar e pesquisar em tempo real. Simplesmente não dá. E isso está causando grandes problemas. Estamos publicando novos recursos e novos patches em velocidade recorde. Diferentes agents aplicam padrões de programação diferentes em partes diferentes da base de código. O código duplicado está se espalhando. Você já tem uma biblioteca que faz isso, mas seu agent não sabe. As dependências entre serviços estão ficando mais frágeis. Há
03:37 pequenos desvios nos padrões que estão criando problemas ocultos cada vez mais insidiosos em toda a base de código. E talvez mais importante do que qualquer outra coisa: agents estão descobrindo novas vulnerabilidades todos os dias. Essas enormes bases de código legadas, nas quais ninguém quer pensar nem lidar, exigem supervisão e manutenção constantes. Cuidar de uma base de código está mais difícil hoje do que jamais esteve.
04:07 E, no fim das contas, o problema aqui é, na verdade, o volume de código. O chamado vem de dentro da própria casa, certo? As próprias ferramentas que estão acelerando todos nós e nos permitindo escrever mais código, mais rápido do que nunca, também estão criando as condições que farão essas enormes bases de código que movem o nosso mundo começarem a falhar. Todos os dias converso com executivos de tecnologia dessas grandes empresas, e eles sentem isso de forma muito intensa. A mesma dor que imagino que muitos de vocês também estejam
04:38 sentindo, certo? Quero dar aos meus desenvolvedores as melhores ferramentas possíveis. Mas, ainda hoje, ouvi um desenvolvedor dizer: “Não sei o que esse código faz. A IA escreveu para mim.” Esse é um líder de tecnologia e executivo de uma das dez maiores fabricantes de automóveis. Quando você está escrevendo código de piloto automático para veículos e precisa gerenciar e capacitar milhares de engenheiros na sua organização, isso é aterrorizante. Certo, vamos lá.
05:11 Acredito profundamente que quem cuida dessas bases de código merece algo melhor. As ferramentas de desenvolvimento com agents de hoje não estão à altura do momento. A infraestrutura para visualizar e entender uma base de código com 50.000 repositórios não está sendo criada nem vendida pela OpenAI, pela Anthropic, pela Cursor ou pelas outras empresas. Este é um problema difícil e singular. Os agents delas são incrivelmente bons em resolver os problemas de pequena escala com que a maioria dos desenvolvedores lida todos os dias, e por isso
05:42 a demanda por eles está crescendo mais rápido do que nunca. E esse problema maior, de as bases de código começarem a desmoronar, está passando despercebido. Esta sessão é, antes de tudo, um chamado para celebrar as pessoas que cuidam dessas bases de código, as pessoas do mundo todo que realmente as mantêm vivas e funcionando: a maioria dos nossos colegas engenheiros de software ao redor do mundo. Então, muito obrigado a todos pelo que vocês fazem. Mas esta sessão também é um chamado às empresas de ferramentas para desenvolvedores, aos construtores de
06:13 harness para agents e às pessoas que estão criando a infraestrutura para esses agents: ajudem a construir a infraestrutura e a capacidade de visualizar e entender esses repositórios em grande escala e disponibilizar isso para os agents. Esta é uma ótima citação que ouvi de um líder de tecnologia de um dos dez maiores bancos dos EUA. Dezenas de trilhões de dólares em ativos sob custódia ou
06:43 administração. “Claro que o Claude Code pode fazer essa alteração, mas tenho 90.000 repositórios nos quais preciso fazê-la.” Esta é, na verdade, uma citação específica sobre uma vulnerabilidade específica na cadeia de suprimentos, relacionada ao npm. Não vou entrar nisso, mas, se você é um banco e está vendo agents descobrirem e criarem novas vulnerabilidades em um ritmo sem precedentes, e mandam você usar o Claude Code para resolver isso, temos um problema. Boa sorte fazendo isso em 90.000 repositórios e mapeando como todas essas bases de código
07:14 se conectam, o que realmente está em produção na sua empresa e em todas as suas ofertas de produtos. Porque, no fim das contas, o mais engraçado de tudo isso é que, se sabemos alguma coisa sobre LLMs, é que eles adoram pesquisar. É como um novo funcionário tentando se familiarizar com a base de código. É assim que os agents constroem modelos do mundo. A arquitetura do repositório que você inclui nos seus arquivos AGENTS.md, vamos ser sinceros, mal faz diferença. Esse agent vai usar grep, grep, grep para
07:47 tatear o caminho até entender a base de código. É simplesmente assim que funciona. Mas entender é uma questão de contexto. Você não pode usar grep para buscar aquilo que literalmente não consegue ver. É disso que precisamos: ferramentas e infraestrutura. E a infraestrutura para visualizar, pesquisar e realmente entender a fundo uma base de código com 500, 5.000, 50.000 ou meio milhão de repositórios não está sendo criada hoje pelos construtores de agents. E é nisso que estamos trabalhando,
08:18 é nisso que estamos trabalhando como empresa. É nisso que a Sourcegraph se baseia, certo? Deem-me um segundo. Se me permitem, vou parar um instante para prever o futuro do nosso setor. Essas bases de código enormes não vão desaparecer. Na verdade, haverá mais código. Haverá muito, muito, muito mais código por aí no futuro. E acreditamos profundamente que criar ferramentas que deem aos agents a capacidade de realmente visualizar, entender e evoluir
08:50 essas bases de código grandes é essencial para o futuro. E, no fim das contas, isso depende de ter um grafo — um grafo de código — em mente. O grafo fundamental da sua base de código, incluindo a pesquisa, e também o resultado preciso do compilador. Se você fizer essa análise, verá que ela é essencial para dar aos seus agents a capacidade de entender como fazer alterações de forma eficaz. Visibilidade é infraestrutura.
09:21 E, na verdade, construímos muita coisa em cima disso, certo? Não vamos parar por aqui. Na verdade, foi só hoje que lançamos em beta nosso novo produto de alterações em lote com agentes. Este é um agente de ponta, e seu trabalho é permitir que o responsável por uma base de código enorme execute alterações de código em centenas ou milhares de repositórios de uma só vez, começando com um único prompt. Este é um produto que vai implementar alterações de forma iterativa por toda essa base de código. Corrigir os próprios erros, responder ao status de CI e a comentários em PRs. Usar agentes de programação onde fizer sentido, onde for necessário exercer julgamento
09:52 e scripts determinísticos onde não fizer. E fornecer rastreamento e possibilidade de auditoria para garantir que você cobriu 100% dos lugares onde esse patch é necessário, onde essa alteração é necessária. Porque, como continuo dizendo aqui, no fim das contas, este é um problema de infraestrutura. Quando você lança código no mundo, precisa garantir que ele realmente vai manter sua base de código saudável, que vai conseguir se adaptar aos lugares onde sua base de código está começando a se deteriorar. Aqui está uma ótima citação de um dos primeiros
10:23 usuários com acesso antecipado, na verdade da Mercari, uma plataforma global de compras do Japão. Uma empresa incrível, com uma base de código enorme e centenas e centenas de microsserviços independentes rodando em produção. Esse usuário estava usando este produto para corrigir uma vulnerabilidade de injeção de código no GitHub, em que é preciso definir corretamente as variáveis de ambiente. Ele executou o produto em dois repositórios onde sabia que esse problema existia e, em seguida, pediu que explorasse o restante da base de código. O produto encontrou outras 80 possíveis vulnerabilidades em outros lugares da base de código. Isso é, basicamente, algo relacionado a arquivos de configuração
10:53 Isso é, basicamente, fazer uma varredura e corrigir tudo de uma vez com uma espécie de script determinístico, que garante que a alteração seja feita de forma consistente e eficaz em 100 lugares onde esse risco existe. É disso que se trata a confiança na era da programação com agentes. Então, sim, vou parar por aqui. Se agora você está se perguntando quantos repositórios há na sua base de código, quantos forks existem por aí, quantas cópias de repositórios existem por aí, quantos repositórios seus desenvolvedores trouxeram para a sua empresa e agora
11:25 estão sendo usados como uma biblioteca ou uma API em algum lugar da sua base de código, em produção, sem que você saiba, é esse tipo de coisa com que estamos aqui para ajudar. Certo? Se você está se perguntando que código está em produção agora e como pode fazer uma varredura em tudo, ver tudo e garantir que tudo esteja atualizado, venha conversar comigo. E hoje à noite vamos realizar um evento aqui em SF chamado Code Cocktails and Cutovers. Apareça e participe. Venha nos encontrar. Traga suas histórias mais cabeludas sobre bases de código. É sobre isso que queremos conversar e ouvir vocês: o que estão tentando enfrentar
11:56 e como estão lidando com a onda gigantesca de código que vem na sua direção. Legal. Obrigado. Vou parar por aqui. Alguma pergunta? Obrigado. >> [música]
Transcrição original
[00:01] [music] Hey, welcome everybody. I’m Dan Adler, CEO at SourceCraft. It is uh great to see you all here today. Thank you so much for coming out and joining us. Um, this is a talk today about the unglamorous but loadbearing work of owning a large complex codebase and why
[00:31] AI and agentic coding tools today make that job more difficult and more important than ever before. Just to start, the software that runs the world is not pretty. It’s not new. It’s not clean. It’s how everything actually works. 72% of software industry employment is in companies with more than 500 people. These are the large enterprises of the world. These are the companies managing thousands of repositories and decades of codebased history. Few of your peers
[01:04] work at startups at the hot companies you may hear about on social media. And even fewer of them are actually like ex soloreneurs making a living off of their um social feeds. Most of us work in large longived code bases. Those code bases are how your bank account will reject a transaction in real time if you hit your limit. They’re how your insurance carrier calculates the reimbursement rate for a policy holder with dual coverage. It’s how a chip and a warehouse scanner will actually allow Amazon to tell you when your socks arrive. It’s how your Uber estimates an
[01:35] arrival time. It’s how an airplane uses radar to uh adjust trajectories. How your paycheck gets issued. It’s how your office air conditioner ticks on and on and on and on and on. These are the things that keep the world moving. We are all completely utterly dependent on massive decades old super complex code bases that have been built over many many years by thousands of engineers
[02:05] and coding agents are writing more better code today faster than we have ever seen before. A title wave of code is coming for you. It’s coming for your code base and for all of your engineers on your team who are trying to just keep their heads above water. Every one of us has felt this pain, this flood of AI generated code that we now have to review and make sure is healthy for our codebase and we’re exhausted by it. And look, there are now code review agents. I’m sure there’s a lot of them around this room right now. There are
[02:35] tools designed to help you measure your code base’s health and so on. And look, the new the major coding agents will start to pull this stuff in. The models will get better over time. We’ll keep putting sandbags down to keep this flood held back, right? We’re going to keep finding these local maxima to help ourselves sort of avoid this problem. But meanwhile, what’s happening is that these code bases, these massive ones that keep the world running are beginning to decay. millions of lines of code, tens of
[03:06] thousands of repositories, way too much to fit into a context window or even just to clone and GP in real time. That’s just not possible. And this is causing big problems. We’re publishing new features, new patches at record speed. There are different coding standards being applied in different places by different agents across the codebase. There’s duplicated code proliferating. You you already have a library that does this, but your agent doesn’t know that. There’s cross-ervice dependencies that are becoming more brittle. There are
[03:37] slight deviations in standards that are creating more insidious hidden issues across the codebase. And maybe more important than anything else here, there are new vulnerabilities being uncovered by agents every single day. They require constant constant oversight and upkeep of all of these massive legacy code bases that nobody wants to think about or deal with. The job of owning a codebase is harder today than it has ever been before.
[04:07] And at the end of the day, the problem here is actually the volume of code. The call is coming from inside the house, right? The very tools that are speeding all of us up and letting us write more code faster than ever are also the tools that are creating the conditions that will cause these massive code bases that run our world to begin to fail. Every day I talk to technology executives at these large companies and they are feeling this so viscerally. The same pain that I imagine many of you are
[04:38] feeling too, right? I want to give my devs the best tools possible. But just today, I overheard a dev say, “I don’t know what this code does. AI wrote it for me.” This is a tech leader and executive at a top 10 car manufacturer. When you’re writing vehicle autopilot code and you have thousands of engineers in your org that you have to manage, you want to enable, this is terrifying. All right, here we go.
[05:11] So what I um deeply believe is that these codebase owners deserve better. Today’s agentic dev tools are not meeting the moment for this. The infrastructure to see and understand a 50,000 repo codebase is not being built or sold by OpenAI, by anthropic, by cursor, by the rest of them. This is a hard and unique problem. Their agents are so unbelievably good at smalling at solving the small-cale problems that most developers deal with every day that
[05:42] they are their demand is growing faster than ever before. And this bigger problem of these code bases beginning to fall apart is going unnoticed. So this session this is a call first of all off to celebrate the people the owners of these code bases people around the world who are actually keeping them alive and keeping them running. most of our software engineer peers around the globe. So, thank you all so much for what you’re doing. But this session is also a call to dev tools companies out there, to the agent
[06:13] harness builders, to people who are building the infrastructure for these agents to help build the the infrastructure, the the ability to go see and understand these massive scale repositories and give that to their agents. This is a great quote that I heard from um a tech leader at uh one of the top 10 US banks. Tens of trillions of dollars in assets uh in custody or
[06:43] administration. Sure, Claude Code can uh make this change, but I have 90,000 repositories to make it in. This is actually a specific quote about a specific supply chain vulnerability, an npm thing. won’t get into it, but if you’re a bank and you’re seeing agents uncover and create these new vulnerabilities at an unprecedented pace and you’re being told to go use cloud code to solve this, that’s a problem. Good luck doing that in 90,000 repositories, mapping out how these code
[07:14] bases all come to together, what’s actually living in production across your company, across your product offerings. Because at the end of the day, right, what’s really funny about all this is that, if we know anything about LLMs, is that they just love to search. It’s like a new hire getting up to speed on the codebase. It’s how agents build models of the world. The repo architecture that you’re plugging into your agents.md files, like, let’s be real, that’s barely moving the needle here. This agent is going to grap gp gp
[07:47] gp gp its way to codebase understanding. That’s simply how it works. But understanding is a context problem. You can’t gp what you literally cannot see. This is tools and infrastructure that’s needed. And the infrastructure to go see and search and really deeply understand a 500 or 5,000 or 50,000 or half a million repo codebase is not being built by the agent builders today. And so that’s where what we’re solving,
[08:18] what we’re working on as a company. This is what source graph is built around, right? Give this a second. If you’ll let me sort of take a moment and predict the future of our industry. These massive code bases are not going away. In fact, there will be more code. There will be much much much more code out there in the future. And we believe very deeply that building tools to give agents the ability to actually see and understand and evolve
[08:50] those large code bases is essential for the future. And where this comes from at the end of the day is having a graph that code graph in mind. The foundational graph of your codebase including search and then the actual compiler accurate output. Um, if you go and and do that analysis that is essential to give your agents the ability to go and understand how to make changes effectively. Visibility is infrastructure.
[09:21] And we’ve actually built a lot on top of this, right? We’re not stopping here. Actually, just today we launched our new um our new agentic batch changes product into beta. This is a frontier agent uh and its job is to let the owner of a massive codebase actually execute code changes across hundreds or thousands of repositories at once starting with a single prompt. This is a product that will iteratively roll out changes across that that codebase. Self-heal respond to CI status PR comments. Use coding agents where it makes sense, where judgment is
[09:52] needed. Use deterministic scripts where it’s not. and provide tracking and auditability to be sure that you’ve covered 100% of the places where that patch is needed, where that change is needed. Because like I keep saying here, at the end of the day, this is an infrastructure problem. When you’re putting code out there into the world, you need to make sure that it’s actually going to keep your codebase healthy, that it’s actually going to make be able to um adapt to the places where your codebase is beginning to fall apart. Here’s a great quote from an early
[10:23] access user um uh actually at Merkari, a global um shopping tool out of Japan. Incredible company, massive codebase, hundreds and hundreds of independent microservices running in production. This user was using um this product to go actually patch a GitHub uh code injection issue where you have to set environment variables correctly. Um he ran this on two repos where he knew this issue existed and then said yeah go explore the rest of our codebase and found 80 other potential vulnerabilities across their codebase in other places. This is like bas this is like config
[10:53] files. This is basically just going and doing that scan patching them all in one go with a sort of deterministic script that can go make sure it’s making that change consistently effectively across 100 of the places where that risk exists. That is what confidence is all about in the agent coding era. So yeah, I’ll stop here. If you’re wondering right now about like how many repos in your codebase, how many forks are there out there, how many um copies of repos are there out there, how many repos have your in your developers brought into your um company and are now
[11:25] being plugged in as a library or an API somewhere in your codebase that’s live in production that you’re not aware of. That’s the sort of thing that we’re here to help. Right? If you’re wondering what code is deployed right now and how you can go scan it all and see it all and make sure it’s all updated, come talk to me. And uh tonight we’re actually hosting a event here in SF called Code Cocktails and Cuttovers. Come on out, join us. Um come find us. Bring your gnarliest codebased stories. This is where we want to uh talk and hear from all of you about what you’re trying to deal with
[11:56] and how you’re dealing with the title wave of code that’s coming for you. Cool. Thank you. I’ll stop there. Any questions? Thank you. >> [music]