Voltar para o Blog

Vibe Coding: A Realidade Por Tras do Hype - O Que os Dados Realmente Mostram

Olá HaWkers, Andrej Karpathy cunhou o termo "vibe coding", onde você descreve o que quer e a IA escreve o código. Satya Nadella e Sundar Pichai afirmam que 25% do código de suas empresas é gerado por IA. Parece revolucionário.

Mas um relatório da Bain & Company descreve os ganhos reais de produtividade como "unremarkable" (nada impressionantes). Então qual é a verdade? Vamos analisar os dados sem marketing.

O Que Os CEOs Dizem

Vamos começar pelos claims impressionantes.

Microsoft

Satya Nadella (CEO Microsoft):
"Cerca de 25% do nosso código é gerado por IA"

Contexto:
- Microsoft tem ~200.000 funcionários
- Inclui todo tipo de código (docs, configs, scripts)
- Não especifica se código vai para produção

Google

Sundar Pichai (CEO Google):
"Mais de 25% do novo código no Google é gerado por IA"

Contexto:
- Google tem engenheiros extremamente produtivos
- Não especifica revisão humana necessária
- Não compara com produtividade anterior

A Narrativa

Narrativa de mercado:
"IA está transformando desenvolvimento"
"Produtividade 10x"
"Desenvolvedores vão ser substituídos"

O Que Os Estudos Mostram

Agora vamos aos dados de pesquisa.

Estudos Iniciais (Otimistas)

GitHub (próprio Copilot):
- Desenvolvedores completam tarefas 55% mais rápido
- Metodologia: tarefas isoladas em ambiente controlado

Google (interno):
- 20-30% mais rápido em certas tarefas
- Metodologia: métricas internas selecionadas

Microsoft (interno):
- Ganhos significativos reportados
- Metodologia: surveys de percepção

Estudos Independentes (Realistas)

Bain & Company (2025):
- Ganhos de produtividade "unremarkable" em ambiente real
- Diferença entre lab e produção significativa
- Curva de aprendizado subestimada

Uplevel Research:
- Desenvolvedores com Copilot não mostram
  aumento significativo em PRs mergeados
- Tempo de revisão de código aumentou

GitClear Analysis:
- Código gerado por IA tem mais bugs
- Retrabalho (code churn) aumentou
- "Moved code" vs "new code" inflacionado

Onde IA Realmente Ajuda

Sendo justo, há cenários onde IA é genuinamente útil.

Tarefas Que IA Faz Bem

# 1. Boilerplate code
# Antes: 5 minutos digitando
# Depois: 10 segundos de tab

class UserRepository:
    def __init__(self, db):
        self.db = db

    def create(self, user):
        return self.db.insert('users', user)

    def find_by_id(self, id):
        return self.db.find_one('users', {'id': id})

    def update(self, id, data):
        return self.db.update('users', {'id': id}, data)

    def delete(self, id):
        return self.db.delete('users', {'id': id})

# IA gera isso instantaneamente e corretamente

Testes Unitarios Simples

# IA é excelente para testes básicos
def test_add():
    assert add(2, 3) == 5
    assert add(-1, 1) == 0
    assert add(0, 0) == 0

def test_subtract():
    assert subtract(5, 3) == 2
    assert subtract(3, 5) == -2
    assert subtract(0, 0) == 0

# Gera cobertura básica rapidamente

Conversoes e Transformacoes

# Converter JSON para TypeScript interface
# IA faz em segundos o que levaria minutos

# De:
data = {
    "user": {
        "id": "123",
        "name": "John",
        "email": "john@example.com",
        "roles": ["admin", "user"]
    }
}

# Para:
# interface User {
#   id: string;
#   name: string;
#   email: string;
#   roles: string[];
# }

Onde IA Falha (Muito)

Cenários onde IA mais atrapalha que ajuda.

Logica de Negocio Complexa

# IA não entende contexto de negócio
def calculate_shipping_cost(order, customer, destination):
    """
    IA pode gerar algo que parece correto:
    """
    base_cost = order.weight * 0.5
    if destination.is_international:
        base_cost *= 2
    return base_cost

    """
    Mas ignora:
    - Descontos por volume
    - Acordos específicos com cliente
    - Restrições de certos produtos
    - Impostos por região
    - Promoções ativas
    - Frete grátis para membros
    - etc.

    O código "funciona" mas está errado
    """

Codigo Legado

# IA não conhece seu codebase de 10 anos

# Ela sugere:
def get_user(id):
    return db.query(f"SELECT * FROM users WHERE id = {id}")

# Mas seu sistema usa:
# - ORM customizado da empresa
# - Camada de cache específica
# - Tenant isolation obrigatória
# - Audit logging em toda query
# - Convenções de naming específicas

# Código da IA tecnicamente funciona
# Mas não segue padrões do projeto

Performance e Escala

# IA gera código que funciona, não código que escala

# IA sugere:
def find_duplicates(items):
    duplicates = []
    for i in items:
        for j in items:
            if i == j and items.index(i) != items.index(j):
                duplicates.append(i)
    return duplicates

# O(n²) ou pior - explode com dados reais

# Desenvolvedor experiente:
def find_duplicates(items):
    seen = set()
    duplicates = set()
    for item in items:
        if item in seen:
            duplicates.add(item)
        seen.add(item)
    return list(duplicates)

# O(n) - funciona em produção

O Custo Oculto do Vibe Coding

Ganhos imediatos escondem custos posteriores.

Divida Tecnica Acelerada

Ciclo problemático:

1. Dev usa IA para gerar código rápido
2. Código funciona nos testes básicos
3. Código vai para produção
4. Bugs aparecem em edge cases
5. Debugging leva mais tempo (código não é "seu")
6. Correção cria mais código gerado por IA
7. Dívida técnica acumula

Resultado:
- Velocidade inicial alta
- Manutenção cada vez mais lenta
- Reescritas frequentes

Atrofia de Habilidades

# Preocupação de longo prazo

desenvolvedor_pre_ia = {
    "escreve_algoritmos": True,
    "debugga_sem_ajuda": True,
    "entende_profundamente": True,
    "resolve_problemas_novos": True
}

desenvolvedor_dependente_ia = {
    "escreve_algoritmos": False,  # IA faz
    "debugga_sem_ajuda": False,   # Pede ajuda à IA
    "entende_profundamente": False, # Aceita sugestão
    "resolve_problemas_novos": "???" # Nunca testado
}

# O que acontece quando IA não sabe resolver?

Seguranca

# IA frequentemente gera código inseguro

# IA sugere:
def search_users(query):
    return db.execute(f"SELECT * FROM users WHERE name LIKE '%{query}%'")
# SQL Injection óbvio

# IA sugere:
@app.route('/file/<path>')
def serve_file(path):
    return send_file(f'/data/{path}')
# Path traversal óbvio

# Desenvolvedor sem experiência em segurança
# não reconhece os problemas

A Visao Equilibrada

Nem tudo é ruim. Vamos ao equilíbrio.

Quando Usar IA (Com Sucesso)

Use IA para:
✓ Boilerplate repetitivo
✓ Documentação de código existente
✓ Testes unitários simples
✓ Conversões de formato
✓ Explorar APIs desconhecidas
✓ Prototipar ideias rapidamente
✓ Aprender sintaxe nova

Quando Nao Confiar em IA

Não confie em IA para:
✗ Lógica de negócio complexa
✗ Código de segurança crítica
✗ Otimização de performance
✗ Decisões de arquitetura
✗ Código que precisa de contexto específico
✗ Debugging de problemas sutis
✗ Review final de código

A Proporcao Certa

# Modelo mental saudável

codigo_produtivo = {
    "ia_gera": 0.30,      # 30% gerado por IA
    "humano_revisa": 1.0,  # 100% revisado por humano
    "humano_arquiteta": 1.0, # 100% arquitetado por humano
    "humano_debugga": 0.80  # 80% debugado por humano
}

# IA é ferramenta, não substituto

Como Usar IA Efetivamente

Estratégias que funcionam na prática.

1. Prompt Engineering Importa

Prompt ruim:
"Escreva uma função de login"

Resultado: Código genérico, inseguro, incompleto

Prompt bom:
"Escreva uma função de login em Python/FastAPI que:
- Recebe email e senha via POST
- Valida formato de email
- Usa bcrypt para verificar senha
- Retorna JWT com expiração de 1h
- Faz rate limiting de 5 tentativas por minuto
- Loga tentativas falhas
- Segue OWASP guidelines"

Resultado: Código mais próximo do necessário

2. Itere, Nao Aceite

# Fluxo errado:
# IA sugere → Aceita → Próximo

# Fluxo certo:
# IA sugere → Analisa → Questiona → Melhora → Testa → Aceita

# Exemplo de iteração:
# V1: IA sugere implementação básica
# V2: "Adicione tratamento de erros"
# V3: "Otimize para performance"
# V4: "Adicione logs estruturados"
# V5: "Escreva testes para edge cases"

3. Mantenha Expertise

# Não terceirize pensamento

# Ruim:
# "IA, como eu deveria fazer isso?"

# Bom:
# "Eu vou fazer assim: [plano]. IA, implemente."

# A diferença:
# - No primeiro, você perde capacidade de pensar
# - No segundo, IA executa sua visão

O Futuro Provavel

Para onde isso está indo.

Curto Prazo (2026-2027)

- Ferramentas ficam mais integradas
- Qualidade de sugestões melhora marginalmente
- Mais empresas adotam
- Debate sobre produtividade real continua
- Alguns desenvolvedores ficam dependentes
- Alguns desenvolvedores usam de forma balanceada

Medio Prazo (2028-2030)

- IA entende melhor contexto de codebase
- Integração com documentação e specs
- Sugestões mais arquiteturais
- Ainda requer supervisão humana
- Novos tipos de bugs (IA-induced)
- Novas práticas de code review

O Que Nao Vai Mudar

- Necessidade de entender o problema
- Importância de arquitetura
- Valor de debugging skills
- Comunicação com stakeholders
- Decisões de trade-off
- Responsabilidade pelo código

Conclusao Pratica

A verdade sobre vibe coding está entre os extremos.

Nao E Revolucao Imediata

Claims de "10x produtividade" são exagerados
Ganhos reais são modestos (10-30% em certas tarefas)
Curva de aprendizado existe
Custos ocultos são reais

Tambem Nao E Inutil

IA é genuinamente útil para certas tarefas
Ignorar completamente é desperdício
Uso inteligente dá vantagem
Mas não é magic bullet

A Posicao Sensata

posicao_equilibrada = {
    "use_ia": True,
    "confie_cegamente": False,
    "revise_tudo": True,
    "mantenha_skills": True,
    "adapte_workflow": True,
    "meça_resultados": True
}

# IA é ferramenta poderosa nas mãos de
# desenvolvedor competente

# IA é risco nas mãos de
# desenvolvedor que não entende o código

Vibe coding pode ser parte do seu toolkit. Mas seu cérebro ainda é a ferramenta principal.

Se você quer entender mais sobre como a IA está impactando a carreira de desenvolvedores, recomendo dar uma olhada em outro artigo: A Crise dos Desenvolvedores Juniores onde exploramos os impactos no mercado de trabalho.

Bora pra cima! 🦅

Comentários (0)

Esse artigo ainda não possui comentários 😢. Seja o primeiro! 🚀🦅

Adicionar comentário