00:00:00Salah satu hal terpenting dalam AI adalah protokol MCP,
00:00:03namun enam bulan kemudian ini menjadi masalah besar bagi kami.
00:00:06Saat kami mulai,
00:00:07orang-orang hanya memiliki dua hingga tiga server MCP yang berjalan secara lokal,
00:00:11namun MCP telah berkembang jauh lebih besar.
00:00:13Kini orang-orang benar-benar memiliki ratusan server MCP dengan ribuan alat sekaligus,
00:00:18dan ini menjadi masalah besar.
00:00:20Seperti yang Anda tahu,
00:00:21Cloudflare pertama kali menyadari ini,
00:00:22dan Claude mengikutinya dengan memposting makalah penelitian tentang masalah ini.
00:00:26Namun Docker sebenarnya menemukan solusi untuk ini dan memecahkan salah satu masalah paling krusial untuk MCP dengan menghadirkan cara baru untuk menggunakannya.
00:00:34Mode dinamis yang memungkinkan Anda menghemat banyak token,
00:00:37mempercepat agen Anda,
00:00:38dan membuat jenis otomatisasi yang benar-benar baru yang secara pribadi sangat saya nantikan.
00:00:43Jadi Docker sebenarnya merilis artikel tentang ini yang pada dasarnya mendesak kita untuk berhenti meng-hardcode lingkungan agen kita.
00:00:50Lalu apa maksud mereka dengan itu?
00:00:51Pertama-tama, server MCP mana yang sebenarnya kita percayai?
00:00:54Yang kedua adalah,
00:00:55bagaimana kita menghindari mengisi konteks kita dengan definisi alat yang mungkin bahkan tidak kita gunakan?
00:01:00Misalnya,
00:01:01jika Anda memiliki seribu alat,
00:01:02Anda mungkin hanya menggunakan dua atau tiga dalam satu obrolan.
00:01:05Yang ketiga adalah,
00:01:06bagaimana agen menemukan,
00:01:07mengonfigurasi,
00:01:08dan kemudian menggunakan alat-alat ini secara efisien dan otonom?
00:01:12Namun saya ingin Anda fokus pada yang kedua,
00:01:14yaitu,
00:01:14bagaimana kita menghindari mengisi konteks kita dengan definisi alat yang mungkin bahkan tidak kita gunakan?
00:01:19Misalnya,
00:01:19jika Anda memiliki seribu alat,
00:01:21Anda mungkin hanya menggunakan dua atau tiga dalam satu obrolan.
00:01:23Anthropic juga merilis postingan tentang ini,
00:01:25yang kami bahas di salah satu video kami sebelumnya,
00:01:27dan kami mendapat respons yang sangat positif dari orang-orang yang menginginkan implementasinya.
00:01:32Dan Docker benar-benar melangkah maju dan mengimplementasikan ini.
00:01:34Sebelum kita melangkah lebih jauh,
00:01:35Anda perlu tahu bahwa Docker sebenarnya menyiapkan seluruh infrastruktur untuk ini jauh sebelum ini menjadi masalah.
00:01:41Dan untuk itu,
00:01:42Anda perlu tahu tentang katalog MCP mereka,
00:01:44di mana mereka telah mencantumkan server MCP terverifikasi yang benar-benar dapat Anda percayai.
00:01:48Dan sangat mudah untuk terhubung,
00:01:50Anda cukup menghubungkannya di sini di Docker.
00:01:52Misalnya,
00:01:52saya telah menghubungkan Notion di sini,
00:01:54Anda bisa lihat saat ini saya punya dua server,
00:01:57dan klien MCP saya,
00:01:58yang sebagian besar adalah kode Claude,
00:02:00hanya terhubung ke Docker,
00:02:01dan kemudian Docker pada dasarnya mengelola semua server MCP saya.
00:02:04Jadi ini sepenuhnya memecahkan masalah pertama tentang server MCP mana yang sebenarnya kita percayai.
00:02:09Kini untuk benar-benar memungkinkan agen kita menggunakan MCP ini secara dinamis,
00:02:14mereka telah mengimplementasikan gateway MCP ini yang sudah memiliki alat bawaan untuk menggunakan server MCP di dalam katalog dan menggunakannya secara otonom.
00:02:22Jadi pada dasarnya,
00:02:23yang terjadi adalah Anda hanya menghubungkan satu MCP dan MCP ini memiliki semua konteks alat apa saja yang terhubung dengannya di katalog.
00:02:31Saya telah terhubung ke dua dan ia tahu definisi alat mana yang harus dibawa ke jendela konteks.
00:02:36Jadi jendela konteks Anda tidak membengkak..
00:02:39Agar ini benar-benar berfungsi,
00:02:40mereka menambahkan beberapa alat baru yang meliputi MCP find,
00:02:43add,
00:02:44dan remove,
00:02:44yang pada dasarnya menemukan server MCP di katalog berdasarkan nama atau deskripsi.
00:02:48Dan seperti yang akan saya tunjukkan,
00:02:50memandu Anda cara menambahkannya dengan benar.
00:02:51Jadi misalnya,
00:02:52saya menggunakan MCP GitHub saya di sini,
00:02:54dan saya memberitahunya bahwa saya ingin mencari beberapa repo menarik.
00:02:57Setelah menentukan jenis repo apa,
00:02:59ia tidak benar-benar memanggil alat itu sendiri,
00:03:01melainkan menggunakan server Docker MCP,
00:03:03yang kemudian memanggil alat dengan informasi yang benar dan jelas mengembalikan semua hasilnya.
00:03:09Sekarang,
00:03:09saya ingin Anda memperhatikan satu hal,
00:03:11LLM mengembalikan segala sesuatu tentang repo.
00:03:14Ia mengembalikan tautan,
00:03:15ia mengembalikan bintang,
00:03:16ia mengembalikan deskripsi,
00:03:18dan ia bahkan tahu tanggal posting repo-repo ini..
00:03:21Saya hanya ingin Anda mengingat ini karena ini akan menjadi hal penting ke depannya.
00:03:25Sekarang, beralih ke pemilihan alat dinamis.
00:03:28Ini adalah bagian terpenting dari artikel ini,
00:03:30dan inilah yang saya bicarakan ketika saya menyebutkan cara baru menggunakan server MCP..
00:03:35Merujuk kembali artikel Claude,
00:03:36mereka membahas bagaimana Claude atau agen AI mana pun sebenarnya menggunakan lebih banyak token.
00:03:41Salah satunya adalah definisi alat di jendela konteks,
00:03:44dan yang kedua adalah hasil alat perantara.
00:03:46Di sinilah kita berbicara tentang hasil mentah yang sebenarnya dikembalikan dari panggilan alat MCP.
00:03:51Jadi semua detail yang kami cari menggunakan alat GitHub dikembalikan ke jendela konteks.
00:03:55Itulah mengapa Claude mengetahui setiap detail kecil tentang repo,
00:03:58padahal saya hanya menginginkan deskripsi dan tautan repo.
00:04:01Dengan cara ini,
00:04:02hanya dibutuhkan beberapa panggilan alat,
00:04:04seperti dalam kasus saya,
00:04:05mungkin 20 panggilan alat sebelum seluruh jendela konteks benar-benar terisi.
00:04:09Ini adalah salah satu hal yang mereka tingkatkan dalam proyek gateway MCP di mana mereka hanya memberikan alat yang benar-benar berguna.
00:04:16Jadi misalnya,
00:04:17dalam kasus saya,
00:04:17salah satu cara konteks dapat disimpan adalah dengan hanya memberi saya alat pencarian repo dan bukan 40 alat lain yang ada di dalam MCP GitHub ini.
00:04:25Karena dalam sesi ini,
00:04:26saya hanya ingin menggunakan alat pencarian repo.
00:04:28Namun sekali lagi,
00:04:29begitu Anda mulai memilih alat dengan cara ini,
00:04:31itu juga membuka berbagai kemungkinan baru.
00:04:34Dan itu membawa kita ke mode kode.
00:04:35Cloudflare pada dasarnya menguraikan bagaimana kita telah menggunakan MCP dengan salah,
00:04:40dan bahwa ini bukanlah cara yang sebenarnya.
00:04:42Dan di sinilah Docker sebenarnya yang pertama mengimplementasikan solusi baru ini.
00:04:46Saya sudah banyak mencobanya.
00:04:47Dan saya harus mengatakan saya sangat terkejut dengan bagaimana eksekusinya.
00:04:51Jadi mereka mengatakan bahwa dengan memungkinkan agen untuk membuat kode secara langsung menggunakan alat MCP,
00:04:57artinya mereka mengambil alat dan mengimplementasikannya dalam kode,
00:05:00mereka dapat menyediakan agen dengan alat mode kode ini yang menggunakan alat dengan cara yang sama sekali baru.
00:05:06Jadi apa yang dilakukan mode kode?
00:05:07Ini menciptakan alat yang diaktifkan JavaScript yang dapat memanggil alat MCP lainnya.
00:05:12Ini mungkin terlihat sangat sederhana,
00:05:13tetapi contoh-contoh yang akan saya tunjukkan semoga akan memperjelas ini.
00:05:17Sekarang,
00:05:18sebelum kita masuk ke implementasi,
00:05:19ada hal-hal lain yang perlu dipertimbangkan.
00:05:22Pertama-tama,
00:05:22karena ini adalah kode yang ditulis oleh agen,
00:05:24jelas,
00:05:25ini tidak diuji dan tidak aman.
00:05:26Jadi Docker telah merencanakan agar ini benar-benar berjalan dalam sandbox.
00:05:30Dan karena mereka sudah menyediakan kontainer Docker,
00:05:33ini cukup mudah bagi mereka.
00:05:34Pendekatan ini pada akhirnya menawarkan tiga manfaat utama.
00:05:37Pertama-tama,
00:05:38ini sepenuhnya aman,
00:05:39karena itulah manfaat utama dari sandboxing.
00:05:41Ini tidak menyebabkan kerusakan nyata pada sistem Anda.
00:05:44Kemudian ada semua efisiensi token dan alat yang telah kita bicarakan di mana alat yang digunakannya tidak perlu dikirim ke model pada setiap permintaan,
00:05:51model hanya perlu tahu tentang satu alat mode kode baru.
00:05:54Jadi tanpa mode kode,
00:05:55jika Anda hanya menggunakan,
00:05:56katakanlah tiga alat ini,
00:05:58dan menjalankannya berulang kali,
00:05:59konteks dari 47 alat lainnya juga ikut serta bersama tiga alat yang sebenarnya kita gunakan.
00:06:04Namun dengan mode kode,
00:06:05yang terjadi adalah agen menulis alat 'analyze my repos' kustom hanya menggunakan alat yang benar-benar kita butuhkan.
00:06:11Dan setiap kali ia hanya merujuk pada satu alat mode kode itu.
00:06:14Dan dengan cara ini,
00:06:15ia menyimpan semua konteks lain dengan tidak mengirimkan alat yang sebenarnya tidak kita butuhkan.
00:06:20Dan kemudian kita juga memiliki persistensi status,
00:06:22di mana volume mengelola bagaimana data disimpan di antara panggilan alat ini.
00:06:26Dan data tersebut sebenarnya tidak dikirim ke model.
00:06:29Contoh yang sangat sederhana dari ini bisa berupa pipeline pemrosesan data.
00:06:32Jadi mari kita katakan bahwa kita ingin mengunduh kumpulan data,
00:06:36kumpulan data diunduh dan dikembalikan,
00:06:38tetapi sebenarnya disimpan ke volume,
00:06:39dan model hanya mengetahui bahwa itu berhasil diunduh.
00:06:42Model tidak dibanjiri dengan lima gigabyte data.
00:06:44Kemudian jika kita ingin memproses 10.000 baris pertama,
00:06:47model dapat membaca dari volume tempat data disimpan dan mengembalikan ringkasan sebenarnya.
00:06:52Dengan cara ini,
00:06:53hanya data yang seharusnya masuk ke model,
00:06:55seperti hasil akhir,
00:06:56ringkasan,
00:06:56pesan kesalahan apa pun,
00:06:57atau jawaban atas pertanyaan yang ditransfer ke model dan jendela konteks tetap bersih..
00:07:07Alasan saya mencari repositori GitHub ini adalah agar saya dapat menemukan alat open source baru untuk dimasukkan ke dalam video saya.
00:07:13Dan yang biasanya saya lakukan adalah menjalankan beberapa panggilan menggunakan alat 'find GitHub repo'.
00:07:18Saya hanya menulis kata kunci yang berbeda untuk mencari alat.
00:07:21Jadi saya menyajikan ini ke kode Claude dan itu menggabungkan semua panggilan alat yang berbeda itu menjadi satu alat yang mencari repo berdasarkan kata kunci apa pun yang saya berikan.
00:07:29Anda bisa lihat bahwa bahkan di sini tanpa mode kode,
00:07:31Docker sebenarnya menjalankan beberapa kueri.
00:07:33Dan itulah yang ingin saya perbaiki.
00:07:35Alat yang dibuatnya disebut 'multi search repos'..
00:07:37Dan setelah membuat alat itu,
00:07:39ia menggunakan alat 'MCP exec' untuk menjalankannya.
00:07:41Pada dasarnya,
00:07:42ia memberi saya 29 repo unik dengan mencari menggunakan enam kata kunci berbeda,
00:07:46tetapi hasilnya langsung dikembalikan dalam respons dan di terminal,
00:07:49artinya semua hasil dikembalikan di dalam jendela konteks.
00:07:52Untuk memperbaikinya,
00:07:53saya memberitahunya bahwa ia harus menulis semuanya ke file dan model hanya perlu mendapatkan deskripsi repo.
00:07:59Tidak perlu memberikan bintang atau hal lain untuk itu.
00:08:01Dan ia mengubah alat itu dan menulis semua hasil tersebut ke file teks di repositori saya sehingga jika saya ingin mencari sesuatu yang spesifik tentang satu repositori,
00:08:10saya bisa melakukannya dengan merujuk file teks.
00:08:12Sekarang ada satu hal yang ingin saya lihat diimplementasikan yaitu cara untuk menyimpan dan menggunakan kembali alat ini saat ini.
00:08:19Satu-satunya pilihan adalah menyimpannya secara manual sebagai file.
00:08:22Setelah itu saya memintanya untuk mencari MCP Notion.
00:08:25Setelah terhubung,
00:08:26saya bertanya apakah ia bisa membuat alat yang mengeluarkan hasil pencarian GitHub langsung ke Notion alih-alih menggunakan file teks.
00:08:32Dan sekali lagi,
00:08:33menggunakan mode kode,
00:08:34ia benar-benar membuat alat 'GitHub to Notion' yang memungkinkan saya menempelkan hasilnya ke Notion..
00:08:40Dan setelah menjalankannya,
00:08:41pada dasarnya ada beberapa masalah kecil yang harus saya perbaiki.
00:08:44Namun pada dasarnya,
00:08:45saya sekarang memiliki database ini di Notion.
00:08:47Ini pada dasarnya di-hardcode.
00:08:49Jadi,
00:08:49kueri apa pun yang saya berikan,
00:08:51ia akan langsung memasukkan hasilnya ke dalam database ini sesuai dengan bidang yang berbeda..
00:08:55Dan bahkan akan menyertakan tanggal sehingga saya dapat memfilter dengan mudah dan hanya mencari hasil yang benar-benar saya inginkan.
00:09:02Model hanya mengetahui nama dan deskripsi repositori GitHub yang didapatnya pada satu waktu.
00:09:06Ia tidak mendapatkan hal lain,
00:09:08tetapi sisa informasinya semua disimpan di sini.
00:09:10Jujur,
00:09:11jika Anda hanya melihat katalog ini,
00:09:12Anda akan mendapatkan setidaknya satu ide tentang MCP yang dapat Anda gabungkan untuk membuat alur kerja yang luar biasa ini.
00:09:19Dan pada saat yang sama,
00:09:20Anda menghemat token dan menjaga kinerja agen AI Anda sendiri.
00:09:23Memulai dengan mereka sejujurnya cukup mudah.
00:09:25Anda memang perlu memperbarui versi Docker Anda.
00:09:27Tetapi jika Anda masih belum memilikinya,
00:09:29mereka mungkin dinonaktifkan di fitur beta.
00:09:32Jadi pastikan toolkit Docker MCP ini diaktifkan..
00:09:34Selain itu,
00:09:35Anda akan memiliki katalog Anda dan fitur-fitur baru ini diaktifkan secara default.
00:09:38Jadi yang perlu Anda lakukan hanyalah menghubungkan klien Anda dan Anda bisa langsung memulainya.
00:09:42Itu membawa kita ke akhir video ini.
00:09:44Jika Anda ingin mendukung saluran ini dan membantu kami terus membuat video seperti ini,
00:09:48Anda bisa melakukannya dengan menggunakan tombol 'super thanks' di bawah.
00:09:51Seperti biasa,
00:09:51terima kasih telah menonton,
00:09:53dan sampai jumpa di video berikutnya..