Prompt engineering bekerja berdasarkan bagaimana seseorang bercerita ke generative AI tentang kebutuhannya. Kualitas dari kode akan bergantung pada seberapa bersih dan akurat prompt yang disampaikan. Dengan demikian yang dimaksud dari prompt engineering adalah proses menyusun instruksi yang jelas untuk memandu sistem AI, seperti GitHub Copilot agar menghasilkan kode yang sesuai dengan konteks dan kebutuhan. Ada 4 prinsip untuk membuat prompt yang efektif yaitu:
- Single
- Specific
- Short
- Surround
![]() |
source: jokourno |
Perlu diperhatikan praktek-praktek terbaik dalam prompt engineering seperti sajikan kejelasan yang cukup, sajikan konteks dengan detail yang cukup, sajikan contoh untuk AI dapat belajar, dan yang terakhir ada kondisi-kondisi tertentu yang AI tidak cukup untuk memahami lebih detail sehingga perlu dilakukan iterasi secara terus-menerus. Untuk memahami mengapa itu termasuk pada praktek terbaik maka perlu juga diketahui bagaimana generative AI seperti GitHub Copilot belajar melalui prompt yang diberikan misalnya zero-shot learning, one-shot learning, dan few-shot learning. Maksudnya adalah tanpa contoh, dengan satu contoh, dan dengan beberapa contoh.
![]() |
source: learn.microsoft |
Proses GitHub Copilot dalam memproses permintaan pengguna dimulai dengan pengiriman prompt yang aman melalui HTTPS, menjaga kerahasiaan dan keamanan informasi pengguna. Setelah itu, Copilot mengumpulkan konteks dengan mempertimbangkan kode sebelum dan setelah posisi kursor, nama file, tipe file, serta informasi terkait struktur proyek dan bahasa pemrograman yang digunakan. Selanjutnya, prompt dan konteks ini diteruskan ke server proxy yang menyaring lalu lintas untuk melindungi sistem dari manipulasi. Copilot juga menyaring konten berbahaya seperti ujaran kebencian dan data pribadi sebelum melanjutkan ke tahap berikutnya. Akhirnya, prompt yang telah difilter dan dianalisis diteruskan ke model bahasa besar (LLM) untuk menghasilkan saran kode yang relevan, fungsional, dan sesuai dengan kebutuhan proyek pengguna.
![]() |
source: learn.microsoft |
Setelah model menghasilkan respons, Copilot melakukan post-processing dengan menyaring konten berbahaya atau ofensif menggunakan filter toksisitas. Selanjutnya, server proxy melakukan pemeriksaan terakhir untuk memastikan kualitas, keamanan, dan standar etika kode yang dihasilkan. Pemeriksaan ini meliputi deteksi bug atau kerentanannya, seperti cross-site scripting (XSS) atau SQL injection. Jika ada bagian yang mencurigakan atau mirip dengan kode publik yang ada di GitHub, saran tersebut akan dipotong atau dibuang. Hanya respons yang lolos semua pemeriksaan yang dikirim ke pengguna. Setelah itu, Copilot memulai feedback loop untuk memperbaiki pengetahuan berdasarkan saran yang diterima, modifikasi, atau penolakan saran, sehingga meningkatkan pemahaman dan kemampuan penghasilannya. Proses ini diulang setiap kali pengguna memberikan permintaan baru, dengan Copilot terus belajar dari interaksi untuk meningkatkan kualitas kode yang dihasilkan.
GitHub Copilot menggunakan Large Language Models (LLM), khususnya model OpenAI Codex, untuk menghasilkan saran kode otomatis berdasarkan perintah dalam bahasa alami yang diberikan pengguna. Copilot dilatih dengan data besar dari kode sumber di GitHub, memungkinkan model untuk memahami konteks kode yang sedang ditulis dan memberikan saran yang relevan. Proses ini melibatkan pemrosesan input dari pengguna, penyaringan untuk menjaga keamanan dan kualitas, serta terus belajar dari umpan balik untuk meningkatkan akurasi dan kegunaannya. Dengan LLM, Copilot membantu pengembang menulis kode lebih cepat, akurat, dan efisien. GitHub Copilot lebih mengandalkan teknik LoRA (Low-Rank Adaptation) daripada fine-tuning tradisional untuk menyesuaikan model seperti Codex pada tugas tertentu. LoRA memungkinkan Copilot untuk melakukan penyesuaian yang efisien dengan menambahkan matriks adaptasi berperingkat rendah pada model besar, tanpa mengubah parameter utama model secara langsung.
https://learn.microsoft.com
Komentar