12 poin oleh ragingwind 3 jam lalu | 3 komentar | Bagikan ke WhatsApp

Ini adalah analisis tentang “Harness Engineering” yang dirangkum oleh Addy Osmani. Menurutnya, selama dua tahun terakhir perhatian industri terlalu terpusat pada pertanyaan “model AI mana yang lebih pintar”. Perbandingan tanpa henti terus berlanjut soal apakah GPT menulis kode yang lebih rapi, atau Claude lebih jarang berhalusinasi, tetapi argumennya adalah bahwa dalam praktiknya, performa AI untuk coding justru lebih banyak ditentukan oleh harness yang mengelilingi model itu, bukan oleh model itu sendiri. Harness adalah istilah yang mencakup segala hal selain model: system prompt yang memberi AI pekerjaan, alat dan server eksternal yang bisa digunakan, kebijakan pengelolaan konteks, mekanisme pemeriksaan otomatis yang menyela selama eksekusi (hook), ruang eksekusi yang aman (sandbox), AI pendamping (sub-agent), loop umpan balik, hingga alur pemulihan saat pekerjaan menemui kebuntuan. Viv Trivedy memformalkan konsep ini dengan satu kalimat, “AI agent = model + harness”, dan orang-orang seperti tim engineering Anthropic, HumanLayer, dan Simon Willison sedang menyempurnakan arus ini. Osmani menilai arus tersebut kini telah mapan sebagai satu bidang rekayasa tersendiri.

Jika diuraikan, poin-poin intinya adalah sebagai berikut.

  • Apa itu harness Model saja tidak cukup untuk menjadi AI yang bisa menyelesaikan pekerjaan. AI baru menjadi “AI yang bekerja” ketika ditambah kode dan konfigurasi yang memungkinkannya mengingat progres, menjalankan alat, melihat hasil, mengambil keputusan lagi, dan mencegah hal-hal yang tidak boleh dilakukan. Produk seperti Claude Code, Cursor, Codex, Aider, dan Kline semuanya adalah harness, dan meski model di dalamnya sama, perilaku yang kita rasakan tetap ditentukan oleh harness-nya. Meminjam ungkapan Simon Willison, AI agent adalah “sistem yang menjalankan alat berulang kali untuk mencapai tujuan”, dan inti kemampuannya terletak pada bagaimana alat dan struktur pengulangan itu dirancang.

  • Sudut pandang bahwa masalahnya bukan model, melainkan konfigurasi Ketika AI melakukan hal aneh, engineer sering menyalahkan model dan berakhir pada kesimpulan “kita tunggu versi berikutnya saja”. Harness engineering menolak reaksi ini. Meminjam ungkapan HumanLayer, “ini bukan masalah model, melainkan masalah konfigurasi (skill issue)”. Bahkan dengan model Claude Opus 4.6 yang sama, ada kasus ketika model itu berada di papan bawah Terminal Bench 2.0 dalam harness bawaan Claude Code, tetapi melonjak ke papan atas saat dipindahkan ke harness yang disesuaikan sendiri. Tim Viv berhasil mengangkat model yang sama dari sekitar peringkat 30-an ke 5 besar hanya dengan mengganti harness. Artinya, potensi model sering kali justru tereduksi oleh harness.

  • Prinsip “ratchet” yang mengubah kesalahan menjadi aturan Kesalahan yang pernah dibuat AI, bahkan sekali pun, tidak dianggap sebagai kecelakaan acak, melainkan sinyal permanen. Agar kesalahan yang sama tidak terulang, ditambahkan satu baris ke dokumen aturan, dipasang mekanisme pemblokiran otomatis, atau disediakan AI pendamping untuk meninjau hasil, sehingga sistem dikencangkan selangkah demi selangkah. Misalnya, jika AI pernah mengomentari kode tes, maka pada versi berikutnya dokumen aturan akan memuat baris “jangan komentari tes; hapus atau perbaiki”, dan pada tahap pemeriksaan sebelum commit akan ditambahkan validator yang mendeteksi pola seperti itu. Intinya, setiap baris dalam dokumen aturan yang baik harus terhubung dengan kegagalan konkret yang pernah terjadi. Karena itu, harness engineering bukan soal mengambil framework jadi lalu memakainya apa adanya, melainkan lebih dekat ke “disiplin” yang tumbuh mengikuti riwayat kegagalan codebase sendiri.

  • Merancang secara terbalik dari perilaku yang diinginkan Cara berpikir paling berguna yang diajukan Viv adalah merancang secara terbalik: “saya ingin perilaku seperti ini → komponen harness apa yang memungkinkan perilaku itu?”. Jika suatu komponen tidak bisa dijelaskan dalam satu kalimat tentang perilaku apa yang ia dukung, lebih baik komponen itu dibuang. Secara konkret, file system dan Git dipakai untuk menyimpan pekerjaan dalam jangka panjang serta memulihkannya, bash dan eksekusi kode adalah alat serbaguna untuk mencoba apa saja, sandbox adalah ruang aman agar kerusakan tidak memengaruhi sistem utama, file memori serta web search dan alat MCP adalah jalur untuk menumpuk pengetahuan baru, kompresi ringkasan, pemisahan output alat, dan fitur skill adalah mekanisme untuk memperluas batas memori AI, sementara Ralph loop serta struktur pemisahan planner dan evaluator adalah cara untuk membawa pekerjaan panjang berhari-hari sampai tuntas.

  • Masalah context rot AI memiliki batas jumlah teks yang bisa dibaca sekaligus, dan ketika mendekati batas itu, daya penilaiannya turun secara nyata. Karena itu, harness juga merupakan kumpulan mekanisme untuk menggunakan ruang terbatas tersebut dengan baik. Pertama, ketika batas mulai penuh, isi lama dikompresi secara cerdas melalui ringkasan. Kedua, output besar seperti log 2.000 baris hanya menyisakan bagian kepala dan ekor, sementara isi utama dipindahkan ke file untuk dibaca lagi hanya saat diperlukan. Ketiga, alat dan instruksi tidak ditampilkan semuanya sejak awal, tetapi menggunakan pendekatan “pengungkapan bertahap”, yaitu hanya dimunculkan ketika benar-benar dibutuhkan dalam pekerjaan itu. Untuk pekerjaan yang sangat panjang, prosesnya kadang benar-benar dimulai ulang di jendela baru hanya dengan membawa dokumen serah terima. Anthropic menekankan bahwa “dalam pekerjaan panjang, kompresi ringkasan saja tidak cukup, dan ada kalanya harus memulai ulang dengan dokumen serah terima yang terstruktur”. Jika dianalogikan ke manusia, ini mirip membuat dokumen rapi saat menyerahkan pekerjaan kepada anggota baru.

  • Pola-pola untuk membawa pekerjaan panjang sampai selesai Salah satu kelemahan model saat ini adalah cenderung ingin cepat menyelesaikan pekerjaan, sulit memecah masalah besar menjadi bagian kecil, dan kehilangan alur saat jendela konteks berganti. Harness harus menutupi kelemahan ini. Ralph loop adalah teknik sederhana di mana setiap kali model mencoba mengakhiri pekerjaan, hook akan mencegat lalu menyuntikkan kembali tujuan awal ke jendela konteks baru agar pekerjaan terus berlanjut. Setiap iterasi dimulai dalam keadaan bersih, tetapi hasil pekerjaan sebelumnya tetap diteruskan melalui file system. Sementara itu, Anthropic menekankan bahwa “pihak yang menghasilkan” dan “pihak yang mengevaluasi” harus dipisahkan ke AI yang berbeda, karena AI cenderung memberi nilai terlalu murah hati pada hasilnya sendiri. Selain itu, pola “sprint contract” yang menyepakati lebih dulu “kondisi seperti apa yang berarti selesai” sebelum pekerjaan dimulai efektif untuk mencegah tujuan melar diam-diam di tengah jalan.

  • Peran hook “Memberi tahu AI untuk melakukannya seperti itu” dan “membuat sistem memaksanya seperti itu” adalah dua hal berbeda. Hook adalah mekanisme otomatis yang menjembatani perbedaan itu, dengan menyela pada momen seperti sebelum alat dipakai, setelah file diubah, sebelum commit, atau saat sesi dimulai. Misalnya, setiap kali kode diubah, sistem otomatis menjalankan pemeriksaan sintaks, lint, dan tes; memblokir perintah berbahaya seperti rm -rf atau git push --force; atau mewajibkan persetujuan manusia sebelum membuka PR. Prinsipnya adalah “sukses berjalan diam-diam, kegagalan harus berisik”. Jika pemeriksaan lolos, AI tidak mendengar apa pun; jika gagal, pesan error itu langsung disuntikkan ke alur agar AI bisa memperbaikinya sendiri. Struktur ini hampir tidak menambah biaya dalam keadaan normal, tetapi memberi bantuan yang sangat tepat saat masalah benar-benar muncul.

  • Dokumen aturan dan pemilihan alat harus singkat dan jelas AGENTS.md yang diletakkan di root proyek adalah file konfigurasi paling berpengaruh karena masuk ke system prompt setiap giliran. HumanLayer menyarankan agar dokumen ini dijaga tetap di bawah 60 baris. Semakin panjang isinya, semakin menipis bobot tiap baris, sehingga ia sebaiknya bukan menjadi panduan gaya umum, melainkan hanya menyisakan hal-hal yang benar-benar perlu seperti checklist pilot pesawat. Hal yang sama berlaku untuk alat: karena nama, deskripsi, dan schema alat tertanam dalam prompt di setiap permintaan, 10 alat yang rapi lebih baik daripada 50 alat yang mirip-mirip. HumanLayer juga menyoroti aspek keamanan. Karena deskripsi alat adalah teks yang dibaca AI, memasang server MCP eksternal yang belum terverifikasi bisa menjadi jalur penyuntikan instruksi tersembunyi yang telah ditulis orang lain sebelumnya kepada AI.

Bagian yang layak dianggap sebagai keunggulan.

  • Titik investasi menjadi jelas Data benchmark menunjukkan bahwa harness adalah area yang dapat sangat meningkatkan perilaku tanpa harus mengganti model. Artinya, alih-alih berharap samar “tunggu model berikutnya”, kini ada area konkret yang bisa dibenahi segera.
  • Ada struktur untuk menumpuk know-how Berkat pendekatan ratchet yang mengubah kesalahan menjadi aturan, pelajaran yang dipetik sekali akan tetap tersimpan sebagai aset tim. Meski orangnya berganti, dokumen aturan dan hook tetap ada untuk melindungi orang berikutnya.
  • Munculnya harness siap pakai (HaaS) Arus yang oleh Viv disebut “Harness-as-a-Service” berkembang cepat. Produk seperti Claude Agent SDK, Codex SDK, dan OpenAI Agents SDK mulai menyediakan paket loop kerja, alat, pengelolaan konteks, hook, dan sandbox, sehingga orang tidak perlu membangun semuanya dari nol dan bisa fokus pada pengetahuan domainnya sendiri.

Ada juga bagian yang terasa membebani.

  • Cakupan yang harus dijaga sangat luas Instruksi, alat, ruang eksekusi aman, pemeriksaan otomatis, sampai pengamatan log semuanya harus ditanggung sendiri. Intinya, ini bukan area yang otomatis dibereskan oleh penyedia model.
  • Risiko keterikatan antara model dan harness Model masa kini dilatih dengan post-processing dalam harness tertentu, sehingga ketika dipindahkan ke harness lain performanya bisa tiba-tiba turun. Mengganti satu nama alat atau satu format argumen saja bisa menggoyahkan hasil. Dalam model yang benar-benar umum, nama alat seharusnya tidak berpengaruh, tetapi karena strukturnya dilatih bersama, timbul semacam overfitting.
  • Risiko keamanan dari alat eksternal Karena server MCP membuat deskripsi alat dibaca langsung oleh AI, sejak alat yang belum terverifikasi dipasang, teks dari luar sudah mulai memengaruhi AI bahkan sebelum pengguna mengetik satu huruf pun.

Sudut pandang yang membedakan.

  • Mengambil jarak dari wacana yang berpusat pada model Alih-alih menunggu GPT yang lebih pintar, pendekatan ini menawarkan cara rekayasa untuk mendorong batas model yang sudah dimiliki sekarang. Diagnosisnya adalah bahwa sebagian besar jarak antara keterbatasan AI yang tampak hari ini dan kemampuan model yang sesungguhnya adalah kesenjangan harness.
  • Harness tidak menghilang, hanya berpindah tempat Ketika model membaik, beberapa komponen harness memang menjadi tidak perlu. Misalnya, Opus 4.6 hampir menghilangkan kepanikan seperti “konteks akan segera habis jadi saya harus cepat menyelesaikan”, yang umum terjadi pada Claude Sonnet 4.5, sehingga sejumlah alat bantu penenang yang dulu dipakai kini seluruhnya menjadi dead code. Namun, pada wilayah baru yang kini bisa dijangkau model, muncul kelemahan baru, dan harness baru kembali dibutuhkan untuk menutupinya. Ungkapan Anthropic sangat pas di sini: “setiap komponen harness memuat asumsi tentang hal apa yang belum bisa dilakukan model sendirian”.
  • Siklus pembelajaran antara model dan harness Arus lain yang ditunjukkan Viv adalah lingkaran umpan balik antara desain harness dan pelatihan model. Ketika pola yang berguna ditemukan di harness, pola itu distandardisasi; model generasi berikutnya dilatih dengan pola tersebut; lalu di atas model itu lahir pola harness baru lagi. Karena itu, kesimpulannya adalah bahwa “harness yang baik” bukanlah harness tempat model dilatih, melainkan harness yang disesuaikan kembali dengan pekerjaan sendiri.
  • Industri sedang berkumpul ke bentuk yang sama Coding AI seperti Claude Code, Cursor, Codex, Aider, dan Kline memakai model yang berbeda-beda, tetapi bentuk harness-nya makin mirip. Fakta bahwa modelnya berbeda namun harness-nya makin serupa bisa dibaca sebagai sinyal tentang ke mana bidang ini sedang menetap.

Tulisan Osmani menawarkan sudut pandang bahwa daya saing coding AI lebih banyak ditentukan oleh desain harness di sekeliling model daripada oleh pilihan model, dan bahwa harness bukanlah file konfigurasi yang diatur sekali lalu selesai, melainkan sistem hidup yang terus diperbarui mengikuti riwayat kegagalan. Ketika model membaik, harness tidak hilang, tetapi lapisan masalah yang ditangani berpindah satu tingkat ke atas dan harness baru akan mengisi tempat itu. Seperti ungkapan Viv yang ia kutip, “membangun agent yang baik adalah seni iterasi, dan tanpa versi pertama, tidak akan ada iterasi”, yang bisa dibaca sebagai bahwa bidang ini pada akhirnya adalah persaingan soal siapa yang memulai lebih cepat dan menyempurnakan lebih sering. Pada akhirnya, kesimpulannya adalah bahwa tempat engineer seharusnya mencurahkan waktu bukanlah terus mengganti model yang sedang ramai dibicarakan, melainkan terus menyetel harness yang sesuai dengan pekerjaannya sendiri agar batas kemampuan model bisa dinaikkan selangkah demi selangkah.

3 komentar

 
click 2 jam lalu

Hal seperti SDD sudah lama kehilangan hype, jadi sekarang tampaknya giliran harness.
Bagian yang agak menarik dari harness adalah, meski jelas tidak ada di data pelatihan, model ternyata cepat memahami konsep harness.
Mungkin karena memakai makna kata yang memang sudah ada, meski saya tidak menyebutkannya, ia bahkan lebih dulu mengatakan hal-hal seperti memperbarui harness.

 
kimjoin2 2 jam lalu

Rasanya makin banyak sekali istilah marketing yang bermunculan.

 
kurthong 2 jam lalu

Ini bahkan sampai menganalisis tulisan developer senior yang membuat omongan tanpa isi yang berarti terdengar meyakinkan (maaf, saya pribadi memang tidak suka Google). Tentu saja, saya rasa pendekatan untuk memahami fenomena ini adalah upaya yang bagus.