1 pontos por GN⁺ 6 시간 전 | 1 comentários | Compartilhar no WhatsApp
  • Mesmo que um projeto seja concluído com IA generativa, se quem pediu e quem de fato produziu forem diferentes, é difícil obter a sensação de realização de “eu fiz isso”
  • Prompts exigem visão, julgamento, comunicação e técnica, mas estão mais próximos de uma habilidade de encarregar outro ser da produção do que da técnica de fazer diretamente
  • Um sistema de flashcards em espanhol com 177 linhas, escrito diretamente, levou cerca de 50 vezes mais tempo que o Claude, mas trouxe mais orgulho do que qualquer código feito por IA
  • Enquanto compiladores, assemblers e martelos parecem ferramentas do criador, uma IA que responde à linguagem humana parece alguém recebendo instruções, o que embaralha a fronteira entre ferramenta e agente que produz por procuração
  • Gerar algo com IA também pode ser um ato criativo, mas concluir um resultado e fazer algo diretamente não são equivalentes em satisfação pessoal, e essa fronteira também é difícil de definir com clareza

A sensação de realização que o desenvolvimento com IA está mudando

  • Desenvolvedores que usam IA generativa e LLMs vivenciam mudanças contraditórias ao mesmo tempo
    • Podem perder o artesanato de programar à mão, a resolução de problemas de baixo nível e a diversão
    • Podem ganhar mais resolução de problemas em alto nível, concluir projetos adiados e encontrar uma nova forma de diversão
  • Além desses ganhos e perdas, a questão central é: é possível sentir que você mesmo fez algo que a IA concluiu no seu lugar?
  • O texto parte da experiência de um desenvolvedor que programa desde a era dos microcomputadores dos anos 1980, trabalhou 20 anos no setor e hoje ensina ciência da computação
    • Na escala entre utopia da IA e ruína total, ele se avalia como 65% inclinado para a ruína
    • Usa Claude Code enquanto continua programando diretamente também

A “versatilidade” montada com resultados de IA

  • Na introdução aparecem vários resultados que parecem ter sido feitos diretamente pelo autor
    • O romance de ficção científica The Vorrkai Interval, com cenas de batalha
    • A xilogravura em tons pastéis Mirrors of the Machine
    • Um novo deck de entrada em cedro
    • Código de um roguelike de aventura em TUI escrito em Rust
  • Na realidade, o romance, a imagem e o código foram gerados por IA, e o deck foi construído por profissionais experientes pagos para isso
  • Como o papel do autor foi iniciar a produção e transmitir os requisitos, ele se sente desconfortável em dizer que fez esses resultados

Por que é difícil dizer “eu fiz”

  • No caso do deck construído por outras pessoas, ele considera mais correto distinguir entre “eu instalei” e “eu mandei instalar”
  • Da mesma forma, sobre código gerado pelo Claude, ele prefere dizer não “eu fiz”, mas “eu fiz fazer para mim
    • Por se sentir desconfortável em colocar a licença MIT com seu próprio nome em algo gerado por IA sem relação de emprego, ele usa a Unlicense
  • Mesmo quando trabalhava como gestor, dizia “nosso time fez o produto”, não “eu fiz o produto”; se tivesse gerido LLMs, diria “meus agentes fizeram”
  • Concluir um projeto em si é bom, mas quando algo iniciado por ele é finalizado por outros, a satisfação é muito menor do que ao produzir diretamente
  • O que se perde não é apenas habilidade de programação ou a diversão de resolver problemas, mas a própria experiência de fazer algo com as próprias mãos

O flashcard de 177 linhas feito à mão

  • A esposa pediu um sistema simples para estudar espanhol, em que pudesse colocar as palavras desejadas em uma planilha e vê-las como flashcards
  • Ele assumiu a implementação diretamente e instruiu o Claude a não gerar o código, perguntando apenas informações básicas, como a forma mais fácil de buscar dados do Google Sheets
    • Usou o endpoint CSV do Google Sheets
    • Escreveu 4 arquivos e 177 linhas no total: 112 de JavaScript, 33 de CSS e 32 de HTML
  • Levou cerca de 50 vezes mais tempo do que levaria com o Claude, mas ele pode colocar seu nome nisso e dizer que fez diretamente
  • Mesmo não sendo um código grande nem revolucionário, ele sente muito mais orgulho disso do que de qualquer código escrito pelo Claude
  • Assim como a esposa, que iniciou a demanda, não diria que escreveu o sistema de flashcards, quem pede algo não é automaticamente quem o produz

Escrever prompts como uma habilidade separada

  • Um prompt eficaz exige contribuição humana clara
    • É preciso aplicar visão
    • É preciso julgar o resultado
    • É preciso ter capacidade de comunicação e de escrita de prompts
  • Nem todos os prompts nem todos os usuários de IA têm a mesma eficiência, então prompting também envolve uma habilidade importante
  • Ainda assim, isso está mais próximo da capacidade de pedir com eficácia que algo seja feito como você quer do que da capacidade de produzir diretamente
  • Fazer prompting para software também parece mais delegar a produção a outro ser do que criar software diretamente

A zona cinzenta entre compilador e IA

  • Ao escrever um programa em C ou Rust, ninguém escreve diretamente o código de máquina que realmente será executado, mas ainda assim a pessoa sente que foi ela quem escreveu o programa
  • A conversão de código C para código de máquina se parece mais com um processo matematicamente preciso, mas ainda deixa algumas dúvidas
    • Clang e GCC geram instruções diferentes, então o resultado não é determinado de forma rigorosamente única
    • O código C é portável mesmo que o código de máquina varie conforme a plataforma
    • Mesmo que algo tenha sido compilado só no Linux, ainda faz sentido dizer que foi você quem escreveu o programa que roda no Windows
  • Ao pedir ao Claude para converter um programa C recursivo de Fibonacci em assembly x86_64 Linux, ele gerou código que podia ser compilado e executado
    • A saída mostrava corretamente a sequência de Fibonacci de 0: 0 até 9: 34
    • Também usava XOR para definir o status de saída 0
  • Como o código C original foi escrito diretamente por ele, ele sente que o programa é dele, mesmo que o assembly tenha sido gerado pelo Claude
  • A conversão de assembly para código de máquina é um processo rígido e não inteligente, então isso parece uso de ferramenta que não toma para si o ato de produzir, como usar um martelo para pregar um prego

O critério que separa ferramenta e agente produtor por procuração

  • Entre as coisas feitas diretamente estão escrever código C e executá-lo, martelar um prego e usar um assembler para transformar assembly em código de máquina
  • Entre as coisas delegadas a outros por meio de instruções estão escrever software, construir um deck e produzir uma imagem
  • Ele não sente que desenhou uma imagem gerada pelo ChatGPT, mas também não tem a sensação de estar pedindo a um martelo ou a um compilador que façam algo em seu lugar
  • O caso de pedir ao Claude para compilar código C atravessa as duas categorias
    • Pode ser visto como executar um código C escrito diretamente
    • Também pode ser visto como pedir a uma IA que escreva software
    • O mesmo resultado também poderia ser gerado apenas com uma solicitação em inglês
  • Como a IA entende linguagem humana imprecisa e responde de forma parecida com a humana, ela pode parecer mais uma relação entre gestor e subordinado do que algo como um compilador ou um martelo
  • Se você pedisse a um martelo com IA embutida para pregar um prego, mesmo participando do processo criativo, seria difícil dizer que você mesmo martelou
  • Quanto mais se observa essa zona cinzenta, mais forte fica a ideia de que encarregar a IA da produção também pode ser um ato criativo; ainda assim, a fronteira do que pode ser chamado de “eu fiz” continua indefinida

A contribuição real colocada nos resultados

  • Para a cena de ficção científica, foi usado um prompt pedindo três parágrafos e um título de romance em que um herói e dois refugiados ficam presos sob ataque de lasers inimigos e depois encontram uma saída
  • Para a imagem, foi pedido que dois hackers com aparência de magos, voltados um para o outro e concentrados em computadores, fossem retratados em xilogravura com cores pastéis, usando em cada lado cores opostas, mas complementares
  • Para o jogo, foi pedido um jogo de fantasia em TUI semelhante a Ultima I
    • Foram solicitados 3×3 caracteres por célula do mapa, 7×7 células de mapa por tela e animação de água
    • Também incluía mundo procedural com base em Perlin noise, monstros predefinidos com movimento aleatório e atributos no estilo D&D
    • Foi pedido um jogador comum sem classe, implementação em Rust e Ratatui, e separação entre UI e lógica do jogo
  • No trabalho de marcenaria, ele pediu “troque o deck da entrada”, mas de fato pregou pessoalmente um dos pregos de um pedaço de madeira necessário para a foto de abertura
  • O em dash usado no texto foi uma escolha intencional, e o digraph do Vim é ^K-M

1 comentários

 
GN⁺ 6 시간 전
Opiniões do Hacker News
  • Mesmo que eu não tenha escrito uma única linha de código diretamente com um LLM, ainda posso sentir orgulho do resultado que criei
    Não pretendo me gabar de ser um ótimo programador, mas programar sempre foi, antes de tudo, um meio para criar um produto acabado
    É como sentir satisfação com um jardim que imaginei, mesmo sem tê-lo construído pessoalmente e tendo contratado uma empresa de paisagismo
    O editor de tablatura de guitarra feito com vibe coding resolve um problema real com recursos que outros softwares não têm, e eu nunca teria conseguido criá-lo sem IA enquanto conciliava trabalho, família e hobbies

    • Também fico em dúvida se posso dizer que “criei” um cheeseburger que pedi no restaurante na semana passada tirando a alface e adicionando cebola, já que ele não existiria sem o meu pedido
      Também dizemos que fizemos algo quando montamos um sanduíche de pasta de amendoim com geleia sem muita criatividade, e o mesmo vale quando usamos ferramentas como uma serra circular no lugar de fazer tudo à mão
      Mas há diferença entre baixar Articulated dragon.stl da web e apenas apertar imprimir, e projetar algo você mesmo antes de imprimir
      Operar uma CNC e uma impressora 3D também exige conhecimentos e habilidades diferentes do trabalho manual, mas, conforme as ferramentas ficam mais fáceis, a fronteira vai ficando nebulosa
      Mesmo sem uma linha clara, isso fica em algum ponto entre “novas ferramentas são trapaça, então faça tudo à mão” e “pedir um sanduíche e esperar”
    • A lógica de “não existiria se não fosse por mim” é difícil de sustentar
      Se você delegou o projeto a outra pessoa, talvez possa dizer que o gerenciou ou desenhou parte dele, mas é difícil levar o crédito por tê-lo executado diretamente
      Mesmo sem ter feito a produção em si, ainda dá para sentir bastante orgulho de ter dado a direção e a visão para resolver o problema
    • A expressão “eu fiz” é um conceito que deveria ficar reservado ao ato de enfiar as próprias mãos no barro sujo, e há uma diferença própria entre isso e outras abordagens focadas apenas em obter o resultado
    • making tem um sentido mais forte de fazer algo direta e ativamente, enquanto producing tem um sentido mais forte de supervisionar e coordenar
      Essa diferença ficou mais clara para mim quando comecei a trabalhar com produtores em desenvolvimento de jogos
    • Foi feito com LLM, não foi feito diretamente por você
  • Recentemente, side projects cujas partes principais foram escritas com Claude faziam o que eu queria, mas ainda assim eu sentia uma desconexão estranha com o resultado, e isso me fez pensar em como devo usar IA no meu tempo livre
    Um compilador produz resultados determinísticos e consistentes a partir de instruções precisas, mas Claude infere instruções menos precisas do que código, gera resultados diferentes a cada vez, inclui comportamentos não solicitados e toma decisões no lugar do usuário
    Dá para instruí-lo rigidamente com grandes especificações em Markdown ou testes detalhados, mas, se vou gastar tempo escrevendo tudo isso, talvez a diferença para programar eu mesmo não seja tão grande
    A IA é excelente para destravar problemas ou explicar conceitos de forma personalizada, mas, no momento em que você delega decisões a ela, o resultado passa a ser priorizado acima da criação
    Side projects feitos por amor ao ato de criar em si estão mais próximos da arte do que do produto, então a IA pode servir para produto, mas não para arte

  • No campo da tecnologia, há pessoas que gostam de detalhes e pessoas que gostam de sistemas, e quem tem uma orientação voltada a sistemas pode achar LLMs divertidos e satisfatórios, enquanto quem é voltado a detalhes pode sentir o oposto
    Um conhecido que ficou famoso por visão computacional anterior às redes neurais disse que, no passado, resolveu muitas coisas pela primeira vez, mas agora a maior parte do desenvolvimento de software virou um trabalho de montar coisas que já conhecemos, o que ele considera entediante
    Parece que os LLMs aceleram ainda mais essa tendência

    • Gosto mais de matemática do que de tecnologia, e gosto especialmente de reduzir problemas a equações simples ou projetar algoritmos sem nem tocar no teclado
      Fazer um LLM despejar scripts parece, para mim, algo parecido com preencher um sudoku com números aleatórios até o app dizer que está certo
    • Andrej Karpathy também disse que “programar com LLM vai principalmente separar os engenheiros que gostavam de programar dos engenheiros que gostavam principalmente de construir coisas”
    • Como alguém orientado a sistemas, é difícil transmitir para quem é orientado a detalhes como combinações de componentes que surgem quase como mágica, e às vezes são difíceis de entender, podem levar a resultados interessantes e prazerosos
    • Para quem valoriza qualidade, pode ser decepcionante ver que, em alguns contextos, os LLMs sacrificam até o último compromisso com a qualidade em nome de quantidade e velocidade
  • Não quero ver submissões geradas por LLM no Hacker News
    Era divertido ver a originalidade humana sendo realmente aplicada, mesmo quando o produto não era um sucesso
    Assim como eu não assisto xadrez sendo jogado entre computadores, preciso de uma forma fácil de distinguir e evitar software e arte feitos por IA

  • A diferença está no grau em que se pode raciocinar sobre como mudanças na entrada afetam o comportamento observável da saída
    Se um executável gerado por compilador não funciona como eu queria, em 99,99% dos casos a responsabilidade é minha, e eu consigo prever o resultado a partir do código-fonte e também analisar o mau funcionamento
    Entre um programa de vibe coding e o prompt gerador, não existe uma relação comparável a essa

    • Mesmo que exista um LLM com confiabilidade de 99,99%, isso ainda não faria eu voltar ao estado de estar construindo diretamente com as próprias mãos
      Se um robô cortador de grama totalmente autônomo fez o trabalho corretamente, então foi o robô que cortou a grama; mas, se eu subi nele para dirigir ou o controlei com um joystick, fui eu que cortei
      Quem decide onde cortar é o que determina o senso de posse
    • Quando você faz algo diretamente, entende de forma concreta por que o resultado tomou aquela forma e também passa a ter critérios de julgamento próprios
      Mesmo em projetos de vibe coding, o nível de senso de posse varia de acordo com a profundidade de atenção e entendimento investida neles
    • O ponto central parece ser a diferença entre ter controle sobre o processo e ter controle sobre o resultado
      Algumas pessoas só decidem quando começar o processo e se o resultado é bom ou ruim, mas não têm capacidade de julgar a execução em si e apenas confiam que o criador lidou bem com todos os elementos subordinados
      Um compilador quase sempre transforma um programa no binário correto e, se falhar, avisa com clareza; como a responsabilidade pela correção do algoritmo é do usuário, a fronteira fica clara
      Já a fronteira de responsabilidade do LLM é pouco clara, e ele não consegue lidar de forma confiável com todos os elementos que não foram explicitados no prompt
      Isso também é diferente de uma colaboração humana, em que, se você pedisse a um pintor profissional para desenhar o Batman, não precisaria verificar até o número de dedos do pé ou de braços
  • Tenho usado LLM porque é mais rápido, mas deixei de ter a mesma diversão de antes
    Velocidade não precisa sempre vir antes da diversão, e preciso aprender a me concentrar de novo sem tratar escrever diretamente como algo “ineficiente”
    Quero recuperar a sensação de quando eu programava de madrugada aos 13 anos, e os textos do Beej sempre me impressionam

    • O guitarrista Steve Vai disse que o processo de aprender e fazer com as próprias mãos dá dignidade e autoestima
      Quando texto, código ou música são feitos só com prompts, é exatamente esse processo que desaparece
  • Por cerca de dois meses, não tive vontade nem de ver TV, quanto mais fazer qualquer coisa além de beber, mas depois de algumas semanas sem beber parece que a vontade de criar está voltando aos poucos
    Eu vinha projetando e construindo minhas próprias câmeras e pequenos robôs autônomos, e finalmente consertei a câmera que quebrou depois de ficar rolando dentro do carro
    Acabei perdendo o interesse depois de fazer vídeos com cada lente vintage de montagem C, e só sobraram uma caixa de lentes e câmeras que viraram enfeite, mas foi graças a esses projetos de hardware que consegui dois empregos como engenheiro de software
    Quando digo “eu fiz isso” sobre um projeto em que o Claude Code gerou o código, o respeito costuma cair na hora, mas no fim dinheiro e liberdade são o que importa, e eu também quero garantir minha liberdade para depois fazer o que gosto

    • É melhor não se pressionar demais
      Se ainda não verificou, também pode valer a pena considerar a possibilidade de ADHD ou outros fatores
      Seres humanos não são máquinas, e sim seres biológicos complexos, então entender suas próprias características ajuda muito a voltar a se mover na direção certa
  • Nos trabalhos que deixei com a IA recentemente, tenho dificuldade até para lembrar dos detalhes gerais, enquanto uma base de código com mais de 100 mil linhas que escrevi anos atrás ainda consigo acompanhar na cabeça em grande parte

    • Quando vejo um projeto em que colaborei há 10 anos, consigo distinguir quem escreveu qual parte, onde estavam as armadilhas e o que deu trabalho, mesmo sem lembrar da cena real do trabalho
      Mas um projeto feito com IA há apenas 2 semanas fica como um bloco nebuloso de “alguém escreveu prompts e saiu código”
  • Na época em que eu era estudante da OSU, aprendendo sozinho programação de sistemas prática, eu consultava o Beej's Guide to Network Programming todos os dias
    Eu lamentava que esse site gratuito fosse muito mais útil que uma universidade cara, e agora saber que o Beej dá aula na OSU é um ciclo incrível e uma ótima contratação

    • No ano que vem vou assumir duas disciplinas de engenharia de software e pretendo praticamente descartar o conteúdo atual para reorganizar tudo do zero
      Quero focar em design em nível de sistema, uso ativo de IA, e projetos e equipes maiores
      Aprender a programar continua sendo essencial, mas as competências de engenharia de software que antes eram adquiridas no trabalho agora precisam aparecer mais cedo na formação
      Também fico pensando que teria sido melhor se a chegada dos LLMs tivesse atrasado uns 15 anos
  • Le Corbusier e Frank Lloyd Wright não construíam os edifícios com as próprias mãos, mas os projetavam, e essas obras são reconhecidas sem dúvida como deles
    Steve Jobs também não projetava placas de circuito nem programava, mas criou o Mac, o iPod e o iPhone, e os pintores da Renascença também mantinham oficinas onde aprendizes trabalhavam
    Criar software é mais do que escrever código: é entender o mercado e as necessidades, criar marketing e textos, decidir o que fazer e o que descartar, e imaginar a forma final
    Os artesãos que construíram a casa de Wright podem se orgulhar de terem feito o telhado, as paredes e a cachoeira, mas a casa como um todo claramente é de Wright
    O lamento atual está mais próximo de um legítimo medo da perda do monopólio técnico
    Isso pode mudar como aconteceu quando móveis feitos à mão foram substituídos pela IKEA e marceneiros qualificados passaram a focar no mercado de luxo, mas há a diferença de que os clientes da programação são principalmente empresas, e o critério de aprovação é binário: “funciona ou não?”