- Cara LLM memproses seluruh hasil pemanggilan tool itu lambat, mahal, dan tidak menguntungkan untuk skalabilitas
- Sebagai gantinya, diusulkan pendekatan agar LLM melakukan orkestrasi sehingga data terstruktur berbasis skema output diproses dengan kode
- Pendekatan ini cocok untuk pemrosesan data skala besar melalui function chaining dengan kode dan manajemen memori berbasis variabel
- Metode pemrosesan data berbasis eksekusi kode unggul dalam akurasi dan skalabilitas karena LLM tidak memulihkan data secara langsung
- Membangun lingkungan runtime AI yang aman muncul sebagai tantangan baru, dan dibutuhkan lingkungan eksekusi yang berkelanjutan serta dapat mempertahankan state
LLM function calls don't scale; code orchestration is simpler, more effective.
Keterbatasan pendekatan lama yang mengirim kembali hasil pemanggilan tool ke LLM
- Saat menggunakan tool MCP(Machine Context Protocol), biasanya hasil output tool dikirim ke LLM sebagai pesan untuk mendorong tindakan berikutnya
- Dalam kasus penggunaan nyata, server MCP milik Linear dan Intercom mengembalikan respons besar dalam format JSON
- JSON mirip API, tetapi karena tidak ada skema output yang ditentukan, LLM dibebani untuk mem-parsing seluruh teks
- Misalnya, hasil kueri daftar issue di Linear sangat besar, yakni 50 item, 70.000 karakter, sekitar 25.000 token
- Banyak field
id tidak bermakna, tetapi menghabiskan token, dan jika LLM harus mereproduksinya apa adanya, biaya dan error akan meningkat
Perlunya memisahkan pemrosesan data dan orkestrasi
- Pendekatan saat ini mencampurkan pemrosesan data dan orkestrasi dalam satu sesi chat
- Sebagian orang membuat thread lain sebagai "agent" untuk ini, tetapi jika JSON sudah terstruktur, cara itu tidak efisien
- Pendekatan yang lebih baik adalah memproses data terstruktur secara langsung dengan kode
- Contoh: untuk mengurutkan issue, alih-alih LLM menghasilkan output, jalankan
sort lewat kode lalu kembalikan hanya array hasilnya
Pemrosesan data berbasis eksekusi kode
- Komputasi AI melalui eksekusi kode sudah digunakan di berbagai interpreter AI
- Pendekatan ini memungkinkan struktur yang ringkas, di mana LLM tidak perlu langsung mengeluarkan data dan cukup menentukan cara penggunaan tool
Konsep utama
- Menggunakan variabel sebagai memori: pemberian nilai = simpan, output = ambil, saat memanggil fungsi diteruskan sebagai argumen
- Mendukung function chaining: menggabungkan beberapa pemanggilan fungsi secara paralel/berurutan, dengan dependensi diekspresikan secara alami dalam alur kode
- Pemrosesan data besar yang dapat diskalakan: dikombinasikan dengan NumPy, pandas, dll., ribuan~puluhan ribu data pun bisa diproses dengan mudah
- Bisa juga memanggil LLM lain: di dalam kode yang ditulis LLM, LLM lain dapat dipanggil untuk memproses data tak terstruktur
Apakah MCP sudah siap?
- Spesifikasi MCP sudah mendefinisikan skema input, dan baru-baru ini PR skema output juga telah diajukan
- Jika skema output menjadi umum digunakan, pemanfaatan berikut akan dimungkinkan:
- dashboard status issue
- laporan tiket selesai mingguan
- AI memantau tiket yang macet lalu mendorong tindak lanjut
Tantangan lingkungan eksekusi kode
- Keamanan adalah isu inti: karena mengeksekusi kode yang dibuat AI/pengguna, diperlukan desain untuk mencegah kebocoran API key dan data
- Dalam kasus Lutra, lingkungan eksekusinya dibangun dengan metode sandbox, dan model hanya diberi dokumentasi pemanggilan API
- Lingkungan eksekusi stateful (seperti Jupyter) berbiaya tinggi, dan untuk sesi jangka panjang dibutuhkan karakteristik stateless + persistent
- Ini membentuk kategori baru bernama runtime AI, dan desainnya masih terus aktif dikembangkan
Kesimpulan
- Pendekatan lama yang memasukkan hasil pemanggilan tool ke LLM untuk diproses memiliki keterbatasan biaya dan akurasi
- Orkestrasi berbasis kode memungkinkan pemrosesan yang ringkas, akurat, dan dapat diskalakan
- Lingkungan eksekusi kode AI tengah mendapat perhatian sebagai runtime generasi berikutnya yang memiliki keamanan, persistensi, dan skalabilitas
1 komentar
Opini Hacker News