Apa arti kode LLM untuk masa depan pengembangan perangkat lunak

Kita telah memasuki era kode penulisan bersama mesin.

Ketika ChatGPT dari OpenAI pertama kali memasuki kancah teknologi, alat ini meluncurkan era AI generatif, dengan pembuatan kode sebagai salah satu contoh penggunaan paling awal. Kemudian diikuti oleh asisten pengodean kecerdasan buatan (AI), mulai GitHub Copilot sebagai perintis hingga yang lainnya seperti Amazon Q Developer, Claude Code dari Anthropic, Gemini Code Assist dari Google, IBM Bob, dan Mistral Code.

Namun di bawah alat pengodean ini terdapat teknologi yang tangguh: model bahasa besar (LLM) untuk kode. Dan mereka mengubah cara pembuatan perangkat lunak.

Kami berbicara dengan beberapa pakar IBM untuk mendapatkan informasi mendalam tentang bagaimana LLM kode mengubah peran pengembang perangkat lunak dan perkiraan mereka tentang masa depan semua model ini. Yang berikut ini akan berbagi insight mereka:

  • Fumiko Satoh, Senior Technical Staff Member and Senior Manager, AI untuk Kode dan Keamanan

Apa itu LLM untuk kode?

LLM Kode adalah model khusus yang dilatih pada kode sumber. Mereka dapat dibangun dari awal atau dibuat dari model yang telah dilatih sebelumnya yang disempurnakan pada kumpulan data pengodean. Data pelatihan ini harus berkualitas tinggi dan cukup beragam untuk memastikan LLM kode dapat menangani berbagai skenario pengodean dalam bahasa pemrograman yang berbeda.

Karena LLM untuk kode biasanya berasal dari model AI yang dirancang untuk pemrosesan bahasa alami (NLP), mereka sering kali mengambil deskripsi bahasa alami sebagai prompt. Mereka mampu menyelesaikan tugas pengodean dunia nyata ini:

  • Penyelesaian kode (dikenal juga sebagai penyelesaian otomatis)

  • Ringkasan kode

  • Menghasilkan dokumentasi (sebagai komentar dalam baris untuk cuplikan kode)

  • Menyarankan pengoptimalan kode

  • Menerjemahkan kode yang ada dari satu bahasa pemrograman ke bahasa pemrograman lainnya (seperti dari Python ke JavaScript)

Beberapa contoh populer dari LLM kode termasuk CodeGemma dari Google, Code Llama dari Meta, dan Codestral dan Devstral dari Mistral. Sementara itu, model kode sumber terbuka termasuk DeepSeek Coder, IBM Granite Code, dan Qwen3 Coder.

LLM lain yang tidak hanya digunakan untuk pemrograman tetapi telah dilatih dan dioptimalkan untuk pengodean termasuk Claude Sonnet dan Opus dari Anthropic dan Gemini Pro dari Google.

Akademi AI

Menjadi pakar AI

Raih pengetahuan demi memprioritaskan investasi AI yang mendorong pertumbuhan bisnis. Mulai dengan Akademi AI gratis kami hari ini dan pimpin masa depan AI di organisasi Anda.

Perubahan peran pengembang perangkat lunak

LLM Kode memudahkan akses ke pembuatan perangkat lunak, mendukung pengembang bukan dari kalangan TI, pakar domain, dan pengembang nontradisional lainnya yang tidak memiliki pendidikan atau pelatihan formal di bidang ilmu komputer. Mereka memungkinkan pembuatan prototipe yang cepat, siklus iterasi yang lebih cepat, dan orientasi yang lebih cepat untuk insinyur perangkat lunak baru.

Selain mentransformasi pengembangan perangkat lunak, LLM kode mengubah peran pengembang perangkat lunak.

Dari level rendah ke level tinggi

Menurut El Maghraoui, insinyur perangkat lunak berkembang dari pembuat kode menjadi pengelola kode. "Meskipun pengodean tetap penting, penekanannya bergeser ke arah rekayasa prompt. Bagaimana kita menyusun pertanyaan yang tepat dalam konteks LLM ini? Dan alih-alih menulis setiap baris kode, para pengembang semakin mengatur kode buatan AI, menyatukan tiap bagiannya."

Namun, evolusi ini hanyalah ujung gunung es. El Maghraoui meyakini bahwa peran pengembang akan berkembang menjadi apa yang dia sebut sebagai “rekayasa yang digerakkan oleh tujuan.” Konsepnya adalah menjauh dari sintaks dan berfokus pada struktur, meninggalkan detail yang lebih halus dan memiliki perspektif lebih luas ke konteks yang lebih menyeluruh, dan beralih dari apa ke mengapa, menyoroti tujuan, hasil, dan dampak.

Bagi McGinn, LLM kode dapat diperlakukan sebagai pustaka yang diimpor ke dalam program. “Masalah dapat diselesaikan lebih cepat dengan cara yang sama seperti pustaka membantu kita sebagai insinyur untuk menggunakan fungsionalitas yang sudah dibuat dan tidak perlu menciptakan kembali hal yang sudah ada.”

Gambaran ini selaras dengan komputasi generatif. Dalam kerangka kerja ini, model kode diintegrasikan ke dalam sistem sebagai komponen dan ditangani seperti antarmuka yang dapat diprogram. Dengan demikian, model ini dapat menghilangkan tugas tingkat rendah, dengan pengembang mengarahkan lebih banyak upaya mereka ke pemecahan masalah tingkat tinggi.

“Mereka perlu mempertimbangkan pemikiran desain ketimbang menulis kode,” kata Satoh. “Kita membutuhkan insinyur tingkat tinggi yang dapat menciptakan arsitektur suatu sistem.”

Ini adalah peran yang semakin multidisiplin, tidak hanya menggabungkan desain dan arsitektur tetapi juga dimensi lain seperti etika dan keamanan. “Peran ini tidak terlalu manual dan terdapat lebih banyak otomatisasi, tetapi lebih strategis,” kata El Maghraoui. “Anda memadukan rekayasa perangkat lunak dengan pemikiran tingkat sistem, pemikiran produk, dan penalaran etis. Sekarang kita tidak hanya melek pengodean—kami menjadi insinyur yang melek AI dan memprioritaskan AI.”

Ini membuka jalan untuk meningkatkan keterampilan pada tugas dengan tingkat yang lebih tinggi, terutama bagi pengembang junior. “Tujuan dari banyak tolok ukur adalah untuk mencapai tingkat fungsionalitas pengembang junior. Jadi jika itu adalah metrik yang kami tuju, konsepnya adalah untuk mengurangi kebutuhan akan banyak pengembang junior,” kata McGinn. “Kami membutuhkan orang dengan level yang lebih dalam daripada pengembang junior, atau mereka mungkin tidak perlu melalui peran pengembang junior lagi untuk memahami apa yang dilakukan pengembang senior.”

Pembuat kode manusia harus tetap terlibat

Panda mencatat bahwa seperti halnya model bahasa besar lainnya, LLM kode memiliki kekurangan. Dia menyarankan untuk berhati-hati dalam hal hak cipta, bias, dan keamanan, terutama ketika mengerjakan aplikasi penting di sektor seperti keuangan dan layanan kesehatan.

“Anda tidak bisa hanya mengandalkan mereka secara membabi buta,” kata Panda. “Jangan mempercayai begitu saja kode yang dihasilkan.”

Bentuk keraguan ini juga harus dipasangkan dengan mekanisme pengoptimalan kinerja dan langkah-langkah validasi untuk memverifikasi kesesuaian dan akurasi. “Anda harus tetap memastikan bahwa Anda menulis kasus uji dan memeriksa kode secara menyeluruh seperti yang akan Anda lakukan dalam penulisan kode secara manual,” kata McGinnis.

El Maghraoui menekankan dukungan dari LLM kode ketimbang bergantung padanya. “Jika kita menggunakannya sebagai alat bantu pengajaran atau rekan programer atau pembuat ide, mereka dapat meningkatkan pembelajaran, kreativitas, dan produktivitas kita. Tetapi jika kita menggunakannya sebagai penopang—tanpa introspeksi maupun validasi—mereka dapat mengikis penilaian dan akuntabilitas kita.”

Pemrograman dasar bahkan lebih penting lagi

Validasi hanya memungkinkan jika pengembang memahami prinsip komputasi yang mendasarinya. Lagi pula, jika Anda tidak memahami dasar-dasar pemrograman, bagaimana Anda bisa mengonfirmasi validitas kode yang dihasilkan oleh model ini?

“Ini adalah pengodean cepat tetapi tidak selalu kuat atau benar atau aman,” kata El Maghraoui. Dia menambahkan bahwa menggunakan kode yang dibuat mentah-mentah bisa berbahaya. “Ini dapat menyebabkan kerapuhan dalam basis kode. Jika Anda terlalu mengandalkan model ini atau mempercayai output mereka secara berlebihan, ini dapat menyebarkan bug atau inefisiensi halus, terutama dalam sistem yang penting. Karena itulah penting untuk memahami apa yang terjadi.”

Di sinilah keahlian mendalam berperan yang dimungkinkan oleh konsep dasar pengembangan perangkat lunak.

“Di sekolah, kami masih mengajarkan orang untuk melakukan pembagian panjang secara manual, tetapi apa gunanya jika mereka akan menggunakan kalkulator? Begitu juga dengan pengodean. Apa bagian dasar yang menurut kami penting untuk memahami apa yang sedang terjadi?” kata McGinn.

Beberapa dasar teknis ini dapat mencakup compiler, arsitektur komputer, basis data, manajemen memori, dan sistem operasi. “Pengembang mungkin mulai melewatkan mempelajari semua konsep ini secara mendalam karena LLM kode menghilangkannya,” kata El Maghraoui. Namun, penting untuk memahami sistem internal pengembangan perangkat lunak karena implikasinya pada fungsionalitas dan kinerja kode sumber, tambahnya.

Dan meskipun LLM kode dapat mengurangi biaya overhead kognitif melalui otomatisasi tugas berulang, mereka juga berpotensi meningkatkan “penyusutan kognitif,” sebagaimana El Maghraoui menyebutnya. Dia menyamakannya dengan penggunaan GPS secara lebih luas yang mengikis kepekaan menavigasi alami kita. “Jika pengembang sangat bergantung pada saran kode, mereka akan kurang terampil dalam melakukan debug. LLM Kode dapat melemahkan kemampuan kita untuk berpikir secara algoritmik jika tidak diseimbangkan dengan praktik dasar atau pengetahuan dasar.”

Prediksi untuk kemajuan besar berikutnya dari LLM kode

Seiring dengan kemajuan LLM kode, mereka akan meluncurkan berbagai fitur baru dan bahkan contoh penggunaan baru, seperti yang ditunjukkan oleh tren pengodean vibe. Jadi, bagaimana masa depan model ini pada masa depan? Pakar kami memaparkan prediksi mereka.

Kebangkitan agen

Dunia dipenuhi dengan pembicaraan tentang agen AI yang mengubah masa depan pekerjaan di hampir setiap industri—termasuk pengembangan perangkat lunak.

“Saya melihat pergeseran ke arah sistem pengodean multiagen ini dengan basis kode pemulihan mandiri,” kata El Maghraoui. Sistem AI agen ini sudah mulai berkembang. Misalnya, agen rekayasa perangkat lunak (SWE) IBM dapat secara mandiri menyelesaikan masalah GitHub dengan terlebih dahulu “melokalisasi” ke tempat bug berada dalam basis kode, kemudian mengedit baris kode tersebut untuk menyelesaikannya.

Kecil dan berkelanjutan

McGinn mengharapkan strategi yang lebih hemat energi “di mana tidak semua hal dilakukan oleh model terbesar, tetapi kita dapat menghemat energi dengan pendekatan agen yang lebih kecil” yang mencakup agen berbeda yang memenuhi tugas pemrograman tertentu.

Panda juga bersemangat untuk membuat model bahasa kecil (SLM) seperti Granite Code tersedia pada perangkat dengan sumber daya terbatas seperti laptop dan perangkat edge. “Pada saat yang sama, ada beberapa hal yang sulit dipecahkan SLM, jadi model Granite yang lebih besar akan memainkan perannya dalam situasi ini. Ini adalah keseimbangan antara beberapa model, bukan hanya satu model yang akan memecahkan semua masalah.”

Peningkatan memori dan penalaran

Mengintegrasikan memori kontekstual dan penalaran ke dalam LLM kode adalah peningkatan lain yang perlu diperhatikan, kata El Maghraoui. “Mereka dapat mengingat seluruh riwayat proyek dan bagaimana perkembangannya. Ini memungkinkan saran yang lebih baik untuk masa depan.”

Komponen penalaran membantu dalam “tugas berdurasi panjang,” sebagaimana Panda menyebutnya. “LLM Kode akan berinteraksi dengan repositori kode Anda untuk mengambil banyak tindakan secara berurutan, bukan hanya satu tindakan komprehensif. LLM kode Anda hanya dapat melakukan semua tugas ini jika memiliki kemampuan penalaran yang kuat.

Lingkungan dan penerapan pengembang yang terus berkembang

Lingkungan pengembangan terintegrasi (IDE) saat ini menggabungkan model kode dan asisten pengodean sebagai layanan atau plug-in. Tetapi IDE masa depan mungkin akan mendorong menuju lingkungan pengembang di mana AI merupakan komponen inti. “Kita akan melihat IDE ini dirancang ulang dengan LLM kode dari bawah ke atas—tidak hanya sebagai plug-in tetapi sebagai bagian dari intinya,” kata El Maghraoui.

Dia juga melihat peningkatan penerapan infrastruktur pribadi LLM kode sebagai tren yang berkembang. Misalnya, asisten Mistral Code AI, didukung oleh Codestral dan Devstral, mendukung penerapan on premises.

"Penerapan pribadi untuk LLM kode ini dipercepat oleh masalah kinerja, biaya, dan privasi," kata El Maghraoui. "Perusahaan ingin menghindari pengiriman kode berpemilik ke API pihak ketiga. Penerapan pribadi memastikan kode sumber, pustaka internal, dan jejak tumpukan tidak pernah meninggalkan jaringan internal perusahaan. Ada juga masalah kepatuhan terhadap peraturan, terutama di bidang keuangan atau layanan kesehatan, dan biaya untuk menjalankan contoh penggunaan dengan throughput tinggi secara internal bisa lebih murah dalam skala besar."

Menjembatani kesenjangan pengodean dan pengujian

Menulis kode dan membuat tes adalah bagian berbeda dari proses pengembangan perangkat lunak. Satoh membayangkan bagaimana LLM kode membantu menghubungkan kedua tahap ini dengan lancar, membantu dalam pembuatan kode dan pembuatan pengujian.

“Kita harus menghubungkan mereka dengan model yang sama untuk membuat produk yang mulus,” katanya. Satoh menjelajah lebih jauh, memperkirakan bahwa model kode akan “mendukung seluruh siklus proses pengembangan perangkat lunak,” termasuk fase sebelumnya seperti spesifikasi persyaratan dan desain.

Namun ke mana pun era kode yang ditulis bersama dengan mesin ini membawa kita, El Maghraoui akan tetap mengambil sikap berhati-hati namun optimis. “Ini seperti pisau dengan dua sisi. Ini bisa menjadi sesuatu yang merugikan kita sebagai pengembang atau sesuatu yang membantu kita. Jadi, sangat penting untuk memahami cara menggunakan LLM kode ini dengan benar sehingga Anda tidak kehilangan keunggulan tetapi justru menjadi lebih kreatif." Dan dia meyakini bahwa mereka yang kemungkinan akan berkembang adalah “pengembang dan perusahaan yang merangkul alur kerja ini dan memperlakukan AI tidak hanya sebagai alat, tetapi sebagai mitra.”

Techsplainers | Podcast

Dengarkan: 'Apa arti LLM kode untuk masa depan pengembangan perangkat lunak'

Ikuti Techsplainers: Spotify dan Apple Podcasts

Penyusun

Rina Diane Caballar

Staff Writer

IBM Think

Cole Stryker

Staff Editor, AI Models

IBM Think

Solusi terkait
IBM Bob

Percepat pengiriman perangkat lunak dengan Bob, mitra AI Anda untuk pengembangan yang aman dan memahami maksud.

Jelajahi IBM® Bob
Solusi pengodean AI

Optimalkan upaya pengembangan perangkat lunak dengan alat berbasis AI tepercaya yang meminimalkan waktu yang dihabiskan untuk menulis kode, debugging, pemfaktoran ulang kode, atau penyelesaian kode dan membuat lebih banyak ruang untuk inovasi.

Jelajahi solusi pengodean AI
Konsultasi dan layanan AI

Ciptakan kembali alur kerja dan operasi yang penting dengan menambahkan AI untuk memaksimalkan pengalaman, pengambilan keputusan secara waktu nyata, dan nilai bisnis.

Jelajahi layanan konsultasi AI
Ambil langkah selanjutnya

Manfaatkan AI generatif dan otomatisasi canggih untuk membuat kode perusahaan siap pakai lebih cepat. Model Bob untuk menambah keahlian pengembang, menyederhanakan dan mengotomatiskan upaya pengembangan dan modernisasi Anda.

  1. Jelajahi IBM Bob
  2. Jelajahi solusi pengodean AI