19 pontos por spilist2 2025-05-16 | 4 comentários | Compartilhar no WhatsApp

Vibe coding = terceirizar para a IA

Vibe coding é, em essência, terceirizar o desenvolvimento de um programa para a IA.

Pensando na experiência de terceirização de desenvolvimento, bons contratantes costumam fazer bem estas coisas:

  1. Definir o trabalho para resolver o meu problema
  2. Comunicar isso de forma que o desenvolvedor entenda bem
  3. Fornecer os recursos necessários para criar bem o programa
  4. Validar se o programa criado realmente executa o trabalho como pretendido
  5. Durante esse processo, aprender com o desenvolvedor aquilo que não sabe, para aos poucos conseguir fazer por conta própria

Trazendo isso para a perspectiva de quem faz vibe coding:

  1. Definir o PRD e o fluxo do usuário
  2. Usar bons prompts e instruções (como Cursor Rules)
  3. Perceber pontos que se desviam da intenção e executar testes automatizados
  4. Aprender nesse processo trocando ideias com a IA

Então, e o item 3? Isso pode ser pensado em dois aspectos do programa:

  • Primeiro, o programa precisa ser executado em algum lugar. → Definir o ambiente de execução e implantação
  • Segundo, o programa é um bloco de código que “processa entradas e gera saídas”. → Fornecer dados e APIs

Um programa precisa ser executado

  • Em terceirização de desenvolvimento, a responsabilidade do desenvolvedor normalmente vai até a implementação do código, e a responsabilidade por deploy e operação fica com quem contratou
    • Em vez disso, o desenvolvedor fornece um guia para que o contratante consiga executar esse programa
  • Como contratante de um serviço terceirizado, se você informar à IA o ambiente onde o código deve rodar e ser implantado, ela faz isso muito bem.
    • Isso é ainda mais verdade especialmente para código que roda no navegador web
  • Antigamente, até scripts muito simples como 'remover parte da sintaxe de um documento Markdown com expressão regular' não eram fáceis para não desenvolvedores executarem ou implantarem
  • Agora, com Claude Artifacts ou Gemini Canvas, dá para criar e executar rapidinho um pequeno programa próprio. Se quiser que outras pessoas também usem, é só criar e publicar no Lovable, e tudo isso pode ser feito de graça em instantes
  • Vibe coding não significa necessariamente criar um “app”. Se for um programa que resolve meu problema e reduz trabalho repetitivo, tanto faz se é app, script, GPTs ou prompt

APIs que tornam programas mais úteis

  • Mas programas pequenos têm limitações
    • O removedor de Markdown não tem banco de dados, API nem LLM conectados
    • Por isso, o texto de entrada precisa ser digitado manualmente pelo usuário, e o texto gerado também precisa ser copiado e colado manualmente em outro lugar
  • E se o objetivo do usuário fosse “refinar um texto escrito no Notion e publicá-lo nas redes sociais”?
    • Entrada: inserir apenas o link da página do Notion
    • Processamento: pegar o texto, enviar para um LLM para resumir de forma adequada para redes sociais e remover a sintaxe Markdown
    • Saída: revisar o texto e, ao aprovar, publicá-lo automaticamente na minha conta de rede social
  • Em troca de abrir mão de tempo de resposta rápido e de generalidade, isso reduziria bastante o tempo e a energia gastos pelo usuário nessa tarefa. Ou seja, para um objetivo específico, o programa se tornaria mais “útil”
  • No fim, a utilidade de um programa depende de quanto ele reduz o trabalho que o usuário precisa fazer diretamente nos aspectos de entrada/processamento/saída
    • Automatizando a entrada
    • Tornando o processamento mais complexo
    • Automatizando a saída
  • Em programas comuns, via API (ou seja, conectando-se a outros programas), é possível automatizar entradas e saídas e realizar processamentos mais sofisticados
    • Entrada: obter permissão do Notion e chamar a API do Notion para buscar o conteúdo da página
    • Processamento: enviar o conteúdo da página do Notion para a API de LLM junto com um prompt de sistema e receber uma resposta adequada para redes sociais
    • Saída: obter permissão do Threads e chamar a API da rede social para publicar o texto
  • Porém, criar isso não é algo tão fácil nem mesmo para desenvolvedores experientes. Principalmente porque a concessão de permissões é complicada
  • Dá para tornar isso mais fácil?

Ferramentas de automação e MCP que assumem a parte difícil da integração com APIs

  • Se você usar ferramentas de automação como Zapier e Make, não precisa integrar APIs diretamente
    • Exemplo: quando um novo item é adicionado a um banco de dados do Notion -> roda o ChatGPT -> faz upload no Instagram com um Zap
  • Originalmente, para chamar a API de publicação do Instagram, seria preciso criar um app dedicado e até passar por revisão
  • No Zapier ou no Make, o app para upload no Instagram já foi criado, e todo o fluxo para obter permissões e trocar dados já está implementado. Não preciso me preocupar com o problema complicado das permissões
  • Porém, para algumas pessoas, até montar esse tipo de fluxo “isso depois aquilo” pode ser difícil e incômodo; e é aí que entram coisas como MCP/A2A, que permitem fazer tudo isso por meio de um chatbot com LLM
  • Assim como programas comuns passaram a fazer mais do que lógica simples por meio de APIs, o programa chamado chatbot com LLM também passa, via MCP, a se conectar a outros programas e realizar mais do que simples saídas de texto/imagem/voz
    • Isso significa que no Claude passa a ser possível algo como “pegue minha página do Notion, resuma e depois publique no Instagram”
  • Claro, para isso é preciso conectar os servidores MCP adequados (Notion, Instagram) ao cliente MCP (Claude)
    • O papel mais importante de um servidor MCP é chamar APIs no lugar do usuário por meio de tools; o Notion já tem servidor MCP oficial, mas o Instagram não
    • Então como o Claude vai chamar a API do Instagram?
  • É aí que o Zapier aparece de novo. Por meio do servidor MCP oferecido pelo Zapier ou pelo Make, é possível fazer upload no Instagram
  • Em outras palavras, conectar a um chatbot com LLM uma ferramenta de automação (que já tem muitas integrações prontas) via MCP torna tudo muito poderoso

O potencial e os limites do MCP

  • Mas, olhando por esse lado, pode surgir a pergunta: por que usar MCP?
    • Porque quase tudo o que hoje dá para fazer com chatbot + MCP também pode ser feito com ferramentas de automação
  • Ainda assim, o autor sente que o potencial do MCP é enorme por três motivos:
    1. Interface conveniente (um chatbot assistente que faz tudo sozinho não seria o programa definitivo?)
    2. É mais conveniente para o usuário intervir em tarefas sensíveis
    3. Além de automatizar tarefas que precisam ser feitas no meu PC local, como controle do sistema de arquivos e do navegador, também pode fornecer mais informações, como recursos e templates de prompt
  • Também há muitos pontos aos quais prestar atenção ao usar MCP
    • Quanto mais coisas você entrega ao MCP, mais precisa se preocupar com segurança. Por isso, um servidor MCP remoto oficial é mais seguro do que um local
    • Se você der ferramentas demais ao MCP do LLM, pode ser que a ferramenta desejada não seja executada; além disso, como todas as definições de tools vão para os tokens de entrada, o custo e o tempo da chamada ao LLM também aumentam
    • A aleatoriedade característica dos LLMs também deve sempre ser tratada com cuidado em serviços comerciais
  • No fim, conectar APIs ao meu programa, desenhar fluxos de automação ou acoplar MCP a um chatbot com LLM são variações da mesma ideia: “faça meu trabalho por mim”
  • Não há motivo para se estressar porque palavras-chave como Make e MCP estão em alta. O importante é criar, da forma que for mais confortável para você e entendendo os prós e contras de cada abordagem, um programa que faça o seu trabalho por você

Resumo

  • Vibe coding é terceirizar para a IA o desenvolvimento de um programa.
  • Se ele executar bem o meu trabalho, então webapp, snippet de código e prompt podem todos ser programas úteis.
  • Para um programa se tornar mais útil, ele precisa de conexões com APIs para automatizar entradas e saídas e realizar processamentos mais sofisticados.
  • Ferramentas de automação resolvem a dificuldade da conexão com APIs no seu lugar.
  • O programa chamado chatbot com LLM também pode se tornar mais útil por meio da conexão com MCP. Em especial, conectar servidores MCP fornecidos por ferramentas de automação é algo poderoso.
  • Não é preciso usar apenas API, automação ou MCP isoladamente; misturar os três pode torná-los mais simples e mais poderosos (ex.: conectar apenas o MCP do Notion ao Claude e configurar no Zapier um fluxo de Notion para Instagram para automatizar a publicação)
  • Considerando os prós e contras, vamos criar (com a ajuda da IA) um programa que resolva os nossos problemas da forma mais adequada para cada um

4 comentários

 
iolothebard 2025-05-17

Com algo no nível de vibe coding, não dá para chamar de terceirização. Na terceirização, a validação é feita por projeto, mas os agentes de codificação com IA de hoje ainda precisam ser validados em unidades menores de tarefa.

Se fosse terceirização, eu deveria poder delegar o trabalho e cuidar de outras coisas... mas, por enquanto, ainda é preciso acompanhar de perto com muita frequência. Como um desenvolvedor júnior inteligente, mas desajeitado...

Em breve... talvez, mesmo que ainda não chegue a ser terceirização, dê para trabalhar como se fosse uma pequena equipe de desenvolvimento... é o que eu penso. Dar instruções, revisar com frequência, corrigir... mas ainda não parece estar nesse nível.

Talvez isso aconteça porque me falta "vibe"...

 
ifmkl 2025-05-16

Ao ver este post https://tech.kakao.com/posts/700, senti que era um bom exemplo de Vibe Coding, e acho que o contexto é parecido. Eu também concordo com o que você escreveu.

 
spilist2 2025-05-16

Graças a isso, li um texto interessante! Obrigado.

 
spilist2 2025-05-16

Então, e o 3? -> É sobre o suporte a recursos.

Numerei acima como 1, 2, 4 e 5, mas no Markdown acabou mudando automaticamente para 1234.