Mac mini saya mati. Tidak dramatis — mesin itu cuma berhenti jadi perangkat yang bisa saya percaya, dan hal yang masuk akal adalah menghapus drive-nya lalu instal ulang dari nol.
Tarian ini sudah sering saya lakukan. Ritualnya tidak pernah berubah: instal ulang OS, lalu habiskan satu malam untuk memasang semuanya kembali. Homebrew. Node. Python. Belasan command-line tool yang Anda sendiri tidak ingat pernah memasangnya. Lalu, tiga minggu kemudian, Anda baru sadar ada satu yang terlupa, karena sesuatu yang dulu jalan tiba-tiba tidak jalan.
Kali ini saya mencoba hal yang berbeda.
Saya memasang Chrome, lalu menjalankan satu perintah di Terminal untuk memasang harness-nya. Itu saja daftarnya. Setelah itu saya minta ia menyiapkan sisanya.
Chrome bukan sekadar hiasan dalam cerita ini. Itu satu-satunya aplikasi GUI yang benar-benar saya butuhkan, dan sekaligus browser yang dipakai agen saat sebuah tugas memerlukannya. Tooling browser dideklarasikan di config harness seperti komponen lain, bukan dipasang dengan tangan.
Harness adalah bagian yang selama ini saya abaikan
Dua tahun terakhir, saya memikirkan tool coding AI terutama dari sisi model. Model mana yang paling pintar, mana yang paling murah, mana yang menulis kode frontend lebih baik. Saya sudah membatalkan langganan karena pertanyaan itu dan menulisnya lebih dari sekali.
Yang selama ini saya kurang perhitungkan adalah harness — hal yang sebenarnya berada di antara saya dan mesin. Model memasok kecerdasannya. Harness memasok tangan, ingatan tentang cara saya bekerja, dan antarmukanya.
Untuk rebuild kali ini, OpenCode adalah harness-nya dan DeepSeek V4.1 Flash adalah modelnya. Tapi saya sudah berhenti percaya bahwa salah satu lapisan harus dikunci pada satu pilihan, karena keduanya dipilih dengan dasar yang benar-benar berbeda.
Model saya pilih berdasarkan empat hal: seberapa pintar ia, seberapa cepat ia menghasilkan (token per detik, dan ini jauh lebih terasa daripada yang saya perkirakan), berapa biayanya, dan apa yang terjadi pada data yang saya kirimkan.
Biaya lebih dari sekadar harga yang terpampang, karena harga yang terpampang bukan yang sebenarnya Anda bayar. Angka yang penting adalah cache hit rate. Ketika harness bisa menjaga konteks yang stabil, sebagian besar input dilayani dari cache dan tagihannya menciut — cache hit rate DeepSeek saya rutin di atas 99%. Dua model dengan harga per token yang sama bisa sangat berbeda dalam pengeluaran nyata Anda, tergantung apakah harness Anda bisa menjaga cache.
Saya juga tidak mengarahkan semuanya lewat satu model. Tugas yang berbeda cocok dengan model yang berbeda, dan model gratis sering sudah cukup untuk pekerjaan mekanis — menghabiskan model frontier untuk itu cuma pemborosan.
Harness saya pilih berdasarkan preferensi. Antarmuka, dan kebiasaan. Saya memakai OpenCode karena kebiasaan saya tinggal di sana, dan saya menjalankan harness milik DeepSeek sendiri berdampingan dengannya karena saya suka bekerja di keduanya. Di kantor saya memakai harness lain lagi — Antigravity CLI yang menjalankan Gemini 4 Argon atau 3.8 Flash — karena pekerjaan itu bentuknya berbeda: saya menyerahkan rencana dan ia mengerjakannya berjam-jam.
Tidak ada benchmark yang bisa memutuskan semua itu, seperti halnya pada model. Anda harus tahu apa yang Anda butuhkan, lalu memilih untuk itu.
Di bulan Agustus saya menulis soal pindah ke satu model dan satu harness tanpa menyebut hal yang sebenarnya berubah bagi saya. Tulisan itu ditutup dengan catatan bahwa saya akan mulai lebih sering memakai Flash, karena dengan harga segitu tidak ada alasan untuk tidak. Inilah itu, dengan satu koreksi: satu adalah insting yang salah.
Perbedaan itu terdengar akademis sampai Anda membangun ulang sebuah komputer dengan pendekatan ini. Lalu rasanya tidak lagi akademis, dan itu terjadi sangat cepat. Harness yang bisa menjalankan perintah, membaca dan menulis file, memasang paket, dan berusaha memeriksa pekerjaannya sendiri bukanlah kotak autocomplete. Ia lebih mirip lapisan sistem operasi — dan begitu Anda punya satu, daftar hal yang harus Anda pasang sendiri jadi sangat pendek.
Alur kerjanya, langkah demi langkah
Polanya selalu sama setiap kali, dan ini bukan cara saya bekerja dulu:
- Jelaskan hasil akhirnya, bukan langkah-langkahnya. Bukan "ini perintah brew-nya", tapi "saya perlu bisa menjalankan script jenis ini secara lokal, tolong siapkan."
- Biarkan agen yang memasang dan mengonfigurasi, termasuk memperbaiki hal yang baru saja ia rusak.
- Verifikasi — bagian ini tetap milik saya. Agen bisa menunjukkan persis apa yang ia jalankan, dan itulah yang membuat verifikasi jadi murah.
- Kalau saya tidak bisa memverifikasi sesuatu, saya kerjakan sendiri. Service key dan kredensial SSH adalah dua hal yang saya buat dengan tangan dan tidak saya serahkan.
- Baca apa yang sebenarnya ia lakukan, dan sadari bahwa cepat atau lambat akan ada jawaban salah yang terdengar masuk akal. Tidak perlu setiap baris — cukup untuk tahu apa yang berubah di mesin saya, dan cukup untuk menyadari satu perubahan yang terlihat benar padahal bukan.
Bedanya dengan rebuild lama saya lebih mudah ditunjukkan daripada dijelaskan:
| Rebuild lama saya | Yang ini | |
|---|---|---|
| Dipasang dengan tangan | OS-nya, lalu satu malam untuk Homebrew, Node, Python, dan belasan tool CLI | Chrome, plus satu perintah untuk harness-nya |
| Sisanya | Saya, sepanjang malam | Agen, atas permintaan |
| Di mana state-nya tinggal | Service lokal, runtime, image container | File config dan satu koneksi yang saya otorisasi sekali |
| Apa yang menumpuk | Endapan dari setiap eksperimen | Tidak ada yang dipasang "untuk berjaga-jaga" |
Ada dua hal yang membuat itu mungkin. Pertama, harness menyimpan konfigurasinya di file yang bisa saya baca dan edit — saya bisa melihat persis apa yang tersambung dan mengubahnya. Kedua, makin banyak MCP server saya yang remote. Supabase, Resend, dan Vercel adalah URL yang saya otorisasi sekali, bukan service di disk saya. Yang lokal berjalan lewat npx sesuai kebutuhan, jadi tidak terpasang sampai saat saya memakainya.
Dulu mesin saya menyimpan banyak service. Sekarang ia menyimpan satu file config dan satu token, dan service-nya tinggal di tempat lain.
Disk-nya tetap kosong
Saya tidak berniat menjadikan ini benchmark, jadi anggap saja ini pengamatan, bukan pengukuran. Tapi angkanya sulit diabaikan: dibanding setup lama saya, sekarang ada sekitar 60 GB ruang kosong lebih banyak di mesin yang sama.
Untuk mesin dengan SSD yang disolder, itu bukan selisih pembulatan. Penyimpanan adalah salah satu dari sedikit hal yang tidak bisa Anda upgrade belakangan di Mac modern, dan harganya pun setara dengan itu. Enam puluh gigabyte yang kembali adalah potongan berarti dari biaya naik ke tier di atasnya.
Ke mana perginya lebih mudah dijelaskan daripada dibuktikan. Sebagian tool kini berjalan sesuai kebutuhan, bukan menetap permanen di disk, dan kebiasaan memasang barang di awal sudah memudar, karena memintanya nanti itu murah.
Dari berbentuk aplikasi ke berbentuk niat
Inilah pergeserannya, dan saya masih mencari tahu sejauh mana ini akan berlanjut.
Sebagian besar hidup komputasi saya berbentuk aplikasi. Saya ingin melakukan sesuatu, jadi saya cari aplikasi yang bisa melakukannya, memasangnya, mempelajari antarmukanya, dan hidup di dalam semua opininya. Aplikasi adalah unit kerjanya.
Bekerja dengan cara ini berbentuk niat. Saya menjelaskan apa yang saya butuhkan. Sesuatu yang mampu bertindak di mesin akan mencari tahu komponen apa yang diperlukan, menyiapkannya, dan mengerjakannya. Aplikasi menjadi detail implementasi, dan kadang detail yang tidak pernah saya pasang secara sadar.
Ini perubahan yang lebih besar daripada "AI yang menulis kode saya". Coding tidak pernah jadi bottleneck saya; yang jadi hambatan adalah jarak antara menginginkan sesuatu dan memilikinya. Jarak itu sekarang jauh lebih pendek.
Itu juga alasan saya setengah bercanda bahwa saya mungkin akan berakhir di Linux. Alasan saya bertahan di macOS bertahun-tahun bukan pernah sistem operasinya — melainkan setup yang sudah menumpuk dan harus saya bangun ulang. Kalau environment Anda sebagian besar hanya file config dan satu agen yang cakap, platform di bawahnya jadi tidak sepenting dulu. Saya tidak pindah minggu ini. Saya cuma tidak lagi yakin apa yang akan menahan saya.
Saya harus mengakui saya tidak melihat ini akan datang. Kalau lima tahun lalu Anda bilang bahwa Mac baru plus browser plus satu agen cukup untuk kembali bekerja, saya akan mengira Anda sedang mendeskripsikan demo, bukan malam Selasa yang tenang.
Yang tidak saya klaim
Beberapa catatan jujur, karena saya sudah cukup banyak membaca antusiasme soal ini sampai curiga pada antusiasme saya sendiri.
- Sekarang harness-nya yang jadi lock-in. Pilihan model makin mudah diganti, tapi kebiasaan, config, dan alur kerja saya tinggal di harness. Itu ketergantungan yang nyata dan saya mengawasinya.
- "Semuanya sudah dipasang" tidak sama dengan "saya paham mesin saya". Saya lebih tidak mengenal setup saya dibanding saat saya merakitnya sendiri. Ini biaya yang nyata, dan itulah alasan langkah kelima di atas ada.
- Ini tidak gratis. Sekitar $60 dalam 30 hari terakhir, dan angka itu bukan cuma untuk coding saya — itu termasuk API DeepSeek di balik beberapa produk saya di production. Sebagai konteks, kebiasaan yang sama menghabiskan sekitar $200 sebulan setahun lalu. (Saya menulis soal pergeseran itu di bulan Agustus.)
Pertanyaan yang sering muncul
Apa itu harness dalam coding AI?
Harness adalah program yang menghubungkan sebuah model ke environment nyata. Model bernalar; harness memberinya tool — menjalankan perintah, membaca dan menulis file, memanggil service eksternal — lalu mengelola percakapan dan izin di sekitarnya. OpenCode sengaja dibuat agnostik terhadap model, dan itu sebabnya saya bisa mengganti model di bawahnya tanpa mengubah apa pun yang lain. Claude Code dan Codex juga harness, meskipun masing-masing dibangun di sekitar model vendornya sendiri. Patokan saya: pilih model berdasarkan kemampuan, kecepatan, biaya, dan penanganan data; pilih harness berdasarkan apakah Anda benar-benar suka bekerja di dalamnya.
Benarkah komputer baru bisa disiapkan hanya dengan browser dan AI agent?
Untuk setup saya — developer yang bekerja terutama di terminal dan browser — sebagian besar ya, dan butuh satu perintah, bukan nol. Anda perlu browser untuk mengakses model dan internet, lalu cara untuk memasang harness-nya sendiri, dan Anda harus bersedia memverifikasi apa yang dilakukan agen. Saya tidak akan mengasumsikan ini berlaku untuk mesin seorang desainer atau akuntan.
Kenapa setup ini jauh lebih hemat disk?
Sekitar 60 GB lebih sedikit daripada setup lama saya, karena tiga hal. Sebagian service kini berjalan remote dan diakses lewat URL, bukan dipasang secara lokal. Sebagian tool berjalan sesuai kebutuhan, bukan menetap permanen di disk. Dan kebiasaan memasang barang di awal "untuk berjaga-jaga" memudar ketika memintanya nanti itu murah.
Masih takjub bahwa "pasang Chrome lalu lihat apa yang terjadi" berubah jadi komputer yang siap dipakai.
Salam hangat, Chandler :P