Komuniti Model Context Protocol ( MCP ) sedang bergelut dengan batasan ketara yang menghalang alat daripada menggunakan skema jenis bergantung yang dinamik. Cabaran teknikal ini telah mencetuskan perbincangan aktif dalam kalangan pembangun mengenai penyelesaian dan cara mengatasi masalah yang berpotensi.
Isu ini berpusat pada ketidakupayaan MCP untuk mengendalikan senario di mana skema input alat mesti ditentukan pada masa runtime berdasarkan parameter lain. Tidak seperti antara muka sembang AI tersuai yang boleh menyelesaikan skema secara dinamik, alat MCP mesti menentukan struktur input mereka terlebih dahulu, mewujudkan masalah untuk aplikasi yang kompleks.
Batasan Semasa MCP:
- Tiada sokongan untuk resolusi skema JSON dinamik
- Alat mesti mentakrifkan skema input semasa pemulaan
- Tidak dapat mengendalikan jenis bergantung di mana skema bergantung kepada nilai runtime
- Penyelesaian alternatif memerlukan proses berbilang langkah atau perubahan senarai alat dinamik
![]() |
---|
Tangkapan skrin ini mempamerkan panel sifat model 3D, menunjukkan kerumitan yang dihadapi oleh alat MCP dalam menentukan skema dinamik |
Masalah Teras dengan Jenis Bergantung
Batasan ini menjadi jelas dalam kes penggunaan yang canggih seperti alat pembangunan permainan. Apabila bekerja dengan model 3D yang merujuk format fail dan bahan yang berbeza, setiap sumber boleh mempunyai sifat yang sangat berbeza bergantung pada konfigurasinya. Model sfera dengan bahan lalai mempunyai sifat boleh edit yang sama sekali berbeza daripada sfera yang sama dengan bahan physically-based rendering ( PBR ) yang digunakan.
Ini mewujudkan situasi yang mustahil bagi pereka alat MCP . Mereka tidak dapat menentukan terlebih dahulu semua kombinasi sifat yang mungkin dalam satu skema, namun protokol tidak menawarkan mekanisme untuk menjana skema secara dinamik berdasarkan sumber khusus yang sedang diedit.
Jenis bergantung merujuk kepada sistem jenis di mana jenis nilai bergantung pada nilai lain, membolehkan struktur data yang lebih tepat dan fleksibel.
Penyelesaian yang Dicadangkan Komuniti
Komuniti pembangun telah mencadangkan beberapa pendekatan untuk mengatasi batasan ini. Satu penyelesaian melibatkan penggunaan ciri pemberitahuan listChanged
, di mana alat boleh ditambah secara dinamik ke senarai alat yang tersedia berdasarkan sumber khusus. Walau bagaimanapun, pendekatan ini menghadapi halangan utama dalam penggunaan.
Masalahnya ialah >90% pelanggan pada masa ini tidak melaksanakannya - termasuk Anthropic
Pendekatan lain yang dicadangkan menganggap masalah sebagai alur kerja dua langkah: pertama memilih sumber, kemudian menggunakan alat berasingan untuk mendapatkan skema yang sesuai sebelum membuat suntingan. Walaupun ini boleh berfungsi, ia bergantung pada ejen AI yang betul-betul merangkaikan operasi ini bersama-sama, berpotensi mengurangkan kebolehpercayaan.
Sesetengah ahli komuniti menunjuk kepada spesifikasi sedia ada seperti Arazzo , yang memperkenalkan ungkapan runtime untuk mengendalikan argumen bergantung melalui alur kerja yang digubah. Pendekatan ini boleh memberikan penyelesaian yang lebih berstruktur kepada masalah jenis bergantung.
Penyelesaian yang Dicadangkan:
- Pemberitahuan listChanged: Menambah/membuang alat secara dinamik (sokongan klien terhad)
- Alur kerja dua langkah: Memisahkan operasi carian skema dan penyuntingan
- Spesifikasi Arazzo: Ungkapan masa jalan untuk argumen bergantung
- Peningkatan protokol: Ciri MCP baharu untuk sokongan jenis bergantung
![]() |
---|
Tetingkap sembang yang menggambarkan perbincangan dalam komuniti pembangun mengenai penyelesaian alternatif untuk batasan skema dinamik dalam alat MCP |
Perdebatan Ketepatan
Perbincangan telah mendedahkan ketegangan asas antara fleksibiliti dan kebolehpercayaan. Walaupun sesetengah pihak berpendapat bahawa meningkatkan ketepatan model AI akhirnya akan menyelesaikan isu penyelarasan, yang lain menekankan perbezaan kritikal antara kebolehpercayaan 99% dan 100% dalam sistem pengeluaran.
Ciri output berstruktur semasa dalam perkhidmatan AI terkemuka sudah menyediakan pematuhan skema yang terjamin, menghapuskan sifat halusinasi atau medan yang diperlukan yang hilang. Komuniti MCP mahu mengekalkan tahap kebolehpercayaan ini sambil menambah keupayaan skema dinamik.
Perdebatan ini menyerlahkan persoalan yang lebih luas tentang sama ada penyelesaian peringkat protokol diperlukan atau jika isu itu berpunca daripada latihan model bahasa yang tidak mencukupi untuk penyelarasan alat berbilang langkah.
Status Pelaksanaan Klien:
- Lebih 90% klien MCP tidak menyokong notifikasi
listChanged
- Klien rasmi Anthropic tidak mempunyai keupayaan ini
- Penggunaan yang terhad mewujudkan halangan untuk penyelesaian alat dinamik
Memandang ke Hadapan
Apabila ekosistem MCP semakin matang, keperluan untuk mengendalikan skema dinamik yang kompleks mungkin akan berkembang. Komuniti sedang mempertimbangkan cadangan peningkatan spesifikasi formal untuk menangani batasan ini secara sistematik daripada bergantung pada cara mengatasi masalah.
Hasil perbincangan ini boleh memberi kesan yang ketara kepada cara ejen AI berinteraksi dengan sistem perisian yang canggih, terutamanya dalam domain seperti pembangunan permainan, alat CAD , dan aplikasi lain dengan struktur data yang kompleks dan bergantung konteks.
Rujukan: MCP tools with dependent types