Proyek Besar Selalu Gagal... Anthropic Sedang Memperbaikinya

AAI LABS
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00Saat ini merilis proyek kecil sudah sangat mudah, namun agen mulai gagal saat
00:00:04basis kodenya berkembang besar dan memiliki banyak dependensi. Masalahnya bahkan lebih buruk jika
00:00:09Anda bekerja dengan bahasa yang tidak konvensional di mana kesalahan dan masalah jadi lebih sulit dilacak.
00:00:14Yang sering terlewatkan adalah Anda perlu mengambil langkah tepat sebelum membiarkan agen bekerja pada kode
00:00:19yang besar, dan inilah yang sebenarnya dibahas oleh Anthropic di sini. Mereka membahas cara menangani
00:00:23proyek saat berskala besar. Hal ini sangat berwawasan karena ini adalah hal-hal yang kami sendiri telah
00:00:28gunakan dalam proyek kami sendiri dan ternyata cukup membantu. Sebelum kita membahas detail cara menyiapkan
00:00:33proyek berskala besar, mari kita pahami dulu bagaimana agen menavigasi
00:00:38kode secara umum. Ada dua cara mereka melakukannya. Pertama adalah berbasis RAG. Ini bekerja dengan melakukan embedding
00:00:43seluruh basis kode dan mengambil potongan yang relevan saat kueri. Berdasarkan kueri Anda, ia menjalankan
00:00:48pencarian semantik yang mencocokkan kueri Anda dengan kode di dalam basis datanya. Dari kecocokan kesamaan
00:00:53itu, ia memuat konteks spesifik tersebut agar model dapat menganalisis dan bekerja lebih lanjut. Ini mungkin berhasil untuk
00:00:58aplikasi skala kecil, tetapi tidak berkelanjutan pada aplikasi skala besar. Ini karena ada basis data terpusat
00:01:03yang memelihara data, dan jika ada banyak file di dalam basis data, pencocokan semantik
00:01:08mungkin menjadi bermasalah. Inilah alasan agen pengodean berhalusinasi tentang modul yang tidak ada lagi.
00:01:14Karena masalah itulah, pendekatan berbasis RAG telah sepenuhnya digantikan. Tipe lainnya
00:01:18adalah navigasi berbasis sistem file, yang kini digunakan oleh Claude Code dan sebagian besar agen lainnya. Ini
00:01:24mirip dengan cara pengembang perangkat lunak menavigasi. Agen menggunakan alat bash, menemukan file
00:01:29dengan perintah ls, lalu melakukan grep dan mempersempit ke potongan kode yang tepat dan memuatnya
00:01:34ke dalam konteks. Alat bash berfungsi karena tidak mengotori jendela konteks dengan cuplikan yang tidak
00:01:39perlu. Jadi, mode ini menangani semua cara sistem berbasis RAG gagal, dan hampir semua
00:01:44agen pengodean sekarang menavigasi dengan cara ini. Masalahnya di sini adalah terlepas dari bagaimana model berkembang
00:01:49sendiri, model saja tidak menentukan seberapa baik kode yang bisa Anda hasilkan.
00:01:54Hal yang lebih penting yang berpengaruh pada sistem yang bekerja adalah harness (sistem pendukung) apa yang Anda gunakan
00:01:59untuk pengodean. Jadi alat apa pun yang Anda gunakan, baik itu Claude Code, Codex, atau Gemini CLI, output yang
00:02:05Anda dapatkan tidak hanya ditentukan oleh model mereka yang kuat. Itu juga bergantung pada harness yang Anda kombinasikan dengan
00:02:10kemampuan model. Jika harness-nya lemah dan modelnya kuat, tidak ada gunanya model tersebut
00:02:15menjadi kuat sendirian. Sekarang kita tahu agen seperti Claude Code dan Codex memiliki harness yang kuat secara bawaan,
00:02:19namun ini tidak berarti Anda harus mengandalkan hal tersebut sepenuhnya. Anda perlu menyiapkan harness
00:02:24yang disesuaikan dengan proyek Anda agar lebih pas. Ada juga harness sumber terbuka
00:02:29seperti superpowers dan Anda bisa menggunakan salah satunya saat membangun sesuatu, namun ketika Anda sedang
00:02:33mengembangkan proyek skala besar, harness ini mungkin tidak bertahan dan Anda perlu menyiapkannya
00:02:38sendiri. Setiap harness agen yang Anda bangun sendiri atau ambil dari obrolan bersama berisi
00:02:42lima bagian yang berpusat pada bagaimana pekerjaan Claude dan loop agen dikonfigurasikan secara lingkungan.
00:02:47Kita akan membahasnya satu per satu. Bagian pertama dalam harness agen adalah file Claude.md yang dimuat
00:02:53pada awal sesi dan tetap berada di memori selama seluruh sesi berlangsung. File ini sangat
00:02:57penting karena memberi Claude basis pengetahuan untuk basis kode. Kami telah membuat video terpisah
00:03:02tentang cara menulis dan menyusun Claude.md yang tepat yang dapat Anda lihat di saluran ini.
00:03:07Saat basis kode Anda tumbuh besar, Claude.md menjadi sangat penting. Jika Anda tidak meluangkan waktu untuknya, proyek Anda
00:03:12pasti akan gagal dalam skala besar. File ini adalah untuk konvensi proyek, pengetahuan basis kode,
00:03:17dan hal yang boleh/tidak boleh dilakukan yang berlaku di seluruh basis kode, bukan hanya satu aspek. Ini
00:03:22mungkin baik jika basis kode Anda kecil, tetapi menjadi masalah saat Anda menskalakan ke dalam beberapa
00:03:26arsitektur. Jadi memasukkan setiap aspek kode ke dalam satu file sangat tidak efisien. Itu mengalihkan
00:03:32agen dengan informasi yang tidak dibutuhkannya saat ini. Itulah mengapa Claude.md harus tetap singkat,
00:03:37idealnya sekitar 300 baris, dan jika Anda menjalankan mono repo dengan beberapa area, setiap subdirektori
00:03:43harus memiliki Claude.md sendiri mengikuti aturan yang sama. Agen secara progresif memuatnya saat bekerja
00:03:48di direktori itu, jadi alih-alih menarik semuanya dari file root, ia mendapatkan instruksi yang lebih fokus
00:03:53dari file sub-repo. File ini bukan sesuatu yang Anda tulis sekali dan andalkan selamanya. Kita perlu
00:03:58memeliharanya secara aktif tidak hanya saat proyek berkembang, tetapi juga saat kecerdasan model berkembang.
00:04:04Prinsip yang berlaku untuk Sonnet 4.5 jelas tidak akan berlaku untuk Opus. Model yang lebih baru
00:04:09dilatih untuk mengatasi pola yang gagal dalam instruksi sebelumnya. Jadi memberikan instruksi yang sama
00:04:14ke setiap model hanya membuang-buang token. Tapi sebelum kita maju, mari dengarkan pesan dari
00:04:19sponsor kami, CleanMyMac. Jika Anda bekerja dengan alat AI seperti kami, Mac Anda diam-diam menumpuk sampah, build lama,
00:04:26cache, unduhan rusak, dan Anda tidak menyadarinya sampai mulai melambat. Saya menjalankan CleanMyMac setiap minggu dan
00:04:31itu mengosongkan lebih dari 15 GB dalam satu pemindaian. Selesai, satu klik dan Mac saya terasa baru lagi. CleanMyMac
00:04:37dibuat oleh MacPaw, Apple Notarized, dan dipercaya oleh lebih dari 29 juta orang selama 17 tahun. Fitur pembersihan
00:04:42menghapus lebih dari 20 jenis sampah sehingga sistem Anda tetap cepat tanpa perlu dijaga. SpaceLens memetakan
00:04:48drive Anda secara visual sehingga Anda tahu apa yang menghabiskan ruang. Bahkan memindai iCloud, Google Drive, dan
00:04:53Dropbox Anda secara lokal untuk file yang tidak tersinkronisasi yang membuang-buang penyimpanan cloud. Dan ia menangkap 99% malware yang diketahui melalui
00:04:59moonlock sehingga Mac Anda tetap bersih dan aman. Mac Anda harus mengikuti Anda, bukan sebaliknya.
00:05:03Gunakan kode AI Labs untuk diskon 20% dan coba CleanMyMac gratis selama tujuh hari. Sekarang, hooks adalah
00:05:09hal penting lain yang membantu saat bekerja dengan basis kode besar ini. Hooks pada dasarnya adalah
00:05:14skrip yang memungkinkan agen mengambil tindakan spesifik berdasarkan kondisi tertentu. Ada banyak jenis
00:05:19hook yang bisa Anda konfigurasikan, biasanya ditulis sebagai skrip shell yang mengontrol perilaku agen. Sebagai
00:05:23contoh, Anda dapat mengonfigurasi hook awal sesi yang memuat informasi yang Anda inginkan di awal
00:05:28setiap sesi, seperti file mana yang harus dimuat Claude untuk konteks. Anda juga bisa menggunakan hook dengan kode keluar
00:05:33juga, dan memberikan pesan kesalahan kembali ke Claude sehingga ia bisa melakukan iterasi pada hal itu. Hook pra-penggunaan alat adalah jenis
00:05:38lainnya. Kapan pun agen menggunakan alat apa pun yang telah Anda konfigurasikan hook-nya, ia menjalankan perintah Anda.
00:05:43Anda bisa menggunakannya untuk mencegah Claude mengedit file yang tidak ingin disentuh. Namun salah satu yang paling
00:05:48penting adalah hook berhenti (stop hook) yang berjalan setelah sesi berakhir. Ini mendorong Claude untuk merefleksikan
00:05:53apa yang telah dilakukan sejauh ini. Dari situ, ia dapat memperbarui Claude.md dengan pembelajaran dari sesi tersebut
00:05:58sehingga masalah yang sama tidak terjadi lagi. Anda juga dapat mengonfigurasi hook untuk linting, menjalankan pengujian,
00:06:03dan banyak tujuan lain. Semua ini yang digabungkan membantu banyak pada basis kode berskala besar.
00:06:08Hooks memaksa agen untuk melakukan hal-hal yang harus diperhatikan, di mana instruksi di Claude.md
00:06:13saja mungkin tidak cukup. Instruksi di Claude.md bisa menjadi kabur dalam rentang perhatian agen karena
00:06:19terlalu banyak hal yang harus difokuskan, tetapi hook benar-benar memaksa Claude untuk bertindak. Bagian ketiga dalam
00:06:23alur kerja adalah keterampilan (skills). Ini adalah sekumpulan file skills.md dan file grup lainnya yang dimuat sesuai permintaan alih-alih
00:06:29hadir di setiap sesi dan membuatnya membengkak secara tidak perlu. Keterampilan penting karena
00:06:34mereka menggunakan pengungkapan progresif dan disesuaikan untuk melakukan tugas khusus yang diperlukan untuk
00:06:40alur kerja. Mereka memperluas pengetahuan agen tentang sesuatu yang sudah mampu dilakukannya. Jika Anda
00:06:44meletakkan instruksi ini di Claude.md, mereka hanya mengonsumsi token yang tidak perlu. Instruksi khusus proyek
00:06:49harus masuk ke dalam skills karena mereka dimuat hanya saat agen benar-benar membutuhkannya. Anda
00:06:54juga dapat mencakupkan skills ke jalur spesifik sehingga mereka hanya aktif di bagian kode yang relevan
00:06:59dan tidak membengkakkan konteks di luar itu. Sebagai contoh, jika Anda sedang bekerja di area penyebaran
00:07:04Anda dapat menentukan jalur direktori itu dalam deskripsi skill sehingga skill tidak pernah dimuat saat
00:07:09Anda bekerja di tempat lain. Untuk mengonfigurasi skills, Anda cukup memanggil pencipta skill yang kini sudah bawaan
00:07:14ke dalam Claude Code. Sebelumnya Anda harus mendapatkannya secara sumber terbuka dari GitHub, lalu Anda menjawab pertanyaan
00:07:19yang ditanyakannya selama sesi diskusi. Anda akan memiliki skill yang disesuaikan dengan kebutuhan tepat Anda, yang
00:07:23dapat Anda akses setelah Anda memulai ulang sesi. Selain skills, Anda juga bisa menggunakan plugin. Plugin adalah
00:07:29bundel skills, hook, dan MCP yang tersedia sebagai satu paket yang dapat diunduh dan didistribusikan. Jadi
00:07:34siapa pun yang menginstal plugin ini akan memiliki konteks dan konfigurasi yang persis sama yang tersedia
00:07:39untuk digunakan segera. Jadi jika Anda bekerja dalam tim, membuat plugin sendiri untuk didistribusikan
00:07:44ke rekan satu tim menjadi sangat penting. Jika Anda mengatur semua konfigurasi Anda di satu tempat, informasi itu
00:07:49dapat didistribusikan ke seluruh organisasi sehingga anggota tim Anda memiliki konteks yang sama dengan Anda. Anda
00:07:54dapat melakukan ini dengan membuat plugin Anda sendiri dan mengelolanya baik dengan mengunggahnya secara manual atau menyinkronkannya
00:07:59dengan repositori GitHub. Anda dapat menginstal plugin apa pun menggunakan perintah plugin dan Anda dapat
00:08:03menelusuri marketplace dan menginstal mana pun yang Anda inginkan. Anda juga dapat menambahkan marketplace lain menggunakan
00:08:08perintah add plugin marketplace. Claude Code juga hadir dengan beberapa plugin seperti
00:08:13desain front-end, tinjauan kode, penyederhana kode, Playwright, dan lainnya, semuanya dari marketplace
00:08:18resmi Claude. Anda dapat menggunakannya langsung dalam alur kerja Anda dan Anda dapat membuat milik Anda sendiri juga.
00:08:22Plugin penting terutama untuk proyek berskala besar karena banyak orang bekerja pada proyek yang sama
00:08:27dan mendistribusikan konteks di antara mereka itu penting. Jadi alih-alih membuat setiap orang mengunduh skills
00:08:32dan komponen lainnya secara terpisah, mereka dapat menginstal plugin secara langsung. Juga jika Anda menikmati konten
00:08:36kami, pertimbangkan untuk menekan tombol hype karena itu membantu kami membuat lebih banyak konten seperti ini dan menjangkau
00:08:41lebih banyak orang. Hal lain yang penting dalam harness agen tetapi tidak cukup dibicarakan adalah
00:08:46LSP. Language server protocol atau LSP pada dasarnya adalah integrasi yang memberikan agen jenis
00:08:52navigasi yang dimiliki pengembang di IDE. Ada LSP untuk hampir semua bahasa pemrograman dan itu
00:08:58mungkin tidak perlu untuk bahasa populer, tetapi menjadi kritis untuk bahasa yang tidak konvensional. Itu
00:09:03memberi agen kecerdasan tentang bahasa pemrograman sehingga ia dapat menavigasi basis kode seperti
00:09:08manusia. Sebagai contoh, ketika manusia ingin menemukan fungsi, mereka memeriksa dari mana fungsi itu
00:09:13diimpor, pergi ke file itu, dan memeriksa file tersebut untuk definisi fungsinya. Begitulah cara
00:09:17mereka benar-benar menemukan sumber tepat yang mereka butuhkan. Tanpa LSP, agen mencocokkan pola berdasarkan
00:09:22teks dan kemungkinan akan mendarat pada simbol yang salah. Seperti yang kami sebutkan, Claude Code menggunakan pendekatan berbasis
00:09:28sistem file dengan perintah bash, jadi tanpa LSP, itu hanya mencocokkan pola pada nama file dan teks,
00:09:33bukan menavigasi dengan kecerdasan yang lebih dalam. Sekarang, jangan berasumsi LSP tidak diperlukan hanya karena agen Anda
00:09:38belum menemui kesalahan. Siapkan LSP bahkan sebelum Anda mulai bekerja pada proyek tersebut. Konfigurasikan untuk
00:09:44semua bahasa yang akan Anda gunakan bahkan sebelum menulis kode apa pun sehingga agen sudah memiliki informasi tentang
00:09:49cara bekerja dengan mereka. Alih-alih membiarkan agen menebak pola, menginstal LSP memungkinkannya membaca dan mengedit
00:09:55kode seperti cara pengembang memikirkannya, bukan hanya sebagai teks. Sekarang seperti yang Anda sudah tahu, MCP digunakan untuk
00:10:00menghubungkan agen ke alat eksternal, tetapi Anda juga dapat menghubungkan MCP Anda ke alat internal proyek Anda,
00:10:05sumber data, API, atau sistem lain yang tidak dapat dijangkau oleh agen. Untuk itu, Anda perlu
00:10:10membuat MCP Anda sendiri dan menyediakannya agar orang-orang di tim Anda dapat menggunakannya dengan mudah. MCP
00:10:16pada dasarnya adalah ekstensi ke pengaturan yang ada yang dimuat kapan pun diperlukan, dan alat yang
00:10:20disediakannya kemudian tersedia untuk digunakan oleh agen. Jika Anda bekerja pada basis kode besar, Anda dapat membangun
00:10:25MCP yang melayani banyak tujuan seperti bertindak sebagai panduan dokumentasi, mengambil analitik, atau bahkan
00:10:31membiarkan Anda membuat perubahan melaluinya. Ini membantu karena jika Anda memiliki basis kode sendiri, Anda
00:10:35dapat membiarkan agen secara alami berinteraksi dengan informasi internal, memanggil alat, dan membuat perubahan di sana
00:10:40alih-alih meraba-raba melalui dokumentasi yang sangat besar. Ini memberikan agen akses yang lebih langsung ke
00:10:45informasi dan sistem yang dibutuhkannya. Namun untuk mengonfigurasi MCP, pengaturan dasar aplikasi harus sudah
00:10:51berfungsi. Jika Anda mengonfigurasi MCP Anda sebelum itu, hal-hal bisa salah dan implementasi MCP mungkin
00:10:57gagal. Jadi pertama, pastikan aplikasi Anda berfungsi dengan benar, lalu buat MCP dan biarkan agen
00:11:02berinteraksi dengan proyek Anda dengan lebih cerdas dan informasi yang lebih baik. Hal lain yang perlu Anda
00:11:06buat adalah sub-agen. Sub-agen berisi jendela konteks terisolasi milik mereka sendiri dan melakukan tugas apa pun
00:11:12yang didelegasikan kepada mereka oleh agen orkestrator utama, kemudian mengembalikan output akhir ke induknya.
00:11:17Ini adalah bagian penting dari harness agen karena menggunakan sub-agen dengan benar tidak membengkakkan jendela konteks
00:11:22dan membuat pemanfaatan konteks jauh lebih baik karena mereka tidak mengisi konteks agen utama
00:11:28dengan informasi yang tidak diperlukannya. Sub-agen hanya berjalan saat dipanggil dan kemudian mengembalikan temuan mereka.
00:11:33Claude memutar sub-agen sendiri, tetapi Anda juga dapat mengonfigurasi sub-agen sendiri. Anda dapat
00:11:38mengonfigurasi alat dan model mana pun yang Anda inginkan untuk mereka, dan memberikan instruksi tentang bagaimana mereka harus
00:11:42beroperasi, menciptakan agen khusus untuk alur kerja Anda sendiri. Anda juga dapat mengganti agen yang sudah ada di Claude,
00:11:47misalnya Anda dapat membuat agen Anda sendiri yang instruksinya menggantikan instruksi yang ada seperti
00:11:52mengeksplorasi, dan memberikan deskripsi tentang bagaimana ia harus menavigasi direktori Anda. Agen penjelajah milik Claude
00:11:57sendiri digeneralisasi untuk semua jenis basis kode, tetapi jika Anda mengonfigurasi milik Anda sendiri, yang khusus
00:12:03akan menggantikan default. Ini memberi agen konteks lebih banyak tentang bagaimana file di proyek Anda
00:12:08disusun sehingga ia tidak membuang-buang token menavigasi file yang hanya mengandalkan informasi di Claude.md.
00:12:13Jadi Anda bisa membuat agen utama mengontrol seluruh eksekusi proyek dan mengandalkan sub-agen untuk
00:12:18pekerjaan aktual. Sub-agen juga membantu karena Anda dapat memparalelkan pekerjaan mereka melalui pendelegasian agen
00:12:23yang membuat alur kerja jauh lebih lancar dan lebih cepat daripada melakukan segalanya secara berurutan.
00:12:28Ada beberapa praktik lagi yang perlu Anda ikuti saat menavigasi basis kode yang besar.
00:12:32Ini penting karena kemampuan Claude untuk menavigasi basis kode besar ditentukan oleh
00:12:36apakah ia mampu menemukan konteks yang tepat. Jadi memastikan Claude mendapatkan konteks yang benar
00:12:41penting agar agen tidak mendapatkan terlalu sedikit atau terlalu banyak dan tetap fokus. Selain memisahkan
00:12:46file Claude.md, Anda perlu memisahkan pengujian untuk setiap subdirektori alih-alih memiliki semuanya di satu
00:12:51tempat. Dengan cara ini, mereka tetap tersegmentasi, menghindari masalah waktu habis saat banyak pengujian berjalan sekaligus, dan dapat
00:12:56dicakup lebih efektif. Anda juga dapat membuat file peta basis kode terpisah yang memetakan struktur proyek Anda.
00:13:01Jika Anda bekerja dengan aplikasi konvensional seperti React atau Next.js, Anda bisa melewatkan ini
00:13:06karena agen telah dilatih secara ekstensif tentang hal-hal tersebut. Tetapi dengan bahasa yang tidak konvensional seperti C++
00:13:12Anda memerlukan peta basis kode. Ini bertindak sebagai daftar isi untuk agen, memberi tahu di mana
00:13:16setiap file berada alih-alih menjalankan banyak perintah bash untuk mempersempit ke file yang tepat. Terakhir,
00:13:21namun yang paling penting, tinjau pengaturan Anda setiap beberapa bulan seiring perkembangan model. Hapus instruksi,
00:13:26hook, atau apa pun yang tidak lagi dibutuhkan oleh model yang lebih baru. Gunakan file .ignore seperti .gitignore
00:13:32dan .agentignore sehingga file yang tidak ingin disentuh oleh agen atau kontrol versi dibiarkan sendiri.
00:13:37Dengan cara ini, pengaturan Anda akan dapat bertahan pada aplikasi skala besar. Sekarang, sumber daya untuk
00:13:41video ini dapat ditemukan di AI Labs Pro untuk video ini dan untuk semua video kami sebelumnya, di mana Anda dapat
00:13:46mengunduh dan menggunakannya untuk proyek Anda sendiri. Jika Anda menemukan nilai dalam apa yang kami lakukan dan ingin mendukung
00:13:51saluran ini, ini adalah cara terbaik untuk melakukannya. Tautan ada di deskripsi. Itu membawa kita ke akhir
00:13:55dari video ini. Jika Anda ingin mendukung saluran ini dan membantu kami terus membuat video seperti ini, Anda dapat
00:14:00melakukannya dengan menggunakan tombol super thanks di bawah. Seperti biasa, terima kasih telah menonton dan sampai jumpa di video berikutnya.

Key Takeaway

Keberhasilan agen dalam menangani basis kode berskala besar bergantung pada penyusunan sistem pendukung (harness) yang terstruktur, seperti pembagian Claude.md per direktori, penggunaan hooks untuk tindakan otomatis, dan pendelegasian tugas ke sub-agen.

Highlights

  • Sistem agen pengodean yang mengandalkan navigasi berbasis sistem file melalui alat bash terbukti lebih stabil pada proyek skala besar dibandingkan metode berbasis RAG.

  • File konfigurasi Claude.md harus tetap singkat, idealnya sekitar 300 baris, untuk mencegah pengalihan agen dengan informasi yang tidak relevan.

  • Penggunaan sub-direktori dengan file Claude.md spesifik memungkinkan agen mendapatkan instruksi yang lebih fokus daripada menarik seluruh konfigurasi dari direktori root.

  • Hooks berupa skrip shell memaksa agen melakukan tindakan spesifik seperti merefleksikan pekerjaan pasca-sesi atau menjalankan pengujian secara otomatis.

  • Plugin memungkinkan pendistribusian konfigurasi yang seragam, termasuk skills, hooks, dan MCP, kepada seluruh anggota tim dalam satu paket.

  • Penggunaan sub-agen dengan jendela konteks terisolasi mencegah pembengkakan memori agen utama dan memungkinkan pengerjaan tugas secara paralel.

Timeline

Navigasi Kode dalam Proyek Skala Besar

  • Metode berbasis RAG tidak berkelanjutan untuk aplikasi besar karena masalah pencocokan semantik pada basis data terpusat.
  • Agen pengodean modern menggunakan navigasi berbasis sistem file dengan alat bash untuk menemukan potongan kode yang tepat.
  • Penggunaan bash memungkinkan agen memuat hanya konteks yang diperlukan tanpa mengotori jendela konteks dengan cuplikan yang tidak relevan.

Proyek kecil mudah dikelola, namun kompleksitas meningkat saat basis kode berkembang dan memiliki banyak dependensi. Pendekatan RAG sering menyebabkan halusinasi pada modul yang tidak ada. Sebaliknya, metode sistem file meniru cara pengembang manusia menavigasi kode dengan perintah seperti ls dan grep untuk mempersempit konteks secara presisi.

Optimalisasi Harness Agen

  • Output agen tidak hanya ditentukan oleh kemampuan model, tetapi juga oleh harness pendukung yang digunakan.
  • File Claude.md harus dibatasi sekitar 300 baris untuk menjaga efisiensi.
  • Sub-direktori dalam monorepo memerlukan file Claude.md sendiri untuk memberikan instruksi yang lebih fokus.

Model yang kuat membutuhkan sistem pendukung atau harness yang kuat. Claude.md berfungsi sebagai basis pengetahuan proyek, namun menyimpan semua informasi di satu file root sangat tidak efisien. Pemeliharaan file ini harus dilakukan secara aktif seiring berkembangnya proyek dan kemampuan model AI itu sendiri.

Hooks, Skills, dan Plugin

  • Hooks berupa skrip shell memaksa agen bertindak pada kondisi tertentu, seperti saat sesi berakhir atau sebelum menggunakan alat.
  • Skills adalah instruksi yang dimuat sesuai permintaan untuk tugas khusus guna menghemat penggunaan token.
  • Plugin mempermudah standarisasi konfigurasi antar anggota tim dalam satu paket yang dapat didistribusikan.

Hooks memastikan agen melakukan refleksi atau pengujian yang mungkin terlewatkan jika hanya mengandalkan instruksi dalam Claude.md. Skills dan plugin memberikan modularitas pada konfigurasi agen, sehingga konteks hanya dimuat saat benar-benar diperlukan oleh agen.

LSP, MCP, dan Sub-agen

  • Language Server Protocol (LSP) memberikan agen kemampuan navigasi berbasis simbol seperti pada IDE manusia.
  • MCP memungkinkan agen berinteraksi dengan sumber data internal, API, atau sistem yang tidak terjangkau secara langsung.
  • Sub-agen membantu mengisolasi jendela konteks dan memparalelkan tugas untuk alur kerja yang lebih cepat.

LSP krusial terutama untuk bahasa pemrograman yang tidak konvensional agar agen tidak hanya mencocokkan pola berbasis teks. Sub-agen memungkinkan pendelegasian tugas dari agen orkestrator, yang mencegah pembengkakan jendela konteks utama sekaligus mempercepat eksekusi proyek melalui kerja paralel.

Praktik Lanjutan untuk Skala Besar

  • Pemisahan pengujian per subdirektori mencegah masalah waktu habis dan meningkatkan efektivitas cakupan.
  • Peta basis kode diperlukan bagi bahasa non-konvensional untuk memberikan struktur daftar isi kepada agen.
  • File .agentignore harus digunakan untuk membatasi akses agen pada direktori tertentu.

Manajemen konteks yang tepat adalah kunci utama navigasi basis kode besar. Tinjauan rutin terhadap pengaturan setiap beberapa bulan memastikan bahwa instruksi dan konfigurasi tetap relevan dengan model terbaru dan kebutuhan proyek yang berkembang.

Community Posts

No posts yet. Be the first to write about this video!

Write about this video