Jadual Kandungan
Pakar percaya: Pengaturcara manusia tidak akan kehilangan pekerjaan mereka disebabkan penjanaan kod AI
Rumah Peranti teknologi AI Adakah ia satu pencapaian atau kelemahan? Pertikaian antara alat penjanaan kod AI dan pengaturcara

Adakah ia satu pencapaian atau kelemahan? Pertikaian antara alat penjanaan kod AI dan pengaturcara

Apr 08, 2023 pm 09:11 PM
pengaturcaraan ai

Adakah pengaturcara ditakdirkan untuk diganti? Komuniti pengaturcaraan komputer telah dicengkam oleh soalan ini sejak model bahasa berskala besar OpenAI GPT-3 menunjukkan keupayaan yang menakjubkan untuk mencipta laman web HTML berdasarkan arahan bertulis yang mudah.

Dalam beberapa bulan sejak itu, anda boleh menulis program komputer yang ringkas tetapi lengkap berdasarkan penerangan bahasa semula jadi (bahasa manusia lisan atau bertulis) dan mempercepatkan kerja pengaturcaraan automatik pembantu. Sejauh manakah AI akan menggantikan atau meningkatkan kerja pengaturcara?

IEEE Spectrum bertanya kepada beberapa pakar tentang perkara ini, dan berita buruknya ialah pengaturcaraan mungkin ditakdirkan untuk diganti. Tetapi berita baiknya ialah ia kelihatan seperti pengaturcaraan komputer dan pembangunan perisian akan kekal sebagai pekerjaan yang sangat melibatkan manusia untuk masa hadapan. Pada masa yang sama, penjanaan kod automatik berkuasa AI semakin mempercepatkan pembangunan perisian dengan membenarkan lebih banyak kod ditulis dalam masa yang lebih singkat.

Vasi Philomin, Naib Presiden Amazon AI Services, berkata, "Saya tidak percaya AI akan menggantikan sepenuhnya pembangun manusia. Alat AI boleh membebaskan pengaturcara daripada tugas harian, tetapi pengaturcaraan komputer Kreatif pekerjaan ada di sini untuk kekal. Sebaliknya, mereka perlu memahami semantik, konsep, dan urutan logik mencipta program komputer, yang akan membuka pembangunan perisian kepada populasi yang lebih luas.

Pengaturcaraan komputer menjadi semakin pintar dan automatik

Apabila pengaturcaraan komputer elektronik bermula pada tahun 1940-an, pengaturcara menulis menggunakan kod mesin digital. Hanya pada pertengahan 1950-an Grace Hopper, seorang saintis komputer wanita Amerika yang terkenal, dan pasukannya di Syarikat Remington Rand membangunkan FLOW-MATIC, yang membenarkan pengaturcara menulis program menggunakan perbendaharaan kata bahasa Inggeris yang terhad.

Sejak itu, bahasa pengaturcaraan menjadi lebih cekap dan pengaturcara menjadi lebih cekap dalam kerja mereka.

Kod bertulis AI berada di barisan hadapan dalam perubahan yang lebih luas, membolehkan orang ramai menulis perisian tanpa pengekodan sama sekali. Kini terdapat platform pembangunan AI tanpa kod seperti Akkio yang membolehkan orang ramai membina model pembelajaran mesin dengan fungsi seret dan lepas dan klik butang yang mudah. Platform Kuasa Microsoft termasuk satu siri produk kod rendah yang membolehkan pengguna menjana aplikasi mudah hanya dengan menerangkannya.

Adakah ia satu pencapaian atau kelemahan? Pertikaian antara alat penjanaan kod AI dan pengaturcaraPada bulan Jun tahun ini, Amazon melancarkan versi pratonton CodeWhisperer, pembantu pengaturcaraan berasaskan pembelajaran mesin yang serupa dengan Copilot untuk GitHub. Kedua-dua alatan adalah berdasarkan model bahasa besar (LLM), yang telah dilatih berdasarkan asas kod besar-besaran. Semasa pengaturcara menulis kod, kedua-dua CodeWhisperer dan Copilot menyediakan cadangan autolengkap dan mencadangkan arahan boleh laku berdasarkan frasa bahasa semula jadi yang mudah.

Adakah ia satu pencapaian atau kelemahan? Pertikaian antara alat penjanaan kod AI dan pengaturcaraBeberapa hari lalu, GitHub telah menjalankan tinjauan di kalangan 2,000 pembangun dan mendapati bahawa masa Tugas Copilot dipotong separuh dan kepuasan keseluruhan pemaju dengan pekerjaan mereka meningkat.

Melebihi pelengkapan automatik kod bukanlah mudah

Tetapi jika anda ingin melampaui pelengkapan automatik, masalahnya ialah mengajar niat kepada komputer. Keperluan perisian selalunya kabur, dan bahasa semula jadi terkenal tidak tepat.

Diffblue, syarikat permulaan kecerdasan buatan Britain, komited untuk menggunakan AI untuk menyemak dan membetulkan kod, salah seorang pengasas bersamanya, berkata bahawa ia mahu menyelesaikan kekaburan Standard penulisan bahasa Inggeris Kemudian beberapa penambahbaikan tambahan diperlukan, beberapa dialog antara manusia dan mesin.

Untuk menangani isu ini, penyelidik Microsoft baru-baru ini mencadangkan menambah mekanisme maklum balas kepada penjanaan kod berasaskan LLM supaya komputer akan meminta pengaturcara untuk menjelaskan sebarang kekaburan sebelum menjana kod. Sistem interaktif Microsoft, yang dipanggil TiCoder, memperhalusi dan memformalkan niat pengguna dengan menjana apa yang dipanggil "formalisasi niat pengguna dipacu ujian" (TDUIF).

TDUIF cuba menggunakan maklum balas berulang untuk menentukan niat algoritma pengaturcara dan kemudian menjana kod yang konsisten dengan niat pengaturcara yang dinyatakan. Rajah di bawah menunjukkan aliran kerja TDUIF.

Adakah ia satu pencapaian atau kelemahan? Pertikaian antara alat penjanaan kod AI dan pengaturcara

Alamat kertas: https://arxiv.org/abs/2208.05950

Menurut kertas berkaitan, apabila dinilai pada tanda aras Mostly Basic Programming Problems (MBPP), TiCoder meningkatkan ketepatan kod yang dijana secara automatik daripada 48% kepada 85%. Direka bentuk untuk menilai kod yang dijana mesin, MBPP terdiri daripada kira-kira 1,000 masalah pengaturcaraan Python sumber ramai untuk diselesaikan oleh pengaturcara peringkat permulaan.

Satu unit kod boleh mempunyai ratusan baris panjang dan merupakan bahagian terkecil program yang boleh diselenggara dan dilaksanakan secara bebas. Satu set ujian unit biasanya terdiri daripada berpuluh-puluh ujian unit, setiap satu mengandungi 10 hingga 20 baris kod, yang memeriksa sama ada unit berfungsi seperti yang diharapkan, supaya apabila anda menyusun unit di atas satu sama lain, program berfungsi seperti yang diharapkan.

Ujian unit berguna untuk menyahpepijat fungsi individu dan mengesan ralat apabila menukar kod secara manual. Selain itu, ujian unit berfungsi sebagai spesifikasi untuk unit kod dan berfungsi untuk membimbing pengaturcara dalam menulis kod yang bersih dan bebas pepijat. Walaupun tidak ramai pengaturcara meneruskan pembangunan dipacu ujian sebenar, di mana ujian unit ditulis dahulu, ujian unit sering ditulis bersama-sama dengan unit.

Pakar percaya: Pengaturcara manusia tidak akan kehilangan pekerjaan mereka disebabkan penjanaan kod AI

Menurut hasil tinjauan pemaju Diffblue 2019, pembangun membelanjakan kira-kira 35% daripada masa mereka gunakan untuk menulis ujian kawalan kualiti dan bukannya menulis kod untuk kegunaan pengeluaran, jadi mengautomasikan bahagian kerja ini boleh meningkatkan produktiviti dengan ketara.

Pada masa yang sama, Copilot, CodeWhisperer dan pakej pembantu pengaturcaraan AI lain boleh digunakan sebagai alatan pelengkapan automatik interaktif untuk menulis ujian unit. Pengaturcara mendapat cadangan pengekodan dan pilih yang paling berkesan.

Pada Februari tahun ini, DeepMind terus menggunakan AlphaCode untuk pengeluaran kod automatik sepenuhnya. AlphaCode ialah model bahasa berskala besar yang boleh menulis program komputer ringkas berdasarkan arahan bahasa semula jadi. Ia menggunakan seni bina Transformer penyahkod-pengekod yang mula-mula mengekod perihalan bahasa semula jadi masalah dan kemudian menyahkod vektor yang terhasil ke dalam kod yang diperlukan untuk penyelesaian.

Adakah ia satu pencapaian atau kelemahan? Pertikaian antara alat penjanaan kod AI dan pengaturcara

Gambaran Keseluruhan Kod Alpha. Sumber imej: https://arxiv.org/pdf/2203.07814.pdf

Model ini mula-mula dilatih pada repositori GitHub sehingga ia boleh menjana Kod pandangan yang nampak munasabah. Untuk memperhalusi model, DeepMind menggunakan 15,000 pasang penerangan masalah bahasa semula jadi dan penyelesaian kod yang berjaya daripada pertandingan pengaturcaraan lalu untuk mencipta set data khusus bagi contoh input-output.

Apabila AlphaCode telah dilatih dan diperhalusi, ia boleh diuji terhadap masalah yang tidak pernah dilihat sebelum ini. Langkah terakhir ialah menjana sejumlah besar penyelesaian dan kemudian menggunakan algoritma penapisan untuk memilih yang terbaik. Oriol Vinyals, ketua pasukan pembelajaran mendalam DeepMind, percaya bahawa mereka mencipta banyak program berbeza dengan mensampel model bahasa hampir 1 juta kali.

Untuk mengoptimumkan proses pemilihan sampel, DeepMind menggunakan algoritma pengelompokan untuk mengumpulkan penyelesaian. Proses pengelompokan cenderung untuk mengumpulkan penyelesaian yang boleh dilaksanakan, menjadikannya lebih mudah untuk mencari subset kecil calon yang mungkin berfungsi semasa pengaturcara menulisnya.

Untuk menguji sistem, DeepMind menyerahkan 10 program bertulis AlphaCode kepada pertandingan pengaturcaraan manusia pada platform Codeforces yang popular, dengan penyelesaian diletakkan dalam 54% teratas.

Dalam temu bual baru-baru ini, Oriol Vinyals bertanya secara retorik, "Untuk menghasilkan program, adakah anda hanya menulisnya dalam bahasa semula jadi tanpa pengekodan, dan kemudian penyelesaiannya adalah dalam Bagaimana dengan keluar dari sisi lain?" Vinyals dan yang lain berhati-hati, mengatakan bahawa ia akan mengambil masa, mungkin beberapa dekad, untuk sampai ke sana.

Pengasas dan Ketua Pegawai Eksekutif AI Landing Andrew Ng, seorang sarjana AI yang terkenal, berkata bahawa kita masih jauh daripada seseorang yang dapat memberitahu komputer untuk menulis program komputer yang kompleks secara sewenang-wenangnya dan melengkapkan pengekodan secara automatik.

Walau bagaimanapun, memandangkan betapa cepatnya penjanaan kod AI telah berkembang dalam beberapa tahun sahaja, nampaknya trend evolusi yang tidak dapat dielakkan bahawa sistem AI akhirnya akan dapat menulis kod berdasarkan arahan bahasa semula jadi. Dan program perisian pengaturcaraan tangan akan menjadi lebih dan lebih seperti baju sejuk mengait tangan.

Untuk menyediakan arahan bahasa semula jadi kepada komputer, pembangun masih perlu memahami beberapa konsep logik dan berfungsi serta cara menstruktur sesuatu. Walaupun pembangun tidak mempelajari bahasa pengaturcaraan tertentu atau menulis kod komputer, mereka masih perlu mempelajari asas pengaturcaraan. Seterusnya, ini akan membolehkan lebih ramai pengaturcara mencipta perisian yang semakin pelbagai.

Vasi Philomin berkata dia tidak percaya AI akan menggantikan pembangun manusia. AI boleh menghapuskan kerja kasar dan rutin yang perlu dilakukan oleh pembangun, membolehkan mereka menumpukan pada perkara yang bernilai lebih tinggi.

Peter Schrammel juga bersetuju bahawa penjanaan kod automatik AI membolehkan pembangun perisian menumpukan pada tugas yang lebih sukar dan mencabar. Bagaimanapun, tambahnya, sekurang-kurangnya perlu mengesahkan sama ada apa yang difahami oleh mesin itu adalah niat manusia.

Beliau juga berkata bahawa pembangun perisian tidak akan kehilangan pekerjaan mereka kerana alat pengekodan automatik menggantikannya, dan akan sentiasa ada lebih banyak perisian untuk ditulis.

Atas ialah kandungan terperinci Adakah ia satu pencapaian atau kelemahan? Pertikaian antara alat penjanaan kod AI dan pengaturcara. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara Melaksanakan Penyortiran Fail oleh Debian Readdir Cara Melaksanakan Penyortiran Fail oleh Debian Readdir Apr 13, 2025 am 09:06 AM

Dalam sistem Debian, fungsi Readdir digunakan untuk membaca kandungan direktori, tetapi urutan yang dikembalikannya tidak ditentukan sebelumnya. Untuk menyusun fail dalam direktori, anda perlu membaca semua fail terlebih dahulu, dan kemudian menyusunnya menggunakan fungsi QSORT. Kod berikut menunjukkan cara menyusun fail direktori menggunakan ReadDir dan QSORT dalam sistem Debian:#termasuk#termasuk#termasuk#termasuk // fungsi perbandingan adat, yang digunakan untuk qSortintCompare (Constvoid*A, Constvoid*b) {Returnstrcmp (*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(*(

Cara Mengoptimumkan Prestasi Debian Readdir Cara Mengoptimumkan Prestasi Debian Readdir Apr 13, 2025 am 08:48 AM

Dalam sistem Debian, panggilan sistem Readdir digunakan untuk membaca kandungan direktori. Jika prestasinya tidak baik, cuba strategi pengoptimuman berikut: Memudahkan bilangan fail direktori: Split direktori besar ke dalam pelbagai direktori kecil sebanyak mungkin, mengurangkan bilangan item yang diproses setiap panggilan readdir. Dayakan Caching Kandungan Direktori: Bina mekanisme cache, kemas kini cache secara teratur atau apabila kandungan direktori berubah, dan mengurangkan panggilan kerap ke Readdir. Cafh memori (seperti memcached atau redis) atau cache tempatan (seperti fail atau pangkalan data) boleh dipertimbangkan. Mengamalkan struktur data yang cekap: Sekiranya anda melaksanakan traversal direktori sendiri, pilih struktur data yang lebih cekap (seperti jadual hash dan bukannya carian linear) untuk menyimpan dan mengakses maklumat direktori

Cara Menetapkan Tahap Log Debian Apache Cara Menetapkan Tahap Log Debian Apache Apr 13, 2025 am 08:33 AM

Artikel ini menerangkan cara menyesuaikan tahap pembalakan pelayan Apacheweb dalam sistem Debian. Dengan mengubah suai fail konfigurasi, anda boleh mengawal tahap maklumat log yang direkodkan oleh Apache. Kaedah 1: Ubah suai fail konfigurasi utama untuk mencari fail konfigurasi: Fail konfigurasi apache2.x biasanya terletak di direktori/etc/apache2/direktori. Nama fail mungkin apache2.conf atau httpd.conf, bergantung pada kaedah pemasangan anda. Edit Fail Konfigurasi: Buka Fail Konfigurasi dengan Kebenaran Root Menggunakan Editor Teks (seperti Nano): Sudonano/ETC/APACHE2/APACHE2.CONF

Bagaimana Debian Readdir Bersepadu Dengan Alat Lain Bagaimana Debian Readdir Bersepadu Dengan Alat Lain Apr 13, 2025 am 09:42 AM

Fungsi Readdir dalam sistem Debian adalah panggilan sistem yang digunakan untuk membaca kandungan direktori dan sering digunakan dalam pengaturcaraan C. Artikel ini akan menerangkan cara mengintegrasikan Readdir dengan alat lain untuk meningkatkan fungsinya. Kaedah 1: Menggabungkan Program Bahasa C dan Pipeline Pertama, tulis program C untuk memanggil fungsi Readdir dan output hasilnya:#termasuk#termasuk#includeintMain (intargc, char*argv []) {dir*dir; structdirent*entry; if (argc! = 2) {

Bagaimana Debian OpenSSL Menghalang Serangan Man-dalam-Middle Bagaimana Debian OpenSSL Menghalang Serangan Man-dalam-Middle Apr 13, 2025 am 10:30 AM

Dalam sistem Debian, OpenSSL adalah perpustakaan penting untuk pengurusan penyulitan, penyahsulitan dan sijil. Untuk mengelakkan serangan lelaki-dalam-pertengahan (MITM), langkah-langkah berikut boleh diambil: Gunakan HTTPS: Pastikan semua permintaan rangkaian menggunakan protokol HTTPS dan bukannya HTTP. HTTPS menggunakan TLS (Protokol Keselamatan Lapisan Pengangkutan) untuk menyulitkan data komunikasi untuk memastikan data tidak dicuri atau diganggu semasa penghantaran. Sahkan Sijil Pelayan: Sahkan secara manual Sijil Pelayan pada klien untuk memastikan ia boleh dipercayai. Pelayan boleh disahkan secara manual melalui kaedah perwakilan urlSession

Petua Konfigurasi Firewall Pelayan Mel Debian Petua Konfigurasi Firewall Pelayan Mel Debian Apr 13, 2025 am 11:42 AM

Mengkonfigurasi firewall pelayan Mail Debian adalah langkah penting dalam memastikan keselamatan pelayan. Berikut adalah beberapa kaedah konfigurasi firewall yang biasa digunakan, termasuk penggunaan iptables dan firewalld. Gunakan iptables untuk mengkonfigurasi firewall untuk memasang iptables (jika belum dipasang): sudoapt-getupdateudoapt-getinstalliplesview peraturan iptables semasa: konfigurasi sudoiptable-l

Cara Belajar Debian Syslog Cara Belajar Debian Syslog Apr 13, 2025 am 11:51 AM

Panduan ini akan membimbing anda untuk belajar cara menggunakan syslog dalam sistem Debian. SYSLOG adalah perkhidmatan utama dalam sistem Linux untuk sistem pembalakan dan mesej log aplikasi. Ia membantu pentadbir memantau dan menganalisis aktiviti sistem untuk mengenal pasti dan menyelesaikan masalah dengan cepat. 1. Pengetahuan asas syslog Fungsi teras syslog termasuk: mengumpul dan menguruskan mesej log secara terpusat; menyokong pelbagai format output log dan lokasi sasaran (seperti fail atau rangkaian); Menyediakan fungsi tontonan log dan penapisan masa nyata. 2. Pasang dan konfigurasikan syslog (menggunakan rsyslog) Sistem Debian menggunakan rsyslog secara lalai. Anda boleh memasangnya dengan arahan berikut: sudoaptupdatesud

Kaedah pemasangan sijil SSL Server Server Debian Kaedah pemasangan sijil SSL Server Server Debian Apr 13, 2025 am 11:39 AM

Langkah -langkah untuk memasang sijil SSL pada pelayan mel Debian adalah seperti berikut: 1. Pasang OpenSSL Toolkit terlebih dahulu, pastikan bahawa OpenSSL Toolkit telah dipasang pada sistem anda. Jika tidak dipasang, anda boleh menggunakan arahan berikut untuk memasang: sudoapt-getupdateudoapt-getinstallopenssl2. Menjana permintaan kunci dan sijil peribadi seterusnya, gunakan OpenSSL untuk menjana kunci peribadi RSA 2048-bit dan permintaan sijil (CSR): Membuka

See all articles