Cara menggunakan ChatGPT untuk menulis kod

imej1.pngSalah satu penemuan yang lebih menarik tentang ChatGPT ialah ia boleh menulis kod yang cukup bagus. Saya menguji ini pada bulan Februari apabila saya memintanya untuk menulis pemalam WordPress yang boleh digunakan oleh isteri saya di tapak webnya. Ia melakukan kerja yang baik, tetapi ia adalah projek yang sangat mudah.

Cara menggunakan ChatGPT untuk menulis: Resume| Formula Excel | Esei | Surat pengantar

Bagaimanakah anda boleh menggunakan ChatGPT untuk menulis kod sebagai sebahagian daripada amalan pengekodan harian anda? Itulah yang akan kita terokai di sini.

Apakah jenis pengekodan yang boleh dilakukan oleh ChatGPT dengan baik?

Terdapat dua fakta penting tentang ChatGPT dan pengekodan. Yang pertama ialah ia boleh, sebenarnya, menulis kod yang berguna. Yang kedua ialah ia boleh hilang sepenuhnya, jatuh ke dalam lubang arnab, mengejar ekornya sendiri, dan menghasilkan sampah yang tidak boleh digunakan sama sekali.

Saya mendapati ini dengan cara yang sukar. Selepas saya menyelesaikan pemalam WordPress, saya memutuskan untuk melihat sejauh mana ChatGPT boleh pergi. Saya menulis gesaan yang sangat berhati-hati untuk aplikasi Mac, termasuk penerangan terperinci tentang elemen antara muka pengguna, interaksi, perkara yang akan disediakan dalam tetapan, cara ia berfungsi dan sebagainya. Kemudian saya menyuapkannya ke ChatGPT.

ChatGPT membalas dengan banyak teks dan kod. Kemudian ia berhenti kod pertengahan. Apabila saya memintanya untuk meneruskan, ia memuntahkan lebih banyak kod dan teks. Saya meminta teruskan selepas meneruskan dan ia membuang lebih banyak kod. Tetapi... tiada satu pun yang boleh digunakan . Ia tidak mengenal pasti ke mana kod itu harus pergi, cara membina projek, dan -- apabila saya melihat dengan teliti pada kod yang dihasilkan -- ia meninggalkan operasi utama yang saya minta, meninggalkan dalam penerangan teks ringkas yang menyatakan "logik program pergi ke sini. "

Selepas sekumpulan ujian berulang, menjadi jelas kepada saya bahawa jika anda meminta ChatGPT untuk menghantar permohonan yang lengkap, ia akan gagal. Akibat daripada pemerhatian ini ialah jika anda tidak tahu apa-apa tentang pengekodan dan mahu ChatGPT membina sesuatu kepada anda, ia akan gagal.

Di mana ChatGPT berjaya -- dan melakukannya dengan sangat baik -- adalah dalam membantu seseorang yang sudah tahu cara membuat kod untuk membina rutin tertentu dan menyelesaikan tugasan tertentu. Jangan minta apl yang dijalankan pada bar menu. Tetapi jika anda meminta ChatGPT untuk rutin untuk meletakkan menu pada bar menu, dan kemudian menampalnya ke dalam projek anda, ia akan berjalan dengan baik.

Juga: Cara menggunakan ChatGPT untuk membuat aplikasi

Selain itu, perlu diingat bahawa walaupun ChatGPT nampaknya mempunyai sejumlah besar pengetahuan khusus domain (dan selalunya ada), ia tidak mempunyai kebijaksanaan . Oleh itu, ia mungkin boleh menulis kod, tetapi ia tidak akan dapat menulis kod yang mengandungi nuansa untuk masalah yang sangat spesifik atau kompleks yang memerlukan pengalaman mendalam untuk difahami.

Gunakan ChatGPT untuk mendemonstrasikan teknik, menulis algoritma kecil dan menghasilkan subrutin. Anda juga boleh mendapatkan ChatGPT untuk membantu anda memecahkan projek yang lebih besar kepada beberapa bahagian, dan kemudian anda boleh memintanya untuk membantu anda mengekodkan bahagian tersebut.

Oleh itu, dengan mengambil kira perkara itu, mari kita lihat beberapa langkah khusus untuk cara menggunakan ChatGPT untuk menulis kod.

Bagaimana ChatGPT boleh membantu anda menulis kod

1. Sempit dan tajamkan permintaan anda

Langkah pertama ini adalah untuk memutuskan perkara yang akan anda tanyakan tentang ChatGPT -- tetapi belum bertanya apa-apa. Tentukan perkara yang anda mahu fungsi atau rutin anda lakukan, atau perkara yang ingin anda pelajari untuk dimasukkan ke dalam kod anda. Tentukan parameter yang akan anda masukkan ke dalam kod anda dan perkara yang ingin anda keluarkan. Dan kemudian lihat bagaimana anda akan menerangkannya.

Bayangkan anda membayar seorang pengaturcara manusia untuk melakukan ini. Adakah anda memberi orang itu maklumat yang mencukupi untuk dapat mengerjakan tugasan anda? Atau adakah anda terlalu kabur dan orang yang anda bayar lebih berkemungkinan sama ada bertanya atau menyerahkan sesuatu yang tidak berkaitan sama sekali dengan perkara yang anda mahukan?

Berikut adalah contoh. Katakan saya mahu dapat meringkaskan mana-mana halaman web. Saya ingin memberinya sesuatu seperti artikel ini dan mendapatkan kembali ringkasan ringkas yang dipertimbangkan dengan baik dan sesuai. Sebagai input saya, saya akan menentukan URL halaman web. Sebagai output saya, ia adalah blok teks dengan ringkasan.

2. Gunakan ChatGPT untuk meneroka perpustakaan dan sumber

Meneruskan contoh di atas, cara sekolah lama untuk mengekstrak data halaman web ialah mencari teks antara teg perenggan HTML.

Tetapi dengan peningkatan alat AI, lebih masuk akal untuk menggunakan perpustakaan AI untuk melakukan ekstrak dan ringkasan pintar. Salah satu tempat ChatGPT cemerlang (dan ia juga merupakan kawasan yang anda boleh sahkan dengan mudah untuk mengelakkan corak tingkah lakunya yang berwibawa-tetapi-salah) ialah mencari perpustakaan dan sumber.

OpenAI (pembuat ChatGPT) menjual akses API kepada enjin GPT-3 dan GPT-4 yang akan melakukan apa yang kita mahukan. Tetapi dalam kes contoh ini, mari kita anggap kita tidak mahu membayar yuran transaksi.

Jadi mari kita lihat berinteraksi dengan ChatGPT untuk mengetahui cara menggunakan alat sedemikian, secara percuma, dengan projek yang berjalan dalam PHP.

Saya bermula dengan gesaan yang direka untuk mendapatkan maklumat tentang perpustakaan yang akan menyediakan fungsi yang saya mahukan. Perpustakaan (bagi anda yang membaca bersama yang bukan pengaturcara) ialah kumpulan kod yang boleh diakses oleh pengaturcara yang melakukan banyak beban berat untuk tujuan tertentu. Sebahagian besar pengaturcaraan moden ialah mencari dan memilih perpustakaan yang betul. Jadi ini adalah titik permulaan yang baik.

Dalam kes ini, saya sedang melihat blok kod yang ditulis oleh orang lain yang akan meringkaskan teks. Inilah gesaan pertama saya:

Terangkan sepuluh perpustakaan AI sumber terbuka yang berbeza (dan bahasa yang digunakan oleh mereka) yang boleh saya gunakan untuk menjana ringkasan kandungan teras utama mana-mana halaman web, mengabaikan sebarang iklan atau bahan terbenam.

Ini memberi saya apa yang saya mahukan, termasuk sebutan tentang tawaran OpenAI. Saya rasa OpenAI akan berjaya di sini, tetapi untuk projek hipotesis ini, saya tidak mahu membuat belanjawan untuk yuran API. Jadi saya akan mengecilkan soalan.

Adakah mana-mana daripada ini percuma?

ChatGPT melindung nilai pertaruhannya dengan jawapannya. Inilah yang dikatakan: "Ya, kesemua sepuluh perpustakaan AI ini adalah sumber terbuka dan percuma untuk digunakan. Walau bagaimanapun, sesetengah daripadanya mungkin mempunyai had penggunaan atau memerlukan bayaran untuk akses kepada ciri atau sumber tambahan." Jadi, berdasarkan itu, saya menjelaskan pertanyaan saya.

Antara perpustakaan berikut, yang manakah tidak mempunyai had penggunaan dan tidak memerlukan sebarang bayaran tambahan atau pelesenan?

Perhatikan bagaimana ini sangat banyak perbualan. Saya tidak perlu bertanya semula soalan asal. Saya hanya meneliti dengan cara yang sama jika saya mempunyai pakar di tangan dan sedang mencari penjelasan. Dalam kes ini, ChatGPT memberi saya lapan pilihan perpustakaan, tetapi tiada satu pun daripada mereka yang menyebut bahasa PHP yang saya rancang untuk memasukkan kod. Jadi, berikut ialah gesaan seterusnya:

Daripada 8 perpustakaan itu, bolehkah saya menggunakan mana-mana dengan PHP?

Ia mengembalikan tiga perpustakaan, tetapi saya tidak pasti tentang apa yang masing-masing lakukan. Jadi soalan lain:

Apakah perbezaan antara Sumy, Gensim dan NLTK?

Saya masih tidak pasti, jadi saya menjelaskan pelan penggunaan saya dan kemudian bertanya:

Jika saya ingin membuat ringkasan artikel berita halaman web, perpustakaan manakah yang akan berfungsi dengan lebih baik?

Jawapan yang saya dapat adalah jelas dan menjanjikan: "Sumy direka khusus untuk ringkasan teks, yang merupakan tugas untuk mencipta ringkasan yang menangkap maklumat yang paling penting daripada sekeping teks." Jadi, kini tiba masanya untuk melihat perkara yang terlibat dalam menggunakannya dengan PHP. Saya bertanya soalan terakhir saya untuk bahagian projek ini:

Bolehkah anda menerangkan cara menggunakan Sumy daripada PHP?

Jangan ragu untuk bermain bersama pada komputer anda dan tampal gesaan ini ke dalam contoh ChatGPT anda. Perhatikan bahawa, dalam langkah 1, saya memutuskan modul program yang saya akan dapatkan bantuan. Kemudian, dalam langkah ini, saya mengadakan perbualan dengan ChatGPT untuk memutuskan perpustakaan yang hendak digunakan dan cara menyepadukannya ke dalam projek saya.

Itu mungkin tidak kelihatan seperti pengaturcaraan, tetapi saya memberi jaminan kepada anda. Pengaturcaraan bukan sahaja meletupkan baris kod ke halaman. Pengaturcaraan sedang memikirkan cara untuk mengintegrasikan semua pelbagai sumber dan sistem bersama-sama, dan cara bercakap dengan semua pelbagai komponen penyelesaian anda. Di sini, ChatGPT membantu saya melakukan analisis penyepaduan itu.

Ngomong-ngomong, saya ingin tahu sama ada Bard Google boleh membantu dengan cara yang sama. Bard sebenarnya tidak boleh menulis kod, tetapi ia memberikan beberapa cerapan tambahan tentang aspek perancangan pengaturcaraan melalui respons ChatGPT. Oleh itu, jangan teragak-agak untuk menggunakan berbilang alatan untuk membuat triangulasi pada jawapan yang anda inginkan. Begini ceritanya: Bard lwn. ChatGPT: Bolehkah Bard membantu anda mengekodkan? Sejak saya menulis artikel itu, Google menambahkan beberapa keupayaan pengekodan pada Bard, tetapi ia tidak begitu hebat. Anda boleh membaca tentangnya di sini: Saya menguji kemahiran pengekodan baharu Google Bard. Ia tidak berjalan lancar.

Pengekodan adalah seterusnya.

3. Minta ChatGPT menulis kod contoh

Baiklah, mari kita berhenti sebentar di sini. Artikel ini bertajuk "Cara menggunakan ChatGPT untuk menulis kod." Dan ia akan! Tetapi kami benar-benar meminta ChatGPT untuk menulis kod contoh . Tunggu. Apa?

Juga: Apakah GPT-4? Ini semua yang anda perlu tahu

Biar jelas. Melainkan anda menulis fungsi yang sangat kecil (seperti penyusun baris/randomizer ChatGPT menulis untuk isteri saya), ChatGPT tidak akan dapat menulis kod akhir anda. Pertama, anda perlu mengekalkannya. ChatGPT sangat teruk dalam mengubah suai kod yang sudah ditulis. Mengerikan, seperti dalam, ia tidak melakukannya. Jadi untuk mendapatkan kod baharu, anda perlu meminta ChatGPT menjana sesuatu yang baharu. Seperti yang saya dapati sebelum ini, walaupun gesaan anda hampir sama, ChatGPT mungkin mengubah perkara yang diberikannya kepada anda dengan cara yang sangat tidak dijangka.

Jadi, kesimpulannya: ChatGPT tidak dapat mengekalkan kod anda, atau mengubahnya.

Ini bermakna anda perlu melakukannya sendiri. Seperti yang kita ketahui, draf pertama sekeping kod jarang sekali menjadi kod akhir. Jadi, walaupun anda mengharapkan ChatGPT menjana kod akhir, ia benar-benar akan menjadi titik permulaan, di mana anda perlu menyelesaikannya, menyepadukannya ke dalam projek anda yang lebih besar, mengujinya, memperhalusinya, nyahpepijat dan sebagainya .

Juga: Saya meminta ChatGPT untuk menulis episod Star Trek pendek. Ia sebenarnya berjaya

Tetapi itu tidak bermakna kod contoh tidak bernilai. Jauh sekali. Mari kita lihat gesaan yang saya tulis berdasarkan projek yang saya nyatakan sebelum ini. Inilah bahagian pertama:

Wite fungsi PHP yang dipanggil summarize_article.

Sebagai input, summarize_article akan dihantar URL ke artikel di tapak berkaitan berita seperti ZDNET.com atau Reuters.com.

Saya memberitahu ChatGPT bahasa pengaturcaraan yang sepatutnya digunakan. Saya juga memberitahu input tetapi, semasa berbuat demikian, menyediakan dua tapak sebagai sampel untuk membantu ChatGPT memahami gaya artikel. Sejujurnya, saya tidak pasti ChatGPT tidak mengabaikan sedikit panduan itu. Seterusnya, saya akan memberitahunya cara melakukan sebahagian besar kerja:

Di dalam summarize_article, dapatkan semula kandungan halaman web di URL yang disediakan. Menggunakan perpustakaan Sumy dari dalam PHP dan mana-mana perpustakaan lain yang diperlukan, ekstrak isi utama artikel, abaikan sebarang iklan atau bahan terbenam, dan ringkaskan kepada kira-kira 50 perkataan. Pastikan rumusan terdiri daripada ayat yang lengkap. Anda boleh pergi melebihi 50 perkataan untuk menghabiskan ayat terakhir, jika perlu.

Ini sangat serupa dengan cara saya mengarahkan pekerja. Saya mahu orang itu tahu bahawa mereka bukan sahaja terhad kepada Sumy. Jika mereka memerlukan alat lain, saya mahu mereka menggunakannya.

Saya juga menyatakan anggaran bilangan perkataan untuk membuat sempadan untuk perkara yang saya mahu sebagai ringkasan. Versi rutin yang lebih baru mungkin mengambil nombor itu sebagai parameter. Saya kemudian mengakhiri dengan mengatakan apa yang saya mahu sebagai hasilnya:

Setelah pemprosesan selesai, kod summarize_article supaya ia mengembalikan ringkasan dalam teks biasa.

Kod yang dihasilkan agak mudah. ChatGPT memang memanggil perpustakaan lain (Goose) untuk mendapatkan semula kandungan artikel. Ia kemudian menyerahkannya kepada Summy dengan had 50 perkataan, dan kemudian mengembalikan hasilnya. Itu sahaja. Tetapi setelah asas ditulis, ia hanyalah masalah pengaturcaraan untuk kembali dan menambah tweak, menyesuaikan apa yang dihantar kepada dua perpustakaan dan menyampaikan hasilnya.imej2.png

Satu perkara yang menarik perhatian. ChatGPT mencipta contoh panggilan kepada rutin yang ditulisnya, menggunakan URL dari selepas 2021 (apabila set data ChatGPT tamat).

Saya menyemak URL itu terhadap kedua-dua tapak Reuters dan Mesin Wayback, dan ia tidak wujud. ChatGPT baru mengada-ada.

Soalan Lazim

Adakah ChatGPT menggantikan pengaturcara?

Bukan sekarang -- atau, sekurang-kurangnya -- belum lagi. Program ChatGPT pada tahap pelajar pengaturcaraan tahun pertama yang berbakat, tetapi malas (macam pelajar tahun satu itu). Ia mungkin mengurangkan keperluan untuk pengaturcara peringkat permulaan, tetapi pada tahap semasa, saya fikir ia hanya akan menjadikan hidup lebih mudah bagi pengaturcara peringkat permulaan (dan juga pengaturcara yang mempunyai lebih banyak pengalaman) untuk menulis kod dan mencari maklumat. Ia sememangnya menjimatkan masa, tetapi terdapat beberapa projek pengaturcaraan yang boleh dilakukannya sendiri -- sekurang-kurangnya sekarang. Pada tahun 2030? Siapa tahu.

Bagaimanakah saya boleh mendapatkan jawapan pengekodan dalam ChatGPT?

Tanya sahaja. Anda melihat di atas bagaimana saya menggunakan dialog perbincangan interaktif untuk mengecilkan jawapan yang saya inginkan. Apabila anda bekerja dengan ChatGPT, jangan mengharapkan satu soalan untuk melakukan semua kerja anda secara ajaib untuk anda. Tetapi gunakan ChatGPT sebagai pembantu dan sumber, dan ia akan memberi anda banyak maklumat yang sangat berguna. Sudah tentu, uji maklumat itu -- kerana, seperti yang dikatakan oleh John Schulman, pengasas bersama OpenAI, "Kebimbangan terbesar kami adalah mengenai fakta, kerana model itu suka mengada-adakan perkara."

Jika saya menggunakan ChatGPT untuk menulis kod saya, siapa yang memilikinya?

Ternyata, masih belum banyak undang-undang kes untuk menjawab soalan ini secara muktamad. AS, Kanada dan UK memerlukan sesuatu yang berhak cipta telah dicipta oleh tangan manusia, jadi kod yang dihasilkan oleh alat AI mungkin tidak boleh hak cipta. Terdapat juga isu liabiliti berdasarkan dari mana kod latihan datang dan cara kod yang terhasil digunakan. ZDNET melakukan penyelaman mendalam tentang topik ini, bercakap dengan pakar undang-undang, dan menghasilkan tiga artikel berikut. Jika anda bimbang tentang isu ini (dan jika anda menggunakan AI untuk membantu dengan kod, anda sepatutnya), saya syorkan anda membacanya.

  • Siapa pemilik kod itu? Jika AI ChatGPT membantu menulis apl anda, adakah ia masih milik anda?
  • Jika anda menggunakan kod yang dijana AI, apakah pendedahan liabiliti anda?
  • Soalan pelik: Siapa yang memiliki kod, imej dan naratif yang dihasilkan oleh AI?

Apakah bahasa pengaturcaraan yang ChatGPT tahu?

Kebanyakan daripada mereka. Saya sangat terpinggir mencuba ini. Saya menguji bahasa moden yang biasa, seperti PHP, Python, Java, Kotlin, Swift, C# dan banyak lagi. Tetapi kemudian saya menyuruhnya menulis kod dalam bahasa zaman gelap yang tidak jelas seperti COBOL, Fortran, Forth, LISP, ALGOL, RPG (penjana program laporan, bukan permainan main peranan), dan juga bahasa himpunan IBM/360.

Sebagai icing pada kek, saya memberikan gesaan ini:

Tulis urutan yang memaparkan 'Hello, dunia' dalam lampu berkelip ascii pada panel hadapan PDP 8/e

PDP 8/e ialah komputer pertama saya, dan ChatGPT sebenarnya memberi saya arahan untuk menogol dalam program menggunakan suis panel hadapan. Saya kagum, gembira, dan sedikit pun takut.

Apa hujung pangkalnya? ChatGPT boleh menjadi alat yang sangat membantu. Hanya jangan menganggap kuasa besar kepadanya. Namun.

Artikel Berkaitan

Lihat Lebih Banyak >>

Buka kunci kuasa AI dengan HIX.AI!