Saya meminta ChatGPT untuk menulis plugin WordPress yang saya butuhkan. Dalam waktu kurang dari 5 menit, ChatGPT berhasil melakukannya.

gettyimages-1246766124.jpg

Jangan terlalu menekankan hal ini tapi aku sangat terkejut. Sebagai sebuah eksperimen, aku meminta ChatGPT untuk menulis sebuah plugin yang dapat menghemat waktu istriku dalam mengelola website-nya. Aku menulis deskripsi singkat dan ChatGPT menulis semuanya: antarmuka pengguna, logika, dan semuanya.

Dalam waktu kurang dari lima menit.

Juga: ChatGPT dan alternatif seru lainnya untuk dicoba: Chatbot AI terbaik

Terdapat implikasi-implikasi. Kami akan membahasnya dalam beberapa menit. Pertama, biarkan saya memberi Anda pengalaman dan apa yang terjadi.

Kebutuhan

line-randomizer-paypal-demo-wordpress-2023-01-31-23-41-28.jpg

Istri saya adalah pemilik sebuah situs e-commerce berbasis WordPress yang fokus pada hobi populer. Dia juga mengelola sebuah grup Facebook yang sangat aktif untuk pelanggan situsnya. Setiap bulannya, dia membuat daftar nama secara acak dan melakukan animasi putar roda virtual menggunakan daftar yang sudah diacak tersebut untuk anggota grup Facebook. Dia sebelumnya menggunakan sebuah situs di internet yang cukup bagus untuk mengacak daftar tersebut, tetapi harganya sedikit lebih mahal daripada yang seharusnya untuk mengekspor daftar tersebut.

Juga: Dapatkah detektor AI menyelamatkan kita dari ChatGPT? Saya mencoba 3 alat online untuk mencari tahu

Saat saya melihatnya kesulitan untuk mendapatkan kembali nama-nama yang acak, saya pikir akan berguna jika saya menulis sebuah plugin WordPress yang cepat yang bisa kami pasang di situsnya. Dia berada di dashboard setiap hari, jadi memiliki ini sebagai alat akan berguna.

Tapi bahkan sebuah plugin sederhana akan memakan waktu beberapa hari untuk ditulis, dengan elemen antarmuka pengguna dan kode logis, dan saya sedang cukup sibuk dengan proyek-proyek saat ini.

Dan kemudian saya memikirkan ChatGPT. Telah ada beberapa diskusi tentang ChatGPT sebagai alat pemrograman di media, jadi saya memutuskan untuk mencobanya.

Perintah

Kunci untuk membuat ChatGPT menghasilkan sesuatu adalah menggunakan prompt yang ditulis dengan hati-hati. Dalam hal pemrograman, bayangkan anda sebagai seorang manajer atau klien. Anda harus secara jelas menggambarkan apa yang anda butuhkan agar bisa mendapatkan apa yang anda inginkan. Saya mulai dengan prompt yang sangat dasar, hanya untuk melihat apakah itu akan berhasil. Berikut adalah prompt yang saya gunakan:

kode.jpg

Tulis plugin WordPress yang kompatibel dengan PHP 8 yang menyediakan kolom input teks di mana daftar baris dapat ditempelkan ke dalamnya dan tombol, yang ketika ditekan, mengacak baris dalam daftar dan menampilkan hasilnya di kolom input teks kedua.

Dalam waktu satu menit, ia menghasilkan kode yang Anda lihat di sebelah kanan. Saya menyalin kode yang dihasilkan ke dalam berkas .php, menaruhnya di dalam folder dengan nama root yang sama seperti berkas .php, mengompresinya, dan mengunggahnya ke server-nya. Itu berhasil.

Juga: Hacker asal Rusia mencoba meretas ChatGPT, kata Check Point

Ketika saya menunjukkannya kepada istri saya, dia terkesan dan terkejut. Tapi kemudian dia mulai berpikir dan meminta fitur baru: pastikan nama-nama yang sama tidak berdampingan.

Untuk aplikasinya, terkadang dia perlu menyertakan nama seseorang dalam daftar berkali-kali. Tapi dia tidak ingin duplikat tersebut mengelompok.

Saya memodifikasi permintaan asli saya, menambahkan kondisi tambahan berikut:

... memastikan tidak ada dua entri yang identik berada satu sama lain (kecuali tidak ada pilihan lain)... dengan jumlah baris yang disubmit dan jumlah baris dalam hasil identik satu sama lain.

Saya menyertakan frase "kecuali tidak ada pilihan lain" dan persyaratan jumlah yang identik karena saya ingin memastikan semua nama termasuk, dan saya khawatir itu akan memprioritaskan kebutuhan agar tidak ada dua nama yang bersebelahan daripada mempertahankan semua nama.

Kurang lebih 30 detik kemudian, saya memiliki plugin baru. Saya mengunggahnya ke server dan mencobanya. Itu bekerja, tetapi output-nya termasuk beberapa baris kosong. Jadi, saya menambahkan kondisi ini ke prompt sebelumnya:

...tanpa baris kosong...

Saat ini, saya telah terbiasa dengan waktu yang dibutuhkan, yang selalu kurang dari satu menit. Satu kali lagi mengunggah dan menguji, dan sekali lagi, berhasil.

Juga: Cara menggunakan ChatGPT

Saya ingin menambahkan fitur terakhir, hanya untuk memastikan berapa banyak baris yang telah diproses. Saya ingin plugin ini menampilkan jumlah baris untuk bidang masukan dan keluaran. Berikut tambahan tersebut:

...Di bawah kolom pertama, tampilkan teks yang menyatakan "Baris untuk diacak: " dengan jumlah baris yang tidak kosong di kolom sumber. Di bawah kolom kedua, tampilkan teks yang menyatakan "Baris yang telah diacak: " dengan jumlah baris yang tidak kosong di kolom tujuan.

Ini berhasil, sebagian besar. Sebelum dijalankan, bidang output menampilkan satu baris. Tetapi setelah proses pengacakan selesai, itu menampilkan jumlah baris yang tepat di kedua bidang.

Kualitas kode

Secara keseluruhan, kualitas kode ini bersih. Saya hanya akan menampilkan respons asli karena jika tidak, maka tidak akan muat dalam artikel ini. Program ini dengan tepat menghasilkan blok header WordPress dan membuat antarmuka pengguna dasbor untuk plugin, serta logika pemrosesan plugin.

Meskipun saya telah menentukan agar baris ringkasan saya berada di bawah bidang-bidang, ternyata justru berada di atas. Namun, itu bukan keluhan yang besar. Sekali-kali kesalahan semacam ini bisa terjadi pada seorang kontraktor manusia, dan memerlukan sedikit perbaikan untuk memperbaikinya.

Juga: Apakah penulis AI Notion bisa menulis artikel ini?

Kode berhasil, tetapi tidak menggabungkan semua praktik terbaik untuk pemrograman WordPress. Misalnya, tidak membersihkan input pengguna. Komunitas WordPress sangat ketat dalam membersihkan input agar penyerang tidak dapat memasukkan data yang dapat merusak situs -- dan kode ini tidak memiliki perlindungan tersebut.

Sebagai pengujian selanjutnya, saya menginstruksikan Ai untuk membersihkan input, dan memang berhasil... sampai suatu titik. Ai membersihkan input di dalam fungsi PHP, tetapi tidak membersihkan input saat memanggil PHP dalam HTML. Hal tersebut tentu saja dapat meninggalkan celah bagi para peretas.

Juga, itu menjatuhkan item menu plugin ke dalam Pengaturan. Mungkin saya akan menempatkannya di bawah Tools atau memberikan fitur ini dengan item menu sendiri. Karena saya tidak menentukan dari mana seharusnya dipanggil, saya pikir ChatGPT membuat keputusan yang dapat diterima dengan menempatkan item menu di tempat yang tepat.

Saya menambahkan satu persyaratan terakhir pada permintaan saya, meminta AI untuk memberi nama pada plugin:

Tulislah sebuah plugin WordPress yang kompatibel dengan PHP 8 yang disebut "Robo Randomizer" yang...

Sebagai suatu kejutan, AI memberikan saya sebuah plugin yang benar-benar berbeda, menghasilkan sebuah plugin yang menyediakan sebuah kode singkat daripada antarmuka dasbor. Biarkan saya jelaskan kepada pengguna non-WordPress, karena ini menarik.

Ketika menulis sesuatu seperti ini, Anda dapat membuatnya tersedia di situs web untuk pengunjung (disebut frontend) atau bagi mereka yang masuk ke dasbor situs untuk memelihara sisi tersebut (disebut backend). Dalam serangkaian instruksi asli saya, saya tidak menentukan frontend atau backend, tetapi AI menulis apa yang saya inginkan, yaitu antarmuka backend dan dasbor untuk alat ini.

Juga: OpenAI sedang mencari pengembang untuk membuat ChatGPT lebih baik dalam pemrograman

Tapi kali ini, kami memutuskan untuk membuat plugin ini sebagai alat frontend, menjalankannya melalui shortcode. Di WordPress, Anda dapat menyisipkan shortcode (sesuatu seperti [acak baris]) di dalam sebuah postingan dan itu akan menjalankan kode di dalam plugin. Versi terakhir yang dihasilkan oleh AI memberikan saya shortcode seperti itu, yang akan memungkinkan fitur acak baris ditampilkan kepada pengunjung situs.

Selanjutnya, ChatGPT agak kehilangan benang merah. Saya tidak bisa menambahkan fitur tambahan ke plugin asli dan ChatGPT sebagian besar hanya mengulangi menghasilkan versi shortcode. Jelas, pemeliharaan kode bukanlah kekuatan inti ChatGPT.

Implikasi

Tentu saja, ini adalah sebuah plugin sederhana. Ukurannya hampir sama dengan tugas-tugas yang saya berikan kepada mahasiswa tahun pertama saya saat mengajar di UC Berkeley. Ini tidak mencapai tingkat kompleksitas dari plugin WordPress open source yang jauh lebih besar yang saya kelola untuk lebih dari 50.000 pengguna.

Juga: Dengan chatbot AI, apakah kita mencari jawaban di tempat yang salah?

Minggu lalu, ketika saya pertama kali menggunakan ChatGPT untuk membuat plugin quickie untuk istri saya dan membagikannya di Twitter, para peserta di media sosial saya mengutarakan keberatan. Berikut adalah beberapa kekhawatiran mereka:

Adakah ini jahat? Seseorang khawatir bahwa AI akan menyisipkan informasi yang jahat (atau setidaknya promosi) dalam plugin dan pengguna non-programmer tidak akan pernah tahu. Tetapi kenyataannya, jika Anda bukan seorang pengkode dan tidak dapat membaca kode, bahkan jika Anda menyewa seseorang, Anda tidak benar-benar tahu apa yang ada di dalamnya. Semua tergantung pada kepercayaan reputasi, atau meminta orang yang Anda percayai untuk melihat melalui kode. Dalam kasus kode yang dihasilkan dalam eksperimen saya, semuanya bersih.

Apakah ini yang terbaik yang bisa dihasilkan? Di sini lagi, orang-orang membandingkan kode AI dengan standar yang berbeda bahkan dari para pengode manusia. Saya seorang programmer yang baik, tetapi kode saya pasti memiliki bug. Kode tersebut tidaklah yang terbaik yang bisa ada... setidaknya tidak pada awalnya. Namun, dengan manusia, kode menjadi lebih baik seiring waktu berjalan. Saya tidak yakin apakah AI bisa mengambil kode yang sudah ada, memperbaikinya, memdebugnya, dan meningkatkannya. Namun, terkadang hal-hal hanya perlu berfungsi. Tidak selalu penting jika mereka adalah yang terbaik dari yang terbaik. Cukup bagus seringkali sudah cukup baik. Dan kode yang dihasilkan oleh AI cukup baik.

Akan mengurangi jumlah tugas pemrograman manusia? Hampir pasti. Saya tidak suka melihat mesin mengambil pekerjaan seseorang (terutama jika itu adalah pekerjaan yang mungkin saya inginkan). Kecerdasan buatan (AI) adalah pilihan yang pasti untuk proyek-proyek cepat dan mudah, baik itu menulis atau pemrograman. Gaji orang akan terkena dampak, tanpa keraguan.

Saya telah mempelajari kecerdasan buatan (AI) selama beberapa dekade. Saya pernah membuat tesis tentang AI. Namun, meskipun memiliki latar belakang tersebut, perkembangan AI generatif berkualitas tinggi ini sangat mengejutkan bagi saya. Meskipun begitu, yang kita lihat sekarang adalah tingkat produktivitas yang "cukup baik". Sayangnya, itulah yang banyak klien tuntut.

Tapi -- setidaknya untuk saat ini -- ChatGPT dan teman-temannya tidak dapat menulis artikel analisis yang sangat mendalam seperti ini, karena mereka mencerminkan opini, anekdot, dan tahun-tahun pengalaman. Dan meskipun mereka mungkin bisa menulis subroutine dan fungsi untuk proyek pengodean yang lebih besar, mereka tidak dapat menulis proyek pengodean utama.

Juga: Demo pesaing ChatGPT dari Google berjalan salah

Misalnya, selama setahun terakhir saya harus melakukan 20-30 pertemuan dengan penyedia API utama untuk mengintegrasikan layanan mereka dengan saya. Sebagian besar pertemuan itu mencampurkan masalah bisnis dengan persyaratan teknis dan kebijakan lisensi. Saya menantang setiap KI untuk tahan, memahami nuansa, dan memenuhi persyaratan mitra dalam situasi birokratis seperti itu, dan kemudian mampu menghasilkan modul kode yang disetujui semua orang.

Jadi, ya, saya agak terkejut dengan seberapa bagusnya plugin yang saya "buat" untuk istri saya. Tetapi kecerdasan buatan (AI) masih memiliki jalan yang panjang sebelum mengambil pekerjaan dari pengembang dan penulis berpengalaman - selama klien ingin jenis pekerjaan yang dihasilkan oleh pengembang dan penulis berpengalaman. Dan itu, teman-teman, adalah sesuatu yang memang membuat saya khawatir.

Buka kekuatan AI dengan HIX.AI!