Kendali Jarak Jauh Universal untuk AI — Alex Hancock, Block

AAI Engineer
컴퓨터/소프트웨어AI/미래기술

스크립트

00:00:00Alex Hancock: Halo semuanya. Nama saya Alex Hancock. Hari ini, saya akan berbicara tentang pengendali
00:00:17jarak jauh universal untuk AI. Dan sebelum saya mulai, saya hanya ingin mengatakan pembicara sebelumnya
00:00:21mengatakan bahwa pemelihara klien MCP belum mengimplementasikan dukungan untuk tugas karena mereka pintar. Saya
00:00:26adalah pemelihara klien MCP. Saya dapat memberitahu Anda bahwa itu hanya karena saya malas. Saya belum melakukannya. Oke,
00:00:33jadi sedikit tentang saya sebelum kita mulai. Saya adalah seorang insinyur perangkat lunak di Block, yaitu
00:00:37perusahaan induk dari Cash App, Square, dan Tidal. Kami memiliki beberapa hal berbeda yang sedang berjalan sekarang.
00:00:43Dan saya telah bekerja di sana untuk waktu yang lama. Saya mengerjakan produk Square dan hal-hal terkait Cash App.
00:00:47Tetapi saya telah berkecimpung di AI sumber terbuka selama beberapa tahun terakhir. Khususnya, saya mengerjakan proyek
00:00:51harness sumber terbuka ini yang bernama Goose, yang berawal dari proyek internal di Block.
00:00:56Ya, ada beberapa penggemar Goose di luar sana. Dan kemudian, ya, kami menjadikannya sumber terbuka dan kami menyumbangkannya ke
00:01:02Linux Foundation. Jadi sekarang kekayaan intelektualnya ada di sana. Tapi kami tetap, banyak dari kami dari Block masih mengerjakannya.
00:01:07Saya juga seorang pemelihara MCP, protokol konteks model. Saya mengerjakan SDK Rust untuk proyek tersebut.
00:01:14Dan baru-baru ini, saya juga mulai mengerjakan ACP, protokol klien agen, yang akan saya
00:01:20bicarakan hari ini. Jadi saya pikir kita memiliki masalah dengan harness yang ingin saya ajukan kepada
00:01:27Anda semua hari ini, mengusulkan kepada Anda semua sebagai masalah dan kemudian merekomendasikan solusinya. Jadi apa yang telah saya
00:01:35perhatikan baru-baru ini adalah kita memiliki banyak harness hebat di luar sana, bukan? Ada yang berasal dari
00:01:40laboratorium. Ada yang berasal dari perusahaan yang berbeda. Ada banyak yang berbasis standar terbuka.
00:01:46Tetapi saya perhatikan antarmuka untuk mereka sering kali disesuaikan atau khusus. Dan dalam kasus terburuk, seperti,
00:01:52Anda mungkin memiliki beberapa harness di mana secara harfiah hanya ada satu aplikasi klien yang dapat Anda gunakan untuk mengontrol
00:01:57harness tersebut, bukan? Dan saya pikir ini memiliki beberapa masalah. Tetapi analogi yang saya buat dengan
00:02:03web adalah seperti jika Anda harus menggunakan satu peramban atau satu protokol tertentu untuk terhubung ke setiap
00:02:11situs web, bukan? Itu tidak akan berhasil. Anda tidak akan memiliki sesuatu seperti web terbuka jika itu kenyataannya
00:02:16dengan peramban. Jadi saya pikir kita bisa berbuat lebih baik. Dan hal tentang standar, dengan menemukan
00:02:22standar. Dan hal tentang standar adalah bahwa mereka menciptakan ekosistem dan pasar. Dan saya berpendapat
00:02:28bahwa di ruang AI agen, kita memiliki standar yang baik untuk agen yang pergi keluar dan melakukan hal-hal,
00:02:35bukan? Memanggil alat, mengambil tindakan di sistem lain, membaca sumber daya, membaca data. Kita semua
00:02:41telah diuntungkan sebagai komunitas dengan memiliki MCP, bukan? Dan hal yang paling kuat tentang MCP
00:02:47bukanlah tentang MCP itu sendiri, tetapi kenyataan bahwa semua orang menggunakan MCP. Dan itulah mengapa kita memiliki, Anda tahu,
00:02:53ribuan atau puluhan ribu server di seluruh dunia, dan semua agen dapat terhubung ke server tersebut
00:02:58dan pergi serta melakukan hal-hal di sistem lain tersebut. Saya ingin mengatakan bahwa kita belum memiliki solusi yang baik
00:03:05atau standar bagi perangkat lunak klien untuk memberi tahu agen apa yang harus dilakukan, memberinya tugas, memberitahunya apa yang harus dikerjakan,
00:03:13dan mendapatkan pembaruan. Jadi hari ini saya akan mengemukakan sebuah opsi yang saya pikir merupakan opsi yang bagus yang
00:03:20telah dikerjakan oleh tim kami dan kami pikir merupakan solusi yang baik di ruang standar terbuka.
00:03:26Dan ini adalah ACP. Jadi protokol klien agen adalah nama proyek ini. Dan itu berasal dari
00:03:32perusahaan editor. Itu berasal dari, jika Anda pernah menggunakan editor teks Zed, atau Anda telah menggunakan salah satu produk JetBrains,
00:03:39orang-orang Zed dan orang-orang JetBrains bekerja sama dan mengusulkan standar untuk
00:03:45klien agar dapat mengontrol harness. Dan itu masuk akal jika Anda menempatkan diri pada posisi mereka,
00:03:49bukan? Apa yang ingin mereka dapat lakukan adalah menulis satu implementasi klien berkualitas tinggi
00:03:54dalam sebuah editor, mungkin di Zed atau di IntelliJ atau semacamnya, dan dapat mengontrol harness apa pun
00:04:00dengan implementasi klien tunggal tersebut, mengirimkan tugas, mendapatkan hasil kembali,
00:04:06melihat file apa saja yang sedang diedit, dll. Itu sangat masuk akal jika Anda menempatkan diri pada posisi mereka,
00:04:10bukan? Tetapi kami melihat ini di tim Goose. Dan kami pikir ada kegunaan yang jauh lebih luas daripada sekadar
00:04:17editor, bukan? Jadi ini relatif netral dan tidak memiliki banyak fitur khusus editor. Dan oleh karena itu
00:04:22kami pikir ini dapat disebarkan ke berbagai perangkat lunak klien yang lebih luas. Untuk masuk lebih mendalam
00:04:30tentang desain ACP dan apa yang dapat Anda lakukan dengannya, protokol ini memungkinkan Anda menjalin koneksi antara klien dan
00:04:37harness agen yang memiliki sekumpulan kapabilitas tertentu yang terkait dengan koneksi tersebut. Dan kemudian Anda dapat membuat
00:04:45sesi. Di dalam sesi, Anda dapat mengirim pesan pengguna, hal-hal yang mungkin diketik oleh pengguna ke dalam aplikasi atau
00:04:51yang ingin dikirim oleh perangkat lunak klien. Agen kemudian dapat menanggapi hal tersebut dengan teks, lebih banyak gambar atau audio,
00:04:59teks, dll., atau pembaruan tentang apa yang sedang terjadi. Jadi seperti jika sebuah alat dipanggil, ia dapat mengirim pemberitahuan pemanggilan alat
00:05:04dan menjelaskan alat apa yang dipanggil dan apa metadata-nya. Dan ia juga dapat mengirimkan hal-hal seperti
00:05:10permintaan izin sehingga jika perangkat lunak klien perlu menunjukkan kepada pengguna, Anda tahu, haruskah saya melakukan pemanggilan alat ini
00:05:16ya atau tidak, ia dapat melalui protokol ini. Dan desainnya cukup sederhana. Protokol ini menggunakan pesan JSON-RPC.
00:05:24Dan hal yang paling kami sukai darinya adalah protokol ini juga dapat diperluas. Jadi Anda tidak terbatas
00:05:29pada apa yang ada dalam protokol standar. Anda dapat menambahkan metode kustom. Konvensinya adalah Anda menyertakan garis bawah
00:05:37lalu mulai memasukkan metode kustom Anda. Dan hal yang saya sukai dari ini adalah jika cukup banyak
00:05:41proyek harness atau proyek klien mengadopsi ini, kita dapat mulai melihat apa yang kita semua lakukan yang
00:05:46sama, bukan? Seperti jika tim kode memiliki beberapa metode kustom, tim goose memiliki beberapa metode kustom,
00:05:52tim klien memiliki beberapa metode kustom, siapa pun itu, kita dapat melihat apa yang muncul di dalam ekosistem dan
00:05:58apa yang masuk akal untuk dimasukkan ke jalur standar dan dibawa ke dalam protokol itu sendiri sehingga ini semacam
00:06:03dibentuk oleh penggunaan dan dibentuk oleh komunitas. Saya akan melakukan demo versi standar I/O dari ini.
00:06:12Jadi saya akan membuka Zed dan saya memiliki proyek yang sangat sederhana di sini di mana saya akan mengatakan ceritakan kepada saya tentang
00:06:18proyek ini. Dan ini adalah satu file HTML. Jadi Anda dapat melihat saya dapat mengetikkan kueri saya ke Zed
00:06:25dan agen yang beraksi di sini adalah Goose. Jadi ia menggunakan antarmuka ACP Goose. Dan Anda dapat melihat,
00:06:31ia mengirimkan kembali teks. Ia mengirimkan informasi pemanggilan alat kembali tentang apa yang dibacanya dan apa yang
00:06:36dilakukannya. Dan kemudian ia menemukan, bahwa ini adalah satu file HTML dan menjelaskannya. Dan saya akan melakukan yang lain,
00:06:42saya akan melakukan yang lain. Ini adalah proyek dari sebuah perusahaan bernama Poolside AI. Saya akan mengatakan, ceritakan kepada saya tentang proyek ini
00:06:50dalam proyek yang sama. Dan ini adalah klien berbasis terminal yang mendapatkan pengalaman yang persis sama dari
00:06:55agen yang sama, satu implementasi di sisi harness, dan Anda sekarang dapat menggunakan klien apa pun, bukan? Dan Anda
00:07:01dapat melihat ia melakukan hal yang sama. Ia menunjukkan beberapa hasil teks kembali kepada saya, ia menunjukkan pemanggilan alat, dan kemudian
00:07:06ia menunjukkan ringkasan yang dialirkan. Jadi itu adalah demo dasar yang menunjukkan dua klien berbicara dengan agen yang sama
00:07:13melalui standar I/O secara lokal dalam kasus ini. Tetapi lokal jelas tidak cukup, bukan? Jika Anda ingin ini
00:07:21berkembang, Anda harus bisa melakukan jarak jauh juga. Agen akan berjalan di cloud. Jadi
00:07:25ketika kami mengerjakan proyek ini, kami melihat bahwa proyek ini belum memiliki dukungan jarak jauh. Jadi kami menentukan transport
00:07:31HTTP, ada versi HTTP dan ada peningkatan WebSocket. Jadi sekarang pesannya sama,
00:07:37semantika protokolnya sama, tetapi ada transport baru yang baru saja hadir yang memungkinkan
00:07:42akses jarak jauh. Dan cara kami memikirkan hal ini di tim Goose, tumpukan agen adalah ada empat komponen
00:07:49penting ini, bukan? Anda memiliki klien, yang seperti aplikasi yang digunakan pengguna,
00:07:54atau aplikasi nir-kepala yang berjalan di suatu tempat di mesin. Ada harness, yaitu program yang
00:07:59menerapkan perulangan pemanggilan alat. Ada alat itu sendiri, sering kali MCP. Dan kemudian ada
00:08:04model, bukan? Dan jika Anda membuat transport jarak jauh untuk protokol klien agen, dan MCP memiliki transport
00:08:13jarak jauh untuk pemanggilan alat, dan model semuanya telah memiliki titik akhir jarak jauh, seperti respons,
00:08:18API untuk waktu yang lama, sekarang Anda memiliki fleksibilitas untuk memindahkan keempat komponen ini. Mereka
00:08:24semuanya bisa berada di mesin yang sama. Harness bisa berada di mesin yang berbeda dari klien.
00:08:29Model bisa menjadi satu-satunya hal yang bersifat jarak jauh. Alat bisa menjadi satu-satunya hal yang bersifat jarak jauh.
00:08:34Menyelaraskan standar dan memastikan bahwa standar tersebut memiliki kisah transport yang baik adalah hal yang akan memungkinkan kita
00:08:39memindahkan semua bagian dari tumpukan agen ini. Dan saya juga dapat menunjukkan demo singkat tentang ini.
00:08:46Jadi ini adalah klien hanya untuk menunjukkan betapa mudahnya membuat klien untuk ini. Saya baru saja membuat kode ini secara instan,
00:08:53tadi malam, dan saya akan mengatakan, tulis sebuah puisi. Jadi ini sekali lagi terhubung ke proses yang sama di mesin saya.
00:09:01Dalam hal ini, saya menjalankannya melalui jaringan, tetapi itu ada di mesin saya.
00:09:03Ini terhubung dan mengirimkan instruksi goose untuk apa yang harus dilakukan dari jarak jauh. Jadi ini bisa berada di dalam kontainer,
00:09:09ini bisa berada di cloud, tetapi pesannya sama dan pustaka yang Anda gunakan adalah sama.
00:09:15Jadi Anda dapat beralih antara lokal dan jarak jauh dengan sangat, sangat mudah.
00:09:21Jadi jika Anda ingin terhubung ke ekosistem ini, mulailah bereksperimen dengan dukungan,
00:09:25baik membuat klien Anda sendiri atau menambahkan hal-hal ke harness.
00:09:29Ini akan menghubungkan Anda ke situs protokol klien agen tentang cara memulai. Ada sejumlah klien
00:09:34dan server agen yang sudah ada di luar sana. Ini berkisar dari editor, aplikasi desktop, aplikasi seluler,
00:09:41hal-hal berbasis terminal. Ada banyak sekali proliferasi. Dan saya pikir kasus penggunaannya berpotensi sangat besar,
00:09:49bukan? Jika kita, jika kita mendapatkan interoperabilitas yang berjalan di sini, karena Anda dapat meminta orang membuat klien
00:09:54pribadi. Itulah persis bagaimana Anda ingin itu mengorkestrasi agen Anda. Anda dapat memiliki klien yang dibuat
00:10:00untuk domain bisnis tertentu atau perusahaan individu atau sekumpulan klien dari sebuah perusahaan. Anda dapat menyesuaikan
00:10:06seperti klien label putih dan membuatnya bekerja dengan semua harness. Dan saya juga berpikir jika kita membuat kategori baru
00:10:12di sini, kita akan melihat kualitas klien meningkat, bukan? Karena kapan pun Anda mendapatkan
00:10:17ekosistem atau pasar yang berjalan dan ada banyak opsi, pengguna dapat memilih dengan kaki mereka jika
00:10:22klien tidak memenuhi kebutuhan mereka. Jadi orang akan mulai bersaing dalam hal kualitas pengalaman
00:10:26pengguna. Dan, seperti secara keseluruhan, saya pikir ini harus meningkatkan pengalaman pengguna dalam menggunakan AI.
00:10:33Itulah yang saya miliki hari ini. Terima kasih banyak. Dan jika Anda ingin mengobrol dengan saya, temui saya
00:10:37setelah acara atau kirimkan saya email. Saya dengan senang hati akan membawa Anda bergabung ke pekerjaan ini. Terima kasih.

핵심 요약

Protokol Klien Agen (ACP) menyediakan standar terbuka berbasis JSON-RPC yang memungkinkan perangkat lunak klien apa pun mengontrol harness agen AI baik secara lokal maupun jarak jauh melalui transport HTTP dan WebSocket.

하이라이트

  • Proyek sumber terbuka Goose disumbangkan ke Linux Foundation setelah awalnya berasal dari proyek internal di Block.

  • Protokol Klien Agen (ACP) diusulkan oleh tim Zed dan JetBrains untuk memungkinkan satu implementasi klien mengontrol harness apa pun.

  • ACP menggunakan pesan JSON-RPC yang dapat diperluas dengan menambahkan metode kustom menggunakan konvensi garis bawah.

  • Transport HTTP dan peningkatan WebSocket ditambahkan ke ACP untuk mendukung akses jarak jauh agen yang berjalan di cloud.

  • Tumpukan agen terdiri dari empat komponen penting: klien, harness, alat seperti MCP, dan model.

타임라인

Latar Belakang Proyek Goose dan Masalah Antarmuka Harness

  • Proyek harness sumber terbuka Goose dikembangkan di Block dan disumbangkan ke Linux Foundation.
  • Banyak harness hebat di industri memiliki antarmuka yang disesuaikan atau khusus untuk satu aplikasi klien.
  • Ketiadaan standar terbuka untuk klien dalam mengontrol agen menciptakan keterbatasan seperti yang terjadi pada peramban web di masa lalu.

Alex Hancock menjelaskan pengalamannya sebagai insinyur perangkat lunak di Block dan pemelihara klien MCP serta ACP. Industri AI saat ini memiliki banyak harness yang berasal dari berbagai laboratorium dan perusahaan, tetapi antarmukanya sering kali eksklusif. Analogi web digunakan untuk menunjukkan bahwa keterikatan pada satu aplikasi klien menghambat pertumbuhan ekosistem terbuka.

Pengenalan Protokol Klien Agen (ACP)

  • Protokol Klien Agen (ACP) diusulkan oleh tim editor teks Zed dan JetBrains.
  • ACP memungkinkan pengembang menulis satu implementasi klien berkualitas tinggi untuk mengontrol harness apa pun.
  • Protokol ini dirancang agar netral dan memiliki kegunaan yang jauh lebih luas daripada sekadar editor teks.

Standar ACP lahir dari kebutuhan pengembang editor seperti Zed dan IntelliJ untuk berinteraksi dengan berbagai harness agen secara seragam. Desain ACP berfokus pada pengiriman tugas, penerimaan hasil, dan pemantauan file yang sedang diedit tanpa terikat pada fitur khusus editor tertentu.

Desain ACP dan Demo Lokal

  • ACP menggunakan pesan JSON-RPC dan mendukung penambahan metode kustom melalui konvensi garis bawah.
  • Koneksi ACP menghubungkan klien dan harness agen dengan kapabilitas tertentu di dalam sebuah sesi.
  • Demo menunjukkan editor Zed dan klien berbasis terminal menggunakan agen Goose yang sama melalui standar I/O.

Protocol ini memfasilitasi pertukaran pesan pengguna, respons teks, pemanggilan alat dengan metadata, serta permintaan izin. Sifatnya yang dapat diperluas memungkinkan komunitas menambahkan metode kustom untuk membentuk standar masa depan. Demo langsung membuktikan bahwa klien yang berbeda dapat mengakses agen yang sama secara lokal.

Dukungan Jarak Jauh dan Fleksibilitas Tumpukan Agen

  • Transport HTTP dan peningkatan WebSocket ditambahkan ke ACP untuk memungkinkan akses jarak jauh ke agen di cloud.
  • Tumpukan agen terdiri dari empat komponen utama: klien, harness, alat, dan model.
  • Standardisasi transport memungkinkan pemindahan komponen tumpukan agen secara fleksibel di berbagai mesin atau kontainer.

Kebutuhan akan skalabilitas mendorong penambahan dukungan jarak jauh menggunakan HTTP dan WebSocket pada ACP. Dengan menyelaraskan standar transport untuk ACP, MCP, dan model, seluruh komponen tumpukan agen dapat didistribusikan secara fleksibel di berbagai lingkungan jaringan, seperti kontainer atau cloud.

커뮤니티 글

아직 글이 없습니다. 이 영상에 대한 첫 번째 글을 작성해 보세요!

이 영상에 대해 글쓰기