00:00:00Halo, semuanya. Selamat datang di Vercel Community Livestream minggu ini. Saya Amy, dan ini
00:00:26Jacob. Kami adalah tim komunitas di Vercel. Sekadar pengingat, kami menyiarkan
00:00:31ini di X dan YouTube, tetapi jika Anda ingin memastikan kami melihat pertanyaan dan komentar Anda
00:00:36di obrolan, silakan ke komunitas dan masuk. Alamatnya di [community.vercel.com/live](https://community.vercel.com/live) dan Anda akan
00:00:43melihatnya sebagai acara pertama.
00:00:44Ya, di akhir sesi, kita akan punya sedikit waktu untuk tanya jawab. Jika Anda
00:00:49ingin berpartisipasi dalam obrolan sambil menonton sesi ini, ingatlah untuk mengikuti
00:00:55kode etik kami dan ya, Anda bisa mengajukan pertanyaan apa pun di sepanjang acara dan
00:00:59kami akan memastikannya ditanyakan. Saya ingin memperkenalkan tamu kita. Kita kedatangan Jon Lindquist di sini untuk menunjukkan
00:01:05kepada kita plugin Vercel baru untuk Claude Code. Hai, Jon.
00:01:09Hai, Jacob. Hai, Amy. Terima kasih sudah mengundang saya. Baiklah. Mari kita langsung mulai berbagi
00:01:16layar saya sekarang agar kita bisa menunjukkan apa yang terjadi di sini. Jadi, untuk beberapa waktu sekarang, "skills" telah
00:01:23menjadi tren dan semua orang membicarakan skill mana yang harus digunakan untuk meningkatkan proyek Anda
00:01:29dan untuk memungkinkan agen Anda melakukan hal-hal yang biasanya tidak bisa mereka lakukan. Sekarang, muncul dari
00:01:37skills, evolusi berikutnya dari itu adalah apa yang kami sebut sebagai plugin. Dan ini adalah sesuatu
00:01:43yang masih dalam tahap awal. Belum banyak plugin di luar sana dan orang-orang masih
00:01:48mengeksplorasi bagaimana cara membangunnya. Saya membangun draf pertama plugin Vercel dan apa
00:01:56yang ingin saya bicarakan adalah mengapa membangun plugin, kapan Anda harus membangun plugin, mengapa plugin
00:02:03alih-alih skills dan bagaimana mereka saling melengkapi dan segala macam pertanyaan semacam itu. Jadi
00:02:09jika Anda memiliki pertanyaan tentang apa itu, saya akan membicarakannya, tetapi apa yang bisa dimungkinkan oleh sebuah plugin
00:02:16untuk Anda, apakah Anda harus membangunnya secara internal atau pribadi, saya ingin mendiskusikan itu
00:02:22dan kita akan membicarakannya selama sesi hari ini. Jadi pertama-tama, plugin awalnya
00:02:32dimulai oleh Claude Code dan Gemini juga, tetapi mengambil pendekatan yang sangat berbeda. Dan
00:02:39standardisasi plugin adalah upaya yang sedang berlangsung. Dan itu adalah sesuatu yang kami harap akan ada,
00:02:44saya bisa membicarakannya lebih lanjut segera di mana satu plugin dapat bekerja di semua editor. Jadi
00:02:49saat ini kita sedang membicarakan Claude Code dan dukungan Cursor juga. CodeX akan segera hadir,
00:02:54mungkin hari ini dan banyak yang lainnya juga. Ada standar plugin
00:03:01yang sedang dikerjakan. Jadi kita bisa mengharapkan plugin menjadi sesuatu yang bisa Anda kemas dan bagikan
00:03:08di perangkat apa pun yang Anda gunakan. Karena itu, Anda mungkin sudah akrab dengan skills
00:03:15karena itu adalah berkas markdown, yang dapat dimuat oleh agen Anda untuk memberinya instruksi tambahan.
00:03:23Jika satu, Anda memanggilnya secara manual, seperti Anda melakukan garis miring dan memanggil skill Anda atau agen
00:03:29mendeteksi berdasarkan deskripsi bahwa skill tersebut harus dimuat. Jadi itu sangat bergantung pada panggilan pengguna atau
00:03:36keputusan agen berdasarkan kondisi dalam deskripsi. Sekarang, peningkatan level dari sebuah plugin
00:03:44adalah mereka memiliki sesuatu yang disebut "hooks". Dan jika Anda membayangkan sebuah plugin, atau Anda membayangkan sebuah sesi
00:03:53yang Anda lakukan dengan Claude Code atau dengan alat bantu agen mana pun, Anda bisa menganggap mereka memiliki siklus hidup.
00:03:59Jadi sekarang saya berada di direktori plugin Vercel, jika saya menjalankan Claude Code di sini, saya akan
00:04:07bertanya kepadanya apa saja hooks yang digunakannya. Dan ini akan mencantumkan hooks tersebut
00:04:18seolah-olah mendefinisikan siklus hidup. Dan siklus hidup adalah saat sesi dimulai, saat alat bantu
00:04:27seperti sebelum alat bantu dipanggil, setelah dipanggil, saat pengguna memasukkan teks ke dalamnya, dan
00:04:33saat sesi berakhir. Ada banyak hooks lainnya di sana. Tapi untuk tujuan kita
00:04:39dalam plugin Vercel, ini adalah yang saat ini kami gunakan berdasarkan tujuan awal kami.
00:04:44Jadi untuk memperjelas, tujuan awal dari plugin Vercel adalah untuk membantu orang-orang meluncurkan
00:04:51agen di Vercel. Jadi idenya adalah bagaimana kita akan membuat agen sadar akan ekosistem Vercel,
00:05:02seperti semua yang ada di platform yang berkaitan dengan AI SDK, gateway.
00:05:11Dan alur kerja kami hampir semuanya ada di sini. Jadi segala hal seputar alur kerja, dan pada dasarnya, Vercel CLI telah banyak diperbarui.
00:05:19Dan semua hal seputar agent SDK, atau maaf, seputar pengiriman
00:05:26agen di Vercel. Itu semua adalah hal-hal yang telah dirilis dalam beberapa hari, minggu,
00:05:33atau bulan terakhir. Dan semua alat bantu agen ini seperti Claude Code, mereka memiliki batas pengetahuan
00:05:39mungkin dari sekitar enam bulan hingga setahun yang lalu. Jadi itu tergantung pada modelnya, tergantung pada
00:05:46banyak variabel. Namun semuanya adalah hal-hal yang tidak diketahui oleh semua agen ini
00:05:52tentang semua hal terbaru dan luar biasa yang kami luncurkan. Jadi tujuan dari plugin Vercel
00:05:57adalah untuk menghentikan agen menulis kode yang usang, praktik yang usang, dan membawanya
00:06:06ke tingkat yang benar-benar terbaru di platform Vercel. Jadi itu adalah keuntungan besar di sana karena
00:06:11model memang cerdas, tetapi mereka tidak mengetahui semua hal ini.
00:06:19Dan alih-alih meminta mereka melakukan riset setiap saat, atau meminta, memiliki kumpulan besar
00:06:25skills untuk setiap hal, jika kita bisa menemukan cara untuk memaksa
00:06:32sebuah agen memuat hal-hal terbaik tentang platform Vercel, maka itu adalah kemenangan besar bagi
00:06:38kami. Jadi jika Anda melihat hooks ini dalam siklus hidup seorang agen, dan sekali lagi, ada banyak sekali
00:06:45hooks lain yang dapat kita manfaatkan di masa depan atau yang dapat Anda manfaatkan. Tetapi yang utama
00:06:49untuk saat ini adalah session start. Dan kita menggunakannya dalam beberapa cara berbeda. Pre-tool use, user prompt
00:06:56submit, post-tool use, dan session end. Jadi session start dan session end adalah, Anda tahu, awal
00:07:03dan akhir percakapan dengan seorang agen. Dan Anda bisa menganggap berkas agent.md atau claude.md Anda
00:07:12biasanya adalah hal yang Anda lakukan saat session start. Jadi apa yang bisa kita lakukan saat session start untuk
00:07:19platform Vercel. Dan yang bisa kita lakukan adalah memuat berkas platform Vercel, yang berarti
00:07:27jika kita melihat, saya akan katakan deskripsikan vercel.md. Berkas ini adalah sesuatu yang bisa kita sertakan
00:07:40saat session start bersama dengan claude.md. Pada dasarnya, Anda bisa memiliki plugin yang jika Anda hanya
00:07:48ingin ia berbagi berkas claude.md dan memberi seseorang cara mudah untuk
00:07:52memasangnya. Anda bisa membangun plugin yang fungsinya hanya untuk menyuntikkan ini adalah grafik pengetahuan
00:07:59dari Vercel. Dan ini adalah sesuatu yang terus-menerus kami sempurnakan. Kami sedang mencari
00:08:04cara untuk mengompresnya dan membuatnya sekecil mungkin tetapi tetap memiliki performa yang baik
00:08:08dan keseimbangan tentang apa yang harus ada di dalamnya dan apa yang tidak. Sangat sulit
00:08:15untuk menjalankan evaluasi terhadap semua model dan semua alat bantu yang berbeda. Namun kami perlahan
00:08:21menemukan hal-hal tersebut. Jadi apa yang ada di dalamnya pada dasarnya adalah hubungan dalam ekosistem Vercel
00:08:28seputar AI, kapan harus menggunakan produk mana, kapan harus memanggil hal-hal tertentu
00:08:35seperti pemahaman terstruktur tentang seluruh ekosistem Vercel. Jadi konsep tentang, saya suka
00:08:44bagaimana ini disebut sebagai daftar isi. Ini seperti awal dari sebuah buku saat Anda memulai percakapan.
00:08:50Dan cara kami menyusun ini dan memikirkannya adalah jika Anda berpikir tentang bagaimana saya berbicara
00:08:56dengan agen tentang berbagai hal, saya memiliki kosakata tertentu, mereka memiliki kosakata tertentu.
00:09:02Dan jika Anda bisa memberinya glosarium istilah, memetakan hal tersebut ke dokumentasi, memetakan hal tersebut ke
00:09:07skills, memetakan hal-hal yang harus dimuatnya. Begitu Anda mencapai hal-hal tersebut, Anda bisa
00:09:12berpikir tentang apa hal-hal yang akan saya katakan dan apa hal-hal yang harus dimuat
00:09:19dan dipanggil oleh agen dan mencoba mengembangkan semacam peta pikiran itu di awal sehingga saya bisa
00:09:24berbicara secara alami dengannya dan tidak perlu khawatir tentang pembicaraan seperti, bahkan menyebut
00:09:30AI SDK sama sekali. Dan bahkan menyebutkan fitur apa pun sama sekali. Dan jika saya bisa menemukan
00:09:38cara untuk hanya mengatakan "buatkan saya aplikasi ini dan luncurkan". Dan kemudian ia menangani semuanya di
00:09:45dalam plugin. Maaf, menangani semuanya di dalam plugin sehingga ia mendapatkan sebuah aplikasi yang indah
00:09:52diluncurkan di Vercel dan mereka bisa melakukan iterasi dari sana. Mirip seperti bagaimana v0 dan
00:09:57beberapa proyek lainnya bekerja untuk kami. Jika kami bisa membuatnya agar Anda bisa mendapatkan
00:10:02pengalaman yang luar biasa, tetapi Anda tidak perlu memikirkan ekosistemnya. Dan itu adalah kemenangan besar. Apakah
00:10:09itu masuk akal? Jacob, Amy, ada pertanyaan awal tentang itu atau apa pun di obrolan?
00:10:16Jacob, saya rasa Anda punya pertanyaan untuk pertemuan Anda. Maaf, maaf sekali. Saya punya pertanyaan
00:10:24untukmu, John. Ya. Karena plugin ini beroperasi sebagai daftar isi, apakah itu sebabnya ia tidak
00:10:30perlu, mengapa plugin tidak perlu terus diperbarui setiap kali ada dokumentasi baru yang keluar?
00:10:38Karena pada dasarnya ia adalah kumpulan URL yang kemudian bisa diikuti oleh agen untuk menemukan
00:10:43dokumentasi terbaru? Atau apakah plugin memiliki semacam sistem pembaruan instan? Bagaimana
00:10:49pendekatan itu bekerja? Ya. Jadi pada dasarnya, jika Anda memikirkan grafik pengetahuan di awal,
00:10:58banyak hal yang bisa dilakukannya adalah hanya menunjuk ke dokumentasi terbaru. Jadi jika Anda memikirkan
00:11:07ini adalah pertanyaan yang sering muncul terkait skills dan bagaimana kami mengelola skills per perpustakaan.
00:11:14Dan jika Anda memiliki seseorang yang menggunakan versi lima dari SDK apa pun dan orang lain di versi
00:11:18enam SDK tersebut, dan Anda mencoba memengaruhi mereka dengan skills dari versi berbeda yang
00:11:22bertentangan, bagaimana Anda melakukannya? Dan banyak dari itu seperti, berdasarkan apa yang seseorang
00:11:31pasang, Anda bisa memeriksa berkas package.json mereka, Anda bisa memeriksa versinya. Dan berdasarkan
00:11:36itu muncullah cara cerdas untuk melihat URL dokumentasi mana yang harus dilihat dan
00:11:44skills mana yang harus dimuat dan segala hal semacam itu. Dan itu adalah bagian lain dari fase
00:11:51preload di mana session start hanya seperti memeriksa proyek orang tersebut.
00:11:58Dan sekali lagi, ini semua bersifat lokal. Ia hanya melihat proyek, melihat perpustakaan apa yang
00:12:02Anda gunakan? Pengaturan apa yang Anda gunakan sehingga ia tahu untuk mengarahkan Anda ke arah yang benar.
00:12:07Salah satu kesalahan paling umum adalah seperti mencoba menggunakan, Anda tahu, generate object pada versi terbaru
00:12:12sebuah SDK padahal Anda tahu API tersebut telah berubah. Jadi, ya, plugin
00:12:21menangani hal itu, Anda tidak perlu khawatir jika menggunakan ini pada proyek lama
00:12:27atau jika Anda menggunakannya pada proyek terbaru yang benar-benar baru, plugin tersebut harus
00:12:32bisa menanganinya. Anda tidak perlu khawatir tentang nomor versi, Anda tidak
00:12:34perlu khawatir tentang nama paket, Anda tidak perlu khawatir tentang apa pun karena biarkan saja
00:12:41Vercel yang melakukannya untuk Anda. Benar. Dan kami terus mengerjakan cara, kami punya
00:12:49banyak ide lain tentang cara melakukan ini dengan lebih baik. Dan plugin ini akan terus diperbarui dan mendorong
00:12:54ini ke depan. Jadi, ada pertanyaan lain?
00:12:58Ya, jadi berapa total lingkup dari plugin ini? Apakah ini hanya menangani layanan Vercel?
00:13:04Apa pun yang mungkin saya temukan di dasbor? Atau apakah ini juga seperti perpustakaan sumber terbuka
00:13:11yang kami dukung seperti Next.js, AI SDK, workflows, dan sebagainya?
00:13:16Ya, jadi lingkup awalnya, apa yang kami putuskan pada awalnya adalah untuk mencakup sebanyak mungkin,
00:13:25dan seperti memiliki setiap perpustakaan, semuanya di platform, seperti semuanya ada di sana,
00:13:32melihat apa yang paling sering digunakan, seperti secara internal, kami meminta semua orang menyalakan telemetri mereka, dan
00:13:36Anda bisa memilih untuk membagikan telemetri. Dan kami akan menemukan skills mana yang sebenarnya sedang
00:13:40digunakan dan mana yang tidak. Dengan begitu kita bisa menghapus beberapa hal di sana yang mungkin
00:13:48tidak terlalu kita butuhkan informasinya atau menambahkan lebih banyak berdasarkan apa yang tampaknya paling banyak digunakan, jelas
00:13:53Next.js, AI SDK, dan Anda tahu, hal-hal populer yang paling banyak diunduh harus memiliki informasi paling banyak.
00:13:59Jadi itu adalah sebuah keseimbangan di awal, di mana kami sengaja melangkah cukup besar dengan
00:14:08rilis awal, dan kami akan memangkasnya menjadi sesuatu yang jauh lebih ramping, saya rasa, untuk ke depannya.
00:14:15Jadi, ya.
00:14:16Ya, itu sangat masuk akal. Terima kasih. Ya. Baiklah. Jadi, jika Anda
00:14:24membangun sebuah plugin, dan salah satu alasan saya membicarakan hal ini dalam istilah umum yang longgar
00:14:29adalah karena saya sangat menyukai pengembangan yang digerakkan oleh agen (agentic driven development). Dan daripada menunjukkan
00:14:36kepada Anda persis bagaimana semuanya bekerja, saya pikir jauh lebih penting untuk belajar bagaimana membicarakan
00:14:40tentang hal itu, dan mengambil beberapa terminologi darinya. Jadi Anda bisa meminta asisten AI Anda
00:14:45untuk melakukan hal serupa. Jika Anda memberi tahu Claude Code untuk membangun plugin untuk Claude Code,
00:14:52dan Anda memberinya dokumentasinya, ia bisa melakukannya. Jadi jauh lebih penting
00:14:58untuk mendiskusikan konsep dan ide seputar ini daripada menggali kodenya terlalu dalam. Dengan
00:15:05demikian, session start adalah tempat yang bagus untuk menyuntikkan daftar isi
00:15:11platform seperti ini adalah semua hal yang sudah usang berdasarkan hal-hal yang
00:15:19penting bagi saya yang sudah usang, berdasarkan model pada umumnya. Jadi itulah
00:15:24yang membawa segalanya ke tingkat seperti inilah tampilan Vercel saat ini. Dan meskipun
00:15:31itu adalah satu-satunya hal yang terjadi di plugin, ia tahu bahwa ia harus pergi dan
00:15:37memeriksa berbagai hal ke depannya. Tetapi apa yang juga bisa kita lakukan dan ini hanya sekadar
00:15:44catatan sampingan, alasan Anda melakukannya seperti setiap sesi di Claude Code memiliki ID uniknya sendiri, yang memungkinkan
00:15:52Anda untuk memastikan saat sesi ini berlangsung, ia memiliki anggaran skills,
00:16:01dan memiliki skills yang sudah dimuat dan hal-hal semacam itu. Jadi kita bisa
00:16:07menaruh, Anda bisa menulis hal-hal ke lingkungan sesi, atau ke tempat penyimpanan sesi
00:16:15di mana sepanjang sesi itu, saat Anda menjalani sesi tersebut, kami memastikan kami tidak
00:16:20memuat hal-hal yang sudah pernah dimuat, atau seperti menduplikasi upaya apa pun, karena kami bisa tetap
00:16:26melacak hal-hal yang sudah terjadi. Jadi itu adalah hal hebat lainnya. Bagian hebat tentang
00:16:30sesi ini adalah ia memberi Anda kesempatan untuk mengambil ID sesi sehingga melalui
00:16:35hooks apa pun di masa depan, apa pun yang dijalankan di dalam sesi, Anda memiliki
00:16:40sebuah ID untuk dikaitkan dan menyimpan hal-hal tentang sesi untuk plugin individu Anda.
00:16:47Claude Code juga melakukan itu jika Anda melihat di direktori .claude mereka dengan proyek yang
00:16:50bisa Anda lihat sesi dan hal-hal di dalamnya. Jadi Anda mengambil konsep yang sama untuk plugin Anda sendiri
00:16:56dan alat bantu Anda sendiri. Baiklah, dengan semua itu, apa itu pre-tool use dan kita akan bicara
00:17:05tentang pre-tool dan post-tool pada saat yang sama, apa yang diberikan oleh hal ini adalah, mereka memberi Anda kesempatan
00:17:11untuk melihat perubahan berkas. Jadi di pre-tool, Anda bisa mendapatkan konten dari berkas seperti yang akan
00:17:20berubah. Dan ini seputar membaca berkas, menulis berkas, atau maaf, membaca berkas,
00:17:29mengedit berkas, membuat berkas. Dan pre-tool juga mencakup banyak alat bantu lainnya yang digunakan,
00:17:34seperti menjalankan berbagai hal di bash. Jadi Anda mendapatkan kesempatan seperti, sebelum
00:17:40hal ini terjadi, apakah ada hal yang ingin saya lakukan? Dan katakanlah, sebagai contoh, jika kita melihat seseorang
00:17:47berjalan, mencoba melakukan perintah Vercel CLI tertentu, dan kita menyadari bahwa ada cara
00:17:55yang lebih baik untuk melakukannya sekarang di Vercel CLI, seperti Vercel CLI sekarang memiliki opsi API di mana
00:18:00kita bisa melakukan kueri yang jauh lebih canggih. Dan Vercel CLI telah diperbarui. Jika Anda belum
00:18:05memperbaruinya baru-baru ini, ia memiliki banyak fitur baru yang hebat. Kita bisa memberikan petunjuk pada hal-hal tersebut dan
00:18:11mengatakan bahwa Anda sedang mencoba melakukan ini atau bahkan memeriksa seperti, apakah Vercel CLI Anda sudah usang? Akan
00:18:17sangat bagus untuk memperbaruinya. Jadi Anda punya lebih banyak opsi di sini. Jadi itu memberi Anda kesempatan untuk seperti,
00:18:21memeriksa apakah ia akan melakukan semacam panggilan alat bantu, baik itu panggilan CLI.
00:18:27Ini sangat penting untuk sandbox CLI, untuk workflow CLI, untuk semua CLI
00:18:34baru yang belum diketahui oleh model sama sekali, karena mereka baru saja dirilis setelah
00:18:39batas pengetahuan untuk memastikan bahwa mereka melakukan berbagai hal dengan benar. Jadi itulah mengapa untuk
00:18:47panggilan alat bantu, seperti panggilan bash, ini untuk pengeditan berkas, ini menjadi sangat menarik dengan pengeditan
00:18:52berkas. Sesuatu yang sedang kami jelajahi lebih lanjut adalah membandingkan berkas (diffing) seperti berkas ini dulu terlihat seperti ini,
00:18:59agen mencoba membuatnya terlihat seperti ini. Apakah itu sudah benar, berdasarkan perpustakaan kita,
00:19:06apakah itu perubahan yang benar? Atau apakah ada sesuatu yang aneh di sana? Dan itu masuk ke dalam, saya akan
00:19:11bersandar kembali pada contoh katakanlah Anda memiliki v6 SDK yang terpasang dan ia mencoba menggunakan generate
00:19:18object sebagai API, yang merupakan hal umum. Dan jika Anda melihat itu pada saat itu, seperti saya melihat
00:19:25Anda mencoba menggunakan generate object, mari kita berhenti dan mengingatkan mereka tentang seperti apa AI SDK sebenarnya
00:19:32sehingga sebelum Anda sampai ke tahap pengujian atau penerapan atau apa pun, Anda sudah menangkapnya
00:19:36pada momen yang tepat saat agen mencoba mengubah berkas tersebut. Dan ini adalah salah satu
00:19:46hal di mana jika Anda mencoba mengandalkan sebuah skill di mana skill adalah petunjuk tekstual,
00:19:54jika Anda pernah mencoba menulis ke dalam claude.md atau ke dalam sebuah skill, seperti jangan pernah memasukkan berkas apa pun
00:20:03atau jangan pernah push tanpa, jangan pernah push kecuali saya berada di sebuah branch atau semacamnya. Anda mungkin
00:20:13pernah mengalaminya seperti hal-hal itu tidak selalu melindungi Anda. Pre-tool use memberi
00:20:21Anda kesempatan untuk benar-benar menghentikan hal-hal itu terjadi secara terprogram
00:20:28dan teknis. Dan Anda bisa memberinya instruksi yang berbeda dan contoh cara yang berbeda
00:20:32untuk melakukannya. Jadi itulah perbedaan besar di sini antara skills, antara
00:20:41berkas claude.md atau agent.md Anda, yaitu bahwa Anda sebenarnya bisa mengontrol apa yang berubah dan
00:20:47jika, atau apa yang sedang terjadi. Dan jika Anda ingin itu terjadi atau apa yang berubah, jika
00:20:51Anda ingin itu berubah, itulah poin yang memberikannya kehebatan. Jadi dari sana
00:21:01Anda mendapatkan kemampuan serupa di post-tool. Kesempatan untuk memeriksa apa sebenarnya yang telah berubah
00:21:07setelah berkas bash, perintah bash dijalankan, apa hal-hal yang berbeda sekarang setelah
00:21:13sebuah alat bantu dipanggil? Jadi ini tidak memungkinkan Anda untuk mencegah sesuatu terjadi,
00:21:19tetapi memungkinkan Anda untuk melihat hasil dari sesuatu yang telah terjadi. Dan jika itu,
00:21:25jika ia mengubah sesuatu atau melakukan sesuatu yang tidak terduga, itu adalah kesempatan lain untuk mendapatkan
00:21:31perbandingan perubahan (diff) dan mengatakan ini terlihat agak aneh. Mari beri tahu agen bahwa ini terasa aneh bagi kita.
00:21:38Jadi itu adalah dua hooks siklus hidup besar yang perlu diketahui saat membangun. Dan bagi kami, itu
00:21:43sekali lagi, ini semua tentang batas pengetahuan itu. Itulah
00:21:49hal yang harus dilawan oleh Vercel karena kami meluncurkan dengan cepat, kami sering merilis sesuatu dan
00:21:55dan kami terus mendorong semua teknologi baru ini dengan sangat cepat. Dan ini adalah hal luar biasa
00:22:00yang ingin kami tunjukkan kepada orang-orang. Dan di situlah sebuah plugin bisa sangat berguna.
00:22:09Ada pertanyaan tentang itu?
00:22:11Ya. Jadi jika ia menggunakan jalur file untuk menentukan skill mana yang akan dimasukkan, apakah itu berarti kita
00:22:21bisa mendapat keuntungan besar dengan mempersempit cakupan file di proyek kita agar lebih spesifik
00:22:27sehingga ia dapat menentukan lebih akurat skill mana yang ia butuhkan untuk ditambahkan.
00:22:34Misalnya, jika saya punya file besar dan mungkin menggunakan lima atau enam library kita,
00:22:39dan sekarang ia hanya bisa menambahkan hingga tiga skill di sana, atau ia mungkin tidak tahu
00:22:47berdasarkan jalur filenya. Jadi, apakah menurut Anda itu harus menjadi pertimbangan sekarang
00:22:51saat membangun perangkat lunak dengan alat-alat ini?
00:22:54Saya akan katakan bahwa Anda tidak perlu peduli dengan kode yang ditulis oleh agen tersebut dan bahwa
00:23:02itu adalah tugas pembuat plugin. Tugas pembuat harness-lah untuk membuat hal-hal itu bekerja
00:23:12dengan baik. Seperti orang-orang yang benar-benar menjalankan evaluasi dan melihat apakah
00:23:17itu memberikan perbedaan atau tidak. Sedangkan menurut saya, sangat mudah untuk kembali ke mode insinyur
00:23:27dan berpikir "Saya akan menyelesaikan ini karena inilah yang akan dilakukan manusia."
00:23:33Dan itulah yang pasti diinginkan oleh seorang agen. Itulah salah satu godaan terbesar pengembang saat ini,
00:23:39yaitu pemecahan masalah, seperti mencari masalah yang sebenarnya bukan masalah. Karena ya,
00:23:50jika Anda mencoba memperbaiki sesuatu dan Anda tidak tahu cara mengetesnya, seperti jika
00:23:53Anda tahu cara mengetesnya terhadap agen, maka silakan saja. Jika Anda tidak memiliki keinginan
00:24:00untuk melakukan itu, biarkan saja orang-orang yang membangun plugin dan harness
00:24:05yang mengurusnya karena pengujian dan evaluasi itu mahal. Seperti, biayanya
00:24:12sangat besar untuk menjalankan semua model ini terhadap perubahan tersebut. Itu memakan waktu lama dan
00:24:17sangat merepotkan. Jadi, ini salah satu hal itu. Saya harap tidak ada yang perlu mempedulikan hal itu.
00:24:23Dan menurut saya, saya akan menghabiskan upaya saya untuk hal-hal lain untuk saat ini. Ya.
00:24:33Begitu ya, saya mengerti. Jadi tidak ada gunanya mengubah cara saya membangun sesuatu. Jika versi berikutnya
00:24:40dari model tersebut akan dibangun dengan cara yang akan membuat semua perubahan itu tidak perlu lagi
00:24:47pada dasarnya.
00:24:48Ya. Dan menurut saya, maksud saya, tujuan akhir untuk semua harness dan untuk Vercel adalah
00:24:56agar Anda benar-benar tidak perlu terlalu banyak berpikir atau melihat kode. Saya tidak mengatakan bahwa itu
00:25:01terjadi saat ini. Saya mengatakan bahwa itu adalah tujuan akhirnya. Itulah yang
00:25:07sedang kami upayakan, yaitu Anda ingin merilis perangkat lunak yang indah. Anda ingin bisa
00:25:11berpikir, ingin bisa menuangkan ide secara bebas dan mendapatkan variasi dan melihat mana yang benar-benar beresonansi
00:25:19dengan Anda dan kemudian menyederhanakannya menjadi sesuatu yang indah bagi Anda atau
00:25:25keluarga Anda atau untuk pelanggan Anda. Kami hanya menginginkan pengalaman yang indah di mana
00:25:33Anda tidak terlalu memikirkan seberapa besar file Anda. Jika Anda menulis,
00:25:39Anda tahu, pola desain yang tepat, library mana yang Anda pilih. Dan saya sangat setuju.
00:25:48Seperti godaan untuk mengatakan "mari gunakan semua pola ini karena agen bekerja
00:25:53lebih baik dengannya. Mari lakukan semua hal ini." Dan itu pasti sesuatu yang sedang kami
00:25:58eksperimenkan dengan plugin dan pengujian. Tapi sekali lagi, jika Anda tidak bisa mengetesnya, maka
00:26:07sangat menggoda untuk mengatakan "Saya melakukan perubahan ini dan jelas-jelas sekarang bekerja lebih baik."
00:26:18Dan itu adalah salah satu jebakan di mana, setelah Anda melakukan perubahan ini, Anda
00:26:23tidak melihat bagaimana cara kerjanya sebelumnya dan apa dampaknya di tempat lain. Dan ya,
00:26:28mungkin itu bekerja dengan baik untuk satu sesi itu saja—jadi rekayasa sudah berbeda sekarang. Maaf,
00:26:35saya jadi filosofis, saya rasa. Ya. Saya rasa kami mengerti. Ya. Baiklah.
00:26:44Jadi hook lainnya adalah user prompt submit. Ini sangat penting karena memungkinkan
00:26:50Anda mengambil teks yang diketik pengguna. Dan jika mereka menyebutkan sebuah library, jika mereka menyebutkan
00:26:55sebuah konsep, jika mereka menyebutkan, Anda tahu, kata "schedule", mari kita
00:27:00masukkan skill cron. Ini sangat mirip dengan cara kerja skill, seperti jika pengguna atau
00:27:07jika ada sesuatu dalam percakapan yang terdeteksi cocok dengan deskripsi, tapi ini sebenarnya
00:27:12memberi Anda kesempatan untuk menjalankan regex terhadap prompt pengguna. Dan jika Anda mendeteksi kata kunci tertentu
00:27:20atau pola atau apa pun, muat skill tersebut, lakukan hal-hal ini, berikan petunjuk balik ke agen,
00:27:26seperti mungkin Anda harus mengajukan lebih banyak pertanyaan tindak lanjut. Ini adalah bagian interaktifnya di mana
00:27:33ini adalah kesempatan Anda untuk mengatakan "pengguna mengatakan ini, mungkin kita harus meminta klarifikasi lebih lanjut"
00:27:38atau kita harus memuat semua hal ini dan mendorongnya maju. Anda bisa melakukan
00:27:44beberapa hal yang sangat menyenangkan dengan user prompt submit di mana jika Anda ingin memiliki
00:27:48glosarium khusus atau bahasa perintah Anda sendiri, dan Anda ingin
00:27:56memberi awalan pada sesuatu dengan tanda dolar. Dan jika sesuatu dimulai dengan tanda dolar, maka lakukan ini. Atau
00:28:00jika sesuatu memiliki, Anda tahu itu seperti menulis skrip bash kecil atau sesuatu
00:28:07di dalam user prompt submit yang jika Anda mendeteksi ini, maka Anda bisa menjalankan alat segera dan
00:28:13itu tidak—ia bisa menjalankannya di dalam—Anda bisa menjalankan skrip bash apa pun, skrip node,
00:28:20apa pun di dalam hook itu yang berada di luar konteks sesi. Jadi Anda bisa melakukan
00:28:28segala macam hal cepat yang luar biasa di sana. Jika Anda ingin mendeteksi kata "commit"
00:28:37dan kemudian menghindari agen mengambil beberapa langkah untuk melakukan commit terhadap sesuatu.
00:28:47Sebaliknya, Anda hanya punya skrip yang melakukan commit berdasarkan apa pun yang bisa dilakukan. Seperti tepat setelah prompt
00:28:53commit, Anda bisa memberi tahu agen, "Saya sudah menjalankan perintah commit ini, Anda tidak perlu
00:28:59khawatir tentang itu." Dan Anda bisa menghemat beberapa giliran bagi agen. Dan ada beberapa trik kecil
00:29:03yang sangat menarik yang bisa Anda lakukan di sana untuk benar-benar mempercepat jika ada banyak hal yang
00:29:09Anda lakukan secara berulang, daripada meminta agen melakukannya setiap saat. Ini
00:29:15semacam proyek yang menyenangkan jika Anda ingin membangun user prompt submit kecil untuk diri sendiri dan
00:29:19membuat bahasa Anda sendiri tentang bagaimana Anda ingin berbicara dengan agen. Tapi bagi kami,
00:29:25ini lebih seperti, jika mereka mengatakan ini, ini membicarakan konsep ini, apa artinya itu dalam
00:29:30terminologi Vercel, jadi itu seperti mencocokkan kata-kata terhadap, khususnya seperti
00:29:37penjadwalan adalah cron dan alur kerja. Dan, Anda tahu, kata-kata seperti "paralel" atau "performa" atau apa pun,
00:29:45Anda dapat menemukan dan mengarahkan agen ke hal-hal spesifik yang Anda ketahui tentang Vercel. Sangat, sangat
00:29:53menyenangkan untuk dimainkan dengan user prompt submit jika Anda punya waktu luang di akhir pekan.
00:29:58Dan sekali lagi, saya akan tegaskan, sangat mungkin untuk datang ke sini dan berkata, "bantu saya
00:30:03membangun plugin Claude code dengan user prompt submit yang akan mendeteksi, tanda dolar"
00:30:09dan jika muncul tanda dolar, maka jalankan commit di dalam user prompt submit agar saya—
00:30:14seperti dengan prompt itu, saya bisa saja membangun ini jadi jangan terlalu khawatir tentang
00:30:19kodenya, Anda bisa mulai mencobanya saja. Baiklah, jadi setelah Anda memiliki semua
00:30:26ini tertata rapi, session end adalah kesempatan untuk membersihkan file apa pun yang Anda tulis
00:30:32selama sesi tersebut. Jadi jika Anda mulai mengumpulkan skill mana yang telah dijalankan, jika Anda mulai
00:30:39mengumpulkan informasi apa pun tentang hasil dari alat yang dipanggil, atau semacam
00:30:48anggaran atau hal yang Anda lacak sepanjang sesi, itu adalah kesempatan untuk masuk ke sana dan
00:30:51membersihkannya. Ada beberapa hal menarik yang bisa Anda lakukan di session end. Karena itu berjalan
00:30:57pada dasarnya seperti Ctrl C, seperti saat keluar dari sesi. Anda dapat menjalankan agen lain
00:31:05untuk mengatakan, "oke, lihat semua file yang telah berubah dalam sesi ini. Apakah mereka cocok dengan
00:31:09semuanya?"—kami tidak melakukan itu. Hanya saja ada hal-hal yang sangat menarik yang bisa Anda
00:31:13lakukan dengan session end di mana sesi saya sudah selesai. Apakah sesi itu mewakili kemajuan dalam
00:31:20proyek ini? Apakah itu mewakili sampah? Seperti, periksa semua file yang diubah.
00:31:26Apakah ini duplikasi dari hal-hal yang sudah ada di proyek? Dan jika iya, lakukanlah
00:31:30pembersihan dan berikan peringatan, Anda harus memperingatkan pengguna dengan cara tertentu seperti melalui notifikasi sistem
00:31:37atau melalui sarana lain karena sesi Anda sudah berakhir. Tapi hal-hal yang sangat, sangat menarik
00:31:43bisa Anda lakukan di sana. Baiklah. Jadi dengan semua yang telah dikatakan, saya akan
00:31:50menulis demo kecil yang cepat di sini. Jadi saya akan menjalankan versi Claude code yang menjalankan
00:31:56plugin Vercel dibandingkan dengan saat tidak menjalankan plugin Vercel. Saya akan menggunakan Claude
00:32:04"dangerously skip permissions", saya akan membiarkan debug menyala, saya akan tunjukkan itu sebentar lagi.
00:32:08Dan model ini akan diatur ke Haiku. Jadi itu adalah model tercepat dan paling dasar
00:32:13untuk Claude code. Dan saya akan mengatakan seperti, "tulis saja tutorial tentang AI SDK."
00:32:26Dan kita lihat apa yang terjadi di sana. Dan akan saya bandingkan secara berdampingan,
00:32:30Anda bisa melihat ia sudah mulai memuat skill. Dan ini sudah memuat plugin-nya.
00:32:37Jika saya ingin memulai sesi tanpa memuat plugin apa pun, ada pengaturan bendera sources
00:32:46yang memberi Anda kesempatan untuk menonaktifkan seperti pengaturan tingkat pengguna atau
00:32:53pengaturan tingkat proyek, pada dasarnya, abaikan pengaturan apa pun. Dengan cara ini saya bisa memuatnya tanpa
00:32:59plugin. Fitur no flicker—waduh. Fitur no flicker ini baru per kemarin, ini cara yang bagus
00:33:05untuk melakukan scroll yang mulus di dalam Claude code. Jadi saya mengaktifkan itu juga. Dan kemudian saya
00:33:12akan mengatur modelnya ke Opus, yang merupakan model terpintar. Dan jika saya memberikan prompt yang sama
00:33:20tentang tutorial SDK. Dan ini adalah versi standarnya di sebelah sini. Dan kita akan
00:33:28membandingkan hasilnya. Oh, waduh, saya perlu—saya belum menghapus yang sebelumnya. Mari
00:33:36kita mulai lagi. Biarkan saya menyalakan ini dan menjalankannya. Tadi pagi saya menjalankan ini
00:33:50dan melakukan pembersihan sebelum ini dimulai. Jadi biarkan saya menjalankannya lagi.
00:33:56Sambil membuat perbandingan. Ya.
00:34:01Baiklah. Jadi
00:34:04perbedaan besarnya di sini adalah ini Haiku 4.5 melawan Opus 4.6, kan? Model ini
00:34:15jutaan kali lebih murah, dan jauh lebih cepat. Dan ini sudah dimuat dengan lebih banyak
00:34:22informasi Vercel. Jadi meskipun Anda membandingkan biaya anggaran dari token tambahan
00:34:32yang kami sertakan, dibandingkan dengan, Haiku versus Opus. Selagi ini berjalan ke arah—
00:34:38seharusnya saya katakan buat saja file markdown. Saya rasa ini sedang benar-benar menulis kode,
00:34:45tapi itu akan cukup menarik. Mari kita lihat. Jadi ini satu hal yang perlu diperhatikan tentang salah satu
00:34:59pendekatan yang kami ambil untuk banyak skill kami adalah, seperti yang disebutkan sebelumnya, karena
00:35:05nomor versi, karena paket skill yang berbeda mungkin berubah untuk—kami melakukan penguncian nomor versi
00:35:13pada skill-skill tersebut. Izinkan saya mengulanginya. Versi library yang berbeda akan membutuhkan
00:35:21skill yang berbeda. Banyak skill kami mengatakan, silakan lihat node modules, di mana kami akan menyatukan
00:35:28banyak dokumentasi sehingga dokumentasi tersebut juga terkunci versinya. Jadi melihat ke sini,
00:35:34Anda bisa melihat ia sebenarnya sedang membaca dokumentasi lokal. Dan ia menelusuri di sini
00:35:40dan menyusun tutorial ini. Baiklah. Sekarang, mari kita lihat ini. Ini benar-benar tidak melakukan
00:35:53penelitian apa pun. Jadi ini akan menarik. Terakhir kali saya melakukan lebih banyak penelitian. Dan saya
00:36:01sudah bisa melihat seperti—ia menggunakan model Sonnet 4 yang sudah usang, bukan
00:36:07versi 4.6. Itu sudah usang. Ia menyebutkan generate object, yang bukan itu yang ingin kita gunakan. Kita
00:36:15menggunakan V6. Dan sudah ada banyak hal yang sudah ketinggalan zaman. Saya tidak akan mengatakan itu
00:36:23salah, tapi itu sangat, sangat usang jika Anda menginginkan performa terbaik
00:36:28dan praktik terbaik dari SDK tersebut. Baiklah. Apakah ini menangkap sesuatu di
00:36:37sini? Ya, sepertinya iya, skill SDK menangkap—sepertinya ia menulis tutorial pada awalnya
00:36:51di sini. Dan kemudian skill-nya menangkap bahwa itu tidak diperbarui ke V6, tanpa saya mengatakan
00:36:58apa pun sama sekali. Dan sekarang ia pergi dan memperbaruinya. Ia beralih dari generate object ke generate text.
00:37:03Dan ia sedang memperbarui semuanya untuk memastikan bahwa itu ada di versi terbaru. Baiklah,
00:37:10jadi kita—saya bisa membandingkan keduanya. Saya akan mulai sesi baru saja. Mari kita masuk ke sini dan bandingkan
00:37:23tutorial dari tanpa plugin versus tutorial dengan plugin Vercel untuk akurasinya. Dan ini
00:37:44akan menarik untuk dilihat seperti setiap kali saya menjalankan ini sebelumnya, Opus menulis file markdown,
00:37:48kali ini ia membuat cuplikan kode. Akan menyenangkan melihat perbedaannya.
00:37:54Saat Anda melakukan ini, ya, terutama jika Anda memiliki skill lain, mungkin bekerja bersamaan dengan
00:38:03plugin ini, apakah ada risiko terjadinya konflik dan mengakibatkan hal-hal lama
00:38:10lebih diutamakan atau apakah plugin akan memiliki semacam prioritas yang lebih tinggi?
00:38:16Plugin ini pada dasarnya, saya akan katakan secara paksa memasukkan skill berdasarkan polanya. Jadi jika
00:38:27ada—selalu ada risiko seperti itu, seperti semuanya hanya semacam konteks,
00:38:34seperti semua itu hanyalah file teks yang dimasukkan ke dalam sebuah sesi. Jadi saya akan selalu katakan
00:38:41hanya gunakan hal-hal yang Anda inginkan untuk proyek yang sedang Anda kerjakan, maaf, sangat jarang
00:38:49menginstal skill di tingkat pengguna kecuali Anda tahu Anda menginginkannya di setiap proyek.
00:38:58Dan bahkan untuk plugin Vercel, kami sedang mencari cara terbaik yang memungkinkan untuk hanya
00:39:06memuat apa yang Anda butuhkan untuk proyek yang sedang Anda kerjakan. Dan kami punya banyak ide seputar
00:39:11hal itu. Tapi salah satu ide yang mungkin paling kontroversial adalah di mana, kapan
00:39:23seorang pengguna mengatakan mereka menginstal plugin Vercel? Jadi asumsi apa yang bisa Anda buat tentang itu?
00:39:30Jika mereka menginstal plugin Vercel, dan mereka ada di platform pesaing, dan mereka membuka
00:39:35proyek di platform pesaing? Haruskah kita memberi tahu mereka tentang produk kita? Seperti, itu
00:39:42hal yang sangat kontroversial, kan? Dan jika satu orang melihat itu, dan
00:39:47mereka tidak menginginkannya, dan mereka tidak benar-benar tertarik untuk bermigrasi ke Vercel,
00:39:53mereka akan sangat kesal. Jika orang lain tertarik, mereka akan sangat senang. Jadi ada
00:39:59beberapa hal yang sangat menarik. Jika Anda memegang teori bahwa setiap orang
00:40:05hanya akan berinteraksi dengan agen. Seperti, apa etika dalam sebuah plugin atau dalam menginformasikan
00:40:15agen tentang hal baru yang hebat di platform Anda tanpa menginjak kaki
00:40:24platform lain. Dan jadi ada banyak hal. Ini sangat relevan dengan
00:40:31apa yang sedang saya lakukan sekarang, kami akan segera meluncurkan workflow secara resmi (GA). Jadi saya sedang menulis
00:40:37panduan migrasi. Jika seseorang ingin bermigrasi dari salah satu pesaing workflow, itu,
00:40:43bisa langsung menggunakan skill untuk mengatakan bermigrasi dari ini ke workflow. Ini caranya,
00:40:49begini cara Anda melakukannya. Jika Anda ingin melakukan itu, pada titik mana dalam sebuah agen saya harus memberi tahu
00:40:55seseorang tentang hal itu? Dan hal-hal itu sangat, sangat menarik bagi saya. Terutama itu
00:41:00sangat mendesak bagi saya karena itulah yang sedang saya kerjakan saat ini. Tapi ya, seperti konflik
00:41:07konteks, itu akan menjadi masalah ke depannya. Saya tidak tahu bagaimana mencoba
00:41:14menyimpulkan apa yang diinginkan pengguna berdasarkan konteks proyek mereka dari apa yang telah mereka tanyakan sejauh ini.
00:41:19Akan sangat bagus. Seperti kita secara teknis bisa melihat percakapan masa lalu dan melihat apa yang telah
00:41:27mereka lakukan. Kita bisa melihat riwayat commit. Kita bisa memberitahu GitHub CLI untuk melihat
00:41:35apa pun di dalam proyek. Ada banyak hal yang bisa Anda lakukan untuk mengumpulkan konteks,
00:41:40tapi itu juga melintasi beberapa batasan, seperti memanggil alat yang tidak mereka perlukan untuk Anda panggil—
00:41:46banyak sekali hal yang sangat menarik yang jika itu—jauh lebih mudah untuk melakukan semuanya
00:41:53di Vercel dan hanya memiliki—lebih baik menyediakan satu agen dengan set aturan spesifik
00:42:00dan plugin yang mengirimkan semuanya dengan indah di sana dan tidak perlu
00:42:05khawatir tentang semua konflik itu. Ngomong-ngomong. Saya harap bisa menyebutkannya, ya.
00:42:14Dalam konteks plugin, untuk skill kita, pada titik mana dalam proses ini skill
00:42:19biasanya berada? Misalnya, jika saya punya skill migrasi Create React App ke Next.js, dan skill itu
00:42:26hanya ada di folder skill saya, apakah itu lebih mungkin untuk langsung dipanggil secara otomatis kapan pun
00:42:32saya berada di proyek Create React App? Dibandingkan misalnya, jika saya punya plugin Vercel di sini, saya bisa
00:42:39menentukan kapan itu akan dipanggil dan saya bisa, jika saya membangun migrasi yang sama sebagai sebuah plugin,
00:42:47saya bisa membuatnya hanya terjadi jika pengguna memintanya secara eksplisit. Apakah model mental itu benar?
00:42:52Saya rasa begitu. Seperti, kami telah membicarakan
00:42:59konsep skill satu kali pakai (one-shot) atau skill sekali pakai yang lebih seperti, "saya ingin
00:43:06melakukan sesuatu seperti migrasi," yang mana itu adalah tugas yang Anda miliki, atau
00:43:12seperti skill terkait tugas yang tidak ingin Anda muat di waktu lain, kecuali untuk tugas itu.
00:43:17Seperti Anda ingin itu dibatasi pada tugasnya. Anda tidak ingin itu dibatasi pada proyeknya.
00:43:22Anda tidak ingin itu dibatasi pada pengguna, Anda ingin itu dibatasi pada tugasnya. Dan itulah diskusi
00:43:27yang sedang kami lakukan. Dan saya rasa itu—saya tidak punya jawaban yang bagus karena saat ini, jika Anda punya
00:43:33skill seperti itu yang dimuat, maka itu akan mempengaruhi harness dan model-model tersebut berdasarkan
00:43:41pada model tersebut dan berdasarkan skill lainnya. Sangat sulit untuk mengatakannya tanpa mengetahui secara pasti
00:43:47apa lagi yang ada di proyek tersebut. Tapi ya, itu juga menjadi prioritas utama seperti
00:43:55skill yang dibatasi pada cakupan tugas. Pertanyaan lain yang ada di pikiran saya di sini adalah seberapa
00:44:04banyak dari arsitektur plugin ini yang spesifik untuk Claude code. Jadi jika saya ingin mendapatkan perilaku serupa
00:44:12di Cursor atau Codex atau yang lainnya, apakah mereka punya format plugin sendiri? Apakah saya butuh
00:44:18sebuah plugin untuk masing-masing alat tersebut? Bagaimana cara kerjanya? Ya. Jadi kami akan segera memberikan beberapa pengumuman
00:44:25tentang spesifikasi seputar plugin dan semua pihak akhirnya menyepakati untuk memiliki
00:44:33plugin yang akan bekerja secara universal dan memiliki kompatibilitas silang. Hampir semuanya
00:44:39setuju dengan itu. Saya tidak akan mengatakannya hari ini, tapi jika Anda membangun plugin dalam format Claude code,
00:44:45Anda bisa berharap plugin tersebut akan berfungsi dengan yang lain dalam waktu singkat.
00:44:54Tapi ya, itu luar biasa. Sudah terlalu banyak folder skill. Saya sangat senang kita akhirnya
00:45:00mulai menstandarisasi sesuatu di sini. Ya. Begitu idenya, seperti saya senang saat
00:45:07saya berbicara dengan Anthropic tentang plugin dan alasan mereka memilih kata plugin daripada
00:45:13kata ekstensi adalah karena plugin menyiratkan sesuatu yang bisa dipasang dan sesuatu
00:45:18yang bisa dilepas. Jadi, jika Anda membuat plugin dengan sekumpulan skill, dan Anda hanya ingin
00:45:24menggunakannya lagi untuk satu tugas saja, itu hal yang seharusnya sangat mungkin dilakukan.
00:45:33Jika saya sedang mengerjakan proyek saya, dan saya seorang desainer, saya tidak ingin semua skill desain saya
00:45:40mengganggu semua skill pengembang atau apa pun. Seperti, Anda ingin bisa memasang
00:45:46bagian-bagian itu saja. Dan saya pikir, saya sangat setuju dengan konsep-konsep tersebut bahwa
00:45:52setiap orang akan memiliki tugas, peran, dan proyek masing-masing. Dan
00:45:59mereka akan menginginkan plugin lebih dari sekadar skill, karena mereka bisa, dan mereka mungkin ingin
00:46:05mengkurasi plugin mereka sendiri juga, seperti membangun set skill dan hook mereka sendiri
00:46:10yang sepenuhnya disesuaikan dengan cara mereka bekerja.
00:46:16Apakah ini berarti saya harus mempertimbangkan untuk mencabut plugin Vercel jika
00:46:21saya sedang mengerjakan proyek non-Vercel?
00:46:25Saya akan katakan seperti, untuk saat ini, ya, karena betapa agresifnya plugin ini
00:46:34ke depannya. Dan semoga, saya tidak ditegur oleh siapa pun karena mengatakan itu. Tapi
00:46:39niat penuh dari plugin Vercel adalah seperti, ini adalah sesuatu jika Anda ingin memuat
00:46:46agen Anda dan berkata, buatkan saya hal ini. Dan kemudian hal itu muncul begitu saja secara ajaib
00:46:53di Vercel. Seperti itulah tujuan awalnya. Dan kami melihat bagaimana cara kerjanya. Dan jika itu berdasarkan
00:46:59umpan balik yang kami terima, kami sedikit menariknya kembali dan melihat bahwa kami benar-benar perlu
00:47:04melakukan lebih banyak deteksi seperti apa yang ada di proyek untuk dinonaktifkan dan segala macam hal ini.
00:47:09Dan itu akan hadir segera. Jadi, Anda tahu, mungkin sebaiknya
00:47:15biarkan saja terpasang dan aktif karena kami sedang aktif mengerjakannya,
00:47:18seperti yang baru saja kami bicarakan pagi ini. Jadi
00:47:23Begitu. Jadi ini semacam trade-off di mana mungkin di masa depan, ia akan mengerti sedikit
00:47:29lebih baik kapan ia harus aktif sendiri. Tapi saat ini, cara pengguna mengontrol apakah
00:47:36plugin ini aktif atau tidak adalah dengan memasang atau mencabutnya untuk sesi yang berbeda.
00:47:42Ya. Dan sekarang, jika Anda mengetik slash plugin, Anda bisa membuka plugin yang terpasang,
00:47:48cukup tekan tab, Anda bisa memilih plugin apa pun yang ingin Anda nonaktifkan. Dan Anda bisa memperbarui,
00:47:54menghapus instalan, melakukan apa saja. Jadi Anda bisa menonaktifkannya dengan cara itu. Dan ada
00:48:03trik tingkat lanjut lainnya seperti menyiapkan fungsi ZSH khusus atau apa pun
00:48:10yang memuat set pengaturan spesifik untuk pengguna mana pun... ini semua sangat aneh tentang
00:48:17konsep profil orang yang duduk di depan komputer. Dan seperti,
00:48:23apa saja plugin yang mereka inginkan berdasarkan apa yang mereka lihat? Dan belum ada
00:48:29solusi sempurna untuk itu. Tapi kami berharap bisa menemukannya.
00:48:34Ini seperti saat mobil Waymo datang dan menyesuaikan semua kursi untuk Anda saat
00:48:39Anda masuk.
00:48:40Ya, ya. Dan saya pikir, pada titik tertentu, saya membayangkan kita akan melihat agen bertanya
00:48:49lebih banyak tentang diri Anda. Saya merasa itu hal besar seperti konsep profil, identitas, peran,
00:48:57yang menurut saya terasa seperti bagian yang hilang. Kecuali jika Anda ingin mengasumsikan bahwa setiap orang sekarang adalah
00:49:05manajer proyek penuh untuk semuanya. Saya tidak melihat hal itu terjadi dalam waktu dekat.
00:49:12Saya merasa beberapa orang hanya punya ide yang lebih baik tentang beberapa hal dibanding yang lain.
00:49:19Jadi
00:49:20Ya, mari kita tinjau ini. Jadi, apa yang menarik? Mari kita lihat, ini ya,
00:49:33menarik bahwa saya meminta Opus meninjau Opus dan hasilnya tetap salah, kan? Seperti masih
00:49:37merekomendasikan generate object dan v6. Mari kita verifikasi dengan dokumentasi. Jadi ia mencoba
00:49:50memverifikasi dan mengatakan bahwa, Anda tahu, yang saya tulis itu salah. Ini
00:49:56masih menunjukkan valid tapi usang. Jadi seperti, Haiku merekomendasikan model yang paling baru,
00:50:05dan bagi saya, itu sangat penting. Saya tidak tahu berapa kali Anda mencoba
00:50:08menggunakan agen untuk menulisnya. Menulis sesuatu dengan AI. Dan ia berkata, mari gunakan GPT-4-O, tapi
00:50:14tidak, itu sudah sangat lama sekarang. Dan kualitasnya jauh dari yang kita butuhkan. Yang
00:50:20mana itu salah satu hal yang bisa Anda deteksi, tangkap, dan katakan, periksa model terbaru
00:50:25di AI gateway. Dan Anda bisa bilang deteksi model terbaru dan tanya pengguna mana
00:50:31yang mereka inginkan dan jelaskan setiap model dan segala macam hal itu. Padahal saat ini,
00:50:36agen-agen ini selalu saja seperti GPT-4... ini menarik, hanya sebagai catatan sampingan
00:50:43melihat Claude Code semakin sering merekomendasikan SDK Anthropic akhir-akhir ini padahal sebelumnya
00:50:49tidak. Dan Anda seperti, saya pikir ada yang mengubah beberapa system prompt di balik layar
00:50:55seperti, rekomendasikan SDK kami sendiri. Yang mana saya tidak menyalahkan mereka. Namanya juga bisnis, kan? Baiklah.
00:51:03Ya, jadi generate object masih ada di sana. Dan ya, itu bagus. Setelah memeriksa
00:51:13dokumentasi, tutorialnya lebih akurat. Beberapa hal yang saya anggap buatan sebenarnya ada.
00:51:19Jadi ya, ini Opus menyadari bahwa ini adalah hal-hal nyata... ini adalah Haiku
00:51:25dengan plugin. Dan Opus, seperti menulis tutorial, mencoba memvalidasi tutorial tersebut, seperti saya
00:51:32harus menyuruhnya melihat tepat ke dokumentasi untuk menemukan sesuatu yang Haiku dengan
00:51:39plugin selesaikan dalam sekali coba, kan. Dan jika Anda tahu perbedaan antara Opus
00:51:44dan Haiku, itu masalah besar. Jadi ini adalah perbedaan dari semua yang ia dapatkan dengan benar
00:51:53untuk tantangan atau perubahannya. Pokoknya, semoga itu bisa mendemonstrasikan dengan cara sederhana.
00:52:04Seperti salah satu skenario, AI SDK, ini jauh lebih banyak. Ini untuk hal-hal seperti alur kerja
00:52:15dan sandbox dengan teknologi Vercel yang jauh lebih baru yang luar biasa, tapi tidak ada dalam
00:52:21batas pengetahuan model. Perbedaan ini menjadi lebih besar karena model
00:52:28bahkan tidak mengetahuinya, kan. Jadi itulah gunanya plugin Vercel. Jika ada yang punya
00:52:35pertanyaan, silakan hubungi saya di X atau di mana pun Anda bisa menemukan saya. Saya senang mengobrol tentang
00:52:41hal ini, senang menjawab kekhawatiran apa pun atau ini jelas merupakan pekerjaan yang sedang berjalan dan
00:52:48sesuatu yang akan kami ulangi, ulangi, ulangi terus sampai menjadi pengalaman ajaib yang luar biasa.
00:52:52Dan semoga Anda bisa melihat awalnya hari ini. Jika ada yang punya
00:52:59pertanyaan, saya senang menjawabnya. Jika ada yang punya ide plugin yang ingin didiskusikan,
00:53:04saya juga senang membicarakannya. Jadi itu saja, kecuali jika ada yang ingin saya mendalami
00:53:14hal lain. Itulah yang saya sampaikan untuk hari ini.
00:53:20Sangat menghargai Anda meluangkan waktu. Banyak hal yang harus dipahami. Ini perubahan besar. Kita telah
00:53:25bergerak begitu cepat dengan semua alat AI ini.
00:53:28Ya, sayangnya ini tidak akan melambat.
00:53:33Satu pertanyaan saya adalah jika orang ingin berkontribusi dengan cara apa pun, atau jika mereka menemukan bug dan ingin
00:53:38melaporkannya, apa cara terbaik untuk menyampaikannya kepada Anda?
00:53:41Oh, ya, repo untuk itu. Vercel slash, Vercel slash plugin atau apakah itu Vercel slash
00:53:49Vercel plugin?
00:53:51Ya, Vercel slash Vercel slash Vercel dash plugin.
00:53:58Baiklah. Saya akan menaruhnya di chat juga agar orang-orang mengetahuinya.
00:54:03Terima kasih. Ya, masalah (issues) di sana sangat membantu. Ini akan berubah dengan cepat. Saya tahu saya menyetujui
00:54:10PR besar tepat sebelum panggilan ini.
00:54:14Luar biasa. Baiklah, Jacob, ada pertanyaan lain darimu?
00:54:20Tidak, saya rasa kita sudah membahas semuanya di siaran ini. Ya, terima kasih telah memberikan
00:54:24demo yang mendalam dan luar biasa. Saya merasa siap untuk membangun plugin Claude saya sendiri
00:54:30di sini sekarang. Dan daripada hanya memarahi agen ketika ia memutuskan untuk melakukan force push ke main
00:54:37pada saya, sekarang saya tahu hook mana yang harus saya perintahkan untuk digunakan agar ia tidak melakukan
00:54:42itu lagi. Jadi itu sangat membantu.
00:54:45Pre-tools adalah teman Anda, pertahanan terbaik Anda terhadap hal-hal yang tidak Anda inginkan terjadi.
00:54:51Bagus. Terima kasih banyak, John. Tentu. Terima kasih, semuanya.
00:54:56Dan terima kasih semua telah bergabung. Anda dapat menemukan sesi mendatang di community.vercel.com slash
00:55:01events. Dan sampai jumpa lain waktu.
00:55:05Ya. Sampai jumpa di komunitas. Semoga hari kalian menyenangkan, semuanya.