- 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: 0hingga9: 34 - Ia juga menggunakan XOR untuk menetapkan status keluar 0
- Output menampilkan deret Fibonacci yang benar dari
- 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
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
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.stldari web lalu hanya menekan tombol cetak tentu berbeda dengan merancangnya sendiri lalu mencetaknyaMengoperasikan 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”
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
makingmengandung makna kuat tentang membuat sendiri secara aktif, sedangkanproducinglebih menekankan mengawasi dan mengoordinasikanPerbedaan ini terasa makin jelas setelah mulai bekerja dengan para produser dalam pengembangan game
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
Memuntahkan skrip dengan LLM terasa mirip seperti memasukkan angka secara acak ke Sudoku sampai aplikasi mengatakan jawabannya benar
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
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
Bahkan pada proyek vibe coding, saya merasakan tingkat rasa memiliki yang berbeda-beda sesuai dengan seberapa besar perhatian dan kedalaman pemahaman yang saya curahkan
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
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
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
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 ProgrammingSaya 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
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”