Kod Sumber GitHub Copilot Chat Mendedahkan Penjejakan Kedudukan Kursor dan Seni Bina Prompt Sistem

Pasukan Komuniti BigGo
Kod Sumber GitHub Copilot Chat Mendedahkan Penjejakan Kedudukan Kursor dan Seni Bina Prompt Sistem

Microsoft telah menjadikan kod sumber untuk GitHub Copilot Chat tersedia secara umum, memberikan pembangun pandangan terperinci pertama tentang bagaimana pembantu pengekodan AI memproses permintaan pengguna dan menguruskan konteks. Pelepasan ini telah mencetuskan perbincangan yang ketara dalam komuniti pembangun mengenai cara kerja dalaman alat tersebut dan pendekatan Microsoft terhadap perisian sumber terbuka.

Sambungan GitHub Copilot dalam VS Code:

  • GitHub Copilot : Menyediakan cadangan pengekodan sebaris semasa anda menaip
  • GitHub Copilot Chat : Sambungan pendamping untuk bantuan AI perbualan
Paparan halaman repositori GitHub untuk projek vscode-copilot-chat, mempamerkan kod sumber yang baru tersedia secara umum oleh Microsoft
Paparan halaman repositori GitHub untuk projek vscode-copilot-chat, mempamerkan kod sumber yang baru tersedia secara umum oleh Microsoft

Penemuan Penjejakan Kedudukan Kursor Mengejutkan Pembangun

Salah satu pendedahan paling menarik daripada kod sumber adalah bagaimana Copilot Chat menjejaki kedudukan kursor untuk memberikan bantuan yang lebih tepat. Sistem ini menggunakan penanda khas yang dipanggil ${CURSOR_TAG} untuk mengenal pasti dengan tepat di mana kursor pembangun berada dalam kod mereka. Penemuan ini telah mengubah cara ramai pembangun merancang untuk berinteraksi dengan alat tersebut.

Ramai pengguna tidak menyedari ciri ini wujud, walaupun sering merujuk kepada kod menggunakan frasa seperti baris ini atau kaedah ini dalam perbualan mereka dengan AI. Penjejakan kursor menjelaskan mengapa rujukan sedemikian berfungsi dengan berkesan, kerana sistem dapat memahami konteks khusus tentang apa yang dibincangkan oleh pembangun tanpa memerlukan penjelasan terperinci tentang lokasi kod.

Ciri sembang bersepadu dalam Visual Studio Code yang mempamerkan cara pengguna boleh berinteraksi dengan GitHub Copilot untuk bantuan pengkodan
Ciri sembang bersepadu dalam Visual Studio Code yang mempamerkan cara pengguna boleh berinteraksi dengan GitHub Copilot untuk bantuan pengkodan

Seni Bina Teknikal dan Pemprosesan Prompt Didedahkan

Ahli komuniti telah mula menganalisis pangkalan kod untuk memahami bagaimana Copilot Chat memproses permintaan dan menjana respons. Sistem ini menggunakan pokok keputusan yang kompleks yang mengendalikan pelbagai jenis niat pengguna, daripada soalan mudah hingga tugas pengekodan berbilang langkah. Seni bina tersebut termasuk kelas khusus untuk mengendalikan mod interaksi yang berbeza, termasuk mod ejen yang baru ditambah untuk sesi pengekodan autonomi.

Sistem pemprosesan prompt menggunakan fail TypeScript React (TSX) untuk merender prompt dan respons alat, yang mewakili pendekatan menarik untuk menguruskan interaksi AI. Sistem ini juga termasuk logik pengiraan token dan pemangkasan perbualan untuk memastikan permintaan sesuai dalam had model.

Komponen Teknikal Utama:

  • ${CURSOR_TAG}: Penanda khas untuk menjejaki kedudukan kursor
  • Fail TSX: Digunakan untuk memaparkan gesaan dan respons alat
  • Pengiraan dan pemangkasan token: Memastikan perbualan memenuhi had model
  • Pelbagai pengendali niat: AskAgentIntent dan EditAgentIntent untuk mod interaksi yang berbeza
Antara muka pengguna ciri "Ask Copilot" dalam Visual Studio Code, menunjukkan aspek interaktif pemprosesan gesaan dalam Copilot Chat
Antara muka pengguna ciri "Ask Copilot" dalam Visual Studio Code, menunjukkan aspek interaktif pemprosesan gesaan dalam Copilot Chat

Perdebatan Sumber Terbuka dan Keraguan Komuniti

Pelepasan kod sumber telah mencetuskan semula perdebatan tentang apa yang membentuk perisian sumber terbuka yang bermakna. Pengkritik berpendapat bahawa melepaskan hanya kod bahagian klien sambil mengekalkan model AI sebenar dan proses latihan sebagai proprietari mewakili pencucian terbuka dan bukannya sumbangan sumber terbuka yang tulen.

Apakah Copilot Chat selain daripada bahagian hadapan kepada beberapa penawaran SaaS Microsoft ? Tiada apa-apa yang secara material 'sumber terbuka' tentang itu. Semua perkara penting dikunci di sebalik API GitHub Copilot .

Penyokong membalas bahawa kod bahagian hadapan memberikan pandangan berharga tentang teknik kejuruteraan prompt dan pengurusan konteks yang boleh dipelajari dan disesuaikan oleh pembangun lain. Pelepasan ini membolehkan pembangun yang ingin tahu memahami bagaimana prompt mereka diproses dan maklumat apa yang dihantar ke perkhidmatan AI.

Rekod Prestasi Microsoft dengan Sumbangan Komuniti

Pengumuman ini juga telah menarik perhatian kepada pengendalian Microsoft terhadap sumbangan komuniti merentas projek sumber terbuka mereka. Sesetengah pembangun menunjuk kepada tunggakan besar permintaan tarik yang tidak digabungkan VS Code sebagai bukti bahawa usaha sumber terbuka Microsoft mengutamakan pembangunan dalaman berbanding input komuniti.

Walau bagaimanapun, yang lain menyatakan bahawa menguruskan ribuan sumbangan komuniti memerlukan sumber yang ketara, dan Microsoft memang menggabungkan bilangan permintaan tarik yang besar setiap hari. Pendekatan syarikat mencerminkan cabaran menyeimbangkan input komuniti dengan visi produk dan piawaian kualiti.

Pelepasan kod sumber GitHub Copilot Chat memberikan pandangan berharga tentang alat pembangunan dibantu AI moden, walaupun perdebatan berterusan tentang implikasi yang lebih luas strategi sumber terbuka Microsoft . Bagi pembangun yang berminat untuk memahami bagaimana pembantu pengekodan AI berfungsi di sebalik tabir, pangkalan kod menawarkan pandangan sekilas yang jarang tentang keputusan teknikal yang membentuk alat yang semakin penting ini.

Rujukan: GitHub Copilot - Your AI peer programmer