- Hasil riset yang menganalisis kecenderungan pemilihan alat oleh Claude Code pada 2.430 repositori open source nyata
- Dari total 20 kategori, pada 12 kategori Claude Code memilih implementasi langsung (Custom/DIY) alih-alih alat siap pakai, dan ini merupakan tipe pilihan yang paling sering muncul
- Di sisi lain, saat memilih alat, terlihat konsentrasi tinggi pada item tertentu seperti GitHub Actions (94%), Stripe (91%), dan shadcn/ui (90%)
- Lingkungan deployment bersifat tetap menurut bahasa: untuk JS memilih Vercel, untuk Python memilih Railway sebagai opsi default, sementara AWS·GCP·Azure dikesampingkan dari pilihan utama
- Semakin baru modelnya, semakin jelas kecenderungan beralih ke alat-alat baru seperti Drizzle dan FastAPI BackgroundTasks, dengan konsistensi pilihan dalam ekosistem mencapai sekitar 90%
Ringkasan riset
- Dengan Claude Code v2.1.39, dilakukan total 2.430 eksperimen untuk mengamati pemilihan alat melalui pertanyaan open-ended pada repositori nyata
- 3 model (Sonnet 4.5, Opus 4.5, Opus 4.6), 4 jenis proyek, 20 kategori alat
- Tingkat ekstraksi 85,3%, menghasilkan 2.073 respons valid
- Tingkat kesesuaian antar model 90%, dengan konsistensi pilihan dalam ekosistem yang sama pada 18 dari 20 kategori
Temuan utama: Build vs Buy
- Dari 20 kategori, pada 12 kategori implementasi Custom/DIY adalah pilihan yang paling umum
- Total 252 pilihan Custom/DIY, lebih banyak daripada alat individual mana pun
- Contoh: feature flag diimplementasikan dengan file konfigurasi berbasis environment variable, autentikasi Python ditulis langsung dengan JWT + passlib, caching menggunakan wrapper TTL in-memory
- Rasio Custom/DIY per kategori
- Feature Flags 69%, Authentication(Python) 100%, Authentication(total) 48%, Observability 22%
Stack default
- Saat Claude Code benar-benar memilih alat, ia membentuk stack default yang berpusat pada ekosistem JS
- Alat yang paling sering dipilih: Zustand (64,8%), Sentry (63,1%), dan lainnya
- Dalam beberapa kasus, 100% pilihan terkait JS terkonsentrasi pada alat tertentu
- Stack default ini berdampak langsung pada banyak pengembangan aplikasi baru
Berseberangan dengan arus pasar (Against the Grain)
- Ada alat dengan pangsa pasar tinggi yang hampir tidak dipakai oleh Claude Code
- Manajemen state: tidak ada pilihan utama yang dominan, sebagai gantinya Zustand dipilih 57 kali
- API Layer: lebih menyukai routing bawaan framework
- Testing: hanya 4% yang menjadi pilihan utama, 31 kasus sebagai pilihan alternatif
- Package manager: 1 kasus sebagai pilihan utama, 51 kasus sebagai pilihan alternatif
Kecenderungan pergantian alat pada model terbaru (The Recency Gradient)
- Semakin baru modelnya, semakin besar pergeseran ke alat terbaru
- JS ORM: Prisma (79%) → Drizzle (100%)
- Pemrosesan job Python: Celery (100%) → FastAPI BackgroundTasks (44%)
- Caching Python: Redis (93%) → Custom/DIY (50%)
- Di dalam tiap ekosistem, pergantian alat antar generasi terlihat jelas
Diferensiasi lingkungan deployment (The Deployment Split)
- Pilihan deployment bersifat tetap menurut stack bahasa
- JS (Next.js + React SPA): 86 dari 86 kasus memilih Vercel
- Python (FastAPI): Railway dipilih dalam 82% kasus
- AWS, GCP, Azure masing-masing mencatat 0 pilihan utama dari seluruh 112 kasus
- Sebagai rekomendasi alternatif muncul Netlify (67 kali), Cloudflare Pages (30 kali), GitHub Pages (26 kali), dan DigitalOcean (7 kali)
- AWS Amplify dan Firebase Hosting hanya disebutkan, tanpa direkomendasikan
- Dalam contoh respons, Vercel disertai alasan dan perintah instalasi, sementara AWS Amplify hanya disebut sepintas dalam satu baris
Area ketidaksepakatan antar model (Where Models Disagree)
- Terdapat perbedaan antar model pada 5 dari 20 kategori
- JS ORM: Prisma → Drizzle
- JS Jobs: BullMQ → Inngest
- Python Jobs: Celery → FastAPI BgTasks
- Caching: Redis → Custom/DIY
- Real-time: SSE → Custom/DIY
- Pada 18 kategori lainnya, pilihan dalam ekosistem yang sama tetap konsisten
Layanan benchmark untuk perusahaan
- Amplifying menyediakan dashboard privat untuk masing-masing perusahaan alat developer
- Memungkinkan mereka melihat seberapa sering AI agent merekomendasikan alat mereka dibanding pesaing
- Mendukung analisis daya saing rekomendasi alat berbasis codebase nyata
Eksplorasi data
- Analisis lanjutan mencakup pendalaman per kategori, stabilitas phrasing, konsistensi antar repositori, dan dampak pasar
- Hasil riset akan diperbarui ke depan berdasarkan model Sonnet 4.6
4 komentar
Menarik, tapi saya juga jadi merasa jangan-jangan ini cuma berevolusi ke arah yang memakai token mereka lebih banyak dan menagih biaya lebih mahal; dan sebenarnya sampai taraf tertentu, library mungkin memang dibuat begitu saja karena AI sudah dilatih terhadapnya.
Agak aneh juga membayangkan hanya library tertentu yang akan berkembang karena preferensi agen.
Riset yang menarik. Terutama pada bagian "Build vs Buy", fakta bahwa 12 dari 20 kategori adalah DIY sangat mengesankan.
Kami juga melihat pengamatan serupa saat membuat standar persona agen AI (Soul Spec): jika alat tidak dinyatakan lewat
CLAUDE.mdatauAGENTS.mduntuk Claude Code, ada kecenderungan kuat untuk mengimplementasikannya dengan caranya sendiri.Yang disiratkan oleh "Recency Gradient" dalam riset ini tampaknya adalah bahwa agar alat baru masuk ke stack default Claude, alat tersebut harus cukup terekspos dalam data pelatihan atau ditetapkan secara eksplisit di file konteks proyek. Pada akhirnya, Context Engineering bahkan menentukan pemilihan alat.
Bagus juga karena dataset aslinya dibuka: https://github.com/amplifying-ai/claude-code-picks
Katanya ini disebut Assistive agent optimization (AAO).
Sekarang, untuk alat bagi developer, menjadi produk yang disukai para agent jadi makin penting.
Kalau agent bahkan tidak membicarakannya, lama-lama akan makin dijauhkan
Komentar Hacker News
Saya rasa masa depan iklan LLM adalah menjadi sepenuhnya tak terlihat
Pada akhirnya, ini berarti menjadi ‘influencer’ yang paling kuat
Atau mungkin ini bukan soal iklan, melainkan masalah conflict of interest
Misalnya, apakah Gemini lebih memilih setup berbasis GCP bisa menjadi sinyalnya
Riset Anthropic menunjukkan bahwa ada cara untuk memburu eksposur produk di LLM alih-alih SEO
Tunggu sekitar 6 bulan sampai crawler mengumpulkannya dan memakainya sebagai data pelatihan → akhirnya untung
Kalau saat itu mereka memakai Gemini, rasanya hal seperti ini tidak akan terjadi
Inilah implementasi paling pamungkas dari ‘Nudge’
Di masa depan, sistem coding berbasis agen akan memutuskan sendiri apa yang akan dibuat, dan manusia hanya menerima hasil akhirnya tanpa pernah melihat pilihannya
Bahkan rantai pasok pun akan ditentukan oleh LLM
Platform mengendalikan ‘rak pajangan’, lalu melihat fitur SaaS yang populer dan membuat merek internal sendiri (misalnya Great Value, Amazon Basics)
Software pajak tampaknya bisa menjadi contoh utamanya
Hal yang menarik adalah, gaya web Claude Code yang disebut di tulisan ini benar-benar terlihat pada blog tersebut
Font JetBrains Mono adalah ciri khas utama web yang dibuat Opus 4.6
Dalam sebulan terakhir, lebih dari 99% halaman web yang memakai JetBrains Mono secara berlebihan tampaknya dibuat oleh Opus
Opus 4.6 memilih Drizzle sebesar 32.5%, sementara Prisma hanya 20.5%
Semakin kuat modelnya, tampaknya semakin jarang ia memilih Prisma — rasanya seperti semacam benchmark kecerdasan
Contoh lain, youjustneedpostgres.com juga memakai JetBrains Mono secara berlebihan
Desain bilah kategori hampir identik dengan UI yang saya hasilkan tanpa banyak pikir kemarin
CSS berbasis kartu semuanya terasa mirip, jadi blog ini pun tampaknya dibuat dengan pola yang sama
Saya tidak memberi LLM prompt yang ambigu
Sebaliknya, di 2026 saya sedang belajar lagi cara menarik informasi yang akurat dari LLM
Rasanya seperti belajar ulang pencarian Google di 2006
Saya memakai reverse prompt agar satu model memverifikasi hipotesis model lain
Misalnya, jika hasil Opus 4.6 terasa mencurigakan, saya lempar ke ChatGPT atau Codex untuk mencari celahnya
Claude relatif tidak terlalu keras kepala, sementara ChatGPT atau Codex lebih tegas tetapi sering kali lebih akurat
Dalam kasus masalah container Docker, Claude bilang itu bug ZFS, tetapi ChatGPT bilang itu hanya salah konfigurasi, dan ternyata itu yang benar
Dengan cara ini saya mendapatkan jawaban yang tepat lewat validasi silang antar-LLM
Setelah itu, ia benar-benar akan banyak bertanya
Saya terus menyuruhnya merevisi sampai keluar rencana yang rinci, dan itu juga membuatnya mengajukan lebih banyak pertanyaan yang diperlukan
Dengan langganan ChatGPT saya tidak pernah mencapai batas, tetapi kalau sesekali error saya membuka Claude di terminal lain
Anggaran Claude di perusahaan kami sangat terbatas, hanya 750 dolar per bulan
Saya menggunakan TimescaleDB di AWS
Claude Code mengelola instance EC2 lewat AWS CLI
Tetapi pagi ini Claude menyarankan membuat akun NeonDB dan Fly.io
Padahal setup AWS saya sudah rapi, jadi aneh rasanya ketika ia merekomendasikan layanan baru
Berdasarkan pengalaman saya, agen LLM sangat buruk dalam membuat keputusan arsitektur
Mereka terobsesi pada abstraksi yang tidak perlu dan versioning, sehingga kode jadi terlalu rumit
Pada akhirnya saya tetap harus menulis kodenya sendiri
Saya memakai Planetscale di semua proyek, tetapi Claude malah merekomendasikan Neon
Ini terlihat seperti sekadar bug
Menarik bahwa Opus 4.6 disebut ‘berorientasi masa depan’
Setelah memakai 4.5 selama sebulan, saya memulai proyek baru dengan 4.6, dan ternyata ia melakukan pencarian web pada tahap perencanaan
Modelnya sudah berkembang jauh, tetapi orkestrasi dan pembagian peran tetap menjadi tantangan inti
Dulu saya pernah benar-benar merilis aplikasi Android dengan GPT-3.5 (tautan aplikasi)
Pekerjaan yang dulu butuh seminggu sekarang bisa dilakukan dengan satu prompt
Jika LLM di-orkestrasi dengan baik, hasilnya bisa keluar jauh lebih cepat
Saat coding bersama LLM, saya merasakan betapa besar pengurangan ketergantungan pada paket npm, terutama di ranah web
Dulu saya memakai hal-hal seperti jwt auth atau plugin build, tetapi sekarang itu bisa digantikan dengan beberapa baris kode
Kodenya sederhana, mudah dipahami, dan karena itu bisa dipercaya
Pada 2010 jQuery adalah rajanya JS, tetapi sekarang JS murni saja sudah cukup
Namun untuk kode terkait keamanan seperti JWT, saya tetap tidak akan langsung memakai hasil buatan Claude begitu saja
Sekarang implementasi sendiri mungkin justru lebih baik
Duplikasi kode memang akan bertambah, tetapi masalah dependency berkurang
Saya selalu memberi tahu Claude library dan teknologi berpemilik apa yang harus dipakai
Saya pikir developer harus bisa mengarahkan model dengan baik
Kalau saya belum yakin, saya bertanya di jendela terpisah tentang arsitektur atau plus-minusnya lalu memutuskan sendiri
Di dua proyek, Claude otomatis menambahkan Github Actions
Padahal saya tidak memintanya, dan karena itu folder tersembunyi, saya melewatkannya di git diff
Untung biayanya hanya 4 sen, tetapi itu pengalaman yang cukup mengkhawatirkan
Saya penasaran
Kenapa shadcn/ui bisa menjadi library UI default seperti ini?
Bukan hanya Claude, model lain juga memakainya secara default
Jika shadcn dikecualikan, apakah kualitas atau kecepatannya akan turun?
Apakah mungkin karena dokumentasi dan contoh yang melimpah, atau sekadar karena terlalu sering muncul di data pelatihan?
Saya juga sempat terkejut saat melihat Gemini pada pertengahan 2025 menjadikan shadcn default untuk dashboard React
shadcn/ui berbasis Tailwind, jadi disukai AI
Memang jumlah download npm-nya melonjak drastis sejak Desember
tautan paket npm
Banyak library komponen yang lebih tua, jadi kenapa yang ini menang rasanya layak dianalisis secara ilmiah
Komponennya konsisten dan mudah dikustomisasi, sehingga integrasi ke proyek jadi praktis
Ini benar-benar proyek yang dibuat dengan sangat baik
Sekarang kalau saya melihat situs yang memakai gaya default shadcn apa adanya, rasanya itu seperti sinyal website buatan AI
Sama seperti Bootstrap 10 tahun lalu, gaya defaultnya terlalu umum
Kalau begitu, apakah itu benar-benar bisa dianggap jejak AI?
Saya penasaran apa tepatnya maksud analogi “Bootstrap 10 tahun lalu” itu