1 poin oleh GN⁺ 5 jam lalu | 1 komentar | Bagikan ke WhatsApp
  • Meski sebuah proyek diselesaikan dengan AI generatif, jika orang yang meminta dan pihak yang benar-benar membuatnya berbeda, sulit untuk mendapatkan rasa pencapaian bahwa “aku yang membuatnya”
  • Prompt membutuhkan visi, penilaian, komunikasi, dan keterampilan teknis, tetapi lebih dekat ke keterampilan menyerahkan pembuatan kepada entitas lain daripada keterampilan membuat langsung
  • Sistem flashcard bahasa Spanyol 177 baris yang ditulis sendiri memakan waktu sekitar 50 kali lebih lama daripada Claude, tetapi memberi kebanggaan yang lebih besar daripada kode apa pun yang dibuat AI
  • Compiler, assembler, dan palu terasa seperti alat pembuat, sedangkan AI yang merespons bahasa manusia tampak seperti orang yang diberi instruksi, sehingga mengaburkan batas antara alat dan pembuat perwakilan
  • Pembuatan melalui AI juga bisa menjadi tindakan kreatif, tetapi menyelesaikan hasil akhir dan membuatnya sendiri tidak sama dalam hal kepuasan pribadi, dan batasnya pun sulit didefinisikan dengan jelas

Rasa pencapaian yang diubah oleh pengembangan AI

  • Developer yang menggunakan AI generatif dan LLM mengalami dua perubahan yang bertolak belakang sekaligus
    • Bisa kehilangan craftsmanship dalam coding manual, pemecahan masalah level rendah, dan kesenangannya
    • Pemecahan masalah level tinggi bertambah, proyek yang tertunda bisa diselesaikan, dan kesenangan baru juga bisa muncul
  • Di luar untung-rugi ini, pertanyaan utamanya adalah apakah seseorang bisa merasa bahwa hasil yang diselesaikan AI atas namanya adalah buatannya sendiri
  • Berangkat dari pengalaman seorang developer yang mulai coding sejak era mikrokomputer 1980-an, bekerja di industri selama 20 tahun, dan kini mengajar ilmu komputer
    • Pada skala utopia AI hingga kehancuran, ia menilai dirinya 65% condong ke arah kehancuran
    • Ia menggunakan Claude Code sambil tetap melakukan coding sendiri

‘Keserbabisaaan’ yang dihias dengan hasil AI

  • Bagian pembuka menampilkan beberapa hasil yang tampak seperti dibuat sendiri
    • Novel SF berisi adegan pertempuran, The Vorrkai Interval
    • Cetak kayu bernuansa pastel, Mirrors of the Machine
    • Dek teras depan baru dari kayu cedar
    • Kode roguelike petualangan TUI yang ditulis dengan Rust
  • Kenyataannya, novel, gambar, dan kode tersebut dibuat oleh AI, sedangkan dek dikerjakan oleh tukang terampil yang dibayar
  • Peran penulis adalah memulai pembuatan dan menyampaikan kebutuhan, sehingga terasa tidak nyaman untuk mengatakan bahwa semua hasil itu ia buat sendiri

Mengapa sulit mengatakan ‘aku yang membuatnya’

  • Untuk dek yang dikerjakan orang lain, ia merasa lebih tepat membedakan “aku menyuruhnya dipasang” daripada “aku memasangnya”
  • Kode yang dibuat Claude juga ia ungkapkan bukan sebagai “aku yang membuatnya”, melainkan “aku menyuruhnya membuatkan untukku
    • Ia juga tidak nyaman menempelkan lisensi MIT atas nama sendiri pada hasil buatan AI yang bukan hubungan kerja, sehingga menggunakan Unlicense
  • Saat bekerja sebagai manajer pun, ia mengatakan “tim kami yang membuat produk itu”, bukan “aku yang membuatnya”; jika ia mengelola LLM, ia akan mengatakan “agen-agen saya yang membuatnya”
  • Menyelesaikan proyek itu sendiri memang menyenangkan, tetapi jika proyek yang ia mulai diselesaikan orang lain, kepuasannya jauh lebih kecil dibanding membuatnya langsung
  • Yang hilang bukan hanya keterampilan coding atau kesenangan memecahkan masalah, melainkan pengalaman membuat sesuatu secara langsung

Flashcard 177 baris buatan tangan

  • Istrinya meminta sistem belajar bahasa Spanyol sederhana yang memungkinkan ia memasukkan kata yang diinginkan ke spreadsheet lalu melihatnya sebagai flashcard
  • Implementasinya ia kerjakan sendiri, dan ia menginstruksikan Claude untuk tidak membuat kode; ia hanya menanyakan informasi dasar seperti cara termudah mengambil data dari Google Sheets
    • Menggunakan endpoint CSV Google Sheets
    • Menulis 4 file dengan total 177 baris: JavaScript 112 baris, CSS 33 baris, HTML 32 baris
  • Meski memakan waktu sekitar 50 kali lebih lama dibanding jika dibuat Claude, ia bisa mencantumkan namanya dan mengatakan bahwa ia membuatnya sendiri
  • Walau bukan kode berskala besar atau terobosan, ia merasakan kebanggaan yang jauh lebih besar daripada kode apa pun yang ditulis Claude
  • Seperti istrinya yang memulai permintaan tidak mengatakan bahwa ia menulis sistem flashcard itu, pihak yang meminta tidak otomatis menjadi pembuat

Keterampilan tersendiri bernama menulis prompt

  • Prompt yang efektif jelas membutuhkan kontribusi manusia
    • Harus menerapkan visi
    • Harus menilai hasil
    • Harus memiliki kemampuan komunikasi dan penulisan prompt
  • Tidak semua prompt dan pengguna AI sama efisiennya, jadi prompting juga memiliki keterampilan penting
  • Namun ini lebih dekat ke kemampuan meminta agar hal yang diinginkan dibuat secara efektif daripada kemampuan membuat langsung
  • Prompting perangkat lunak pun terasa lebih seperti menyerahkan pembuatan kepada entitas lain daripada tindakan membuat perangkat lunak secara langsung

Area abu-abu antara compiler dan AI

  • Saat menulis program C atau Rust, ia tidak menulis sendiri bahasa mesin yang benar-benar dijalankan, tetapi tetap merasa bahwa ia menulis programnya
  • Transformasi dari kode C ke bahasa mesin lebih mirip proses matematis yang presisi, tetapi masih menyisakan beberapa pertanyaan
    • Clang dan GCC menghasilkan instruksi yang berbeda, jadi hasilnya tidak ditentukan secara ketat menjadi satu saja
    • Meski bahasa mesin berbeda di tiap platform, kode C bersifat portabel
    • Walau hanya membangun di Linux, ia tetap bisa dianggap menulis program yang berjalan di Windows
  • Ketika Claude diminta mengubah program C Fibonacci rekursif menjadi assembly x86_64 Linux, ia menghasilkan kode yang bisa dibangun dan dijalankan
    • Output menampilkan deret Fibonacci yang benar dari 0: 0 hingga 9: 34
    • Ia juga menggunakan XOR untuk menetapkan status keluar 0
  • Karena kode C aslinya ditulis sendiri, meskipun assembly dibuat Claude, ia tetap merasa program itu ditulis olehnya
  • Transformasi dari assembly ke bahasa mesin adalah proses yang ketat dan tidak cerdas, sehingga diterima sebagai penggunaan alat yang tidak merampas tindakan membuat, seperti menggunakan palu saat memaku

Kriteria yang memisahkan alat dan pembuat perwakilan

  • Hal yang dilakukan sendiri mencakup menulis kode C lalu menjalankannya, memaku dengan palu, dan mengubah assembly menjadi bahasa mesin dengan assembler
  • Hal yang didelegasikan lewat instruksi kepada orang lain mencakup penulisan perangkat lunak, pembangunan dek, dan pembuatan gambar
  • Ia tidak merasa menggambar gambar yang dibuat ChatGPT, tetapi pada palu atau compiler tidak ada sensasi meminta sesuatu dilakukan sebagai pengganti dirinya
  • Contoh meminta Claude mengompilasi kode C berada di dua kategori sekaligus
    • Bisa dilihat sebagai menjalankan kode C yang ia tulis sendiri
    • Bisa juga dilihat sebagai meminta AI menulis perangkat lunak
    • Hasil yang sama juga bisa dibuat hanya dari kebutuhan berbahasa Inggris
  • Karena AI memahami bahasa manusia yang tidak presisi dan merespons seperti manusia, ia bisa terasa lebih seperti hubungan manajer dan bawahan daripada compiler atau palu
  • Jika ia meminta palu ber-AI untuk memaku, meski ikut berpartisipasi dalam proses kreatif, sulit mengatakan bahwa ia sendiri yang memalu
  • Semakin area abu-abu ini diamati, semakin kuat gagasan bahwa menyerahkan pembuatan kepada AI juga bisa menjadi tindakan kreatif, tetapi batas untuk menyebutnya dibuat sendiri tetap tidak jelas

Kontribusi yang benar-benar dimasukkan ke hasil akhir

  • Untuk adegan SF, ia menggunakan prompt yang meminta tiga paragraf dan judul novel tentang seorang pahlawan dan dua pengungsi yang terjebak oleh serangan laser musuh lalu menemukan jalan keluar
  • Untuk gambar, ia meminta dua hacker bergaya penyihir yang saling berhadapan dan fokus pada komputer, dalam gaya cetak kayu dan warna pastel, dengan warna yang kontras sekaligus saling melengkapi di kedua sisi
  • Untuk game, ia meminta game fantasi TUI yang mirip Ultima I
    • Meminta 3×3 karakter per sel peta, 7×7 sel peta per layar, dan animasi air
    • Mencakup dunia prosedural berbasis Perlin noise, monster pradefinisi yang bergerak acak, dan atribut bergaya D&D
    • Menggunakan pemain umum tanpa class, diimplementasikan dengan Rust dan Ratatui, serta memisahkan UI dan logika game
  • Untuk pekerjaan kayu, ia meminta “tolong ganti dek teras depan”, tetapi satu paku pada potongan kayu yang diperlukan untuk foto pembuka benar-benar ia pasang sendiri
  • Em dash yang digunakan dalam tulisan dipilih secara sengaja, dan Vim digraph-nya adalah ^K-M

1 komentar

 
GN⁺ 5 jam lalu
Pendapat Hacker News
  • Meski tidak menulis satu baris kode pun sendiri dengan LLM, saya tetap bisa merasa bangga atas hasil yang saya buat
    Saya tidak berniat menyombongkan diri sebagai programmer hebat, tetapi sejak awal coding hanyalah sarana untuk membuat produk jadi
    Ini seperti tetap merasa puas dengan taman yang saya rancang meski saya menyewa perusahaan lanskap dan tidak membangunnya sendiri
    Editor tab gitar yang dibuat dengan vibe coding memecahkan masalah nyata dengan fitur yang tidak ada di software lain, dan sambil menjalani pekerjaan, keluarga, dan hobi, saya tak akan pernah bisa membuatnya tanpa AI

    • Saya juga bertanya-tanya apakah cheeseburger yang saya pesan minggu lalu di restoran, dengan selada dihilangkan dan bawang ditambahkan, bisa disebut saya “buat”, karena tanpa permintaan saya itu tidak akan ada
      Sesuatu seperti sandwich selai kacang dan jeli tetap disebut dibuat meski dikerjakan langsung tanpa kreativitas, dan hal yang sama berlaku saat memakai alat seperti gergaji bundar yang menggantikan kerja tangan
      Tetapi mengunduh Articulated dragon.stl dari web lalu hanya menekan tombol cetak tentu berbeda dengan merancangnya sendiri lalu mencetaknya
      Mengoperasikan CNC dan printer 3D juga memerlukan pengetahuan dan keterampilan yang berbeda dari kerja manual, tetapi makin mudah alatnya, makin kabur batasnya
      Meski tidak ada garis tegas, posisinya ada di suatu titik antara “menganggap semua alat baru itu curang lalu membuat semuanya dengan tangan” dan “memesan sandwich lalu menunggu”
    • Logika “tidak akan ada kalau bukan karena saya” sulit dipertahankan
      Jika sebuah proyek didelegasikan ke orang lain, mungkin kita bisa bilang kita mengelola atau merancang sebagian, tetapi sulit mengambil kredit seolah kita yang melaksanakannya sendiri
      Meski tidak benar-benar membuatnya, kita tetap bisa sangat bangga telah memberi arah dan visi untuk memecahkan masalah
    • Ungkapan “saya membuatnya” adalah konsep yang sebaiknya disisakan untuk tindakan benar-benar memasukkan tangan ke tanah liat yang kotor, dan itu punya perbedaan khas dibanding pendekatan lain yang hanya mengejar hasil akhir
    • making mengandung makna kuat tentang membuat sendiri secara aktif, sedangkan producing lebih menekankan mengawasi dan mengoordinasikan
      Perbedaan ini terasa makin jelas setelah mulai bekerja dengan para produser dalam pengembangan game
    • Itu dibuat dengan LLM, bukan dibuat sendiri
  • Belakangan ini proyek sampingan yang bagian utamanya saya tulis dengan Claude memang menjalankan fungsi yang saya inginkan, tetapi anehnya saya merasa terputus dari hasilnya, dan itu membuat saya berpikir tentang bagaimana seharusnya memakai AI di waktu luang
    Compiler menghasilkan keluaran yang deterministik dan konsisten dari instruksi yang presisi, tetapi Claude menafsirkan instruksi yang kurang presisi dibanding kode, lalu setiap kali menghasilkan hasil berbeda dan bahkan menambahkan perilaku yang tidak diminta sambil mengambil keputusan atas nama pengguna
    Kita bisa memberinya instruksi ketat lewat spesifikasi Markdown besar atau tes yang rinci, tetapi jika harus menulis sedetail itu, bedanya mungkin tidak jauh dengan menulis kode sendiri
    AI sangat hebat untuk memecahkan masalah yang buntu atau menjelaskan konsep dengan cara yang dipersonalisasi, tetapi saat keputusan diserahkan padanya, hasil menjadi lebih diprioritaskan daripada proses kreatif
    Proyek sampingan yang dibuat karena mencintai proses berkarya itu lebih dekat ke seni daripada produk, jadi AI mungkin cocok untuk produk, tetapi tidak untuk seni

  • Di bidang teknologi ada orang yang menyukai detail dan ada yang menyukai sistem, dan tipe berorientasi sistem bisa merasa LLM itu menyenangkan dan memuaskan, sementara tipe yang berorientasi detail bisa merasakan kebalikannya
    Seorang kenalan yang terkenal di computer vision sebelum era neural network mengatakan bahwa dulu ia sering menyelesaikan banyak hal untuk pertama kalinya, tetapi kini sebagian besar pengembangan software terasa membosankan karena hanya merakit hal-hal yang sudah diketahui
    LLM tampaknya makin mempercepat arus ini

    • Saya lebih menyukai matematika daripada teknologi, dan sangat menikmati mereduksi masalah menjadi persamaan sederhana atau merancang algoritma tanpa menyentuh keyboard sama sekali
      Memuntahkan skrip dengan LLM terasa mirip seperti memasukkan angka secara acak ke Sudoku sampai aplikasi mengatakan jawabannya benar
    • Andrej Karpathy juga mengatakan, “coding dengan LLM kemungkinan besar akan memisahkan engineer yang terutama suka coding dan engineer yang terutama suka membuat sesuatu”
    • Sebagai orang yang berorientasi sistem, sulit menjelaskan kepada orang yang berorientasi detail bagaimana kombinasi komponen yang muncul seperti sihir dan kadang sulit dipahami bisa menghasilkan hasil yang menarik dan menyenangkan
    • Bagi orang yang sangat peduli pada kualitas, bisa mengecewakan melihat bagaimana di beberapa lingkungan, LLM mengorbankan bahkan komitmen terakhir terhadap kualitas demi kuantitas dan kecepatan
  • Saya tidak ingin melihat kiriman yang dihasilkan LLM di Hacker News
    Saya menikmati melihat orisinalitas manusia benar-benar diterapkan, bahkan jika itu bukan produk yang sukses
    Seperti saya tidak menonton catur yang dimainkan antar komputer, saya butuh cara untuk dengan mudah membedakan dan menghindari software dan seni yang dibuat AI

  • Perbedaannya terletak pada sejauh mana kita bisa menalar bagaimana perubahan pada input memengaruhi perilaku keluaran yang bisa diamati
    Jika executable yang dibuat compiler tidak berjalan sesuai niat, 99,99% itu tanggung jawab saya, dan dari source code saya bisa memprediksi hasilnya serta menganalisis perilaku salahnya
    Antara program vibe coding dan prompt generatif tidak ada hubungan yang sebanding dengan itu

    • Bahkan jika ada LLM dengan tingkat keandalan 99,99%, itu tetap tidak akan kembali menjadi keadaan di mana saya membuatnya sendiri
      Jika robot pemotong rumput yang sepenuhnya otonom bekerja dengan tepat, maka robotlah yang memotong rumputnya, tetapi jika saya menaikinya dan mengemudikannya atau mengendalikannya dengan joystick, maka sayalah yang memotongnya
      Siapa yang memutuskan area mana yang dipotong menentukan rasa memiliki
    • Saat membuat sesuatu sendiri, kita memahami secara konkret mengapa hasilnya berbentuk demikian dan juga memiliki tolok ukur penilaian yang khas
      Bahkan pada proyek vibe coding, saya merasakan tingkat rasa memiliki yang berbeda-beda sesuai dengan seberapa besar perhatian dan kedalaman pemahaman yang saya curahkan
    • Intinya tampak seperti perbedaan antara kendali atas proses dan kendali atas hasil
      Ada orang yang hanya menentukan kapan proses dimulai dan apakah hasilnya baik atau buruk, tetapi karena tidak punya kemampuan untuk benar-benar menilai, mereka juga percaya pembuatnya pasti sudah menangani semua unsur bawahannya dengan baik
      Compiler hampir selalu mengubah program menjadi biner yang benar dan jika gagal akan memberi tahu dengan jelas, tetapi ketepatan algoritme tetap tanggung jawab pengguna, sehingga batasnya jelas
      Sebaliknya, batas tanggung jawab LLM tidak jelas, dan ia tidak bisa menangani secara stabil semua elemen yang tidak dinyatakan eksplisit dalam prompt
      Ini juga berbeda dari kolaborasi dengan manusia; jika kita meminta pelukis profesional menggambar Batman, kita tidak perlu memeriksa sampai jumlah jari kaki atau lengannya
  • Karena lebih cepat, saya memakai LLM tetapi tidak lagi mendapatkan kesenangan seperti dulu
    Kecepatan tidak harus selalu didahulukan daripada kesenangan, dan saya perlu belajar fokus kembali tanpa menganggap menulis sendiri sebagai sesuatu yang “tidak efisien”
    Saya ingin mendapatkan kembali perasaan saat coding tengah malam di usia 13 tahun, dan tulisan Beej selalu berkesan

    • Gitaris Steve Vai mengatakan bahwa proses belajar dan melakukannya sendiri memberi martabat dan harga diri
      Jika tulisan, kode, dan musik dibuat hanya dengan prompt, justru proses itulah yang hilang
  • Selama sekitar dua bulan, selain minum alkohol saya bahkan tidak ingin menonton TV, tetapi setelah beberapa minggu berhenti minum, rasanya motivasi untuk berkarya perlahan kembali
    Saya sudah lama merancang dan membuat sendiri kamera serta robot otonom kecil, dan kamera yang rusak karena terguling di dalam mobil akhirnya berhasil saya perbaiki
    Saat saya membuat video untuk tiap lens vintage C-mount, minat itu akhirnya memudar dan yang tersisa hanya kotak lensa serta kamera yang jadi pajangan, tetapi berkat proyek-proyek hardware ini saya mendapatkan dua pekerjaan sebagai software engineer
    Jika saya berkata “saya yang membuatnya” tentang proyek yang kodenya dihasilkan Claude Code, rasa hormat biasanya langsung berkurang, tetapi pada akhirnya yang penting adalah uang dan kebebasan, dan saya juga ingin mengamankan kebebasan lalu mengerjakan hal yang saya sukai

    • Sebaiknya jangan terlalu memaksa diri sendiri
      Jika belum diperiksa, ada baiknya juga mempertimbangkan kemungkinan ADHD atau faktor lain
      Manusia bukan mesin melainkan makhluk biologis yang kompleks, jadi memahami karakteristik diri sendiri sangat membantu untuk kembali bergerak ke arah yang benar
  • Sementara pekerjaan yang belakangan saya serahkan ke AI sulit diingat bahkan detail kasarnya, codebase lebih dari 100 ribu baris yang saya tulis beberapa tahun lalu sampai sekarang masih bisa saya ikuti di kepala secara umum

    • Saat melihat proyek kolaborasi dari 10 tahun lalu, saya bisa membedakan siapa yang menulis bagian mana, di mana jebakannya, dan apa yang membuat kami kesulitan meski tidak mengingat adegan kerja yang sebenarnya
      Tetapi proyek yang dibuat bersama AI baru 2 minggu lalu tersisa sebagai gumpalan samar seperti “seseorang menulis prompt lalu keluarlah kode”
  • Saat masih menjadi mahasiswa OSU, ketika belajar sendiri system programming yang praktis, saya setiap hari merujuk ke Beej's Guide to Network Programming
    Saya sempat menyayangkan bahwa situs web gratis ini jauh lebih berguna daripada universitas mahal, dan sekarang fakta bahwa Beej mengajar di OSU terasa seperti lingkaran yang indah sekaligus perekrutan yang hebat

    • Tahun depan saya akan mengampu dua mata kuliah software engineering dan pada dasarnya membuang isi lama lalu menyusunnya ulang dari nol
      Saya ingin berfokus pada desain tingkat sistem, pemanfaatan AI secara aktif, serta proyek dan tim yang lebih besar
      Belajar coding tetap wajib, tetapi kapabilitas software engineering yang dulu dipelajari di dunia kerja kini perlu ditempatkan lebih banyak di tahap awal pendidikan
      Tetap saja, saya merasa tidak masalah jika kemunculan LLM terlambat sekitar 15 tahun
  • Le Corbusier dan Frank Lloyd Wright tidak membangun gedung secara langsung, melainkan merancangnya, tetapi gedung-gedung itu tetap diakui tanpa ragu sebagai karya mereka
    Steve Jobs juga tidak merancang papan sirkuit atau menulis kode, tetapi ia membuat Mac, iPod, dan iPhone, dan para pelukis Renaisans pun mengelola bengkel tempat para murid mengerjakan banyak hal
    Penciptaan software lebih dari sekadar menulis kode: ini tentang memahami pasar dan kebutuhan, membuat pemasaran dan copy, menentukan apa yang dibuat dan dibuang, serta membayangkan bentuk akhirnya
    Para pengrajin yang membangun rumah Wright boleh bangga bahwa merekalah yang membuat atap, dinding, dan air terjun itu, tetapi keseluruhan rumahnya jelas milik Wright
    Keluhan saat ini lebih dekat pada ketakutan yang sah atas hilangnya monopoli keterampilan
    Seperti tukang kayu terampil yang berfokus pada pasar premium setelah furnitur buatan tangan digantikan IKEA, mungkin akan terjadi perubahan serupa, tetapi bedanya pelanggan programming kebanyakan adalah perusahaan dan kriteria lolosnya bersifat biner: “apakah ini bekerja”