00:00:00saat bekerja dengan Cloud Code, Codex, atau alat rekayasa bertenaga agen lainnya, satu hal yang sangat penting
00:00:05konsep yang didukung oleh semua alat ini yang harus Anda pahami dan gunakan adalah konsep
00:00:12keahlian agen (agent skills). Dan ini mudah diabaikan karena hanya berupa sekumpulan berkas markdown atau karena
00:00:18mengaturnya bisa merepotkan, tetapi menurut pengalaman saya ini sangat berharga. Beberapa hari yang lalu ada
00:00:24sebuah unggahan dari seseorang di tim Cloud Code, jadi seseorang dari Anthropic, di mana dia membagikan
00:00:31berbagai jenis keahlian yang mereka gunakan secara internal karena Anda memang bisa membedakan
00:00:37berbagai jenis keahlian yang ingin Anda buat. Semuanya hanyalah berkas markdown pada akhirnya, meskipun
00:00:42Anda bisa menambahkan lebih banyak lagi, nanti saya bahas, tapi tentu saja apa yang ada di dalam berkas markdown itu bisa
00:00:49sangat berbeda. Nah, gambar ini dan seluruh unggahan ini bisa terasa sangat membebani dan bisa membuat Anda
00:00:56tidak melakukan apa-apa karena merasa, oke kalau saya harus menghabiskan seminggu untuk mengatur keahlian, lebih baik
00:01:02tidak menggunakannya sama sekali, dan itulah mengapa saya ingin menawarkan alternatif untuk hal itu di video ini.
00:01:08Saya pikir Anda cukup memiliki tiga jenis keahlian inti yang harus diperhatikan dan itu akan memberikan
00:01:15hasil yang lebih baik. Ngomong-ngomong, seperti yang saya sebutkan, semua alat ini mendukung keahlian, saya membahas cara mengaturnya, cara
00:01:20memanggilnya secara aktif, cara membangun keahlian untuk Cloud Code dan Codex di kursus saya masing-masing, dan jika Anda
00:01:26ingin mengikuti kursus tersebut atau mendapatkan akses ke semua kursus saya termasuk kursus mendatang, saat ini saya
00:01:31sedang mengadakan promosi di mana Anda bisa mendapatkan keanggotaan tahunan yang memberi akses penuh ke semua
00:01:35kursus saya selama Anda berlangganan dengan harga yang sangat murah, tautan ada di bawah. Tapi mengenai
00:01:41keahlian ini, mereka hanyalah berkas markdown yang disimpan di tempat khusus dan
00:01:46lokasi pastinya tergantung pada alat yang Anda gunakan, tetapi pada akhirnya keahlian tersebut berfungsi sebagai templat perintah atau
00:01:52konteks tambahan yang dapat dimasukkan ke dalam sesi rekayasa bertenaga agen Anda. Dan
00:02:01tipe keahlian yang pertama adalah dokumentasi atau keahlian pengetahuan (knowledge skill) menurut saya.
00:02:09Apa yang saya maksud dengan itu? Di sini saya sedang berada di proyek academy.com saya, yaitu proyek situs web saya, dan di sana saya punya
00:02:15beberapa keahlian agen yang sebenarnya hanyalah jenis dokumentasi atau pengetahuan yang saya ekspos ke agen AI di sini. Sebagai
00:02:25contoh, beberapa pengetahuan TypeScript di sini, beberapa pengetahuan tentang fitur TypeScript yang lebih canggih,
00:02:33mungkin beberapa fitur baru seperti kata kunci "satisfies" yang belum ada
00:02:40selama 10 tahun, beberapa hal yang saya ingin agen AI sadari atau diingatkan kembali karena mungkin saja
00:02:50itu bukan hal pertama yang dicari agen karena mungkin agen tersebut belum banyak melihat hal-hal itu di data pelatihannya.
00:02:58Jadi, ini benar-benar sesuatu yang bisa Anda temukan di dokumentasi resmi TypeScript. Masalahnya adalah
00:03:04kecuali Anda memberi tahu agen secara eksplisit untuk melakukannya, kemungkinan besar agen tidak akan pergi ke
00:03:11dokumentasi resmi tersebut, dia tidak akan membuka dokumentasi TypeScript, jadi saya lebih baik memiliki keahlian saya sendiri, dan
00:03:17keahlian ini memiliki beberapa metadata. Metadata ini penting karena ide di balik keahlian ini adalah
00:03:24tidak semua keahlian yang tersedia dimuat ke dalam jendela konteks (context window) setiap saat, melainkan hanya
00:03:30metadata-nya saja yang dimuat, lalu agen AI dapat memutuskan keahlian mana yang ingin ia
00:03:37baca lebih lanjut tergantung pada perintah (prompt) dan tugas yang Anda berikan. Anda juga bisa memanggil keahlian secara aktif
00:03:43tergantung pada alat yang Anda gunakan, tetapi ide utamanya adalah agen memuatnya sendiri
00:03:47berdasarkan metadata tersebut. Jadi di sini saya punya metadata di mana saya mencoba memberikan agen gambaran
00:03:55tentang kapan harus menggunakan keahlian ini, dan oleh karena itu, itulah salah satu jenis keahlian di mana Anda menyediakan dokumentasi tambahan
00:04:02atau pengetahuan yang mungkin tidak dimiliki agen karena mungkin Anda juga bekerja dengan perpustakaan (library) yang
00:04:08tidak ada dalam data pelatihan karena masih baru, atau di mana Anda tahu bahwa agen tersebut mungkin belum melihat
00:04:13banyak tentangnya dan Anda ingin agen menyadarinya, jadi itulah jenis keahlian yang pertama.
00:04:18Tipe keahlian yang kedua adalah perilaku (behaviors), praktik terbaik (best practices), pendekatan, dan semacamnya, dan di sini idenya
00:04:29adalah tentu saja saat Anda mengerjakan sebuah proyek, Anda mungkin memiliki preferensi tertentu mengenai
00:04:37gaya kode atau mengenai bagaimana sesuatu harus dilakukan. Contohnya, saya punya keahlian
00:04:45kode React modern yang bersih ini, yang bukan sekadar mendokumentasikan fitur React, melainkan
00:04:50menetapkan beberapa aturan yang harus diikuti agen saat menulis kode React untuk memastikan bahwa
00:04:59anti-pola tertentu setidaknya menjadi lebih jarang ditemukan. Karena setidaknya bagi saya saat ini, agen AI cenderung menghasilkan
00:05:08kode yang tidak selalu berkualitas tinggi, dan Anda bisa mendebat apakah Anda peduli dengan
00:05:13kualitas kode tersebut atau tidak. Saya membuat video terpisah di saluran lain tentang itu. Menurut saya itu
00:05:18penting karena kualitas kode berpengaruh pada kemampuan untuk meninjau (review) kode tersebut. Hal itu bisa memiliki implikasi
00:05:23performa, implikasi pada seberapa mudah kode tersebut dipelihara atau dikembangkan, jadi menurut saya itu
00:05:29penting, dan jika Anda memiliki perilaku atau pola tertentu yang Anda ingin agen gunakan, maka
00:05:36keahlian perilaku seperti itu—di mana Anda memberi tahu cara menulis kode React yang baik, bahwa agen harus mencoba menghindari
00:05:43penggunaan useEffect dan bagaimana cara menghindarinya—jenis keahlian itu bisa sangat menarik. Jadi di sini bukan lagi soal
00:05:50memberikan dokumentasi tambahan atau pengetahuan tambahan, melainkan menginstruksikan perilaku. Nah, yang
00:05:55menarik dari keahlian ini adalah saya memiliki beberapa berkas terkait, yaitu berkas dengan detail lebih lanjut
00:06:02tentang useEffect, karena semua berkas keahlian ini dimuat secara malas (lazily) seperti yang sudah saya katakan, dan Anda dapat
00:06:09di dalam berkas keahlian merujuk pada berkas lain seperti berkas useEffect.md di folder referensi di sini,
00:06:15lalu AI dapat memutuskan untuk memuat berkas itu hanya ketika ia tahu bahwa ia sedang bekerja dengan useEffect,
00:06:21bahwa ia sedang melakukan sesuatu dengan useEffect, sehingga di sana saya memiliki detail lebih lanjut tentang anti-pola
00:06:27yang harus disadarinya. Mengatur jenis keahlian seperti ini bisa sangat bermanfaat, juga karena
00:06:33tentu saja saya bisa menyalinnya ke proyek React apa pun, saya tidak perlu menulis ulang setiap saat, dan itu bisa
00:06:39menghasilkan kode yang lebih baik di sana. Jadi itulah jenis keahlian kedua yang saya rekomendasikan, dan Anda tidak perlu
00:06:45memikirkan semua pola berbeda yang mungkin ingin Anda deskripsikan, melainkan lakukan saja langkah demi langkah; jika
00:06:52Anda melihat bahwa dalam proyek Anda agen AI terus-menerus melakukan sesuatu yang tidak Anda inginkan,
00:06:58tambahkan keahlian di mana Anda memikirkan deskripsi yang baik yang meningkatkan peluang keahlian tersebut dimuat
00:07:04di waktu yang tepat, lalu masukkan instruksi Anda dalam keahlian itu, jadi gunakan untuk memperbaiki masalah, dan seiring waktu
00:07:11Anda akan membangun perpustakaan keahlian dengan praktik terbaik dan perilaku spesifik yang ingin Anda tegakkan,
00:07:17dan Anda kemudian dapat menggunakannya di proyek masa depan, jadi jangan anggap itu sebagai tugas awal yang besar dan
00:07:22sangat mengintimidasi, melainkan bangunlah basis keahlian itu selangkah demi selangkah. Nah, tipe keahlian yang ketiga, dan
00:07:29ini tipe keahlian yang berbeda, adalah keahlian berbasis fungsionalitas (functionality driven skills). Sejauh ini kita sudah membahas tentang dokumentasi
00:07:37dan tentang penegakan perilaku tertentu. Nah, alat rekayasa bertenaga agen seperti Cloud Code dan Codex
00:07:43dapat melakukan berbagai macam hal; mereka bisa menulis kode tentu saja, tetapi Anda tidak terbatas pada menulis
00:07:49kode dalam proyek, karena karena mereka bisa menulis kode, mereka bisa melakukan apa saja di komputer Anda jika Anda mau,
00:07:55Anda bisa menggunakannya untuk menganalisis dokumen PDF misalnya, atau saya punya beberapa keahlian global di sistem saya yang
00:08:03tidak spesifik hanya untuk pemrograman, beberapa memang spesifik tapi tidak semua. Anda bisa mengatur keahlian yang memberi tahu
00:08:09seorang agen cara menghasilkan gambar. Apa maksud saya dengan itu? Tentu saja ada berbagai
00:08:16layanan atau API yang bisa Anda gunakan untuk menghasilkan gambar atau video dengan AI, sesuatu seperti Fal AI—ini bukan
00:08:24video bersponsor, ngomong-ngomong—ada juga Replicate dan ada berbagai layanan lainnya. Sekarang tentu saja
00:08:29jika Anda ingin menghasilkan gambar, katakanlah untuk sebuah proyek, Anda butuh gambar tiruan (dummy) di situs web Anda atau
00:08:34untuk sesuatu yang sama sekali berbeda, gambar yang ingin Anda cetak dan pajang di dinding, Anda bisa menggunakan
00:08:41layanan ini, dan Anda bisa menggunakan Codex, Cloud Code, agen Pi yang sangat saya sukai, dan memintanya untuk menghasilkan
00:08:49gambar untuk Anda. Secara bawaan, kemungkinan besar ini akan gagal karena alat rekayasa bertenaga agen ini
00:08:54tidak memiliki kemampuan pembuatan gambar bawaan, tetapi jika Anda memberi mereka keahlian yang tepat, yang tetap saja
00:09:00hanyalah berkas markdown, di dalamnya tentu saja Anda dapat mendeskripsikan cara berinteraksi dengan API pihak ketiga
00:09:06untuk menghasilkan gambar. Mendeskripsikan interaksi tersebut mungkin satu cara, tetapi Anda bisa melangkah
00:09:12lebih jauh, keahlian Anda juga bisa dilengkapi dengan skrip; tidak semua membutuhkannya tetapi di sini keahlian
00:09:18pembuatan gambar saya memilikinya. Skrip ini adalah skrip yang sejujurnya ditulis oleh AI, ini adalah hasil "vibe coding",
00:09:26dan di sini saya punya beberapa skrip yang berinteraksi dengan Fal API, jadi layanan pembuatan gambar tersebut,
00:09:34saya pada dasarnya mengambil dokumentasi mereka, memasukkannya ke dalam perintah dan menyuruh agen AI untuk menuliskan saya
00:09:40alat yang dapat memanfaatkan atau yang dapat berbicara dengan API dari Fal untuk menghasilkan gambar. Jadi sebuah alat CLI kecil
00:09:49ditulis di sini, skrip kecil yang dapat berbicara dengan API itu dan menghasilkan gambar dengan berbagai
00:09:56parameter dan sebagainya, dan kemudian berkas skill.md, berkas itu hanya menjelaskan cara menggunakan skrip tersebut,
00:10:02berkas itu menunjuk padanya dan memberi tahu agen cara mengeksekusinya, parameter mana yang harus dimasukkan dan seterusnya, lalu
00:10:08saya punya berkas .env di sini dengan kunci Fal saya, dan ketika skrip ini dipanggil melalui Bun, yang
00:10:18mana saya beri tahu AI di dalam berkas skill.md, berkas .env tersebut akan dimuat secara otomatis jadi saya tidak
00:10:23perlu memberi agen akses ke kunci tersebut, saya tidak perlu memberi tahu, "Tolong buatkan gambar, ngomong-ngomong
00:10:29ini kuncinya," sebaliknya saya cukup menyuruhnya membuat gambar, ia akan melakukannya berkat
00:10:34deskripsi ini, memuat keahlian ini saat dibutuhkan, dan kemudian di sana ia mempelajari bahwa ia hanya perlu menjalankan
00:10:39sebuah skrip dan ia tidak perlu mengkhawatirkan detail implementasinya, dan itu adalah jenis keahlian lain yang
00:10:45menurut saya menarik, tidak hanya terkait dengan pemrograman, Anda tentu saja juga bisa memiliki
00:10:52keahlian berbasis skrip di sana, beberapa keahlian yang memformat kode atau entahlah, tapi secara umum
00:10:57karena Anda benar-benar bisa menggunakan agen ini lebih dari sekadar menghasilkan kode, dan oleh karena itu
00:11:02itu pasti kategori keahlian lain yang perlu diperhatikan. Tapi ya, secara keseluruhan saya katakan jangan terlalu merumitkan
00:11:08masalahnya tetapi juga jangan mengabaikannya, melainkan bangunlah perpustakaan keahlian Anda selangkah demi selangkah. Perlu dicatat bahwa
00:11:14tentu saja ada registri keahlian seperti skills.sh di mana Anda dapat menelusuri keahlian yang dibuat oleh orang lain.
00:11:21Hanya dua catatan penting: ini bisa sangat berguna tetapi yang tidak akan saya lakukan adalah berkata, "Oke, saya sedang membangun
00:11:29proyek React dengan Tailwind dan Better Auth dan entahlah, jadi saya akan mencari semua keahlian
00:11:35yang berpotensi menarik di sana dan saya akan memasang semuanya ke dalam proyek saya," itu mungkin
00:11:40kontraproduktif karena Anda memuat lebih banyak metadata ke dalam jendela konteks Anda dan
00:11:47beberapa keahlian ini mungkin tidak penting, jadi itu adalah satu hal yang perlu disadari. Saya tidak akan selalu mencoba
00:11:53menambahkan semua keahlian yang secara teori bisa ditambahkan, sebaliknya Anda harus selektif dan fokus pada
00:11:57hal-hal yang secara konsisten salah dilakukan oleh AI atau di mana Anda tahu bahwa dokumentasi tambahan
00:12:04akan dibutuhkan. Itu satu hal, dan hal lainnya tentang registri ini tentu saja adalah Anda
00:12:09memasukkan keahlian yang ditulis oleh orang lain. Keahlian ini, seperti yang kita pelajari, hanyalah perintah (prompt), jika
00:12:16ada sesuatu yang berbahaya dalam salah satu perintah ini, itu bisa menjadi masalah, itu bisa menyebabkan serangan
00:12:22injeksi perintah dan Anda harus menyadari hal itu. Sekarang beberapa registri seperti skills.sh menurut sepengetahuan saya
00:12:28melakukan semacam pemindaian untuk mengurangi bahaya injeksi perintah, tetapi Anda tidak pernah 100%
00:12:36aman, dan karena itu itu adalah sesuatu yang perlu diwaspadai. Jadi kapan pun Anda menggunakan keahlian yang ditulis oleh
00:12:40orang lain, bacalah, itu ada di sana untuk Anda baca, lihatlah dan periksa apakah ada sesuatu yang
00:12:47berbahaya di dalamnya. Itu hanya satu peringatan, tapi ya, selain itu, gunakanlah keahlian, jangan merasa
00:12:54Anda perlu membangun sistem yang sangat kompleks di sini, melainkan bermain-mainlah dengan mereka dan ingatlah
00:13:00tiga jenis keahlian inti ini.