Kejuruteraan konteks mewakili perubahan ketara dalam kecerdasan buatan, beralih daripada gesaan individu dan menuju ke arah membina ekosistem maklumat yang komprehensif di sekitar model bahasa yang besar (LLM). Apabila aplikasi AI berkembang daripada chatbots asas kepada ejen yang canggih yang mampu melaksanakan tugas-tugas rumit dan berbilang langkah, kualiti output model semakin bergantung kepada maklumat yang disediakan. Oleh itu, kejuruteraan konteks telah menjadi penting untuk mewujudkan aplikasi AI yang boleh dipercayai dan berkuasa yang memberikan pengalaman pengguna yang mengagumkan.
Peralihan Paradigma: Daripada Gesaan kepada Sistem
Tumpuan beralih daripada membentuk gesaan individu kepada membina secara sistematik ekosistem maklumat yang lengkap di sekitar model bahasa yang besar (LLM). Apabila aplikasi AI berkembang daripada chatbots ringkas kepada ejen pintar yang mampu melaksanakan tugas-tugas kompleks, berbilang langkah, kualiti output model menjadi semakin bergantung kepada kualiti maklumat yang disediakan. Pemimpin industri dan penyelidik AI menyedari kepentingan peralihan ini, menekankan keperluan untuk menyediakan LLM dengan konteks yang komprehensif untuk menyelesaikan tugas dengan berkesan. Kejuruteraan konteks melibatkan seni dan sains mengisi tetingkap konteks dengan maklumat yang betul, membolehkan model membuat keputusan yang tepat.
Hujah utama ialah kegagalan kebanyakan ejen pintar berpunca daripada kekurangan konteks dan bukannya kegagalan model. Pernyataan ini mentakrifkan semula cabaran teras kejuruteraan AI, mengalihkan perhatian daripada penalaan model kepada membangunkan sistem sokongan maklumat. Memahami dan menguasai kejuruteraan konteks telah menjadi prasyarat untuk membina aplikasi AI yang boleh dipercayai dan mantap.
Mentakrifkan Kejuruteraan Konteks
Kejuruteraan konteks bukan sekadar versi kejuruteraan gesaan yang dipertingkatkan; ia adalah disiplin kejuruteraan peringkat sistem yang unik yang memfokuskan pada mewujudkan sistem penyampaian maklumat dinamik, dan bukannya hanya mengoptimumkan input teks.
Kejuruteraan konteks boleh ditakrifkan sebagai disiplin kejuruteraan yang memfokuskan pada mereka bentuk dan membina sistem dinamik yang menyediakan LLM dengan maklumat dan alatan yang diperlukan untuk menyelesaikan tugas dengan betul, dalam format yang betul, dan pada masa yang sesuai.
Komponen Utama:
- "Mereka bentuk dan membina sistem dinamik": Ini menekankan bahawa kejuruteraan konteks adalah aktiviti kejuruteraan, yang memfokuskan pada seni bina sistem dan bukannya hanya perkataan. Konteks ialah output sistem yang berjalan sebelum panggilan LLM utama. Jurutera perlu membina saluran data, modul memori, dan mekanisme pengambilan maklumat untuk menyediakan memori kerja LLM.
- "Maklumat dan alatan yang betul": Merangkumi fakta, data, kandungan pangkalan pengetahuan (melalui RAG), dan keutamaan pengguna. Alatan merujuk kepada keupayaan seperti antara muka API, fungsi, atau pertanyaan pangkalan data. Menyediakan kedua-dua pengetahuan dan keupayaan adalah asas untuk tugas yang kompleks.
- "Format yang betul, pada masa yang sesuai": Menekankan kepentingan persembahan maklumat dan pemasaan. Ringkasan yang ringkas selalunya lebih baik daripada data mentah, dan skema alatan yang jelas lebih berkesan daripada arahan yang samar-samar. Menyediakan konteks atas permintaan adalah penting untuk mengelakkan daripada mengganggu model dengan maklumat yang tidak relevan.
- "Menyelesaikan tugas dengan pasti": Ini adalah matlamat utama kejuruteraan konteks. Ia mengubah aplikasi AI menjadi sistem yang boleh dipercayai yang secara konsisten boleh menghasilkan output berkualiti tinggi. Dengan pengurusan konteks yang tepat, output menjadi lebih konsisten, mengurangkan halusinasi, dan menyokong aliran kerja ejen pintar kitaran panjang yang kompleks.
Evolusi daripada Kejuruteraan Gesaan kepada Kejuruteraan Konteks
Walaupun kedua-dua kejuruteraan konteks dan kejuruteraan gesaan bertujuan untuk mengoptimumkan output LLM, ia berbeza dalam skop, sifat, dan matlamat. Perbandingan peringkat sistem menyerlahkan perbezaan ini:
- Skop: Kejuruteraan gesaan memfokuskan pada mengoptimumkan interaksi tunggal atau rentetan teks, manakala kejuruteraan konteks memfokuskan pada keseluruhan ekosistem maklumat, meliputi kitaran hayat tugas yang lengkap.
- Dinamisme: Gesaan biasanya statik, manakala konteks dijana secara dinamik berdasarkan tugas dan berkembang semasa interaksi.
- Komposisi Input: Jurutera gesaan membina input di sekitar pertanyaan pengguna, manakala jurutera konteks melihat pertanyaan pengguna sebagai hanya sebahagian daripada "pakej konteks" yang lebih besar yang merangkumi arahan sistem, dokumen yang diambil, output alatan, dan sejarah perbualan.
- Analogi: Jika gesaan adalah seperti satu baris dalam drama, konteks ialah keseluruhan set filem, kisah latar, dan skrip, bersama-sama memberikan kedalaman dan makna.
Jadual di bawah membandingkan lagi kedua-duanya:
Kejuruteraan Gesaan lwn. Kejuruteraan Konteks
Dimensi | Kejuruteraan Gesaan | Kejuruteraan Konteks |
---|---|---|
Skop | Interaksi tunggal, rentetan input tunggal | Aliran kerja ejen pintar keseluruhan, ekosistem maklumat penuh |
Sifat | Statik atau separa statik, berasaskan templat | Dinamik, dipasang dalam masa nyata, berkembang dengan tugas |
Matlamat | Membimbing LLM untuk memberikan jawapan berkualiti tinggi | Memperkasakan LLM untuk menyelesaikan tugas kompleks dengan pasti secara berterusan |
Produk Teras | Templat gesaan yang dioptimumkan, set arahan | Saluran data, sistem RAG, modul memori, pengurus negeri |
Kemahiran Teras | Linguistik, penaakulan logik, reka bentuk arahan | Seni bina sistem, kejuruteraan data, pembangunan perisian |
Analogi Teras | Mengemukakan soalan yang tepat | Membina perpustakaan yang komprehensif untuk penyelidik |
Mentakrifkan Semula Kejuruteraan AI
Peralihan daripada kejuruteraan gesaan kepada kejuruteraan konteks ini membentuk semula peranan jurutera AI. Kejuruteraan gesaan memfokuskan pada menyempurnakan rentetan input, yang memerlukan kemahiran dalam linguistik dan logik. Walau bagaimanapun, apabila tugas menjadi membina sistem yang memasang input ini secara dinamik daripada pangkalan data, API dan memori, kemahiran teras beralih kepada kejuruteraan perisian dan seni bina sistem.
Rangka kerja seperti LangChain dan LlamaIndex adalah popular kerana ia menyokong kejuruteraan konteks, menawarkan corak seni bina untuk membina sistem pemasangan konteks dinamik, seperti Rantai, Graf dan Ejen.
Kebangkitan kejuruteraan konteks menandakan peralihan dalam pembangunan AI daripada bidang khusus yang berpusatkan model kepada disiplin kejuruteraan perisian arus perdana. Cabaran utama bukan sahaja model itu sendiri tetapi keseluruhan timbunan aplikasi yang dibina di sekelilingnya.
Konteks: Pembedahan dan Prinsip
Bahagian ini memperincikan komponen "konteks" dan menggariskan prinsip untuk pengurusan yang berkesan.
Menghuraikan Tetingkap Konteks
Tetingkap konteks ialah jumlah maklumat yang model boleh "lihat" atau "ingat" apabila menjana respons. "Pakej konteks" yang lengkap ialah jumlah semua maklumat yang disediakan.
- Arahan/Gesaan Sistem: Lapisan asas ini mentakrifkan tingkah laku model, menetapkan peranannya, gaya, peraturan, kekangan, dan objektif.
- Gesaan Pengguna: Soalan atau arahan tugas langsung yang mencetuskan ejen pintar.
- Sejarah Perbualan/Memori Jangka Pendek: Pertukaran sebelumnya menyediakan konteks langsung, diurus melalui pemangkasan atau ringkasan disebabkan oleh batasan tetingkap konteks.
- Memori Jangka Panjang: Pangkalan pengetahuan berterusan yang merekodkan maklumat yang dipelajari daripada interaksi, seperti keutamaan pengguna, ringkasan projek, atau fakta yang diberitahu secara jelas untuk diingati.
- Maklumat yang Diperoleh/RAG: Untuk mengatasi pemotongan pengetahuan dan memastikan respons berasaskan fakta, sistem mengambil maklumat yang relevan secara dinamik daripada sumber pengetahuan luaran.
- Alatan Tersedia: Mentakrifkan skema dan perihalan fungsi boleh panggil atau alatan terbina dalam, memberikan model kuasa untuk bertindak, bukan sahaja tahu.
- Output Alatan: Hasil daripada panggilan alatan mesti disuntik semula ke dalam konteks untuk model digunakan dalam penaakulan dan tindakan seterusnya.
- Skema Output Berstruktur: Mentakrifkan format output yang dijangkakan (seperti Skema JSON) untuk membimbing hasil berstruktur dan boleh diramal.
Rangka Kerja "LLM sebagai Sistem Pengoperasian"
Analogi ini menyediakan rangka kerja teori yang kukuh untuk memahami dan mempraktikkan pengurusan konteks.
LLM sebagai CPU, Tetingkap Konteks sebagai RAM: Analogi ini meletakkan tetingkap konteks sebagai sumber yang terhad dan berharga. Kejuruteraan konteks adalah seperti pengurusan OS, memuatkan maklumat yang betul dengan cekap pada masa yang sesuai ke dalam memori kerja.
Konteks Kernel lwn. Konteks Pengguna: Rangka kerja ini membahagikan konteks kepada dua lapisan; serupa dengan ruang kernel dan ruang pengguna.
- Konteks Kernel: Mewakili negeri ejen pintar yang diurus, berubah-ubah, berterusan. Ia merangkumi blok memori teras dan sistem fail yang boleh diperhatikan oleh LLM, tetapi hanya boleh mengubah melalui "panggilan sistem" terkawal.
- Konteks Pengguna: Mewakili "ruang pengguna" atau penimbal mese