Indeks

Buat kode dengan cepat menggunakan AI generatif, tetapi berhati-hatilah dengan apa yang terjadi saat Anda melakukannya

Yaroslav Kushta/Getty Images

Saat ini, pengembang dapat beralih ke kecerdasan buatan generatif (GenAI) untuk membuat kode lebih cepat dan efisien, namun mereka harus melakukannya dengan lebih hati-hati dan lebih sedikit dibandingkan sebelumnya.

Meskipun penggunaan AI dalam pengembangan perangkat lunak mungkin bukan hal baru – ini sudah ada sejak tahun 2019 – GenAI membawa perubahan signifikan dalam produksi bahasa alami, gambar, dan – segera – video serta objek lainnya, termasuk kode, Diego Lo Giudice, wakil Forrester presiden dan peneliti senior, mengatakan kepada ZDNET.

Juga: Mengapa masa depan harus BYO AI: Penguncian model menghambat pengguna dan menghambat inovasi

Iterasi AI sebelumnya sebagian besar digunakan untuk pengujian kode, dengan pembelajaran mesin membantu mengoptimalkan contoh metode pengujian, kata Giudice kepada ZDNET. Jika diterapkan pada semua skenario ini, GenAI dapat melakukan lebih dari sekadar membantu pengambilan keputusan dan meningkatkan pembuatan kode.

Menurut Giudice, GenAI memberikan akses kepada psikolog atau ahli (seperti tester atau analis bisnis) dalam suatu proses pengembangan yang dapat diinterogasi untuk mendapatkan informasi lebih lanjut dengan cepat. GenAI juga dapat memberikan jawaban dan tes latihan.

“Untuk pertama kalinya, kami melihat manfaat besar yang belum diberikan oleh AI tradisional dan teknologi lainnya,” katanya.

AI dapat digunakan dalam semua aspek pengembangan perangkat lunak, dengan “TuringBot” khusus untuk setiap tahap guna meningkatkan tata letak dan platform teknologi, katanya.

TuringBots, istilah yang diciptakan Forrester, didefinisikan sebagai perangkat lunak AI yang membantu pengembang membuat, menguji, dan menerapkan kode. Perusahaan riset percaya bahwa TuringBots akan mendorong pengembangan perangkat lunak generasi baru, membantu di setiap tahap pengembangan, termasuk memeriksa dokumen teknis dan tanda akhir secara otomatis.

“Analisis/koreksi TuringBots,” misalnya, membantu menganalisis dan merencanakan fase pengembangan perangkat lunak, kata Giudice, sambil menunjuk pada ChatGPT dan Atlassian Intelligence OpenAI sebagai contoh produk AI tersebut. Lainnya, seperti Gemina Advanced dari Google Cloud, dapat mendesain layanan mikro dan API menggunakan kode, sementara Microsoft Sketch2Code dapat mendesain dari kode UI tulisan tangan, katanya.

Juga: Menerapkan AI dalam perangkat lunak rekayasa? Inilah semua yang perlu Anda ketahui

Giudice menambahkan bahwa “coder TuringBots” saat ini merupakan cara paling populer untuk menggunakan GenAI dalam pemrograman, menghasilkan kode dari informasi dan dari sistem serta umpan balik melalui penyelesaian alat pengembangan populer (IDE). Ini termasuk bahasa populer seperti JavaScript, C++, Python, dan Rust.

Daya tarik utama dari model produksi adalah mereka dapat menulis kode dalam banyak bahasa, memungkinkan pengembang dengan cepat memasukkan dan membuat serta memodifikasi baris kode, kata Michael Bachman, kepala arsitek dan strategi AI Boomi. “Memang semua orang yang berinteraksi dengan GenAI adalah orang-orang yang beradab dan beradab,” ujarnya.

Vendor perangkat lunak ini mengintegrasikan GenAI ke dalam beberapa produknya, termasuk Boomi AI, yang menerjemahkan permintaan biologis menjadi tindakan. Ini dapat digunakan untuk membuat metode integrasi, API, dan model data untuk mengintegrasikan aplikasi, data, dan proses, menurut Boomi.

Perusahaan menggunakan GenAI untuk membantu pengembangnya, yang mengawasi kode yang menjalankan platformnya.

Juga: Bisakah AI menjadi pemain publik dalam pengembangan perangkat lunak kolaboratif?

“Dan itulah kuncinya,” kata Bachman. “Jika Anda menggunakan GenAI sebagai titik awal untuk membangun keseluruhan aplikasi, Anda mungkin akan kecewa. Pengembang yang baik menggunakan GenAI sebagai titik awal atau untuk mencoba skenario kegagalan terbaik, sebelum Anda membuat kode. Berikut ini bagaimana melakukannya. Kami menanganinya secara internal.”

Timnya juga berupaya menciptakan produk untuk memenuhi “tujuan AI yang berguna” klien mereka. Misalnya, Boomi sedang mengembangkan sistem pengiriman karena banyak pelanggannya ingin mengubah pencarian kata kunci mereka untuk mencari konten, seperti katalog di situs web mereka, dalam bahasa alami.

GenAI juga dapat digunakan untuk meningkatkan keamanan, kata Giudice, sambil mencari kelemahan dalam kode yang dihasilkan AI dan menyarankan cara untuk membantu pengembang memperbaiki masalah lainnya.

Dibandingkan dengan codec tradisional, proses pengembangan resolusi nol atau rendah dapat memberikan kecepatan, stabilitas kualitas, dan fleksibilitas, kata analis senior Forrester John Bratincevic.

Selain itu: Selain perangkat lunak: AI menghadirkan tanggung jawab generasi baru

Ia juga menawarkan program pengembangan perangkat lunak terintegrasi dan akses ke talenta tambahan yang mencakup non-coder dan “pengembang warga” di luar komunitas TI, kata Bratincevic.

Namun, organisasi mungkin menghadapi tantangan dalam hal tata kelola dan manajemen administrasi administrasi administrasi. Penetapan harga juga bisa menjadi penghalang karena seringkali didasarkan pada jumlah pengguna dan hal ini dapat mengurangi adopsi, katanya.

Meskipun asisten perangkat lunak GenAI atau AI dapat membantu profesional muda mengisi kesenjangan bakat, termasuk di bidang keamanan siber, Giudice mengatakan pengawasan profesional sangat penting untuk kedua pekerjaan tersebut.

Bratincevic setuju, menekankan perlunya pemrogram dan peran lain dalam program pengembangan perangkat lunak untuk meninjau semua yang dibuat atau diotomatisasi oleh platform melalui AI.

“Kita belum mencapainya, dan mungkin tidak akan pernah sampai pada titik dimana kita sepenuhnya mempercayai AI dalam pengembangan perangkat lunak,” katanya.

Pertama, ada persyaratan keamanan yang perlu dipertimbangkan, menurut Scott Shaw, CTO Thoughtworks untuk Asia-Pasifik. Seorang pengembang selalu menguji alat-alat baru untuk meningkatkan efisiensi, baik itu dalam IDE atau untuk mendukung cara kerja pengembang. Perusahaan melakukan hal ini sesuai dengan kebutuhan pelanggannya dan dengan izin mereka, kata Shaw dalam wawancara video, seraya mencatat bahwa beberapa bisnis masih ragu untuk menggunakan GenAI.

Juga: Berjuang untuk beradaptasi dengan AI? Mengapa skeptisisme adalah pertahanan terbaik Anda

“Apa yang kami alami adalah alat penulisan perangkat lunak (yang didukung GenAI) (saat ini) tidak sadar akan keamanan dan (kompatibel) dengan sistem keamanan,” katanya. Misalnya, pengembang yang bekerja di organisasi yang berada di lingkungan data yang aman atau sensitif mungkin perlu menerapkan langkah-langkah dan kontrol keamanan tambahan sebagai cara untuk menghadirkan perangkat lunak mereka.

Menggunakan pengkodean berbantuan dapat melipatgandakan produktivitas, namun pengembang harus bertanya apakah mereka dapat sepenuhnya menguji kode dan memenuhi persyaratan saluran, katanya.

Ini adalah pedang bermata dua: Organisasi perlu melihat bagaimana GenAI dapat meningkatkan proses bisnis mereka sehingga hal-hal yang mereka buat menjadi lebih aman, dan – pada saat yang sama – bagaimana AI menghadirkan ancaman keamanan dengan vektor dan tantangan baru.

Karena memberikan begitu banyak cakupan, GenAI meningkatkan segala hal yang dilakukan organisasi, termasuk potensi risiko, kata Shaw. Banyak kode yang dapat dibuat dengannya, yang berarti jumlah risiko yang mungkin terjadi akan meningkat secara signifikan.

Ketahui model AI Anda

Meskipun platform tingkat rendah dapat menjadi dasar yang baik bagi GenAI Turingbots untuk mendukung pengembangan perangkat lunak, Bratincevic mengatakan bahwa organisasi harus mengetahui bahasa utama (LLM) yang digunakan dan memastikan bahwa bahasa tersebut kompatibel dengan kebijakan perusahaan mereka.

Dia mengatakan para pemain GenAI “sangat berbeda” dalam hal ini, dan mendesak perusahaan untuk mempertimbangkan merek dan perjanjian lisensi jika menggunakan LLM publik seperti ChatGPT OpenAI.

Juga tidak! Microsoft Copilot gagal dalam setiap upaya yang saya lakukan

Ia menambahkan, alat GenAI untuk menghasilkan kode atau komponen pemrograman dari bahasa alami belum matang. Mereka melihat adanya peningkatan jumlah anak di kalangan pengembang warga (citizen developer) namun mereka tidak dapat menarik tenaga profesional kreatif.

Bratincevic mengatakan: “Saat ini, platform yang terbukti dan terhubung dengan baik dengan kode rendah termasuk GenAI adalah pilihan yang lebih cerdas daripada platform non-standar atau ringan yang membahas permainan bagus tentang AI.”

Meskipun LLM sedang mengerjakan pengkodean tingkat lebih lanjut, kita masih perlu mengetahui apa yang dibutuhkan dan menyediakan sumber daya, keahlian, dan koreksi kesalahan yang diperlukan untuk memastikan bahwa hasilnya benar, kata Bachman.

Pengembang juga harus ingat untuk berbagi data pribadi dan kekayaan intelektual (IP), terutama dengan alat sumber terbuka, katanya. Mereka harus menghindari penggunaan IP pribadi seperti kode dan koin untuk memastikan bahwa mereka tidak melatih GenAI mereka menggunakan IP organisasi lain atau sebaliknya. “Dan jika Anda memutuskan untuk menggunakan LLM terbuka, pastikan sudah teruji dengan baik sebelum melakukannya,” tambahnya.

Juga: GitHub merilis alat bertenaga AI untuk ‘cara baru membangun perangkat lunak’

“Saya akan membuat kesalahan dengan bersikap terlalu ceroboh terhadap model yang digunakan untuk melatih alat GenAI. Jika Anda ingin model tersebut bernilai, Anda perlu menyiapkan saluran yang tepat. Jika Anda tidak melakukan itu, GenAI dapat menyebabkan lebih banyak dampak buruk. .lebih banyak masalah,’ dia memperingatkan.

Ini masih tahap awal dan teknologi terus berkembang; dampaknya terhadap perkembangan peran — termasuk pemrogram — tidak dapat diprediksi.

Misalnya, asisten kode AI dapat mengubah cara penilaian keterampilan. Shaw menyindir: akankah pembangun terlihat lebih baik karena mereka tahu lebih banyak atau karena mereka dapat mengingat semua rangkaiannya?

Saat ini, ia meyakini potensi terbesar adalah kemampuan GenAI dalam merangkum informasi, memberikan informasi yang lebih baik bagi pengembang untuk memahami bisnis. Mereka kemudian dapat menerjemahkan informasi tersebut ke dalam instruksi spesifik, sehingga mesin dapat melakukan pekerjaan dan menciptakan produk yang diinginkan pelanggan.

Exit mobile version