3 poin oleh GN⁺ 5 jam lalu | Belum ada komentar. | Bagikan ke WhatsApp
  • Berdasarkan pengalaman membuat Pandas dan Apache Arrow, ia memandang bahwa keahlian, penilaian, dan selera dalam merancang sistem data serta perangkat lunak berperforma tinggi tetap menjadi hal yang inti di era AI
  • Apache Arrow adalah lapisan berbasis in-memory serbaguna untuk data berbentuk tabel yang menstandarkan transfer dan pemrosesan antar sistem, dan semakin banyak sistem yang mengadopsinya, semakin besar pula nilai interoperabilitasnya
  • Sistem canggih seperti DuckDB dan DataFusion sulit digantikan hanya dengan kemampuan generasi kode rata-rata dari LLM, dan daya saing open source mencakup bukan hanya kode tetapi juga rekam jejak kepercayaan dan kualitas yang terakumulasi dalam jangka panjang
  • Alat AI sangat meningkatkan produktivitas pengembang yang punya inisiatif tinggi, tetapi jika tidak jelas apa yang ingin dibangun, solusi dan kode rata-rata akan menumpuk sehingga muncul rawa agen (agentic tarpit) yang sulit dikeluari bahkan oleh agen itu sendiri
  • Ke depan, dibanding tata bahasa pemrograman dan menulis kode dengan tangan, kemampuan arsitektur, definisi masalah, komunikasi, dan menilai hasil akan menjadi lebih penting, sementara organisasi juga harus mengelola beban pengambilan keputusan dan biaya token yang meningkat

Karier yang berlanjut dari Pandas ke alat pengembangan AI

  • Wes McKinney membuat Python Pandas sekitar 18 tahun lalu, lalu merilisnya sebagai proyek open source pada 2010
  • Bukunya Python for Data Analysis digunakan luas dalam ekosistem data science Python, dan setelah itu ia ikut membangun perusahaan serta model bisnis yang memungkinkan pengembangan open source terus berlanjut
  • Di Cloudera, ia memulai Apache Arrow bersama sejumlah pengembang open source lain, dan juga terlibat dalam ekosistem Arrow serta pengembangan Parquet
  • Ursa Computing kemudian menjadi Voltron Data, dan setelah Voltron Data dirapikan pun ia tetap melanjutkan hubungan dengan Posit
  • Saat ini ia mendirikan perusahaan baru yang berfokus pada alat pengembang AI dan infrastruktur, bukan lagi library data science, untuk mengeksplorasi cara meningkatkan produktivitas rekayasa perangkat lunak dengan AI

Bagaimana Apache Arrow menyebar

  • Arrow adalah lapisan fondasi data in-memory serbaguna untuk data berbentuk tabel, yang mempercepat pemrosesan di memori dan transfer data antar sistem sekaligus meningkatkan interoperabilitas
  • Pada awalnya, pengguna dan sistem konsumen masih sedikit sehingga insentif adopsinya rendah, dan ada skeptisisme bahwa berbagai komunitas open source sulit menyepakati satu format
    • Saat membuat standar integrasi baru, mudah muncul masalah ala XKCD di mana 13 standar lama justru menjadi 14 standar
    • Arrow tumbuh dengan menyediakan implementasi yang stabil dalam situasi ketika hampir tidak ada alternatif tepercaya untuk memecahkan masalah yang sama, lalu menunggu adopsi
  • Teknologinya sendiri tidak banyak berubah dalam 5–6 tahun terakhir, tetapi ketika lebih banyak sistem mengadopsinya, nilainya meningkat hampir seperti efek jaringan
  • DataFusion memungkinkan orang memperluas mesin query sesuai produk tanpa harus membuatnya dari nol, sehingga diperkirakan sekitar 30–40 perusahaan memakainya sebagai komponen internal
    • Arroyo, yang membangun mesin data streaming, diakuisisi oleh Cloudflare, dan setelah itu Arrow serta DataFusion dipakai sebagai bagian dari infrastruktur data streaming Cloudflare
    • DataFusion Comet digunakan untuk mempercepat Spark

Perangkat lunak sistem yang sulit digantikan AI dengan mudah

  • DataFusion dan DuckDB adalah jenis proyek yang sulit dibuat penggantinya dengan cepat lewat vibe coding
  • LLM sangat cenderung merata-ratakan kode dan pendekatan yang sudah ada, sehingga sulit menghasilkan dalam waktu dekat sistem seperti mesin query terdepan yang dirakit dengan sangat teliti oleh para ahli
  • Proyek seperti ini lebih mirip jam tangan Swiss presisi yang dirakit perajin daripada mainan plastik cetak massal
    • Ini bukan berarti AI tidak akan pernah bisa membuatnya, tetapi untuk saat ini kemungkinan penggantiannya rendah
  • Nilai proyek open source tidak hanya berasal dari implementasinya, tetapi juga dari kepercayaan yang lama dibangun oleh komunitas
    • Keyakinan bahwa maintainer mempertimbangkan kepentingan komunitas
    • Harapan bahwa mereka akan melindungi dari serangan rantai pasok dan memperbaiki bug serius
    • Rekam jejak menghadirkan perangkat lunak yang konsisten dirancang dengan baik dan dapat dipercaya
  • McKinney tidak lagi terlibat mendalam dalam pengembangan Pandas sejak 2013, dan kini proyek itu dipelihara oleh kelompok pengembang yang besar
    • Karena itu, menurutnya apresiasi dan dukungan seharusnya diarahkan kepada para maintainer yang sebenarnya
  • Walau AI bisa menghasilkan 10 ribu baris kode per hari, hasil yang tidak memenuhi standar kualitas yang dibangun selama bertahun-tahun tidak bisa begitu saja dirilis, sehingga dibanding jumlah hasil generasi, review dan pemeliharaan kualitas menjadi tantangan yang lebih penting

Dari game dan matematika ke pemrograman

  • Pada akhir 1990-an ia sangat terobsesi dengan GoldenEye 007 di Nintendo 64, lalu bergabung dengan komunitas speedrun dengan membuat situs penggemar di GeoCities pada akhir 1997 atau awal 1998
  • Saat itu ia mengelola situs secara manual, tetapi ketika melihat Kisman yang mahir competitive programming mengotomatiskan pembaruan situs dengan program C++, ia merasakan dampak otomatisasi yang dibuat programmer hebat
  • Di SMA ia tertarik pada olimpiade matematika dan penggunaan komputer, lalu di MIT ia merasakan kesenjangan kemampuan yang besar di antara teman-teman yang sudah memrogram sejak kecil
  • Saat mengambil gelar matematika murni, ia mempelajari sebagian ilmu komputer teoretis seperti kompleksitas dan algoritme, tetapi karena pengalaman negatif dengan Java, ia tidak terlalu tertarik pada pemrograman itu sendiri
  • Ia baru benar-benar tenggelam setelah melihat pemrograman sebagai alat pemecahan masalah dan pengungkit produktivitas pribadi

Pandas yang berawal dari riset keuangan

  • Pada 2007, di usia 22 tahun, ia masuk ke hedge fund kuantitatif dan menemukan bahwa alih-alih riset yang berpusat pada rumus seperti yang dibayangkan, banyak analisis justru bergantung pada spreadsheet Excel dan kerja manual
  • MATLAB dan R juga dipakai, tetapi lebih sebagai alat bantu, dan untuk men-deploy kode MATLAB ke server dibutuhkan lisensi mahal untuk tiap server
  • Ia menilai bahwa untuk pekerjaan yang berlanjut dari riset hingga production, dibutuhkan bahasa open source yang cocok untuk membangun sistem
  • Atas saran rekan kerja, pada awal 2008 ia mulai memakai Python dan library komputasi ilmiah, lalu saat membangun ulang alat riset yang ada dalam Python, muncul bentuk awal Pandas
  • Dalam proses membuat alat yang meningkatkan produktivitas dan melihat orang lain bekerja lebih efisien dengannya, ia merasakan keterlibatan yang mirip dengan speedrun game

Pengalaman pengguna yang sederhana dan utang teknis internal

  • McKinney lebih mementingkan alat yang sederhana dan konsisten yang bisa dipahami dan dipakai orang lain daripada alat AI rumit yang hanya cocok untuk satu individu
  • Kumpulan alat yang terlalu dipersonalisasi bisa menjadi begitu rumit sehingga tak bisa dijelajahi siapa pun selain pembuatnya sendiri, seperti Winchester Mystery House
  • Implementasi awal Pandas lebih berfokus pada API dan kegunaan yang mudah dipahami dan ditulis manusia daripada arsitektur internal
  • Kekacauan struktur internal meninggalkan beban maintenance untuk waktu lama, tetapi keberhasilan Pandas menunjukkan bahwa perangkat lunak tetap bisa sangat sukses meski tidak memiliki arsitektur yang sempurna

Peran dan keterbatasan NumPy

  • NumPy lahir ketika Travis Oliphant sekitar 2005–2006 menyatukan Numeric, library array multidimensi yang dimulai Jim Hugunin pada pertengahan 1990-an, dengan lini Numarray yang menambahkan fitur array skala besar seperti memory mapping
  • Karena saat itu Matplotlib, SciPy, serta alat statistik dan regresi linear bekerja dengan array NumPy sebagai pusatnya, maka kompatibilitas NumPy wajib dimiliki jika alat data baru ingin ikut ke dalam ekosistem
  • NumPy berfokus pada array multidimensi besar untuk angka dan integer, dan tidak dirancang sebagai fondasi untuk database atau data nonnumerik
  • Pandas awal dibangun di atas NumPy dan mengakali keterbatasan untuk data nonnumerik
    • Nilai yang bukan angka atau boolean disimpan sebagai objek Python di dalam array NumPy
    • Untuk data string, muncul overhead objek dan referensi tidak langsung sehingga efisiensinya rendah
  • Keterbatasan inilah yang kemudian menjadi motivasi untuk membuat Arrow sebagai fondasi in-memory alternatif bagi sistem seperti Pandas

Pertumbuhan ekosistem data science Python

  • Banyak perusahaan yang didanai modal ventura mengampanyekan bahwa tiap perusahaan perlu membangun infrastruktur data seperti Google, sehingga investasi besar mengalir ke proyek open source big data
  • Tidak semua perusahaan sebenarnya membutuhkan infrastruktur sebesar itu, tetapi tanpa pendanaan tersebut kemungkinan akan jauh lebih sulit mengumpulkan pengembang yang dibutuhkan untuk Arrow
  • Saat itu industri bersaing soal apa arti data science dan data scientist, serta dari mana mendapatkan orang yang sekaligus punya kemampuan bisnis, statistik, dan perangkat lunak
  • Python memungkinkan orang yang tidak punya banyak pengalaman pemrograman tetapi memahami statistik untuk mengakses data science
    • Dengan mempelajari Python for Data Analysis dan alat seperti scikit-learn, mereka bisa mulai melakukan analisis yang berguna untuk pekerjaan dalam 2–3 minggu
    • Jika harus belajar bahasa seperti Scala terlebih dahulu, hambatan masuk akan lebih tinggi dan waktu belajarnya juga lebih lama

Peluncuran Pandas dan terbentuknya organisasi Arrow

  • Keputusan untuk merilis Pandas diambil pada malam tahun baru 2009, dan lewat presentasi PyCon pertamanya pada Februari 2010, proyek itu mulai benar-benar terhubung dengan komunitas Python
  • McKinney memulai program doktor statistik di Duke pada 2010, tetapi mengambil cuti setelah melihat minat perusahaan keuangan terhadap alat data Python dan potensi pertumbuhan Pandas
  • Saat itu Pandas 0.1 masih sangat terbatas hingga belum mendukung semua jenis join, dan ia meninggalkan sekolah pascasarjana agar bisa fokus pada pertumbuhan proyek
  • Setelah meninjau bisnis teknologi keuangan, ia menulis Python for Data Analysis dan mendirikan startup BI, lalu pada 2013 bergabung dengan Cloudera karena menilai sulit bersaing dengan Looker di pasar BI
  • Di Cloudera, ia terhubung dengan para pengembang Impala dan bertemu banyak insinyur yang kemudian berkiprah di Iceberg, Databricks, dan tempat lain, dan pengalaman ini menjadi pijakan bagi karier selanjutnya
  • Proyek Arrow dimulai di Cloudera pada awal 2016, tetapi saat itu di pasar perangkat lunak enterprise sulit mendapatkan anggaran tim khusus untuk teknologi eksperimental
  • Pada 2016–2018, ia menerapkan Arrow pada sistem nyata di perusahaan keuangan untuk mempercepat workload pemrosesan data dan memperbaiki Parquet
  • Pada 2018, beberapa perusahaan ingin mendanai pengembangan Arrow, tetapi aturan perusahaan keuangan menyulitkan pengelolaan dana eksternal, sehingga pada April ia mendirikan organisasi independen yang bisa menerima sponsor korporat
    • Sekitar 6 sponsor bergabung, termasuk perusahaan hardware seperti Nvidia dan sejumlah perusahaan keuangan
    • Ia membentuk tim pengembang beranggotakan sekitar 8 orang
  • Setelah memastikan peluang komersialnya, pada masa COVID-19 tahun 2020 ia beralih ke Ursa Computing

Masalah rekayasa data yang masih tetap ada

  • Hingga hari ini, bidang data masih berulang kali menyelesaikan masalah memindahkan data dari A ke B, mengubah format, memuat ke memori, serta mengeksekusi query dan transformasi secara efisien
  • Pandas telah menjadi fondasi yang menopang jauh lebih banyak alur data perusahaan daripada yang diperkirakan, dan sekarang mungkin ada lebih banyak kode Pandas yang dihasilkan LLM daripada yang dulu ditulis manusia
  • DuckDB adalah alat yang sangat kuat, sampai-sampai sulit dibayangkan oleh pengembang 20 tahun lalu
    • Bisa dipasang gratis dan dijalankan di berbagai lingkungan
    • Bisa berjalan di ponsel dan browser web
    • Memberikan analitik berperforma tinggi di satu mesin tanpa instalasi rumit
  • Setelah bertahun-tahun mengalami ketidaknyamanan dan trial and error, kebutuhan akan teknologi seperti DuckDB dan Arrow menjadi jelas, dan banyak solusi termasuk Parquet dipengaruhi oleh teknologi yang dibuat perusahaan internet besar seperti Google untuk menghemat biaya dan waktu
  • Parquet bukan format terbaik, tetapi jauh lebih baik daripada sebelumnya dan didukung hampir semua sistem
    • Walaupun ada alternatif khusus seperti Vortex dan Lance, ia tetap digunakan berkat kompatibilitas yang cukup baik
  • Ketika AI menyita perhatian industri, daya tarik topik data engineering menurun, sehingga bahkan ketika Databricks mengumumkan mesin data baru pun perhatian yang diterima lebih kecil dibanding dulu
  • Di sisi lain, bagi pengembang alat data, hal ini memberi ruang untuk fokus pada penyempurnaan teknis tanpa harus mengejar tren, sambil memanfaatkan AI untuk pekerjaan repetitif dan tidak nyaman seperti menulis test

Konvergensi menuju teknologi database

  • Pelajaran utama era big data adalah bahwa hasil riset dan konferensi para peneliti database seharusnya dimanfaatkan lebih awal
  • Penting untuk membaca, mengimplementasikan, dan berkolaborasi dengan riset database dari institusi seperti TU Munich, CWI, MIT, CMU, dan Berkeley
  • Pada era NoSQL dan storage nonrelasional, sistem yang dapat diskalakan kadang menambahkan overhead besar hingga lebih lambat daripada implementasi single-machine dan single-thread yang dibuat dengan baik
  • Riset Scalability! But at what COST? yang melibatkan Frank McSherry dan Michael Isard membahas biaya yang harus dibayar untuk memperoleh skalabilitas
  • Stack data modern kembali berkumpul di sekitar teknologi database dan pemrosesan kolumnar
    • Polars, Daft, dan DataFusion memakai Arrow
    • Mesin baru dbt memanfaatkan ADBC
    • Databricks Photon mengadopsi struktur kolumnar terlepas dari apakah ia memakai Arrow atau tidak
  • Ketika sistem utama berkumpul pada arsitektur dan pendekatan yang mirip, tantangan yang lebih penting kini bukan lagi metode pemrosesan inti, melainkan seberapa mudah perangkat lunak itu benar-benar digunakan

Perbaikan kegunaan dari Hadoop ke DuckDB

  • Pada era Hadoop, karena Java, file konfigurasi XML, dan banyaknya parameter penyesuaian, kadang dua hari habis hanya untuk konfigurasi sebelum pekerjaan nyata dimulai
  • Spark merupakan perbaikan besar karena word count bisa ditulis dalam satu baris, tetapi tetap saja infrastruktur dan file konfigurasi masih perlu disiapkan
  • Cara instalasi dan eksekusi DuckDB adalah model kegunaan yang menunjukkan betapa sederhananya sistem data bisa dibuat
  • Bahkan sistem terdistribusi pun seharusnya menyediakan default yang masuk akal dan konfigurasi yang langsung bekerja untuk mengurangi kompleksitas operasional
  • DuckDB juga sedang meluas ke area client-server dan bekerja erat dengan MotherDuck

Lapisan data multimodal untuk AI generatif

  • Lakehouse yang ada berpusat pada data tabular dan Parquet, tetapi untuk AI generatif serta pelatihan dan fine-tuning model skala besar, dibutuhkan gambar, video, teks, dokumen, dan log secara bersamaan
  • Lakehouse data multimodal yang ditangani LanceDB adalah masalah enterprise yang nyata
  • Saat menghasilkan embedding dari data tak terstruktur skala besar, listrik dan waktu GPU ikut terpakai, sehingga embedding hasil itu sendiri memperoleh nilai ekonomi berdasarkan biaya komputasi
  • Di lingkungan production, dibutuhkan data store yang dapat menyimpan, mengelola, dan memproses data asli serta hasil generasi secara andal
  • Jika setiap perusahaan membangun storage multimodal sendiri, mereka bisa berulang kali mengalami bug, kehilangan data, dan masalah performa, sehingga lebih efisien bila vendor perangkat lunak khusus menyediakan solusi umum
  • Meskipun orang bisa mengoperasikan tabel Iceberg sendiri, menyerahkan pengelolaannya kepada penyedia seperti Databricks, Snowflake, atau AWS dapat mengurangi kompleksitas operasional, dan logika yang sama berlaku untuk data multimodal AI generatif
  • Di pasar data AI generatif, masih ada ruang untuk menyelesaikan lapisan yang berbeda-beda, dari pencarian vektor dokumen dan pemrosesan QPS tinggi hingga manajemen siklus hidup data

Daya saing pengembang di era AI

  • McKinney pernah bertanya-tanya apakah ia sendiri masih punya masa depan sebagai software engineer, tetapi kini ia menilai AI justru membedakan manusia dengan lebih jelas berdasarkan tingkat inisiatif
  • Orang dengan inisiatif tinggi bisa memperoleh pengungkit produktivitas besar dari AI karena mereka memikirkan apa yang ingin dibangun dan punya selera serta penilaian untuk membedakan hasil yang baik
  • LLM memberi pendekatan tingkat B+ yang rata-rata dan aman untuk sebagian besar masalah, tetapi tidak bisa menciptakan pengalaman, selera, dan penilaian atas nama pengguna
  • Jika terus menambahkan kode hasil generasi tanpa penilaian yang baik, akan terbentuk rawa kompleks, dan bahkan agen pun kesulitan melanjutkan pekerjaan karena tertindih konteks dan struktur
  • Dulu orang mengasah keterampilan teknis dan penilaian sambil mengimplementasikan sendiri, tetapi ke depan ketika waktu hand-coding berkurang, pemahaman dan kemampuan merancang sistem perlu diasah secara terpisah

Hal yang perlu dipelajari di era AI

  • Pengembang baru perlu mempelajari desain dan arsitektur perangkat lunak serta struktur sistem data, bukan hanya tata bahasa Python atau Java
  • Dalam data engineering, perlu memahami bagaimana sistem yang berbeda seperti arsitektur Lambda dan arsitektur Kappa bekerja serta masalah apa yang cocok ditangani masing-masing
  • Orang harus mampu menyampaikan hasil yang diinginkan dengan tepat kepada agen, dan menyadari ketika agen mulai bergerak ke arah yang salah
  • Jika pengguna sendiri tidak mampu menilai mana yang lebih baik antara A dan B, agen pun tidak bisa menjamin pilihan yang benar sebagai gantinya
  • Software engineer, data engineer, dan data scientist kemungkinan akan menghabiskan lebih banyak waktu untuk definisi masalah dan komunikasi daripada menulis kode
  • Jika tidak bisa menjelaskan apa yang diinginkan, maka hasil yang diinginkan juga tidak akan diperoleh dari AI, dan menambahkan AI ke organisasi tidak serta-merta menaikkan produktivitas maupun hasil ekonomi secara otomatis
  • Jika AI diberikan kepada orang yang minim pengalaman dan penilaian, alat itu bisa berubah menjadi meriam slop (slop cannon) yang menghasilkan utang besar untuk dibersihkan orang lain alih-alih keluaran yang berguna

Meningkatnya pengambilan keputusan dan investasi AI organisasi

  • Dalam 2–5 tahun ke depan, perekrutan pengembang, wawancara teknis, dan pembagian peran bisa menjadi kacau dan berubah cepat
  • Dulu tim membangun keyakinan bersama terhadap pekerjaan lewat rapat, sprint planning, dan planning poker, lalu membagi implementasi di antara anggota
  • Kini proses perencanaan agile yang ada bisa dipadatkan ke dalam planning mode milik Claude, dan muncul situasi di mana satu pengembang harus mengambil sangat banyak keputusan sendirian
  • Pengembang yang harus mengambil keputusan 10 kali lebih banyak per hari dibanding sebelumnya bisa terhenti karena kelelahan mengambil keputusan dan ambiguitas
  • Orang yang mampu menilai dengan cepat dan menentukan jalur yang efisien bisa memanfaatkan produktivitas AI, tetapi bagi orang yang tidak yakin harus melakukan apa, AI tidak bisa menyelesaikan masalah itu
  • Perusahaan bisa saja membayar Anthropic dan OpenAI dalam jumlah besar sambil tetap kesulitan memastikan ROI dari investasi AI
    • Di samping sejumlah hasil positif, akan ada pemborosan, keluaran berkualitas rendah, dan biaya untuk membereskan keluaran tersebut
    • Penyedia model AI mendapat untung selama penjualan token terus berjalan, tetapi perusahaan pelanggan kemungkinan akan menerapkan anggaran token yang lebih ketat

Model open-weight dan keekonomian token

  • McKinney menjalankan model Tiongkok open-weight GLM 5.2 pada infrastruktur fisik dan menilai hasilnya baik
  • GLM 5.2 bukan model kecil, dan untuk menjalankannya dengan layak diperlukan sekitar 8 GPU B200
    • Harga satu B200 diperkirakan sekitar 30 ribu–50 ribu dolar AS
    • Total biaya hardware bisa mencapai sekitar 250 ribu–400 ribu dolar AS
  • Dalam jangka panjang, ia berharap kualitas model open-weight meningkat dan hardware menjadi lebih murah, sehingga orang bisa berhenti terus-menerus membayar perusahaan AI eksternal dan hanya menanggung biaya listrik server pribadi
  • Jika token yang dipakai selama 30 hari terakhir dihitung dengan harga resmi API, nilainya sekitar 37 ribu dolar AS, tetapi jumlah yang benar-benar dibayar ke penyedia model jauh lebih rendah
  • Harga token saat ini mungkin mencakup subsidi besar, dan dalam jangka panjang belum jelas struktur biaya seperti apa yang akan berkelanjutan
  • Tingkat adopsi AI juga tidak seragam seperti perhatian industri terhadapnya; sebagian perusahaan masih berada di ekor panjang yang baru berdiskusi di level dewan direksi dan CTO tanpa benar-benar memulai penerapan

Belum ada komentar.

Belum ada komentar.