{"content_id":"tx8xp2gpig","slug":"ai-agent-harness-loop-graph-engineering","locale":"id","schema_type":"TechArticle","category":"knowledge_base","category_name":"Basis Pengetahuan","title":"Memahami Rekayasa Harness, Loop, dan Graf Agen AI secara Berurutan","summary":"Harness merancang lingkungan kerja dan mekanisme kendali agen, loop merancang aturan pengulangan dan penghentian, sedangkan graf merancang status yang diizinkan serta jalur perpindahannya. Ketiga istilah ini lebih tepat dipahami sebagai perspektif praktis untuk menangani otonomi dan risiko agen AI, bukan sebagai klasifikasi standar yang diakui secara resmi.","sponsorship_disclosure":null,"author":{"name":"injoys","url":"https://injoys.com/ko/about"},"key_points":["Rekayasa harness adalah perancangan konteks, alat, izin, validasi, log, dan prosedur persetujuan di luar model sebagai satu lingkungan eksekusi.","Rekayasa loop mendefinisikan kondisi, anggaran, dan kriteria penghentian bagi agen untuk mengulangi perencanaan, eksekusi, validasi, dan perbaikan.","Rekayasa graf menggunakan status dan aturan transisi untuk secara eksplisit membatasi atau menyesuaikan jalur yang dapat dipilih agen.","Bagi sebagian besar organisasi, meningkatkan harness dan sistem evaluasi agen tunggal terlebih dahulu lebih efisien daripada membangun graf multiagen yang kompleks.","Metode yang hanya menyetujui laporan ringkasan buatan AI tidak memadai untuk kode berisiko tinggi; pengujian, cakupan perubahan, batas keamanan, dan hasil keluaran asli juga harus divalidasi bersama."],"content_markdown":"Ketika agen AI mulai menangani tugas jangka panjang, menulis prompt dengan baik saja tidak lagi cukup untuk memperoleh hasil yang stabil. Sebab, perlu dirancang juga informasi apa yang dilihat agen, alat apa yang digunakannya, kapan ia mengulang, jalur mana yang ditempuh, dan pada titik mana persetujuan manusia harus diperoleh.\n\nIstilah yang sering muncul saat menjelaskan masalah ini adalah **rekayasa harness**, **rekayasa loop**, dan **rekayasa graf**. Ketiganya bukan standar internasional atau klasifikasi akademis yang disepakati secara ketat. Ada bagian yang saling tumpang tindih, dan maknanya dapat berbeda menurut produk serta tim pengembang. Karena itu, alih-alih menghafalnya sebagai istilah tren berdasarkan tahun, lebih berguna membedakannya berdasarkan pertanyaan kontrol yang hendak dijawab masing-masing.\n\n## Perbandingan tiga konsep secara sekilas\n\n| Konsep | Pertanyaan inti | Sasaran desain utama | Perangkat utama untuk mencegah kegagalan |\n|---|---|---|---|\n| Rekayasa harness | Dalam lingkungan dan aturan seperti apa agen bekerja? | Konteks, alat, izin, sandbox, hook, log, persetujuan, evaluasi | Hak akses minimum, persetujuan untuk perintah berisiko, eksekusi pengujian, pemilihan konteks |\n| Rekayasa loop | Apa yang diulang dan kapan harus berhenti? | Siklus perencanaan·eksekusi·verifikasi, pemrosesan peristiwa, percobaan ulang, anggaran, kondisi penghentian | Jumlah pengulangan maksimum, batas waktu·token, penilaian kemajuan, eskalasi saat gagal |\n| Rekayasa graf | Status dan jalur apa yang diizinkan? | Node, status, transisi, percabangan, pemrosesan paralel, checkpoint | Transisi terlarang, validasi status, node persetujuan, jalur pemulihan |\n\nSecara ringkas, **harness adalah lingkungan dan batasan**, **loop adalah aturan pengulangan**, dan **graf adalah struktur jalur yang memungkinkan**. Dalam sistem nyata, sebuah loop dapat berada di dalam satu node graf, dan keseluruhan graf dapat dijalankan di dalam satu harness.\n\n## Bagaimana cara mengendalikan agen telah berubah\n\n### Agen awal: workflow yang ditentukan melengkapi otonomi\n\nAgen AI generatif awal sering melupakan tujuan dalam tugas panjang, mengulang pemanggilan alat yang salah, atau menghasilkan keluaran tanpa dasar. Untuk mengatasinya, pengembang membagi tugas besar menjadi langkah-langkah kecil serta menetapkan input dan output setiap langkah.\n\nDalam pendekatan ini, manusia menyusun seluruh prosedur sebagai chain, diagram alur, atau state machine, sedangkan LLM menangani tugas terbatas seperti klasifikasi, ekstraksi, peringkasan, dan penyusunan draf. Framework seperti LangGraph digunakan untuk merepresentasikan percabangan, siklus, checkpoint, dan campur tangan manusia sambil mempertahankan status.\n\nNamun, orkestrasi berbasis graf bukanlah pendekatan usang yang berakhir pada tahun tertentu. Hingga kini, graf eksplisit tetap sesuai untuk pekerjaan yang mementingkan auditabilitas, reproduktibilitas, kepatuhan terhadap regulasi, atau prosedur pemulihan yang akurat.\n\n### Peningkatan kemampuan model: dari jalur tetap menuju penggunaan alat dinamis\n\nSeiring membaiknya kemampuan penggunaan alat dan penalaran, satu agen dapat memilih tindakan seperti pencarian, penyuntingan kode, pengujian, dan pembacaan file sesuai situasi. Pendekatan keluarga ReAct merupakan struktur representatif yang menjalankan penalaran, tindakan, dan pengamatan secara bergantian.\n\nPerubahan ini mengurangi beban manusia untuk menulis semua percabangan terlebih dahulu. Di sisi lain, pengelolaan informasi yang dibaca agen, izin yang dimilikinya, biaya eksekusi, dan metode pemulihan kesalahan menjadi semakin penting. Pada titik inilah rekayasa konteks dan rekayasa harness menjadi pusat praktik kerja.\n\n### Tugas jangka panjang dan multiagen: penggabungan kembali loop dan graf\n\nDalam tugas jangka panjang, perencanaan·eksekusi·verifikasi secara berulang lebih penting daripada satu kali pemanggilan model. Jika beberapa agen terlibat, peran, format hasil, izin, dan kondisi penghentian juga harus dinyatakan dengan jelas. Pada saat yang sama, jika loop otonom dibiarkan sepenuhnya tanpa kendali, dapat terjadi lonjakan biaya, percobaan ulang tanpa akhir, peretasan imbalan, dan optimasi terhadap tujuan yang keliru.\n\nKarena itu, sistem agen modern dirancang bukan untuk menghilangkan otonomi, melainkan untuk **menggabungkan bagian yang mengizinkan otonomi dengan bagian yang dikendalikan secara deterministik**. Ini bukan sekadar kembali ke chain tetap pada masa lalu, tetapi membungkus eksekusi fleksibel dengan status, transisi, dan kebijakan.\n\nPerubahan ini lebih merupakan pergeseran penekanan desain daripada linimasa yang presisi. Graf, loop, dan harness telah hidup berdampingan sejak awal dan masih digunakan bersama hingga sekarang.\n\n## Hal-hal yang ditangani rekayasa harness\n\nHarness bukanlah model dasar itu sendiri, melainkan **sistem eksekusi yang mengelilingi model agar dapat menjalankan pekerjaan nyata**. Meskipun menggunakan model yang sama, tingkat keberhasilan, biaya, keamanan, dan reproduktibilitas dapat sangat berbeda bergantung pada harness.\n\n### Komponen utama harness\n\n1. **Sistem instruksi**: Instruksi sistem, aturan repositori, standar coding, prioritas, dan tindakan terlarang\n2. **Penyediaan konteks**: Pencarian, pemilihan file, peringkasan, memori, dan penyisipan dokumen pada saat diperlukan\n3. **Antarmuka alat**: Penyuntingan file, terminal, browser, basis data, dan API eksternal\n4. **Izin dan isolasi**: Cakupan baca·tulis, akses informasi rahasia, pembatasan jaringan, dan sandbox\n5. **Perangkat verifikasi**: Pengujian, linter, pemeriksaan tipe, validasi skema, dan pemeriksaan fakta\n6. **Persetujuan manusia**: Persetujuan untuk tindakan yang sulit dibatalkan seperti deployment, pembayaran, penghapusan, dan pengiriman eksternal\n7. **Observabilitas**: Catatan pemanggilan, biaya, latensi, kesalahan, riwayat perubahan, dan dasar keputusan\n8. **Kebijakan pemulihan**: Percobaan ulang, pemulihan status sebelumnya, penghentian tugas, dan eskalasi kepada penanggung jawab\n\nFile instruksi proyek atau hook pada Claude Code dapat dianggap sebagai contoh komponen harness. Namun, satu fitur produk tertentu tidak berarti keseluruhan harness.\n\n### Perbedaannya dengan rekayasa konteks\n\nRekayasa konteks mengoptimalkan informasi dan instruksi apa yang dimasukkan ke dalam pemanggilan model saat ini. Ini mencakup mengambil hanya dokumen yang relevan melalui pencarian, meringkas percakapan lama, menyimpan status tugas dalam file eksternal, dan memisahkan konteks untuk setiap subtugas.\n\nRekayasa harness memiliki cakupan yang lebih luas. Selain konteks, rekayasa ini juga menangani izin alat, lingkungan eksekusi, persetujuan, verifikasi, logging, dan batas biaya. Karena itu, rekayasa konteks merupakan bagian inti dari harness, tetapi menggunakan keduanya dengan makna yang sepenuhnya sama tidaklah akurat.\n\n## Inti rekayasa loop adalah kondisi penghentian\n\nLoop membuat agen memeriksa hasil setelah membuatnya dan mencoba kembali jika masih kurang. Hal yang penting bukan pengulangan itu sendiri, melainkan **definisi kemajuan dan kondisi penghentian**.\n\n### Jenis loop utama\n\n- **Loop verifikasi**: Membuat draf, lalu memeriksanya berdasarkan pengujian atau kriteria evaluasi dan memperbaiki item yang gagal.\n- **Loop berbasis peristiwa**: Memulai tugas ketika terjadi peristiwa eksternal seperti email, notifikasi, perubahan kode, atau data sensor.\n- **Loop eksplorasi**: Menyelidiki berbagai hipotesis atau sumber informasi dan menyesuaikan cakupan eksplorasi hingga bukti mencukupi.\n- **Loop peningkatan**: Memilih strategi berikutnya berdasarkan hasil sebelumnya dan nilai evaluasi. Karena mengoptimalkan hanya satu skor dapat menyebabkan peretasan imbalan, diperlukan beberapa kriteria evaluasi dan tinjauan manusia.\n- **Loop pemulihan**: Mengklasifikasikan penyebab kesalahan, mencoba kembali dalam cakupan yang diizinkan, lalu menyerahkannya kepada manusia jika masalah belum terselesaikan.\n\n### Kontrak yang diperlukan untuk loop yang aman\n\nKontrak antaragen bukanlah kontrak hukum, melainkan spesifikasi eksekusi yang menjelaskan input, output, dan tanggung jawab. Sebaiknya kontrak tersebut mencakup hal-hal berikut.\n\n| Item kontrak | Hal yang harus dinyatakan |\n|---|---|\n| Tujuan | Hasil yang harus diselesaikan dan cakupan yang dikecualikan |\n| Input | Data yang dapat digunakan, keterkinian, dan tingkat kepercayaan |\n| Output | Skema JSON, format dokumen, bukti wajib, dan hasil pengujian |\n| Izin | Alat yang diizinkan, cakupan file, pengiriman eksternal, dan izin perubahan |\n| Verifikasi | Pengujian dan kriteria evaluasi yang harus dilalui |\n| Anggaran | Token, waktu, jumlah pemanggilan, dan jumlah tugas paralel |\n| Penghentian | Kondisi keberhasilan, tidak adanya kemajuan, habisnya anggaran, dan terdeteksinya risiko |\n| Eskalasi | Manusia atau agen yang akan mengambil alih saat terjadi kegagalan |\n\nJika kondisi penyelesaian tidak jelas, agen dapat menganggap tugas terus mengalami kemajuan meskipun hanya mengubah kalimat atau mengulang pencarian yang sama. Alih-alih hanya menetapkan jumlah pengulangan maksimum, lebih baik mempertimbangkan kualitas hasil, pertambahan informasi baru, perubahan kesalahan, dan biaya secara bersamaan.\n\n## Rekayasa graf menstrukturkan batas otonomi\n\nGraf merepresentasikan tugas sebagai node dan garis penghubung. Node dapat berupa pemanggilan model, eksekusi alat, persetujuan manusia, atau proses verifikasi, sedangkan garis penghubung menunjukkan tindakan berikutnya berdasarkan status.\n\n### Perbedaan chain dan graf\n\n- **Chain** cocok untuk prosedur linear yang berlanjut dari A ke B, lalu dari B ke C.\n- **Graf** cocok untuk tugas yang memerlukan percabangan bersyarat, pengulangan, eksekusi paralel, pemulihan kegagalan, dan penyimpanan antara.\n- **Graf dinamis** memungkinkan model mengusulkan subtugas atau jalur berikutnya selama eksekusi.\n- **Graf terbatas** membuat model hanya dapat bergerak di dalam node dan transisi yang diizinkan meskipun model melakukan pemilihan.\n\nTujuan desain graf modern bukanlah agar manusia menentukan semua tindakan terlebih dahulu. Tujuannya adalah memasukkan **kondisi invarian yang harus dipatuhi** ke dalam struktur, misalnya mewajibkan agen melewati node persetujuan sebelum menghapus data atau mencegah perpindahan ke status deployment ketika pengujian gagal.\n\n### Tanda bahwa graf diperlukan\n\nJika beberapa kondisi berikut berlaku, graf eksplisit layak dipertimbangkan.\n\n- Titik pemulihan yang harus dituju setelah kegagalan sudah jelas.\n- Ada tahap yang wajib memperoleh persetujuan manusia.\n- Beberapa tugas perlu dijalankan secara paralel, lalu hasilnya digabungkan.\n- Alat atau izin yang tersedia berbeda menurut status.\n- Keseluruhan jalur eksekusi harus diaudit atau direproduksi.\n- Loop agen tunggal mengulangi kegagalan yang sama.\n\nMembuat graf bahkan untuk peringkasan dokumen sederhana atau transformasi data satu kali hanya dapat menambah kompleksitas.\n\n## Urutan penerapan praktis: mulai dari harness dan perluas sesuai kebutuhan\n\nBagi sebagian besar tim, urutan berikut bersifat realistis.\n\n1. **Tentukan satu tugas dan kriteria keberhasilan.** Kumpulkan terlebih dahulu input, output yang diharapkan, dan contoh kegagalan.\n2. **Buat harness minimum.** Sediakan hanya konteks dan alat yang diperlukan, lalu tetapkan izin, pengujian, log, serta batas biaya.\n3. **Bangun set evaluasi.** Sertakan bukan hanya kasus normal, tetapi juga permintaan ambigu, dokumen yang salah, kesalahan alat, dan percobaan melampaui izin.\n4. **Ubah titik yang memerlukan pengulangan menjadi loop.** Izinkan percobaan ulang hanya pada bagian tempat verifikasi dan perbaikan benar-benar meningkatkan kualitas.\n5. **Tingkatkan menjadi graf saat percabangan dan pemulihan menjadi kompleks.** Nyatakan status dan transisi secara eksplisit serta tempatkan node persetujuan sebelum tindakan berisiko.\n6. **Gunakan multiagen hanya ketika pemisahan pekerjaan memberikan keuntungan.** Jika eksplorasi paralel atau peran spesialis yang berbeda tidak diperlukan, agen tunggal dapat lebih sederhana dan murah.\n\n## Perbedaan penerapan dalam coding dan riset\n\n| Item | Tugas coding | Tugas riset |\n|---|---|---|\n| Kemungkinan verifikasi | Verifikasi otomatis melalui pengujian, build, pemeriksaan tipe, dan sebagainya relatif mudah | Kualitas sumber, kelalaian, dan bukti yang saling bertentangan harus dinilai secara menyeluruh |\n| Nilai eksplorasi dinamis | Dapat terbatas jika cakupan perubahan jelas | Besar dalam beragam jalur pencarian dan perbandingan hipotesis |\n| Risiko utama | Perubahan yang salah, kerentanan keamanan, kode yang hanya disesuaikan dengan pengujian | Klaim tanpa sumber, materi duplikat, bias konfirmasi |\n| Kontrol yang sesuai | Pembatasan cakupan repositori, pengujian, tinjauan diff, persetujuan deployment | Pencatatan sumber, pencarian independen, pencarian bukti yang berlawanan, verifikasi kutipan |\n\nTidak dapat disimpulkan bahwa workflow dinamis selalu tidak efisien untuk coding dan selalu menguntungkan untuk riset. Migrasi skala besar yang dapat diuji mungkin cocok untuk agen otonom, sedangkan pencarian fakta dengan jawaban jelas dapat lebih efisien menggunakan prosedur riset tetap. Variabel intinya bukan bidang, melainkan **kejelasan tujuan, kemungkinan verifikasi otomatis, ruang eksplorasi, dan biaya kesalahan**.\n\n## Code review tidak menghilang, tetapi unit peninjauannya berubah\n\nKetika agen menulis kode, alih-alih memasukkan setiap baris secara langsung, pengembang akan lebih banyak mengawasi persyaratan, desain, hasil pengujian, cakupan perubahan, dan risiko. Ringkasan Pull Request dan laporan agen dapat meningkatkan kecepatan peninjauan.\n\nNamun, membaca ringkasan saja lalu memberikan persetujuan bukanlah pilihan default yang aman. Perubahan yang dilewatkan agen atau logika yang dipahami secara keliru mungkin juga tidak muncul dalam ringkasan. Dalam situasi berikut, diff asli dan kode terkait harus ditinjau secara langsung.\n\n- Perubahan pada autentikasi, pembayaran, data pribadi, enkripsi, atau kontrol akses\n- Perubahan skema basis data atau migrasi yang tidak dapat dibatalkan\n- Kode yang sensitif terhadap performa dan konkurensi\n- Refactoring berskala besar di luar cakupan pengujian\n- Perubahan dependensi eksternal, konfigurasi deployment, atau penanganan informasi rahasia\n- Ketika penjelasan agen tidak sesuai dengan diff yang sebenarnya\n\nHuman-in-the-loop bukan berarti manusia sekadar menekan tombol secara formal. Ini juga mencakup penyediaan bukti perubahan, hasil pengujian, kemungkinan kegagalan, dan prosedur pengembalian agar manusia dapat membuat penilaian.\n\n## Jebakan yang sering ditemui\n\n### Multiagen tanpa tujuan\n\nMenambah jumlah agen menimbulkan biaya untuk koordinasi peran, pemanggilan duplikat, transfer konteks, dan penggabungan hasil. Jika tidak diperlukan eksplorasi paralel dari perspektif berbeda atau tidak ada alasan untuk memisahkan konteks, agen tunggal lebih baik.\n\n### Workflow dinamis tanpa batas\n\nJika agen diizinkan terus membuat subtugas, biaya token dan pemanggilan alat akan meningkat dengan cepat. Biaya kira-kira ditentukan oleh gabungan biaya token input·output setiap tahap, biaya alat, jumlah agen paralel, dan jumlah pengulangan. Jumlah pemanggilan, jumlah eksekusi serentak, total anggaran, dan waktu eksekusi maksimum harus dibatasi secara terpisah.\n\n### Hanya mengoptimalkan satu metrik evaluasi\n\nJika hanya tingkat kelulusan pengujian yang dijadikan tujuan, dapat terjadi optimasi keliru seperti melemahkan pengujian atau menyembunyikan penanganan pengecualian. Kualitas, keamanan, skala perubahan, biaya, latensi, dan evaluasi manusia harus digunakan bersama-sama.\n\n### Mengacaukan penyisipan dokumen dengan fine-tuning\n\nHasil dapat berubah secara berkelanjutan melalui pencarian dokumen atau instruksi proyek, tetapi bobot model tidak berubah. Dalam arti luas, hal ini dapat dijelaskan sebagai efek pembelajaran sistem, tetapi secara ketat merupakan adaptasi menggunakan memori eksternal dan konteks. Dokumen atau indeks pencarian harus dipertahankan agar perubahan tetap berlaku pada eksekusi berikutnya.\n\n## Evaluasi, keamanan, dan keekonomian yang mudah terlewatkan pada tahap operasional\n\nDesain agen tidak berakhir pada diagram arsitektur. Dalam operasi nyata, **sistem yang mengukur apa yang benar-benar terjadi lebih penting daripada apa yang diizinkan**.\n\n### Metrik operasional minimum\n\n- Tingkat keberhasilan tugas dan tingkat koreksi oleh manusia\n- Biaya model·alat per tugas dan total waktu eksekusi\n- Jumlah pengulangan dan proporsi pemanggilan yang dikonsumsi tanpa kemajuan\n- Jumlah permintaan persetujuan, penolakan, dan percobaan melampaui izin\n- Pemanggilan alat yang salah dan tingkat keberhasilan pemulihan\n- Proporsi hasil yang diserahkan tanpa sumber atau pengujian\n- Tingkat perbedaan hasil untuk input yang sama\n\n### Kondisi invarian yang diperlukan untuk keamanan\n\n- Instruksi dalam dokumen eksternal tidak memiliki prioritas lebih tinggi daripada kebijakan sistem.\n- Informasi rahasia tidak diekspos secara tidak perlu dalam input model dan log.\n- Hak baca dipisahkan dari hak tulis·hapus·deployment.\n- Pengiriman eksternal dan tindakan yang tidak dapat dibatalkan memiliki persetujuan terpisah atau pemeriksaan kebijakan.\n- Agen tidak boleh mengubah kriteria evaluasi, pengujian, atau log auditnya sendiri secara sewenang-wenang.\n\nKondisi invarian tersebut lebih aman jika dipaksakan melalui sandbox, kontrol akses, transisi graf, dan verifier independen daripada hanya melalui satu kalimat dalam prompt. Manajemen risiko AI generatif harus mencakup tidak hanya akurasi model, tetapi juga lingkungan operasional, pengawasan manusia, dan respons insiden.\n\n## Konsep mana yang harus dipelajari lebih dahulu\n\nDalam praktik saat ini, hal pertama yang perlu dikuasai adalah rekayasa harness. Dengan konteks yang akurat, hak akses minimum, verifikasi otomatis, log, persetujuan, dan batas biaya, banyak kegagalan agen tunggal dapat dikurangi.\n\nBerikutnya, tambahkan loop dengan kondisi penghentian pada pekerjaan yang kualitasnya meningkat melalui pengulangan. Ketika percabangan, pemrosesan paralel, pemulihan, dan prosedur persetujuan menjadi kompleks, nyatakan semuanya secara eksplisit sebagai graf. Daripada mengadopsi istilah yang rumit, lebih penting menjadikan tujuan, izin, bukti, biaya, dan kondisi penghentian agen dapat diukur.","content_html":"\u003cp\u003eKetika agen AI mulai menangani tugas jangka panjang, menulis prompt dengan baik saja tidak lagi cukup untuk memperoleh hasil yang stabil. Sebab, perlu dirancang juga informasi apa yang dilihat agen, alat apa yang digunakannya, kapan ia mengulang, jalur mana yang ditempuh, dan pada titik mana persetujuan manusia harus diperoleh.\u003c/p\u003e\n\u003cp\u003eIstilah yang sering muncul saat menjelaskan masalah ini adalah \u003cstrong\u003erekayasa harness\u003c/strong\u003e, \u003cstrong\u003erekayasa loop\u003c/strong\u003e, dan \u003cstrong\u003erekayasa graf\u003c/strong\u003e. Ketiganya bukan standar internasional atau klasifikasi akademis yang disepakati secara ketat. Ada bagian yang saling tumpang tindih, dan maknanya dapat berbeda menurut produk serta tim pengembang. Karena itu, alih-alih menghafalnya sebagai istilah tren berdasarkan tahun, lebih berguna membedakannya berdasarkan pertanyaan kontrol yang hendak dijawab masing-masing.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#perbandingan-tiga-konsep-secara-sekilas\" class=\"anchor\" id=\"perbandingan-tiga-konsep-secara-sekilas\"\u003e\u003c/a\u003ePerbandingan tiga konsep secara sekilas\u003c/h2\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eKonsep\u003c/th\u003e\n\u003cth\u003ePertanyaan inti\u003c/th\u003e\n\u003cth\u003eSasaran desain utama\u003c/th\u003e\n\u003cth\u003ePerangkat utama untuk mencegah kegagalan\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Konsep\"\u003eRekayasa harness\u003c/td\u003e\n\u003ctd data-label=\"Pertanyaan inti\"\u003eDalam lingkungan dan aturan seperti apa agen bekerja?\u003c/td\u003e\n\u003ctd data-label=\"Sasaran desain utama\"\u003eKonteks, alat, izin, sandbox, hook, log, persetujuan, evaluasi\u003c/td\u003e\n\u003ctd data-label=\"Perangkat utama untuk mencegah kegagalan\"\u003eHak akses minimum, persetujuan untuk perintah berisiko, eksekusi pengujian, pemilihan konteks\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Konsep\"\u003eRekayasa loop\u003c/td\u003e\n\u003ctd data-label=\"Pertanyaan inti\"\u003eApa yang diulang dan kapan harus berhenti?\u003c/td\u003e\n\u003ctd data-label=\"Sasaran desain utama\"\u003eSiklus perencanaan·eksekusi·verifikasi, pemrosesan peristiwa, percobaan ulang, anggaran, kondisi penghentian\u003c/td\u003e\n\u003ctd data-label=\"Perangkat utama untuk mencegah kegagalan\"\u003eJumlah pengulangan maksimum, batas waktu·token, penilaian kemajuan, eskalasi saat gagal\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Konsep\"\u003eRekayasa graf\u003c/td\u003e\n\u003ctd data-label=\"Pertanyaan inti\"\u003eStatus dan jalur apa yang diizinkan?\u003c/td\u003e\n\u003ctd data-label=\"Sasaran desain utama\"\u003eNode, status, transisi, percabangan, pemrosesan paralel, checkpoint\u003c/td\u003e\n\u003ctd data-label=\"Perangkat utama untuk mencegah kegagalan\"\u003eTransisi terlarang, validasi status, node persetujuan, jalur pemulihan\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003cp\u003eSecara ringkas, \u003cstrong\u003eharness adalah lingkungan dan batasan\u003c/strong\u003e, \u003cstrong\u003eloop adalah aturan pengulangan\u003c/strong\u003e, dan \u003cstrong\u003egraf adalah struktur jalur yang memungkinkan\u003c/strong\u003e. Dalam sistem nyata, sebuah loop dapat berada di dalam satu node graf, dan keseluruhan graf dapat dijalankan di dalam satu harness.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#bagaimana-cara-mengendalikan-agen-telah-berubah\" class=\"anchor\" id=\"bagaimana-cara-mengendalikan-agen-telah-berubah\"\u003e\u003c/a\u003eBagaimana cara mengendalikan agen telah berubah\u003c/h2\u003e\n\u003ch3\u003e\n\u003ca href=\"#agen-awal-workflow-yang-ditentukan-melengkapi-otonomi\" class=\"anchor\" id=\"agen-awal-workflow-yang-ditentukan-melengkapi-otonomi\"\u003e\u003c/a\u003eAgen awal: workflow yang ditentukan melengkapi otonomi\u003c/h3\u003e\n\u003cp\u003eAgen AI generatif awal sering melupakan tujuan dalam tugas panjang, mengulang pemanggilan alat yang salah, atau menghasilkan keluaran tanpa dasar. Untuk mengatasinya, pengembang membagi tugas besar menjadi langkah-langkah kecil serta menetapkan input dan output setiap langkah.\u003c/p\u003e\n\u003cp\u003eDalam pendekatan ini, manusia menyusun seluruh prosedur sebagai chain, diagram alur, atau state machine, sedangkan LLM menangani tugas terbatas seperti klasifikasi, ekstraksi, peringkasan, dan penyusunan draf. Framework seperti LangGraph digunakan untuk merepresentasikan percabangan, siklus, checkpoint, dan campur tangan manusia sambil mempertahankan status.\u003c/p\u003e\n\u003cp\u003eNamun, orkestrasi berbasis graf bukanlah pendekatan usang yang berakhir pada tahun tertentu. Hingga kini, graf eksplisit tetap sesuai untuk pekerjaan yang mementingkan auditabilitas, reproduktibilitas, kepatuhan terhadap regulasi, atau prosedur pemulihan yang akurat.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#peningkatan-kemampuan-model-dari-jalur-tetap-menuju-penggunaan-alat-dinamis\" class=\"anchor\" id=\"peningkatan-kemampuan-model-dari-jalur-tetap-menuju-penggunaan-alat-dinamis\"\u003e\u003c/a\u003ePeningkatan kemampuan model: dari jalur tetap menuju penggunaan alat dinamis\u003c/h3\u003e\n\u003cp\u003eSeiring membaiknya kemampuan penggunaan alat dan penalaran, satu agen dapat memilih tindakan seperti pencarian, penyuntingan kode, pengujian, dan pembacaan file sesuai situasi. Pendekatan keluarga ReAct merupakan struktur representatif yang menjalankan penalaran, tindakan, dan pengamatan secara bergantian.\u003c/p\u003e\n\u003cp\u003ePerubahan ini mengurangi beban manusia untuk menulis semua percabangan terlebih dahulu. Di sisi lain, pengelolaan informasi yang dibaca agen, izin yang dimilikinya, biaya eksekusi, dan metode pemulihan kesalahan menjadi semakin penting. Pada titik inilah rekayasa konteks dan rekayasa harness menjadi pusat praktik kerja.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#tugas-jangka-panjang-dan-multiagen-penggabungan-kembali-loop-dan-graf\" class=\"anchor\" id=\"tugas-jangka-panjang-dan-multiagen-penggabungan-kembali-loop-dan-graf\"\u003e\u003c/a\u003eTugas jangka panjang dan multiagen: penggabungan kembali loop dan graf\u003c/h3\u003e\n\u003cp\u003eDalam tugas jangka panjang, perencanaan·eksekusi·verifikasi secara berulang lebih penting daripada satu kali pemanggilan model. Jika beberapa agen terlibat, peran, format hasil, izin, dan kondisi penghentian juga harus dinyatakan dengan jelas. Pada saat yang sama, jika loop otonom dibiarkan sepenuhnya tanpa kendali, dapat terjadi lonjakan biaya, percobaan ulang tanpa akhir, peretasan imbalan, dan optimasi terhadap tujuan yang keliru.\u003c/p\u003e\n\u003cp\u003eKarena itu, sistem agen modern dirancang bukan untuk menghilangkan otonomi, melainkan untuk \u003cstrong\u003emenggabungkan bagian yang mengizinkan otonomi dengan bagian yang dikendalikan secara deterministik\u003c/strong\u003e. Ini bukan sekadar kembali ke chain tetap pada masa lalu, tetapi membungkus eksekusi fleksibel dengan status, transisi, dan kebijakan.\u003c/p\u003e\n\u003cp\u003ePerubahan ini lebih merupakan pergeseran penekanan desain daripada linimasa yang presisi. Graf, loop, dan harness telah hidup berdampingan sejak awal dan masih digunakan bersama hingga sekarang.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#hal-hal-yang-ditangani-rekayasa-harness\" class=\"anchor\" id=\"hal-hal-yang-ditangani-rekayasa-harness\"\u003e\u003c/a\u003eHal-hal yang ditangani rekayasa harness\u003c/h2\u003e\n\u003cp\u003eHarness bukanlah model dasar itu sendiri, melainkan \u003cstrong\u003esistem eksekusi yang mengelilingi model agar dapat menjalankan pekerjaan nyata\u003c/strong\u003e. Meskipun menggunakan model yang sama, tingkat keberhasilan, biaya, keamanan, dan reproduktibilitas dapat sangat berbeda bergantung pada harness.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#komponen-utama-harness\" class=\"anchor\" id=\"komponen-utama-harness\"\u003e\u003c/a\u003eKomponen utama harness\u003c/h3\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cstrong\u003eSistem instruksi\u003c/strong\u003e: Instruksi sistem, aturan repositori, standar coding, prioritas, dan tindakan terlarang\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePenyediaan konteks\u003c/strong\u003e: Pencarian, pemilihan file, peringkasan, memori, dan penyisipan dokumen pada saat diperlukan\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eAntarmuka alat\u003c/strong\u003e: Penyuntingan file, terminal, browser, basis data, dan API eksternal\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eIzin dan isolasi\u003c/strong\u003e: Cakupan baca·tulis, akses informasi rahasia, pembatasan jaringan, dan sandbox\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePerangkat verifikasi\u003c/strong\u003e: Pengujian, linter, pemeriksaan tipe, validasi skema, dan pemeriksaan fakta\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePersetujuan manusia\u003c/strong\u003e: Persetujuan untuk tindakan yang sulit dibatalkan seperti deployment, pembayaran, penghapusan, dan pengiriman eksternal\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eObservabilitas\u003c/strong\u003e: Catatan pemanggilan, biaya, latensi, kesalahan, riwayat perubahan, dan dasar keputusan\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eKebijakan pemulihan\u003c/strong\u003e: Percobaan ulang, pemulihan status sebelumnya, penghentian tugas, dan eskalasi kepada penanggung jawab\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eFile instruksi proyek atau hook pada Claude Code dapat dianggap sebagai contoh komponen harness. Namun, satu fitur produk tertentu tidak berarti keseluruhan harness.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#perbedaannya-dengan-rekayasa-konteks\" class=\"anchor\" id=\"perbedaannya-dengan-rekayasa-konteks\"\u003e\u003c/a\u003ePerbedaannya dengan rekayasa konteks\u003c/h3\u003e\n\u003cp\u003eRekayasa konteks mengoptimalkan informasi dan instruksi apa yang dimasukkan ke dalam pemanggilan model saat ini. Ini mencakup mengambil hanya dokumen yang relevan melalui pencarian, meringkas percakapan lama, menyimpan status tugas dalam file eksternal, dan memisahkan konteks untuk setiap subtugas.\u003c/p\u003e\n\u003cp\u003eRekayasa harness memiliki cakupan yang lebih luas. Selain konteks, rekayasa ini juga menangani izin alat, lingkungan eksekusi, persetujuan, verifikasi, logging, dan batas biaya. Karena itu, rekayasa konteks merupakan bagian inti dari harness, tetapi menggunakan keduanya dengan makna yang sepenuhnya sama tidaklah akurat.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#inti-rekayasa-loop-adalah-kondisi-penghentian\" class=\"anchor\" id=\"inti-rekayasa-loop-adalah-kondisi-penghentian\"\u003e\u003c/a\u003eInti rekayasa loop adalah kondisi penghentian\u003c/h2\u003e\n\u003cp\u003eLoop membuat agen memeriksa hasil setelah membuatnya dan mencoba kembali jika masih kurang. Hal yang penting bukan pengulangan itu sendiri, melainkan \u003cstrong\u003edefinisi kemajuan dan kondisi penghentian\u003c/strong\u003e.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#jenis-loop-utama\" class=\"anchor\" id=\"jenis-loop-utama\"\u003e\u003c/a\u003eJenis loop utama\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eLoop verifikasi\u003c/strong\u003e: Membuat draf, lalu memeriksanya berdasarkan pengujian atau kriteria evaluasi dan memperbaiki item yang gagal.\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eLoop berbasis peristiwa\u003c/strong\u003e: Memulai tugas ketika terjadi peristiwa eksternal seperti email, notifikasi, perubahan kode, atau data sensor.\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eLoop eksplorasi\u003c/strong\u003e: Menyelidiki berbagai hipotesis atau sumber informasi dan menyesuaikan cakupan eksplorasi hingga bukti mencukupi.\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eLoop peningkatan\u003c/strong\u003e: Memilih strategi berikutnya berdasarkan hasil sebelumnya dan nilai evaluasi. Karena mengoptimalkan hanya satu skor dapat menyebabkan peretasan imbalan, diperlukan beberapa kriteria evaluasi dan tinjauan manusia.\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eLoop pemulihan\u003c/strong\u003e: Mengklasifikasikan penyebab kesalahan, mencoba kembali dalam cakupan yang diizinkan, lalu menyerahkannya kepada manusia jika masalah belum terselesaikan.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\n\u003ca href=\"#kontrak-yang-diperlukan-untuk-loop-yang-aman\" class=\"anchor\" id=\"kontrak-yang-diperlukan-untuk-loop-yang-aman\"\u003e\u003c/a\u003eKontrak yang diperlukan untuk loop yang aman\u003c/h3\u003e\n\u003cp\u003eKontrak antaragen bukanlah kontrak hukum, melainkan spesifikasi eksekusi yang menjelaskan input, output, dan tanggung jawab. Sebaiknya kontrak tersebut mencakup hal-hal berikut.\u003c/p\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eItem kontrak\u003c/th\u003e\n\u003cth\u003eHal yang harus dinyatakan\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Item kontrak\"\u003eTujuan\u003c/td\u003e\n\u003ctd data-label=\"Hal yang harus dinyatakan\"\u003eHasil yang harus diselesaikan dan cakupan yang dikecualikan\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Item kontrak\"\u003eInput\u003c/td\u003e\n\u003ctd data-label=\"Hal yang harus dinyatakan\"\u003eData yang dapat digunakan, keterkinian, dan tingkat kepercayaan\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Item kontrak\"\u003eOutput\u003c/td\u003e\n\u003ctd data-label=\"Hal yang harus dinyatakan\"\u003eSkema JSON, format dokumen, bukti wajib, dan hasil pengujian\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Item kontrak\"\u003eIzin\u003c/td\u003e\n\u003ctd data-label=\"Hal yang harus dinyatakan\"\u003eAlat yang diizinkan, cakupan file, pengiriman eksternal, dan izin perubahan\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Item kontrak\"\u003eVerifikasi\u003c/td\u003e\n\u003ctd data-label=\"Hal yang harus dinyatakan\"\u003ePengujian dan kriteria evaluasi yang harus dilalui\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Item kontrak\"\u003eAnggaran\u003c/td\u003e\n\u003ctd data-label=\"Hal yang harus dinyatakan\"\u003eToken, waktu, jumlah pemanggilan, dan jumlah tugas paralel\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Item kontrak\"\u003ePenghentian\u003c/td\u003e\n\u003ctd data-label=\"Hal yang harus dinyatakan\"\u003eKondisi keberhasilan, tidak adanya kemajuan, habisnya anggaran, dan terdeteksinya risiko\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Item kontrak\"\u003eEskalasi\u003c/td\u003e\n\u003ctd data-label=\"Hal yang harus dinyatakan\"\u003eManusia atau agen yang akan mengambil alih saat terjadi kegagalan\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003cp\u003eJika kondisi penyelesaian tidak jelas, agen dapat menganggap tugas terus mengalami kemajuan meskipun hanya mengubah kalimat atau mengulang pencarian yang sama. Alih-alih hanya menetapkan jumlah pengulangan maksimum, lebih baik mempertimbangkan kualitas hasil, pertambahan informasi baru, perubahan kesalahan, dan biaya secara bersamaan.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#rekayasa-graf-menstrukturkan-batas-otonomi\" class=\"anchor\" id=\"rekayasa-graf-menstrukturkan-batas-otonomi\"\u003e\u003c/a\u003eRekayasa graf menstrukturkan batas otonomi\u003c/h2\u003e\n\u003cp\u003eGraf merepresentasikan tugas sebagai node dan garis penghubung. Node dapat berupa pemanggilan model, eksekusi alat, persetujuan manusia, atau proses verifikasi, sedangkan garis penghubung menunjukkan tindakan berikutnya berdasarkan status.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#perbedaan-chain-dan-graf\" class=\"anchor\" id=\"perbedaan-chain-dan-graf\"\u003e\u003c/a\u003ePerbedaan chain dan graf\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eChain\u003c/strong\u003e cocok untuk prosedur linear yang berlanjut dari A ke B, lalu dari B ke C.\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eGraf\u003c/strong\u003e cocok untuk tugas yang memerlukan percabangan bersyarat, pengulangan, eksekusi paralel, pemulihan kegagalan, dan penyimpanan antara.\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eGraf dinamis\u003c/strong\u003e memungkinkan model mengusulkan subtugas atau jalur berikutnya selama eksekusi.\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eGraf terbatas\u003c/strong\u003e membuat model hanya dapat bergerak di dalam node dan transisi yang diizinkan meskipun model melakukan pemilihan.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTujuan desain graf modern bukanlah agar manusia menentukan semua tindakan terlebih dahulu. Tujuannya adalah memasukkan \u003cstrong\u003ekondisi invarian yang harus dipatuhi\u003c/strong\u003e ke dalam struktur, misalnya mewajibkan agen melewati node persetujuan sebelum menghapus data atau mencegah perpindahan ke status deployment ketika pengujian gagal.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#tanda-bahwa-graf-diperlukan\" class=\"anchor\" id=\"tanda-bahwa-graf-diperlukan\"\u003e\u003c/a\u003eTanda bahwa graf diperlukan\u003c/h3\u003e\n\u003cp\u003eJika beberapa kondisi berikut berlaku, graf eksplisit layak dipertimbangkan.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTitik pemulihan yang harus dituju setelah kegagalan sudah jelas.\u003c/li\u003e\n\u003cli\u003eAda tahap yang wajib memperoleh persetujuan manusia.\u003c/li\u003e\n\u003cli\u003eBeberapa tugas perlu dijalankan secara paralel, lalu hasilnya digabungkan.\u003c/li\u003e\n\u003cli\u003eAlat atau izin yang tersedia berbeda menurut status.\u003c/li\u003e\n\u003cli\u003eKeseluruhan jalur eksekusi harus diaudit atau direproduksi.\u003c/li\u003e\n\u003cli\u003eLoop agen tunggal mengulangi kegagalan yang sama.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMembuat graf bahkan untuk peringkasan dokumen sederhana atau transformasi data satu kali hanya dapat menambah kompleksitas.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#urutan-penerapan-praktis-mulai-dari-harness-dan-perluas-sesuai-kebutuhan\" class=\"anchor\" id=\"urutan-penerapan-praktis-mulai-dari-harness-dan-perluas-sesuai-kebutuhan\"\u003e\u003c/a\u003eUrutan penerapan praktis: mulai dari harness dan perluas sesuai kebutuhan\u003c/h2\u003e\n\u003cp\u003eBagi sebagian besar tim, urutan berikut bersifat realistis.\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cstrong\u003eTentukan satu tugas dan kriteria keberhasilan.\u003c/strong\u003e Kumpulkan terlebih dahulu input, output yang diharapkan, dan contoh kegagalan.\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eBuat harness minimum.\u003c/strong\u003e Sediakan hanya konteks dan alat yang diperlukan, lalu tetapkan izin, pengujian, log, serta batas biaya.\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eBangun set evaluasi.\u003c/strong\u003e Sertakan bukan hanya kasus normal, tetapi juga permintaan ambigu, dokumen yang salah, kesalahan alat, dan percobaan melampaui izin.\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eUbah titik yang memerlukan pengulangan menjadi loop.\u003c/strong\u003e Izinkan percobaan ulang hanya pada bagian tempat verifikasi dan perbaikan benar-benar meningkatkan kualitas.\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eTingkatkan menjadi graf saat percabangan dan pemulihan menjadi kompleks.\u003c/strong\u003e Nyatakan status dan transisi secara eksplisit serta tempatkan node persetujuan sebelum tindakan berisiko.\u003c/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eGunakan multiagen hanya ketika pemisahan pekerjaan memberikan keuntungan.\u003c/strong\u003e Jika eksplorasi paralel atau peran spesialis yang berbeda tidak diperlukan, agen tunggal dapat lebih sederhana dan murah.\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch2\u003e\n\u003ca href=\"#perbedaan-penerapan-dalam-coding-dan-riset\" class=\"anchor\" id=\"perbedaan-penerapan-dalam-coding-dan-riset\"\u003e\u003c/a\u003ePerbedaan penerapan dalam coding dan riset\u003c/h2\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eItem\u003c/th\u003e\n\u003cth\u003eTugas coding\u003c/th\u003e\n\u003cth\u003eTugas riset\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Item\"\u003eKemungkinan verifikasi\u003c/td\u003e\n\u003ctd data-label=\"Tugas coding\"\u003eVerifikasi otomatis melalui pengujian, build, pemeriksaan tipe, dan sebagainya relatif mudah\u003c/td\u003e\n\u003ctd data-label=\"Tugas riset\"\u003eKualitas sumber, kelalaian, dan bukti yang saling bertentangan harus dinilai secara menyeluruh\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Item\"\u003eNilai eksplorasi dinamis\u003c/td\u003e\n\u003ctd data-label=\"Tugas coding\"\u003eDapat terbatas jika cakupan perubahan jelas\u003c/td\u003e\n\u003ctd data-label=\"Tugas riset\"\u003eBesar dalam beragam jalur pencarian dan perbandingan hipotesis\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Item\"\u003eRisiko utama\u003c/td\u003e\n\u003ctd data-label=\"Tugas coding\"\u003ePerubahan yang salah, kerentanan keamanan, kode yang hanya disesuaikan dengan pengujian\u003c/td\u003e\n\u003ctd data-label=\"Tugas riset\"\u003eKlaim tanpa sumber, materi duplikat, bias konfirmasi\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"Item\"\u003eKontrol yang sesuai\u003c/td\u003e\n\u003ctd data-label=\"Tugas coding\"\u003ePembatasan cakupan repositori, pengujian, tinjauan diff, persetujuan deployment\u003c/td\u003e\n\u003ctd data-label=\"Tugas riset\"\u003ePencatatan sumber, pencarian independen, pencarian bukti yang berlawanan, verifikasi kutipan\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003cp\u003eTidak dapat disimpulkan bahwa workflow dinamis selalu tidak efisien untuk coding dan selalu menguntungkan untuk riset. Migrasi skala besar yang dapat diuji mungkin cocok untuk agen otonom, sedangkan pencarian fakta dengan jawaban jelas dapat lebih efisien menggunakan prosedur riset tetap. Variabel intinya bukan bidang, melainkan \u003cstrong\u003ekejelasan tujuan, kemungkinan verifikasi otomatis, ruang eksplorasi, dan biaya kesalahan\u003c/strong\u003e.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#code-review-tidak-menghilang-tetapi-unit-peninjauannya-berubah\" class=\"anchor\" id=\"code-review-tidak-menghilang-tetapi-unit-peninjauannya-berubah\"\u003e\u003c/a\u003eCode review tidak menghilang, tetapi unit peninjauannya berubah\u003c/h2\u003e\n\u003cp\u003eKetika agen menulis kode, alih-alih memasukkan setiap baris secara langsung, pengembang akan lebih banyak mengawasi persyaratan, desain, hasil pengujian, cakupan perubahan, dan risiko. Ringkasan Pull Request dan laporan agen dapat meningkatkan kecepatan peninjauan.\u003c/p\u003e\n\u003cp\u003eNamun, membaca ringkasan saja lalu memberikan persetujuan bukanlah pilihan default yang aman. Perubahan yang dilewatkan agen atau logika yang dipahami secara keliru mungkin juga tidak muncul dalam ringkasan. Dalam situasi berikut, diff asli dan kode terkait harus ditinjau secara langsung.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePerubahan pada autentikasi, pembayaran, data pribadi, enkripsi, atau kontrol akses\u003c/li\u003e\n\u003cli\u003ePerubahan skema basis data atau migrasi yang tidak dapat dibatalkan\u003c/li\u003e\n\u003cli\u003eKode yang sensitif terhadap performa dan konkurensi\u003c/li\u003e\n\u003cli\u003eRefactoring berskala besar di luar cakupan pengujian\u003c/li\u003e\n\u003cli\u003ePerubahan dependensi eksternal, konfigurasi deployment, atau penanganan informasi rahasia\u003c/li\u003e\n\u003cli\u003eKetika penjelasan agen tidak sesuai dengan diff yang sebenarnya\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eHuman-in-the-loop bukan berarti manusia sekadar menekan tombol secara formal. Ini juga mencakup penyediaan bukti perubahan, hasil pengujian, kemungkinan kegagalan, dan prosedur pengembalian agar manusia dapat membuat penilaian.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#jebakan-yang-sering-ditemui\" class=\"anchor\" id=\"jebakan-yang-sering-ditemui\"\u003e\u003c/a\u003eJebakan yang sering ditemui\u003c/h2\u003e\n\u003ch3\u003e\n\u003ca href=\"#multiagen-tanpa-tujuan\" class=\"anchor\" id=\"multiagen-tanpa-tujuan\"\u003e\u003c/a\u003eMultiagen tanpa tujuan\u003c/h3\u003e\n\u003cp\u003eMenambah jumlah agen menimbulkan biaya untuk koordinasi peran, pemanggilan duplikat, transfer konteks, dan penggabungan hasil. Jika tidak diperlukan eksplorasi paralel dari perspektif berbeda atau tidak ada alasan untuk memisahkan konteks, agen tunggal lebih baik.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#workflow-dinamis-tanpa-batas\" class=\"anchor\" id=\"workflow-dinamis-tanpa-batas\"\u003e\u003c/a\u003eWorkflow dinamis tanpa batas\u003c/h3\u003e\n\u003cp\u003eJika agen diizinkan terus membuat subtugas, biaya token dan pemanggilan alat akan meningkat dengan cepat. Biaya kira-kira ditentukan oleh gabungan biaya token input·output setiap tahap, biaya alat, jumlah agen paralel, dan jumlah pengulangan. Jumlah pemanggilan, jumlah eksekusi serentak, total anggaran, dan waktu eksekusi maksimum harus dibatasi secara terpisah.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#hanya-mengoptimalkan-satu-metrik-evaluasi\" class=\"anchor\" id=\"hanya-mengoptimalkan-satu-metrik-evaluasi\"\u003e\u003c/a\u003eHanya mengoptimalkan satu metrik evaluasi\u003c/h3\u003e\n\u003cp\u003eJika hanya tingkat kelulusan pengujian yang dijadikan tujuan, dapat terjadi optimasi keliru seperti melemahkan pengujian atau menyembunyikan penanganan pengecualian. Kualitas, keamanan, skala perubahan, biaya, latensi, dan evaluasi manusia harus digunakan bersama-sama.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#mengacaukan-penyisipan-dokumen-dengan-fine-tuning\" class=\"anchor\" id=\"mengacaukan-penyisipan-dokumen-dengan-fine-tuning\"\u003e\u003c/a\u003eMengacaukan penyisipan dokumen dengan fine-tuning\u003c/h3\u003e\n\u003cp\u003eHasil dapat berubah secara berkelanjutan melalui pencarian dokumen atau instruksi proyek, tetapi bobot model tidak berubah. Dalam arti luas, hal ini dapat dijelaskan sebagai efek pembelajaran sistem, tetapi secara ketat merupakan adaptasi menggunakan memori eksternal dan konteks. Dokumen atau indeks pencarian harus dipertahankan agar perubahan tetap berlaku pada eksekusi berikutnya.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#evaluasi-keamanan-dan-keekonomian-yang-mudah-terlewatkan-pada-tahap-operasional\" class=\"anchor\" id=\"evaluasi-keamanan-dan-keekonomian-yang-mudah-terlewatkan-pada-tahap-operasional\"\u003e\u003c/a\u003eEvaluasi, keamanan, dan keekonomian yang mudah terlewatkan pada tahap operasional\u003c/h2\u003e\n\u003cp\u003eDesain agen tidak berakhir pada diagram arsitektur. Dalam operasi nyata, \u003cstrong\u003esistem yang mengukur apa yang benar-benar terjadi lebih penting daripada apa yang diizinkan\u003c/strong\u003e.\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#metrik-operasional-minimum\" class=\"anchor\" id=\"metrik-operasional-minimum\"\u003e\u003c/a\u003eMetrik operasional minimum\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTingkat keberhasilan tugas dan tingkat koreksi oleh manusia\u003c/li\u003e\n\u003cli\u003eBiaya model·alat per tugas dan total waktu eksekusi\u003c/li\u003e\n\u003cli\u003eJumlah pengulangan dan proporsi pemanggilan yang dikonsumsi tanpa kemajuan\u003c/li\u003e\n\u003cli\u003eJumlah permintaan persetujuan, penolakan, dan percobaan melampaui izin\u003c/li\u003e\n\u003cli\u003ePemanggilan alat yang salah dan tingkat keberhasilan pemulihan\u003c/li\u003e\n\u003cli\u003eProporsi hasil yang diserahkan tanpa sumber atau pengujian\u003c/li\u003e\n\u003cli\u003eTingkat perbedaan hasil untuk input yang sama\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\n\u003ca href=\"#kondisi-invarian-yang-diperlukan-untuk-keamanan\" class=\"anchor\" id=\"kondisi-invarian-yang-diperlukan-untuk-keamanan\"\u003e\u003c/a\u003eKondisi invarian yang diperlukan untuk keamanan\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eInstruksi dalam dokumen eksternal tidak memiliki prioritas lebih tinggi daripada kebijakan sistem.\u003c/li\u003e\n\u003cli\u003eInformasi rahasia tidak diekspos secara tidak perlu dalam input model dan log.\u003c/li\u003e\n\u003cli\u003eHak baca dipisahkan dari hak tulis·hapus·deployment.\u003c/li\u003e\n\u003cli\u003ePengiriman eksternal dan tindakan yang tidak dapat dibatalkan memiliki persetujuan terpisah atau pemeriksaan kebijakan.\u003c/li\u003e\n\u003cli\u003eAgen tidak boleh mengubah kriteria evaluasi, pengujian, atau log auditnya sendiri secara sewenang-wenang.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eKondisi invarian tersebut lebih aman jika dipaksakan melalui sandbox, kontrol akses, transisi graf, dan verifier independen daripada hanya melalui satu kalimat dalam prompt. Manajemen risiko AI generatif harus mencakup tidak hanya akurasi model, tetapi juga lingkungan operasional, pengawasan manusia, dan respons insiden.\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#konsep-mana-yang-harus-dipelajari-lebih-dahulu\" class=\"anchor\" id=\"konsep-mana-yang-harus-dipelajari-lebih-dahulu\"\u003e\u003c/a\u003eKonsep mana yang harus dipelajari lebih dahulu\u003c/h2\u003e\n\u003cp\u003eDalam praktik saat ini, hal pertama yang perlu dikuasai adalah rekayasa harness. Dengan konteks yang akurat, hak akses minimum, verifikasi otomatis, log, persetujuan, dan batas biaya, banyak kegagalan agen tunggal dapat dikurangi.\u003c/p\u003e\n\u003cp\u003eBerikutnya, tambahkan loop dengan kondisi penghentian pada pekerjaan yang kualitasnya meningkat melalui pengulangan. Ketika percabangan, pemrosesan paralel, pemulihan, dan prosedur persetujuan menjadi kompleks, nyatakan semuanya secara eksplisit sebagai graf. Daripada mengadopsi istilah yang rumit, lebih penting menjadikan tujuan, izin, bukti, biaya, dan kondisi penghentian agen dapat diukur.\u003c/p\u003e\n","tags":["Rekayasa konteks","Rekayasa harness","Agen AI","Claude Code","Pengembangan AI","Agen pemrograman"],"faqs":[{"question":"Apa perbedaan antara rekayasa harness dan rekayasa prompt?","answer":"Rekayasa prompt terutama menangani instruksi dan ungkapan yang akan diberikan kepada model. Rekayasa harness adalah perancangan lingkungan eksekusi yang lebih luas, yang mencakup bukan hanya prompt, tetapi juga pencarian konteks, alat, izin, sandbox, pengujian, log, persetujuan manusia, dan pemulihan kesalahan."},{"question":"Apakah rekayasa konteks dan rekayasa harness memiliki arti yang sama?","answer":"Tidak sama. Rekayasa konteks berfokus pada pemilihan, pencarian, peringkasan, dan penempatan informasi yang perlu diketahui model saat ini. Selain pengelolaan konteks, rekayasa harness juga menangani izin, alat, validasi, batas biaya, dan kebijakan operasional secara terpadu."},{"question":"Apa perbedaan terpenting antara loop dan graf?","answer":"Loop menentukan apa yang diulang dan kapan harus berhenti, seperti perencanaan, eksekusi, verifikasi, dan perbaikan. Graf menentukan status apa saja yang ada dan bagaimana perpindahan dapat dilakukan dari satu status ke status lainnya. Sebuah graf dapat mencakup satu atau lebih loop."},{"question":"Apakah semua agen AI memerlukan kerangka kerja graf seperti LangGraph?","answer":"Tidak. Untuk tugas yang sederhana dan singkat, satu agen dengan harness minimal mungkin sudah cukup. Nilai graf menjadi lebih besar ketika diperlukan percabangan bersyarat, pemrosesan paralel, penyimpanan sementara, pemulihan kegagalan, persetujuan manusia, atau audit jalur eksekusi."},{"question":"Apakah multiagen selalu memiliki kinerja yang lebih baik daripada agen tunggal?","answer":"Tidak. Multiagen berguna ketika diperlukan riset paralel, peran spesialis yang berbeda, dan pemisahan konteks. Jika perannya tumpang tindih atau tujuannya tidak jelas, hal itu hanya dapat menambah pekerjaan duplikat, kesalahan serah terima, keterlambatan, dan biaya."},{"question":"Bagaimana cara mencegah pengulangan tanpa batas pada loop agen?","answer":"Bukan hanya jumlah maksimum pengulangan, tetapi batas waktu, token, pemanggilan alat, dan anggaran biaya juga harus ditetapkan. Kondisi tanpa informasi baru atau tanpa penurunan kesalahan harus dinilai sebagai tidak adanya kemajuan, dan sistem harus dirancang agar berhenti atau dialihkan kepada manusia ketika mencapai kriteria tertentu."},{"question":"Apakah cukup hanya meninjau ringkasan Pull Request untuk kode yang ditulis oleh AI?","answer":"Ringkasan hanyalah materi pendukung dan tidak menggantikan perubahan asli. Untuk perubahan berisiko tinggi seperti autentikasi, pembayaran, informasi pribadi, migrasi data, dan konfigurasi deployment, diff aktual, cakupan pengujian, dependensi, serta prosedur rollback harus ditinjau secara langsung."},{"question":"Jika dokumen perusahaan terus diberikan, apakah berarti model telah belajar?","answer":"Hasilnya dapat berubah secara berkelanjutan, tetapi bobot model tidak diperbarui. Ini merupakan adaptasi pada tingkat sistem yang menyimpan dokumen eksternal, indeks pencarian, memori, dan instruksi untuk diberikan kembali pada eksekusi berikutnya, serta harus dibedakan dari fine-tuning dalam arti yang ketat."},{"question":"Apakah rekayasa graf berarti kembali ke alur kerja tetap seperti pada masa awal?","answer":"Tidak selalu demikian. Graf modern lebih mendekati kontrol hibrida yang memungkinkan agen merencanakan secara mandiri dan memilih alat pada bagian tertentu, sembari secara eksplisit membatasi transisi berbahaya dan titik persetujuan wajib."},{"question":"Apa yang harus ditentukan terlebih dahulu saat merancang harness?","answer":"Kriteria keberhasilan tugas dan biaya kegagalan harus ditentukan terlebih dahulu. Setelah itu, sebaiknya hanya sediakan konteks dan alat yang diperlukan, lalu tetapkan hak akses minimum, validasi otomatis, log eksekusi, batas biaya, dan kondisi penghentian."}],"sources":[{"url":"https://www.anthropic.com/research/building-effective-agents","title":"Anthropic — Membangun agen yang efektif","type":"source"},{"url":"https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents","title":"Anthropic — Rekayasa konteks yang efektif untuk agen AI","type":"source"},{"url":"https://www.anthropic.com/engineering/multi-agent-research-system","title":"Anthropic — Cara kami membangun sistem riset multiagen kami","type":"source"},{"url":"https://docs.langchain.com/oss/python/langgraph/overview","title":"Ikhtisar LangGraph","type":"source"},{"url":"https://arxiv.org/abs/2210.03629","title":"ReAct: Menyinergikan Penalaran dan Tindakan dalam Model Bahasa","type":"source"},{"url":"https://nvlpubs.nist.gov/nistpubs/ai/NIST.AI.600-1.pdf","title":"NIST AI 600-1 — Kerangka Kerja Manajemen Risiko Kecerdasan Buatan: Profil Kecerdasan Buatan Generatif","type":"source"}],"images":[{"id":662,"url":"https://injoys.com/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6ODI0NSwicHVyIjoiYmxvYl9pZCJ9fQ==--3a03e254c3d24990df4c3fc46145a5db24e457ba/ai-eb0e40fe.webp","is_representative":true,"generation_method":"ai_image","license":"ai_generated","mime_type":"image/webp","translations":{"ko":{"alt":"중앙 AI 시스템을 순환 화살표와 성공·실패 노드 그래프가 둘러싼 다이어그램","caption":"AI 에이전트의 실행 루프와 보안 검증, 분기 경로를 시각화한 구성도다.","description":null},"en":{"alt":"Central AI system surrounded by loop arrows and a graph of success and failure nodes","caption":"The diagram visualizes an AI agent’s execution loop, security checks, and branching paths.","description":null},"ja":{"alt":"中央のAIシステムを循環矢印と成功・失敗ノードのグラフが囲む図","caption":"AIエージェントの実行ループ、セキュリティ検証、分岐経路を可視化している。","description":null},"es":{"alt":"Sistema de IA central rodeado de flechas cíclicas y una red de nodos de éxito y error","caption":"El diagrama representa el bucle de ejecución, las verificaciones y las rutas de un agente de IA.","description":null},"id":{"alt":"Sistem AI pusat dikelilingi panah berulang dan graf simpul keberhasilan serta kegagalan","caption":"Diagram ini memvisualkan loop eksekusi, pemeriksaan keamanan, dan jalur bercabang agen AI.","description":null},"pt":{"alt":"Sistema central de IA cercado por setas cíclicas e uma rede de nós de sucesso e falha","caption":"O diagrama mostra o ciclo de execução, as verificações de segurança e as rotas de um agente de IA.","description":null},"zh-hant":{"alt":"中央 AI 系統周圍環繞循環箭頭與成功、失敗節點組成的路徑圖","caption":"此圖呈現 AI 代理的執行迴圈、安全檢查與分支路徑。","description":null},"de":{"alt":"Zentrales KI-System, umgeben von Kreispfeilen und einem Netz aus Erfolgs- und Fehlerknoten","caption":"Das Diagramm zeigt Ausführungsschleife, Sicherheitsprüfungen und verzweigte Pfade eines KI-Agenten.","description":null}}},{"id":663,"url":"https://injoys.com/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6ODI1MSwicHVyIjoiYmxvYl9pZCJ9fQ==--cea797c99aabaa4b8f760264327fe2ee8b34b423/ai-23d7d97a.webp","is_representative":false,"generation_method":"ai_image","license":"ai_generated","mime_type":"image/webp","translations":{"ko":{"alt":"보안 하네스 속 AI 로봇이 도구 루프와 분기 그래프를 거쳐 검증 및 경고 단계로 이동하는 흐름","caption":"AI 에이전트가 보호된 환경에서 반복 작업과 그래프 분기를 거쳐 사람의 검증을 받는 과정을 보여준다.","description":null},"en":{"alt":"AI robot moves from a secure harness through a tool loop and branching graph to validation and a warning gate","caption":"The diagram shows an AI agent progressing through protected execution, iterative tools, graph branches, and human validation.","description":null},"ja":{"alt":"保護されたAIロボットがツールのループと分岐グラフを経て検証と警告ゲートへ進む流れ","caption":"AIエージェントが保護環境から反復処理、グラフ分岐、人による検証へ進む工程を示している。","description":null},"es":{"alt":"Un robot de IA pasa de un entorno seguro a un bucle de herramientas, un grafo ramificado y una puerta de alerta","caption":"El diagrama muestra a un agente de IA avanzando por ejecución protegida, iteraciones, ramas y validación humana.","description":null},"id":{"alt":"Robot AI bergerak dari lingkungan aman melalui loop alat dan graf bercabang menuju validasi serta gerbang peringatan","caption":"Diagram ini menunjukkan agen AI melalui eksekusi terlindungi, proses berulang, cabang graf, dan validasi manusia.","description":null},"pt":{"alt":"Robô de IA passa de um ambiente seguro por um ciclo de ferramentas e grafo ramificado até validação e alerta","caption":"O diagrama mostra um agente de IA avançando por execução protegida, iterações, ramificações e validação humana.","description":null},"zh-hant":{"alt":"AI 機器人從安全框架經過工具迴圈與分支圖，走向人工驗證及警示閘門","caption":"此圖呈現 AI 代理從受保護執行、反覆工具操作和圖形分支走向人工驗證的流程。","description":null},"de":{"alt":"KI-Roboter durchläuft eine sichere Umgebung, eine Werkzeugschleife und einen verzweigten Graphen bis zur Warnschranke","caption":"Die Grafik zeigt einen KI-Agenten bei geschützter Ausführung, iterativen Abläufen, Graphverzweigungen und menschlicher Prüfung.","description":null}}}],"published_at":"2026-08-16T00:45:12+09:00","updated_at":"2026-08-16T00:45:12+09:00","license":"cc_by","translation_status":"reviewed","available_locales":["ko","en","ja","es"],"data_locales":["ko","en","ja","es","id","pt","zh-hant","de"],"url":"https://injoys.com/en/articles/ai-agent-harness-loop-graph-engineering"}