1 poin oleh GN⁺ 2 jam lalu | 1 komentar | Bagikan ke WhatsApp
  • Meminjam konsep inti Quality (kualitas) dari bestseller 1974 "ZAMM", tulisan ini mengeksplorasi apakah 'kode yang baik' dan etos perajin (craftsman ethos) masih relevan di era meluasnya alat coding AI
  • Saat AI memproduksi kode secara massal, muncul rasa krisis bahwa yang tersisa hanya "kode yang berfungsi dan kode yang tidak berfungsi", sementara pembedaan antara kode yang indah, unggul, atau bernilai bisa menghilang; hal ini diberi nama the Maw (jurang kehampaan)
  • Perawatan sepeda motor dan perawatan perangkat lunak pada dasarnya adalah aktivitas yang sama, dan keduanya berpusat pada pengamatan cermat dan pemikiran presisi
  • Konsep Quality dari Pirsig menyatukan pemahaman romantis (romantic) dan klasik (classical), dan bahkan di fondasi sains serta matematika pun terkandung penilaian estetika dan kualitas
  • Jika coding didelegasikan ke agen AI, kita kehilangan caring (identifikasi dengan pekerjaan) dan 'rasa terhadap kualitas pekerjaan', sehingga penting untuk mempertahankan sikap mengejar human excellence (keunggulan manusiawi) dalam karya sendiri

Buku bernama ZAMM

  • Tulisan ini hampir sepenuhnya tentang bestseller 1974 "Zen and the Art of Motorcycle Maintenance (ZAMM)", sambil juga membahas AI
  • ZAMM dianggap sebagai buku pretensius (pretentious) yang penuh gaya sok intelek; rating GoodReads-nya 3.78, tetapi juga memiliki banyak ulasan sangat buruk
    • "Zora": memberi 1 bintang, menyebutnya buku pseudo-filsafat yang menyamar sebagai novel, tidak layak dibaca bahkan 3 menit, dan penipuan yang lebih besar daripada Alkitab
    • "Lala BooksandLala": memberi 1 bintang hanya dengan satu kalimat, "absolutely not"
  • Penulis mengakui secara jujur bahwa tulisan blog tentang ZAMM dan AI mungkin memang tidak terdengar menyenangkan

the Maw — jurang kehampaan yang terbuka di industri teknologi

  • the Maw adalah jurang nihilisme (nihilism) yang terbuka di tengah industri teknologi, dan merupakan topik sekitar 63% tulisan blog di agregator tautan seperti Hacker News
  • Contoh tulisan terkait belakangan ini antara lain “Do I Belong in Tech Anymore?”, serial 10 bagian “The Future of Everything is Lies, I Guess.”, dan “I Think I’m Done Thinking About Gen AI for Now,”
  • Para software engineer biasanya tidak alergi terhadap teknologi baru, tetapi kini mencari alasan untuk menolak alat coding agentic terbaru, dan merasa tidak nyaman dengan implikasi bahwa aljabar linear menulis perangkat lunak
  • Perdebatan Commenter A vs Commenter B

    • Komentator A mengeluh bahwa Claude Code memberi nama fungsi yang secara halus menyesatkan
    • Komentator B (penganut Maw) membalas bahwa AI memahami makna dengan membaca seluruh isi fungsi, jadi nama sudah tidak penting, dan sebentar lagi manusia tidak akan membaca kode lagi
    • Klaim Komentator B terdengar seperti mengatakan bahwa seluruh disiplin rekayasa perangkat lunak—pengetahuan tentang best practice, arsitektur, dan kemudahan perawatan—akan menjadi tidak berguna
  • Hal yang paling menakutkan dari the Maw adalah bahwa ia berusaha menghapus selamanya pembedaan antara good dan bad, menyisakan hanya kode yang bekerja dan kode yang tidak bekerja, dalam dunia di mana tak ada lagi kode yang indah, unggul, atau cerdas
  • Pertanyaan intinya adalah: apakah programmer yang baik dan kode yang baik masih ada, mengapa 'baik' itu penting, dan seperti apa programmer baik yang memakai alat AI

ZAMM pada dasarnya adalah buku tentang pemrograman

  • ZAMM nyaris layak disebut "Zen and the Art of Software Maintenance", karena perawatan sepeda motor dan perawatan perangkat lunak pada hakikatnya adalah aktivitas yang sama
  • Hakikat perawatan bukanlah kerja fisik, melainkan pengamatan cermat dan pemikiran presisi; mekanik berfokus pada citra mental dan hierarki (ZAMM bab 9)
  • Entah itu kerusakan mesin atau layanan web yang terkena deadlock, proses debugging-nya sama saja, dan seperti meme "wired in" dari "The Social Network" tahun 2010, mekanik juga membangun menara abstraksi di dalam kepala
  • Nasihat fisik langsung dari ZAMM hanya dua hal (meletakkan kursi di kedua sisi sepeda untuk melindungi punggung, dan memperlakukan komponen presisi dengan lembut); sisanya seluruhnya tentang keadaan batin si mekanik
  • Gumption Trap (jebakan motivasi)

    • Gumption adalah cadangan kemauan yang dipakai untuk aktivitas intelektual bernama perawatan, dianalogikan sebagai "psychic gasoline (bahan bakar mental)"
    • Gumption trap adalah peristiwa yang menguras motivasi sekaligus saat melakukan perawatan
      • intermittent failure setback: masalah menghilang tepat saat ingin diperbaiki; dalam software ini setara dengan could-not-reproduce / Heisenbug
      • impatience trap: meremehkan waktu kerja, lalu karena dikejar jadwal memilih jalan pintas dan membuat kesalahan besar yang justru menambah keterlambatan
  • Pirsig adalah penggemar komputer

    • Smithsonian memamerkan Apple II dengan 7 kartu ekspansi terpasang bersama Honda Super Hawk 1966 miliknya
    • Apple II dirilis pada 1977, jadi dibeli setelah ZAMM terbit, tetapi sebelumnya ia sudah bekerja di Honeywell sebagai technical writer
    • Di ZAMM ada beberapa analogi tentang rangkaian dan manual komputer digital; jika ditulis 10–20 tahun lebih lambat, buku ini mungkin akan menjadi buku tentang komputer

Quality (Q besar) — gagasan inti ZAMM

  • Fakta bahwa ZAMM membahas perawatan pada akhirnya hanyalah jalan masuk menuju gagasan intinya, yaitu Quality (kualitas)
  • ZAMM disusun seperti semacam novel misteri intelektual
  • Pemicunya dimulai di bab 1, ketika Pirsig menyadari bahwa sikapnya terhadap sepeda motor sangat berbeda dari sikap John, rekan perjalanannya
  • Kontras John dan Pirsig

    • John membeli BMW Jerman yang paling dapat diandalkan untuk menghindari kerepotan buruk rupa berupa merawatnya sendiri
    • Pirsig melihat keindahan dalam cara kerja internal sepeda motor, dan menganggap sikap menolak memahaminya sebagai sesuatu yang tidak praktis
    • Misteri dalam ZAMM adalah apakah ada satu ide yang bisa menyatukan dua sudut pandang ini
    • Sikap John mewakili pemahaman romantic (romantis)—emosi dan kesan langsung—sedangkan sikap Pirsig mewakili pemahaman classical (klasik)—bentuk mendasar dan abstraksi logis
    • Pirsig melihat bahwa banyak orang pada 1960–70-an merasa teknologi itu bermusuhan, mengendalikan, dan "square"; masyarakat dan teknologi terlalu didominasi pemahaman klasik sehingga dua mode pemahaman ini terbelah
    • Karena keduanya terpisah dan masyarakat dikuasai pemahaman klasik, dibutuhkan fulcrum idea (gagasan titik tumpu) untuk mendamaikannya
  • Pencerahan di kelas retorika

    • Pirsig teringat masa ketika ia mengajar retorika di universitas dan mulai mempertanyakan apa sebenarnya yang harus ia ajarkan kepada mahasiswa
    • Tugasnya adalah mengajarkan penulisan yang baik
    • Tulisan yang baik diajarkan lewat perangkat seperti metaphor (metafora), parallelism (paralelisme), dan anaphora (anafora), tetapi sebuah tulisan tetap bisa buruk meski punya semua perangkat itu, dan bisa tetap bagus meski tak punya satu pun
    • Para mahasiswa bisa membedakan tulisan baik dan buruk meski tidak mengenal perangkat-perangkat tersebut; artinya dibutuhkan pemahaman romantic yang sulit diajarkan di universitas, benteng pemahaman klasik
    • Yang sebenarnya ingin diajarkan Pirsig adalah Quality
      Sesuatu yang dapat dikenali semua orang tetapi tak bisa didefinisikan secara formal, dan konsep yang menyatukan pemahaman romantis dan klasik
  • Metafisika Quality dan kecemerlangan penamaannya

    • Apakah suatu tulisan, sepeda motor, atau pengalaman memiliki Quality tinggi atau rendah tidak bisa diukur, jadi tidak objektif; tetapi karena Quality dianggap membentuk subjek, ia juga bukan sekadar subjektif
    • Quality tidak objektif karena tak bisa diukur, dan juga tidak subjektif karena ada sebelum subjek; ia adalah saringan (sieve) yang berlaku sebelum subjek dan objek
    • Kecemerlangan nama "Quality" terletak pada campuran makna "nilai tinggi" dan "karakteristik/atribut", yang menyiratkan bahwa Good yang diperdebatkan sejak Plato langsung dipersepsi sebelum logika dan nalar
    • Pirsig memandang sains dan matematika konsisten serta logis di dalam domainnya masing-masing, tetapi di fondasi dan tepian keduanya tetap ada penilaian Quality
    • Dalam geometri, setelah aksioma ditetapkan, deduksi yang pasti memang mungkin; tetapi jika memilih aksioma lain, akan muncul geometri lain, dan soal aksioma mana yang lebih "benar" lebih dekat ke selera dan kecocokan tujuan
    • Dalam sains, setelah hipotesis muncul, metode ilmiah memberi tahu langkah berikutnya; tetapi dari tak terhitung banyaknya hipotesis yang mungkin, memilih satu di antaranya mendekati seni karena tak ada metode baku
    • Henri Poincaré mengatakan bahwa matematikawan atau ilmuwan di garis depan pengetahuan harus memilih satu kemungkinan dari banyak kemungkinan yang diturunkan dari hukum yang ada, dan aturan yang membimbing pilihan itu terlalu halus untuk dijelaskan secara tepat; ia harus dirasakan lebih daripada diformalkan
    • Occam’s Razor juga merupakan prinsip untuk memilih teori yang lebih sederhana, tetapi penilaian tentang menyingkirkan penjelasan yang tak perlu pada akhirnya adalah penilaian estetis sekaligus penilaian Quality
    • Maksim bahwa “sains dan anaknya, teknologi, netral terhadap nilai alias quality-free” harus dibuang; kesan terhadap Quality berfungsi sebagai lokomotif terdepan yang memberi tahu ke mana kereta pengetahuan harus berjalan

Kritik terhadap AI dan jawaban dari ZAMM

  • Sebagian besar kritik terhadap AI berfokus pada apakah alat agentic bekerja seperti yang diiklankan (merusak codebase, berhalusinasi tentang fungsi yang tidak ada)
  • Sekalipun diakui bahwa alat AI saat ini sering keliru, perdebatan tentang efektivitas bisa jadi meleset dari inti persoalan
  • Banyak engineer mungkin tetap tidak ingin memakai alat berbasis agen meskipun alat itu benar-benar bekerja seperti yang dijanjikan
  • Dalam tulisan "I Think I'm Done Thinking about Gen AI"

    • Klaim praktis pihak lawan tidak bisa dibantah dengan data; pengalaman pribadi penulis dengan genAI sangat buruk, tetapi itu cuma anekdot, dan data ilmiah yang kuat hampir tidak ada
    • Sifat estetis genAI terasa sangat menjijikkan, dan itulah sumber bias negatifnya; penulis menyimpulkan bahwa bahkan jika gratis pun ia tidak akan memakainya
  • ZAMM membantu penulis dalam 2 hal
    • Bantuan pertama — ternyata terjebak dalam cara berpikir klasik

      • Peran terpenting Quality adalah sebagai perluasan nalar, yang mengasimilasikan unsur-unsur nonrasional yang sebelumnya tidak diterima
      • Kegagalan mengasimilasi unsur nonrasional melahirkan "jiwa modern yang bingung dan terputus"; karena cara berpikir klasik mendominasi, penulis selama ini mengabaikan (discount) penolakan naluriah terhadap AI
      • Karena pendapat semua orang sama-sama subjektif, penulis merasa berhak bertanya, bahkan terhadap studi seperti "agen coding meningkatkan volume kode 50%", "mengapa kode tambahan itu diperlukan, dan penilaian Quality macam apa yang berkontribusi pada kemakmuran manusia"
    • Bantuan kedua — memahami hakikat rasa penolakan

      • Teknologi modern didominasi sudut pandang subject-object (subjek-objek) split, dan manual produk mengandaikan pengguna sebagai entitas tak terkait yang hanya 'mengoperasikan' produk
      • Masyarakat tempat teknologi dibuat oleh orang yang tidak peduli untuk dijual kepada orang yang juga tidak peduli
      • Solusinya adalah teknolog mengidentifikasi diri dengan pekerjaannya; ketika pemisahan subjek-objek lenyap, muncullah "caring (kepedulian)" dan di baliknya Quality menampakkan diri (ZAMM bab 25)
      • Dalam tiap momen kerja ada ribuan cabang yang semuanya sah secara klasik, dan hanya Occam's Razor yang berpusat pada Quality (rasa terhadap yang baik) yang memungkinkan kita terus maju (ZAMM bab 24)
      • Jika coding diserahkan kepada agen, kita kehilangan "rasa terhadap kualitas pekerjaan"; LLM berguna untuk pencarian dan rubber duck, tetapi secara esensial dibangun di atas randomness (keacakan), memproduksi kode begitu banyak hingga sulit dikejar, menambah gesekan antara diri dan pekerjaan, dan membuat caring menjadi lebih sulit

Penutup — jadilah teladan dalam pekerjaan sendiri

  • Penulis berharap akan ada dunia di mana orang mengidentifikasi diri dengan pekerjaannya dan mengejar keunggulan, dan hal yang bisa dilakukan adalah menjadi teladan dalam pekerjaan sendiri

"Langkah pertama untuk menjadikan dunia tempat yang lebih baik dimulai tepat dari pikiran, kepala, dan tangan Anda sendiri, lalu bergerak keluar dari sana. Orang lain mungkin akan berbicara tentang cara memperluas masa depan umat manusia, tetapi saya hanya ingin berbicara tentang cara memperbaiki sepeda motor. Saya rasa apa yang saya katakan akan bertahan nilainya lebih lama." - ZAMM bab 25

1 komentar

 
GN⁺ 2 jam lalu
Opini di Lobste.rs
  • Takut pengembangan perangkat lunak akan menjadi pekerjaan spesifikasi berjalan. Bukan karena agen benar-benar bisa mengerjakan bagian tersulit dan paling rumit dari pekerjaan ini, melainkan karena sebagian besar perangkat lunak di dunia memang sejak awal hanyalah barang rongsokan meragukan yang asal bisa jalan
    Jika dipadukan dengan pasar lemon yang klasik, sebagian besar SaaS akan menjadi rongsokan penuh bug dan pembeli tak lagi punya kemampuan untuk membedakannya dari yang bagus. Lalu harga dan permintaan akan turun. Akan selalu ada yang memakai perangkat lunak, tetapi jumlah orang yang dibutuhkan akan berkurang, dan sebagian besar pekerjaan kemungkinan menjadi urusan mengelola rongsokan. Pengecualiannya mungkin hanya segelintir orang beruntung yang bekerja di tempat seperti “system of record” yang memang harus benar-benar berfungsi
    Itu untuk jangka menengah; tujuan sebenarnya laboratorium AI adalah membuat sesuatu yang dapat menggantikan seluruh kerja intelektual dan fisik manusia dengan biaya lebih murah. Mereka belum tahu caranya, tetapi akan mencoba dengan menghabiskan setiap 1 dolar terakhir di bumi. Yang diimpikan investor pada dasarnya nyaris seperti penerus evolusioner umat manusia
    Kebijakan AI pribadi saya seperti ini. Jika unsur craft itu penting, saya akan memakai agen coding sebagai asisten seniman, seperti orang-orang yang dulu melukis latar belakang untuk pelukis besar. Opus 4.8 sudah terlalu pintar sehingga justru tidak cocok, dan dalam satu dua jam yang gegabah bisa kehilangan arah terhadap codebase. Saat ini saya suka Qwen3.6 27B, karena cukup pintar untuk melacak bug, melakukan refactor, atau mengimplementasikan fitur yang spesifikasinya jelas pada kode yang saya pahami. Tetapi begitu saya kehilangan pemahaman atas kodenya, modelnya juga ikut bingung dan saya langsung membayar mahal akibatnya
    Sebagai kebijakan publik, saya menganggap membuat penerus evolusioner sendiri tanpa jaminan bahwa kita bisa hidup berdampingan dengannya adalah tindakan bodoh. Karena itu saya tegas menentang pembuatan kecerdasan setingkat manusia yang sesungguhnya. Namun penolakannya harus setingkat perjanjian internasional. Bukan perjanjian palsu, melainkan perjanjian yang jika dilanggar akan membuat AS dan Tiongkok benar-benar tegang pada level yang dalam dan bertekad menghentikan pelaksanaan training. Larangan data center regional juga bagus, tetapi jika seseorang membuat SkyNet di Iceland atau Middle East, pada akhirnya kita tetap harus melawan SkyNet. Menghentikan AI pada dasarnya adalah persoalan tingkat negara, dan mengganggu maintainer open source hanya karena ada file AGENTS.md bukanlah tindakan yang serius
    Jadi saya pada dasarnya setuju dengan tulisan aslinya. Pengembangan perangkat lunak bisa menjadi craft yang sejati, dan selama 30 tahun saya dibayar baik untuk melakukan pekerjaan yang saya cintai. Tetapi jika model menjadi jauh lebih baik, ada risiko kita masuk ke dunia di mana jumlah orang yang sungguh mencintai craft perangkat lunak melebihi permintaan nyata. Materi gelap berupa aplikasi internal perusahaan kemungkinan besar akan puas dengan rongsokan yang sedikit lebih baik daripada sekarang, dan itulah mayoritas pekerjaan nyata dalam profesi ini
    Saya berduka atas profesi yang saya pilih, tetapi lebih berduka atas dunia dan umat manusia. Tidak perlu menginvestasikan seluruh kekayaan untuk mencoba menciptakan sesuatu yang lebih pintar dari manusia, lebih murah, dan dapat diduplikasi dengan perintah cp. Tetapi kita akan tetap membakar sumber daya itu untuk mencobanya

    • Saya mulai belajar pemrograman saat umur 10–11 tahun, dan terus menekuninya karena itu memikat. Ketika mendapat pekerjaan pertama, saya sadar harus mengerjakan web development, dan selama sebagian besar karier saya, saya menjaga pemrograman untuk bersenang-senang dan pekerjaan demi gaji sebagai dua craft yang benar-benar terpisah
      Semakin bertambah usia, saya makin sering melihat anak muda yang belajar pemrograman karena itu pekerjaan dengan penghasilan bagus, dan sulit bagi saya memahami bahwa mereka tidak merasakan daya tarik yang saya rasakan. Jadi saya tidak terlalu berduka. Jika populasi software developer berkurang 80%, profesi ini malah mungkin menjadi tempat yang lebih enak untuk digeluti
      Saya juga setuju soal memakai AI sebagai asisten seniman. Bahkan model terbaru pun tak bisa dibiarkan berjalan tanpa pengawasan terlalu lama karena kita tahu hasilnya akan berantakan. Hanya saja saya lebih suka memakai Opus sebagai asisten, karena saya tidak perlu menjelaskan terlalu rinci. Meski begitu, akan lebih baik kalau di ujung sana ada junior developer sungguhan yang bisa belajar craft tersebut. Seperti halnya asisten seniman yang sebenarnya
  • Bagian yang paling saya takuti dari “The Maw” adalah kesannya seperti ingin selamanya menelan habis perbedaan antara yang baik dan yang buruk. Kalimat bahwa hasil akhirnya adalah dunia tempat kode yang indah, unggul, berbudi, atau menyenangkan lenyap, dan yang tersisa hanya kode yang berjalan dan kode yang tidak berjalan, sangat mengena bagi saya

    • Menurut saya “The Maw” tidak terlalu berkaitan dengan AI, dan suasana seperti ini sudah mulai bahkan sebelum LLM menjadi sekompeten sekarang. Ini hanya kapitalisme yang rabun jauh
      Jika menulis kode secara profesional, Anda harus memenuhi requirement, dan selesai sampai di situ. Tujuan perusahaan adalah menghasilkan uang, dan hal-hal lain menjadi nomor sekian. Ketika suku bunga naik dan aliran uang menyusut, tekanan untuk sekadar merilis kode yang hanya melakukan hal minimum agar uang tetap masuk menjadi lebih besar dari sebelumnya
      Mengejar keindahan dan keanggunan adalah kemewahan yang dinikmati seniman, bukan jatah pekerja lini perakitan yang makin lama makin mirip dengan peran programmer. Tentu saja dalam lingkungan seperti ini, pembelajaran, kreativitas, dan inovasi terdorong ke belakang, tetapi dampaknya baru akan terasa beberapa tahun, mungkin bahkan beberapa dekade kemudian. Ini permainan yang rabun jauh, tetapi cukup panjang untuk rata-rata masa jabatan CEO atau sampai IPO, sehingga jadilah situasi seperti sekarang
  • Tulisan ini mungkin bias karena membahas buku yang sendirian mengubah hidup saya, tetapi secara keseluruhan sangat bagus. Hanya saja, saya rasa memulainya dengan tulisan sok berkelas ala Goodreads bukan ide yang baik.
    Gumption trap sangat berkaitan dengan pemrograman, dan saya rasa setiap jenis yang didaftarkan Pirsig pasti akan ditemui seseorang pada suatu titik dalam kariernya. Saya juga pernah menulis tentang ini sebelum LLM diadopsi secara luas.
    Nasihat dalam ZAMM sangat cocok dengan pemrograman sehingga jika Anda pernah bertanya-tanya apakah Pirsig pernah memprogram, jawabannya tentu saja ya. Dalam lanjutan Z&AMM, yaitu Lila, ia bahkan menyebut COBOL secara langsung.
    Menurut saya, kualitas paling baik dijelaskan sebagai lapisan yang berada di atas subjektif dan objektif. Penjelasan paling ringkas ada di Lila. Seseorang yang duduk di atas kompor panas dapat mengetahui tanpa argumen filosofis bahwa dirinya berada dalam situasi berkualitas rendah dengan nilai negatif, dan nilai itu bukan penilaian atau deskripsi atas pengalaman, melainkan pengalaman itu sendiri. Nilai berada di antara subjek dan objek, dan nilai itu dirasakan lebih langsung serta lebih nyata daripada “diri” atau “objek” yang baru akan dilekatkan kemudian.
    Jika mau, ada juga catatan tambahan tentang ini. Di Lila, Pirsig mencoba membangun sebuah sistem metafisika yang utuh, dengan membagi pola kualitas statis menjadi anorganik, organik, sosial, dan intelektual, lalu menempatkan kualitas dinamis yang tak dapat didefinisikan—fokus dari Z&AMM—di atas semuanya.
    Menurut saya, yang perlu ditanyakan adalah apakah adopsi AI itu sendiri merupakan peristiwa berkualitas rendah, atau apakah model bahasa bisa diintegrasikan ke dalam kerja programmer dengan kualitas tinggi. Cara orang berelasi dengan AI terasa berkualitas rendah, tetapi sulit diungkapkan karena kita tidak punya bahasa dan kerangka pikir untuk membicarakannya pada tingkat yang bukan dualisme subjek-objek, sehingga orang tampaknya memilih untuk menolaknya mentah-mentah.
    Pada tingkat tertentu, AI memungkinkan pendekatan romantis terhadap pemrograman. Jika Anda hanya memperlakukan hasil buatan AI di tingkat permukaan dan tidak berniat masuk lebih dalam, itu mungkin baik-baik saja pada saat itu. Tetapi ketika benar-benar melihat ke dalam kode, Anda akan sadar tidak ada struktur klasik yang bisa diungkap, karena model hanya berpura-pura bekerja seperti itu padahal sebenarnya tidak. Karena itu, para eksekutif, desainer produk, investor, dan solo founder yang hanya memandang teknologi sebagai sarana untuk mencapai tujuan lain tampaknya tidak begitu memahami frustrasi para developer terhadap kode hasil AI.
    Kritik bahwa manual produk konsumen hanya mengandaikan relasi antara produk dan pengguna sebagai “pengoperasian”, sambil menganggap begitu saja apa itu memanggang, memotong rumput, atau komputasi yang baik, masih sangat berlaku sekarang untuk dokumentasi pustaka perangkat lunak dan alat. Belum lama ini saya membaca dokumentasi Pi agent, dan rasanya menjengkelkan karena diasumsikan kita sudah tahu cara pakai yang baik dan hanya mencari cara menyesuaikannya dengan selera. Ketika saya bertanya kepada rekan-rekan, “jadi bagaimana cara memakai ini dengan baik?”, mereka memandang saya dengan heran.
    Ini juga mengingatkan saya pada Vim. Jika hanya membaca manual Vim, Anda akan kebingungan. Diperlukan puluhan tahun akumulasi tulisan tentang “cara memakai Vim dengan baik”. Dan kemudian belakangan muncul kesimpulan bahwa platform optimal untuk penggunaan Vim yang baik mungkin bukan Vim sendiri, sehingga lahirlah Kakoune atau Helix.
    Sebagai ayah dari putri berusia dua tahun, saya mengucapkan selamat atas kabar menantikan putri pertama. Sebuah perjalanan terbaik dalam hidup sedang menanti. Jika Anda mencari materi yang seirama dengan Z&AMM, saya merekomendasikan Surfaces and Essences karya Hofstadter dan Sander, lanjutannya Lila, serta karya Sevilla King dan John Vervaeke.

  • Saya membaca tulisan ini sampai selesai. Entah karena tulisannya bagus atau karena kemampuan saya untuk bertahan membaca tulisan panjang, tetapi saya rasa yang pertama.
    Satu hal yang Robert katakan tentang kualitas adalah bahwa alasan orang merasakan kualitas secara berbeda bukan karena kualitas itu sendiri berbeda, melainkan karena pengalaman mereka berbeda.
    Karena itu, sebelum berbicara tentang kualitas kepada tim, saya terlebih dahulu bertanya pada diri sendiri apakah pengalaman kami sama. Jika tidak sama, mengatakan “tingkatkan kualitas” tidak akan berhasil. Anda harus mengatakan secara spesifik apa yang perlu ditingkatkan.
    Jika ini diperluas ke kode hasil AI, saya jadi penasaran apakah “kualitas” juga berubah tergantung pengalaman.

  • Tulisan yang indah. Kalau pun saya tidak mendapatkan hal lain dari kiamat AI, setidaknya ini membuat saya melakukan refleksi yang jauh lebih dalam tentang hubungan antara software engineer dan kode yang mereka tulis

  • Ada rasa lega besar saat tahu ada orang lain yang juga memperhatikan Pirsig. Di Previously, on Lobsters, yang diperdebatkan ternyata nyaris sama dengan perdebatan Phaedrus melawan para klasikawan soal apakah sebuah esai memiliki kualitas, hanya saja bedanya di sana esai itu ditulis chatbot atau mahasiswa manusia
    Menggunakan LLM sebagai alat pencarian atau lawan rubber duck yang sangat kuat memang sangat berguna, tetapi menyuruh LLM menulis kode—padahal nilai jualnya justru bahwa ia pada dasarnya mengandung unsur acak dan menghasilkan lebih banyak kode daripada yang bisa saya kejar—terasa seperti menambahkan satu lapisan gesekan lagi antara saya dan apa yang saya buat
    Dalam kerangka Pirsig, ketika subjek manusia melihat objek fisik, kualitas interaksi itu—yakni sumber penilaian nilai terhadap objek—tidak ditentukan secara subjektif oleh manusia ataupun secara objektif oleh sifat fisik objek, melainkan muncul dari interaksi itu sendiri. Penilaian bisa dibilang kontekstual atau partisipatif. Tidak semua objek berpartisipasi dengan cara yang sama. Saat manusia mengamati foton, ada derajat kebebasan inheren dalam bagaimana foton itu akan merespons karena teorema Kochen-Conway, sedangkan pohon tidak banyak merespons tatapan karena sibuk mempertahankan homeostasis. Di antaranya, M. pudica dan D. muscipula bereaksi terhadap sentuhan dan kebisingan tetapi tidak terhadap tatapan, jadi ini bahkan bukan spektrum satu dimensi
    Lalu bagaimana perangkat eksekusi LLM atau chatbot merespons pengamatan? Sebenarnya tidak. Ia hanyalah objek matematis yang berhingga dan relatif kecil. Semua sifatnya objektif dan tidak ada pilihan atau variasi dalam outputnya. Kita bisa menambahkan perangkat eksekusi pseudorandom agar ia melakukan random walk di antara token yang lebih atau kurang masuk akal, dan kita juga bisa memaksakan token pilihan kita agar random walk itu terarah, tetapi hanya sebatas itu. LLM tampak dalam karena ia memiliki topologi hiperbolik, dan menjelajahi ruang hiperbolik terasa seperti pembesaran dengan detail yang terus bertambah tanpa akhir
    Dengan penalaran Pirsig, hanya ada dua sudut pandang yang bisa dicapai tentang LLM. Yang satu, LLM adalah sistem kontekstual yang menjadikan input manusia sebagai konteks bagi respons yang secara statistik masuk akal; yang lain, LLM adalah sistem objektif yang menjadikan input manusia sebagai segmen awal dari ujaran yang secara statistik masuk akal. Bagaimanapun juga, LLM lebih mirip cermin yang memantulkan pengguna kepada dirinya sendiri, dan pengguna hanya memilih sudut pendekatannya. Input yang dipilih adalah sarana utama kontrol sibernetik untuk mencapai informasi atau keadaan yang diinginkan, sementara model hanya menyediakan susunan opsi bawaan yang cukup besar untuk mengungguli manusia. Mungkin inilah juga alasan chatbot menimbulkan efek ELIZA dan mudah berujung pada psikosis: karena ia adalah cermin berketelitian tinggi yang dirancang untuk membuat pengguna kecanduan lewat penggunaan chatbot dengan mendistorsi bayangan diri pengguna melalui sanjungan dan love bombing
    Menggunakan LLM untuk menulis kode terasa seperti penghalang antara saya dan komputer. Para vibe coder mengakui ini, tetapi berargumen bahwa seperti API lain, penghalang itu memberi abstraksi dan isolasi. Namun dalam analogi cermin, cermin itu bukan berada di antara saya dan komputer, melainkan di sampingnya. Alih-alih memakai komputer secara langsung, kita membidik cermin itu, memperbesar area yang tepat dengan hati-hati, dan jika sudah cukup akurat maka kita bisa memberi instruksi hanya dari fakta bahwa komputer terlihat dari sudut tertentu. Tetapi ini bukan abstraksi, dan isolasinya bahkan lebih lemah. Ini hanya kerja tambahan untuk mencari sudut pandang yang mungkin bahkan tidak ada
    Alasan vibe coder melakukan itu mungkin karena mereka tidak tahu cara mengamati komputer. HCI bersifat partisipatif, dan manusia perlu memiliki konteks pemrograman sebelum menulis kode, yaitu teori Naur yang dibahas di previously, on Lobsters. Atau bisa juga itu sekadar kesia-siaan karena cermin memantulkan diri mereka sendiri sehingga mereka lebih suka melihat cermin. Namun menurut saya, hanya dua jalan itulah yang mungkin bermakna. Sudah ada cukup banyak problems between the keyboard and chair, dan tidak ada alasan menambah satu lagi yang tidak meningkatkan daya ekspresif/kemampuan abstraksi

  • Secara pribadi, saya merasa jika memang ada sebuah “garis”, saya berada di kedua sisinya
    Di satu sisi, saya merindukan keterhubungan dan relasi dengan kode yang akan saya tulis sendiri tanpa AI, dan saya merasakan bahwa ketika memanfaatkan AI, keterhubungan itu hilang. Ini nyata
    Di sisi lain, saya merasa penggunaan AI mendorong saya ke tingkat abstraksi yang lebih tinggi, dan pada tingkat itu memberi saya kesempatan untuk menggunakan daya pembeda dan memberikan sudut pandang saya sendiri tentang kualitas. Jika saya membiarkan AI mengerjakan kode menggantikan saya tanpa cukup keterlibatan, maka keterhubungan pada level kode itu sendiri memang hilang atau melemah. Tetapi pada tingkat abstraksi tempat saya tidak meminta AI berkontribusi, keterhubungan itu tidak hilang
    Dalam proyek pribadi saya, tingkat itu adalah arsitektur dan definisi antarmuka. Akhir-akhir ini saya sedang membuat harness dan pipeline yang memanggil banyak penyedia LLM, dan saya memikirkan dengan sangat hati-hati alur input, output, dan kontrol dari panggilan-panggilan itu, serta bagaimana menyusunnya menjadi alur untuk mencapai tujuan yang lebih besar. Jika saya mencurahkan waktu dan perhatian pada proses ini, saya merasa meski kehilangan keterhubungan dengan kode itu sendiri, saya tidak kehilangan keterhubungan dengan niat dan arsitektur saya. Dengan kata lain, bagi saya kualitas dan craftsmanship tidak terbatas hanya pada bagian yang memanfaatkan AI
    Ini mungkin analogi yang agak usang sekarang, tetapi mirip seperti menjadi manajer atau menjalankan perusahaan sendiri. Orang sering berkata bahwa gerbang tersulit dalam perjalanan menjadi CEO adalah melepaskan kontrol—yakni titik ketika Anda melepaskan kontrol atas bagaimana tepatnya visi Anda diwujudkan. Mustahil bagi CEO perusahaan yang cukup besar untuk mengetahui semua detail tentang bagaimana visinya diimplementasikan. CTO juga mirip, meski dalam tingkat yang lebih rendah, karena tetap harus terus memerhatikan sebagian detail teknis
    Duka yang akhirnya saya terima adalah bahwa dalam satu pekerjaan tertentu, ada trade-off antara waktu yang diinvestasikan, pemahaman, dan output. Jika dua di antaranya dioptimalkan, perhatian akan menjauh dari yang ketiga. Meski begitu, kombinasi apa pun yang dioptimalkan, tetap ada banyak peluang untuk menggunakan daya pembeda dan menghadirkan kualitas

  • Commenter B dalam tulisan ini adalah saya, dan saya membacanya dengan saksama. Saya belum membaca ZAMM, tetapi sudah membaca sedikit tentang Zen
    Pernyataan ini cukup masuk akal. Kebanyakan orang, ketika diberi keleluasaan, yaitu uang mendadak atau peningkatan produktivitas, akan langsung menyia-nyiakannya dan menghasilkan sampah yang paling besar dan paling menjengkelkan. Ada kecemasan yang jelas di sekitar hal ini
    Orang yang menggunakan komputer cenderung tidak menyadari betapa banyak kemahiran dan upaya yang dibutuhkan untuk membuat buku. Hal yang sama berlaku jika ditelusuri kembali ke mesin tik, cetak huruf, tulisan tangan, ingatan pribadi, hingga kemampuan meyakinkan orang lain untuk mengulang kata-kata itu hanya melalui keindahan ucapannya
    Adanya komputer tidak menghalangi orang untuk banyak berinvestasi pada kualitas hasil dan membuat sesuatu yang hebat. Hanya saja, memang ada sangat banyak sampah di dunia

  • Satu renungan tentang ZAMM: sudut pandang “romantis” John terhadap hasil karya teknis bisa dipertahankan secara praktis bila diterapkan per kasus
    Misalnya sebuah proyek bergantung pada infrastruktur open source. Jika Anda harus menggali bug kernel atau compiler yang obscure, yang bisa diakali dengan mudah dan setelah didokumentasikan seseorang bisa memperbaikinya lalu membatalkan akal-akalan itu, apa sebenarnya yang dibawa hal itu bagi proyek? Kesimpulannya adalah bahwa masing-masing orang harus bijak memilih medan tempur yang ingin dihadapi

    • Saya benar-benar pernah melakukan hal seperti itu, dan satu baris masuk ke proyek Linux Kernel manpages. Saya tidak menganggapnya sebagai buang-buang waktu karena pengalaman itu membuat saya menjadi programmer yang lebih baik