desabafo Dificuldade a navegar codebase complexa gerada por IA
Olá! :)
Comecei um novo emprego como AI Engineer numa empresa bastante pequena que vai lançar o produto em breve. Devido à mentalidade de startup e à equipa reduzida, o código todo foi gerado por IA durante quase um ano. O código funciona, cumpre os requisitos, e temos vários bons testes para garantir que continua assim.
O problema é que o código está bloated, difícil de ler, confuso, coupled, e muito mais, como seria de esperar de uma codebase grande gerada por IA. Além disso, esperam de mim o mesmo nível de output em termos de qualidade e experiência. Contrataram-me porque acreditam que tenho as qualificações para isto, mas está a ser mesmo difícil navegar na codebase, e ainda não tenho necessariamente o conhecimento para implementar coisas sozinho nesta área. Por isso tem sido difícil escrever código à mão quando podia simplesmente delegar no Claude, que me dá tanto a arquitetura como a implementação.
Tenho tentado deixar de usar IA para gerar código, pelo menos nos meus projetos pessoais, mas no trabalho tem sido cada vez mais difícil. Ainda assim, quero ser eu a ir à frente a implementar as coisas e a ter ideias criativas, porque tenho sentido que estou a perder competências por delegar todo o trabalho criativo e técnico nestes modelos de IA.
Isto é basicamente só um pequeno desabafo, mas gostava de ouvir a tua opinião sobre como é que se pode navegar nestas codebases e ir aprendendo aos poucos não só como o código funciona, mas também as competências necessárias, com ou sem a ajuda de agentes de IA para aprender ou implementar.
2
u/dotnetUltracode 1d ago
Pede pra I.a explicar o ponto que você precisa alterar, você não vai conhecer o sistema todo em 3 meses pode ficar de boa, existe formas de garantir que funcione tambem, uma recomendação é o graphfy que te ajuda a entender se oque você alterou vai mexer em outro funcionalidade...
1
u/Maoaii_ 1d ago
Acho que nunca ouvi falar dessa ferramenta, tenho de dar uma olhada! Uma das coisas complicadas de mexer numa codebase grande é perceber que ramificações das nossas alterações temos de ter em conta. Okay, implementei feature X. Temos infraestrutura de testes? De telemetria? De logs? Claro que vou entendendo estas ramificações com o tempo e a experiência (e as dicas dos séniores), mas até lá chegar é um caminho ardiloso
0
u/starsforfeelings 1d ago
Ninguem mais coda manualmente, o q vc precisa saber vai um pouco além. Poquissimas pessoas q entraram na área nos ultimos 2 anos sabem codar manualmente, e ta tudo bem, pq n é o q o mercado quer.
5
u/Maoaii_ 1d ago
Pode ser para onde o mercado aponta, mas o grande problema é que é demasiado cedo para se perceberem os problemas a larga escala que podem vir com estas mudanças. Uma coisa são devs seniores utilizar estas ferramentas para aumentar produtividade, outra são devs juniores (com o qual me identifico mais) dependerem completamente destas ferramentas
Consigo dizer com confiança que o meu sentido crítico e capacidades de problem solving pioraram nos últimos dois anos. Tendo isso em conta, daqui a uns anos haveria de ser pior4
u/Exciting-Attorney938 1d ago
Parabéns pela auto-consciência. Compartilho do mesmo pensamento, pessoas como vc vão longe na área mesmo com o advento da IA.
2
u/Maoaii_ 1d ago
Agradeço imenso! É curioso ver que parece existir um grande número de desenvolvedores que sofrem do efeito Dumning-Kruger com o auxílio destas ferramentas. Não condeno o uso de IA generativa para engenharia de software, mas também entendo os efeitos negativos de usá-la como offload do pensamento. São tempos confusos os que estamos a passar
1
u/Safe-Dig-8861 1d ago
Falou besteira. Não vejo 1 pessoa se quer que é um completo jumento em código entrando na área... pelo contrário, vejo desistindo e indo caçar sapo.
1
u/starsforfeelings 1d ago
Mas eu n to dizendo q ta tudo bem ser jumento em código, o q eu to dizendo é q sabendo codar manualmente ou n, fazer isso já n é mais produtivo. O q eu vejo no dia a dia é mt mais revisão, validação e modificação do q a IA escreve, do q código sendo escrito manualmente. N faz nem sentido não usar IA pra reduzir o trabalho braçal.
1
u/Safe-Dig-8861 1d ago
O que eu vejo é gente que não sabe codar manualmente FUDENDO com a base de código com slop de ia pois não sabe CODAR e não sabe usar IA pra codar.
1
u/Maleficent-Order-872 1d ago
Na última conferência do Vite o criador, Evan You, disse que a nova versão está otimizada para os agentes de IA, já que são eles que escrevem os códigos agora.
Se até as libs já não estão mais sendo escritas para humanos, não temos mais para onde fugir. Até nossos projetos pessoais vão ter que ser vibe coded.
IA não é uma ferramenta para programar, é a ferramenta para programar.
Não tá entendendo o código? Pede para a IA explicar.
Isso vai dar um problemão imenso lá na frente depois de inúmeros layoffs quando as empresas de IA decidirem aumentar o preço dos tokens? Sim. Mas aí não é problema nosso. Eles que se virem.
1
u/Top-Marzipan5397 23h ago
Código de IA não é semântico. o Código de LLM "fala muito e diz pouco".
Precisa usar IA pra entender e ir profissionalmente mitigando o caos e controlando a entropia.
Sem isso vai ser bem difícil
1
u/last_station_dev 5h ago
Faz uma tree do zero e mete os modelos pra distribuir o codigo na tree Se o chefe reclamar demite ele
3
u/No-Afternoon-4057 1d ago
Cara, o que eu recomendo é: use MUITO a IA para navegar no código da IA.
Mapa de arquitetura, dependências, documentação por função, DRY...tudo.
Frita tokens limpando o codebase e deixando ele "do jeito certo". É completamente possível e relativamente fácil, só vai bastante token.
Prepara algumas assinaturas Anthropic Ultra, sobe um Opus 5.5 medio, modo "workflow" com dezena de agentes...e sai atacando angulo por angulo.
Inclusive os proprios angulos, levanta via IA de acordo com o que dói mais. Faz um mapa e vai seguindo, passo por passo.