Modelos e plataformas de IA

Os Grandes Modelos de Linguagem Vão Acabar com a Programação?

mm
Adicione Unite.AI às suas fontes preferidas no Google

A semana passada marcou um marco significativo para a OpenAI, pois eles lançaram o GPT-4 Turbo em seu OpenAI DevDay. Uma característica destacada do GPT-4 Turbo é sua janela de contexto expandida de 128.000, um salto substancial em relação aos 8.000 do GPT-4. Essa melhoria permite o processamento de texto 16 vezes maior do que seu antecessor, equivalente a cerca de 300 páginas de texto.

Essa avanço se relaciona a outro desenvolvimento significativo: o impacto potencial na paisagem das startups de SaaS.

O ChatGPT Enterprise da OpenAI, com seus recursos avançados, apresenta um desafio para muitas startups de SaaS. Essas empresas, que vinham oferecendo produtos e serviços em torno do ChatGPT ou de suas APIs, agora enfrentam concorrência de uma ferramenta com capacidades de nível empresarial. As ofertas do ChatGPT Enterprise, como verificação de domínio, SSO e insights de uso, se sobrepõem diretamente a muitos serviços B2B existentes, potencialmente colocando em risco a sobrevivência dessas startups.

Em sua palestra, o CEO da OpenAI, Sam Altman, revelou outro desenvolvimento importante: a extensão do conhecimento do GPT-4 Turbo. Ao contrário do GPT-4, que tinha informações apenas até 2021, o GPT-4 Turbo é atualizado com conhecimento até abril de 2023, marcando um passo significativo em direção à relevância e aplicabilidade da IA.

O ChatGPT Enterprise se destaca com recursos como segurança e privacidade aprimoradas, acesso de alta velocidade ao GPT-4 e janelas de contexto estendidas para entradas mais longas. Suas capacidades avançadas de análise de dados, opções de personalização e remoção de limites de uso o tornam uma escolha superior em relação a seus antecessores. Sua capacidade de processar entradas e arquivos mais longos, juntamente com acesso ilimitado a ferramentas avançadas de análise de dados, como o anteriormente conhecido Code Interpreter, solidifica ainda mais seu apelo, especialmente entre empresas que anteriormente hesitavam devido a preocupações com segurança de dados.

A era de criação manual de código está dando lugar a sistemas impulsionados por IA, treinados em vez de programados, sinalizando uma mudança fundamental no desenvolvimento de software.

As tarefas mundanas de programação podem logo cair para a IA, reduzindo a necessidade de expertise em codificação profunda. Ferramentas como CoPilot da GitHub e Ghostwriter da Replit, que assistem na codificação, são indicadores precoces do papel expandido da IA na programação, sugerindo um futuro onde a IA se estende além da assistência para gerenciar completamente o processo de programação. Imagine um cenário comum em que um programador esquece a sintaxe para reverter uma lista em uma linguagem específica. Em vez de procurar em fóruns e artigos online, o CoPilot oferece assistência imediata, mantendo o programador focado no objetivo.

Transição de Desenvolvimento de Baixo Código para Desenvolvimento Impulsionado por IA

Ferramentas de baixo código e sem código simplificaram o processo de programação, automatizando a criação de blocos de código básicos e liberando os desenvolvedores para se concentrar nos aspectos criativos de seus projetos. Mas à medida que entramos nessa nova onda de IA, a paisagem muda ainda mais. A simplicidade das interfaces de usuário e a capacidade de gerar código por meio de comandos diretos, como “Crie um site para fazer X”, está revolucionando o processo.

A influência da IA na programação já é enorme. Semelhante à forma como os primeiros cientistas da computação transitaram de uma ênfase em engenharia elétrica para conceitos mais abstratos, os futuros programadores podem considerar a codificação detalhada como obsoleta. Os avanços rápidos na IA não se limitam à geração de texto/código. Em áreas como geração de imagens, modelos de difusão como Runway ML, DALL-E 3, mostram melhorias massivas. Basta ver o tweet abaixo da Runway exibindo seu recurso mais recente.

https://twitter.com/runwayml/status/1723033256067489937

A influência da IA nas indústrias criativas está prestes a ser igualmente transformadora. Jeff Katzenberg, um titã da indústria cinematográfica e ex-presidente do Walt Disney Studios, prevê que a IA reduzirá significativamente o custo de produzir filmes animados. De acordo com um artigo recente da Bloomberg, Katzenberg prevê uma redução drástica de 90% nos custos. Isso pode incluir a automação de tarefas trabalhosas, como a criação de imagens intermediárias na animação tradicional, renderização de cenas e até mesmo assistência em processos criativos, como design de personagens e storyboarding.

A Eficiência de Custo da IA na Codificação

Análise de Custo de Contratação de um Engenheiro de Software:

  1. Remuneração Total: O salário médio para um engenheiro de software, incluindo benefícios adicionais em centros de tecnologia como o Vale do Silício ou Seattle, é de aproximadamente $312.000 por ano.

Análise de Custo Diário:

  1. Dias de Trabalho por Ano: Considerando que há cerca de 260 dias de trabalho por ano, o custo diário de contratação de um engenheiro de software é de cerca de $1.200.
  2. Produção de Código: Supondo uma estimativa generosa de 100 linhas de código finalizadas, testadas, revisadas e aprovadas por dia, essa produção diária é a base para a comparação.

Análise de Custo de Uso do GPT-3 para Geração de Código:

  1. Custo por Token: O custo de usar o GPT-3, na época do vídeo, era de cerca de $0,02 por cada 1.000 tokens.
  2. Tokens por Linha de Código: Em média, uma linha de código pode ser estimada em cerca de 10 tokens.
  3. Custo para 100 Linhas de Código: Portanto, o custo para gerar 100 linhas de código (ou 1.000 tokens) usando o GPT-3 seria de cerca de $0,12.

Análise Comparativa:

  • Custo por Linha de Código (Humano vs. IA): Comparando os custos, a geração de 100 linhas de código por dia custa $1.200 quando feita por um engenheiro de software humano, em oposição a apenas $0,12 usando o GPT-3.
  • Fator de Custo: Isso representa uma diferença de fator de custo de cerca de 10.000 vezes, com a IA sendo substancialmente mais barata.

Essa análise aponta para o potencial econômico da IA no campo da programação. O baixo custo do código gerado por IA em comparação com o alto custo dos desenvolvedores humanos sugere um futuro onde a IA pode se tornar o método preferido para geração de código, especialmente para tarefas padrão ou repetitivas. Essa mudança pode levar a economias significativas de custos para as empresas e a uma reavaliação do papel dos programadores humanos, potencialmente focando suas habilidades em tarefas mais complexas, criativas ou de supervisão que a IA ainda não pode lidar.

A versatilidade do ChatGPT se estende a uma variedade de contextos de programação, incluindo interações complexas com frameworks de desenvolvimento web. Considere um cenário em que um desenvolvedor está trabalhando com o React, uma biblioteca popular de JavaScript para construir interfaces de usuário. Tradicionalmente, essa tarefa envolveria mergulhar em documentação extensa e exemplos fornecidos pela comunidade, especialmente ao lidar com componentes intricados ou gerenciamento de estado.

Com o ChatGPT, esse processo se torna mais eficiente. O desenvolvedor pode simplesmente descrever a funcionalidade que deseja implementar no React, e o ChatGPT fornece trechos de código relevantes e prontos para uso. Isso pode variar desde a configuração de uma estrutura de componente básica até recursos mais avançados, como gerenciamento de estado com hooks ou integração com APIs externas. Ao reduzir o tempo gasto em pesquisas e tentativas, o ChatGPT melhora a eficiência e acelera o desenvolvimento de projetos em contextos de desenvolvimento web.

Desafios na Programação Impulsionada por IA

À medida que a IA continua a redefinir a paisagem da programação, é essencial reconhecer as limitações e desafios que vêm com a dependência exclusiva da IA para tarefas de programação. Esses desafios destacam a necessidade de uma abordagem equilibrada que aproveite as forças da IA enquanto reconhece suas limitações.

  1. Qualidade e Manutenção do Código: O código gerado por IA pode ser, às vezes, verboso ou ineficiente, potencialmente levando a desafios de manutenção. Embora a IA possa escrever código funcional, garantir que esse código adira às melhores práticas para legibilidade, eficiência e manutenção permanece uma tarefa orientada por humanos.
  2. Depuração e Tratamento de Erros: Os sistemas de IA podem gerar código rapidamente, mas nem sempre se destacam na depuração ou compreensão de erros sutis em código existente. As nuances da depuração, particularmente em sistemas grandes e complexos, frequentemente exigem uma compreensão e experiência humanas.
  3. Dependência de Dados de Treinamento: A eficácia da IA na programação depende fortemente da qualidade e amplitude de seus dados de treinamento. Se os dados de treinamento carecem de exemplos de certos bugs, padrões ou cenários, a capacidade da IA de lidar com essas situações é comprometida.
  4. Preocupações Éticas e de Segurança: Com a IA desempenhando um papel mais proeminente na codificação, surgem preocupações éticas e de segurança, especialmente em torno da privacidade de dados e do potencial de viés no código gerado por IA. Garantir o uso ético e abordar esses viés é crucial para o desenvolvimento responsável de ferramentas de programação impulsionadas por IA.

Equilibrando IA e Habilidades de Programação Tradicionais

No futuro, pode surgir um modelo híbrido em equipes de desenvolvimento de software. Gerentes de produto podem traduzir requisitos em diretivas para geradores de código de IA. A supervisão humana ainda pode ser necessária para garantir a qualidade, mas o foco mudaria de escrever e manter código para verificar e ajustar finamente as saídas geradas por IA. Essa mudança sugere uma ênfase decrescente nos princípios tradicionais de codificação, como modularidade e abstração, à medida que o código gerado por IA não precisa atender aos padrões de manutenção humanos.

Nessa nova era, o papel dos engenheiros e cientistas da computação se transformará significativamente. Eles interagirão com LLM, fornecendo dados de treinamento e exemplos para realizar tarefas, deslocando o foco da codificação intricada para o trabalho estratégico com modelos de IA.

A unidade básica de computação mudará de processadores tradicionais para grandes modelos de LLM pré-treinados, marcando uma partida de processos previsíveis e estáticos para agentes de IA dinâmicos e adaptáveis.

O foco está se deslocando de criar e entender programas para orientar modelos de IA, redefinindo os papéis dos cientistas da computação e engenheiros e remodelando nossa interação com a tecnologia.

A Necessidade Contínua de Visão Humana no Código Gerado por IA

O futuro da programação é menos sobre codificação e mais sobre direcionar a inteligência que impulsionará nosso mundo tecnológico.

A crença de que o processamento de linguagem natural por IA pode substituir completamente a precisão e a complexidade das notações matemáticas formais e da programação tradicional é, no melhor dos casos, prematura. A mudança em direção à IA na programação não elimina a necessidade da rigorosidade e precisão que apenas a programação formal e as habilidades matemáticas podem fornecer.

Além disso, o desafio de testar o código gerado por IA para problemas que ainda não foram resolvidos permanece significativo. Técnicas como testes baseados em propriedades exigem uma compreensão profunda de programação, habilidades que a IA, em seu estado atual, não pode replicar ou substituir.

Em resumo, embora a IA prometa automatizar muitos aspectos da programação, o elemento humano permanece crucial, particularmente em áreas que exigem criatividade, resolução de problemas complexos e supervisão ética.

Eu passei os últimos cinco anos me imergindo no fascinante mundo de Aprendizado de Máquina e Aprendizado Profundo. Minha paixão e expertise me levaram a contribuir para mais de 50 projetos de engenharia de software diversificados, com um foco particular em IA/ML. Minha curiosidade contínua também me levou em direção ao Processamento de Linguagem Natural, um campo que estou ansioso para explorar mais.