เราได้ยินมามากมายเกี่ยวกับปัญญาประดิษฐ์และการประมวลผลภาษาธรรมชาติ และโดยเฉพาะอย่างยิ่งเกี่ยวกับ GPT ของ OpenAI เวอร์ชันล่าสุดมาเป็นเวลาหลายสัปดาห์แล้ว ป>
GPT 3.5 รุ่นล่าสุด และโดยเฉพาะเครื่องมือ ChatGPT ใหม่ ถือเป็นก้าวกระโดดครั้งใหญ่อย่างแน่นอน
คุณอาจเคยอ่านเกี่ยวกับคนที่ขอให้ AI จัดทำสัญญาและพินัยกรรมด้านอสังหาริมทรัพย์ หรือแม้แต่สร้างโค้ดโปรแกรมด้วยซ้ำ บทความนี้กล่าวถึงเครื่องมือจากมุมมองที่แตกต่างออกไปเล็กน้อย ป>
คุณสามารถรับชมเวอร์ชันวิดีโอของบทความนี้ได้ที่นี่ หากคุณต้องการใช้เพื่อเสริมการเรียนรู้ของคุณ:
ป>
การทดลองกับ ChatGPT และ Bash Scripting
ฉันตัดสินใจว่า ChatGPT จัดการกับสคริปต์ Linux Bash อย่างไร แต่ (แจ้งเตือนสปอยล์!) ในขณะที่ฉันทำตามคำแนะนำของเครื่องมือ - ทั้งโค้ดที่ดีและโค้ดที่ไม่ดี - ฉันเริ่มตระหนักว่ามีประโยชน์ที่ทรงพลังยิ่งกว่าที่จ้องมองฉันอยู่ตรงหน้า:โอกาสในการจับคู่โปรแกรมกับพันธมิตรที่เป็นประโยชน์อย่างยิ่ง
ในที่สุด AI ก็ล้มเหลวในการแก้ปัญหาของฉัน แต่กลับกลายเป็นหนทาง มันล้มเหลว ช่างน่าทึ่งจริงๆ และการเฝ้าดู AI เพื่อค้นหาคำตอบใหม่ ๆ นั้นช่างบ้าบอจริงๆ
ความพยายามครั้งแรก – ChatGPT พยายามแก้ไขปัญหา
เรามาดูกันว่ามันเกิดขึ้นได้อย่างไร ไม่มากก็น้อย นี่คือข้อความเริ่มต้นที่ฉันแจ้งกับ AI:
เขียนสคริปต์ Bash ให้ฉันโดยแจ้ง URL ของวิดีโอ YouTube จากนั้นใช้โปรแกรม yt-dlp เพื่อดาวน์โหลดจาก URL นั้น สคริปต์ควรเปลี่ยนชื่อไฟล์เป็น "myvideo.mp4"
หลังจากนั้นไม่กี่วินาที ChatGPT ก็บอกฉันว่ามีสคริปต์กำลังจะมา โค้ดนั้นมีลักษณะดังนี้:
#!/bin/bash
# Prompt user for YouTube video URL
read -p "Enter YouTube video URL: " url
# Download video from YouTube using yt-dlp
yt-dlp $url
# Get the name of the downloaded video file
yt-dlp $url
# Change the downloaded video filename to "myvideo.mkv"
mv video-filename.mp4 myvideo.mp4
เห็นได้ชัดว่า AI รู้ดีว่าสคริปต์ Bash คืออะไรและจะนำเสนอโค้ดได้อย่างไร มันยังทำงานได้ดีมากในการแสดงความคิดเห็นโค้ดแต่ละบรรทัด AI รู้วิธีแจ้งให้ผู้ใช้ป้อนข้อมูลอย่างเหมาะสม และวิธีการนำเข้าสตริงอินพุตไปยังตัวแปรที่เรียกว่า 01 . ป>
นอกจากนี้ยังรู้เกี่ยวกับโปรแกรม yt-dlp และวิธีการทำงาน โดยป้อน URL ที่ให้มาอย่างเหมาะสม อย่างน้อยก็พยายามเปลี่ยนชื่อไฟล์วิดีโอที่ดาวน์โหลดเป็น myvideo.mp4 แต่ทุกอย่างพังทลายลงเมื่อสันนิษฐานว่าชื่อไฟล์ดาวน์โหลดจะเป็น video-filename.mp4 อ๊ะ
อย่างไรก็ตาม AI แสดงวิธีสร้างสคริปต์จากโค้ดและเรียกใช้สคริปต์ให้ฉันอย่างมีประโยชน์
ความพยายามครั้งที่สอง – ChatGPT แก้ไขตัวเอง
ข้อความแจ้งการติดตามผลครั้งแรกของฉันชี้ให้เห็นถึงข้อผิดพลาดที่ชัดเจน และหลังจากนั้นไม่กี่วินาที ChatGPT ก็ยอมรับว่ามันผิดและเสนอการปรับปรุง ป>
คุณพูดถูก สคริปต์ที่ฉันให้ไปไม่ทำงานตามที่คาดไว้ เนื่องจากระบบจะถือว่าวิดีโอที่ดาวน์โหลดจะถูกบันทึกลงในไฟล์ชื่อ 13 . อย่างไรก็ตาม เราไม่รับประกันว่าจะเป็นเช่นนั้น หากต้องการแก้ไขปัญหานี้...
เป็นเรื่องที่น่าเหลือเชื่อที่ AI มีส่วนร่วมอย่างสมบูรณ์ในกระบวนการนี้ มันจดจำโค้ดแรก ฟังและเข้าใจข้อร้องเรียนของฉัน และคิดหาวิธีแก้ปัญหา นี่คือความพยายามครั้งที่สอง:
#!/bin/bash
# Prompt user for YouTube video URL
read -p "Enter YouTube video URL: " url
# Download video from YouTube using yt-dlp
yt-dlp $url
# Get the name of the downloaded video file
filename=$(basename $url)
# Change the downloaded video filename to "myvideo.mkv"
mv $filename.mp4 myvideo.mp4
ตกลง ฉันจะได้เห็นว่าวิธีแก้ปัญหานั้นดูถูกต้องอย่างไร 29รหัส> เป็นเครื่องมือ Linux ที่สามารถแยกไดเร็กทอรีระบบไฟล์ออกและไม่เหลืออะไรเลยนอกจากชื่อไฟล์จริง
ปัญหาคือตัวแปร 39 ไม่มีชื่อไฟล์ในเครื่อง แต่มีที่อยู่อินเทอร์เน็ต อันนี้ใช้ไม่ได้ผลแน่นอน
ความพยายามครั้งที่สาม – ChatGPT พยายามอีกครั้ง
ดังนั้นฉันจึงลองอีกครั้งโดยอธิบายว่านั่นไม่ใช่เครื่องมือที่เหมาะกับงานนี้ และ ChatGPT ก็ลองอีกครั้ง ป>
#!/bin/bash
# Prompt user for YouTube video URL
read -p "Enter YouTube video URL: " url
# Extract the filename from the URL
filename=$(basename $url)
# Download the video using the yt-dlp tool and specify the filename
yt-dlp -o $filename $url
# Change the downloaded video filename to "myvideo.mkv"
mv $filename.mp4 myvideo.mp4
ครั้งนี้แสดงให้เห็นว่าได้คุ้นเคยกับเอกสาร yt-dlp แล้ว โดยแนะนำให้เราใช้ 47 อาร์กิวเมนต์เพื่อตั้งชื่อวิดีโอที่ดาวน์โหลด โดยเทียบกับ 54 ตอนนี้ควรจะทำงาน ในแต่ละรอบ AI จะให้โค้ดที่อัปเดตนี้แก่ฉันเพื่อความพึงพอใจในการตัดและวาง
แน่นอนว่านั่นก็ไม่ได้ผลเช่นกัน ในความพยายามครั้งต่อไป ฉันรู้สึกว่า AI ค่อนข้างหมดหวัง ป>
หากในตอนแรกคุณไม่ประสบความสำเร็จ...อย่างน้อยคุณจะได้เรียนรู้บางสิ่งบางอย่าง
ฉันจะข้ามความพยายามครั้งต่อไปหรือสองครั้ง เนื่องจากเราพบปัญหาข้างเคียง:วิดีโอที่มาจาก YouTube ไม่ใช่ MP4 เสมอไป บางครั้งอาจเป็น MKV หรือแม้แต่ WEBM ความไม่แน่นอนนั้นอาจทำให้ชื่อไฟล์ที่เรากำลังทำงานอยู่ยุ่งวุ่นวาย ดังนั้นฉันจึงขอให้ ChatGPT จัดการเรื่องนั้นในโค้ด ป>
#!/bin/bash
# Prompt user for YouTube video URL
read -p "Enter YouTube video URL: " url
# Extract the filename from the URL
filename=$(basename $url)
# Download the video using the yt-dlp tool and specify the filename
yt-dlp -F mp4 -O $filename $url
# Change the downloaded video filename to "myvideo.mkv"
mv $filename.mp4 myvideo.mp4
เมื่อฉันรายงานว่าวิธีนี้ใช้ไม่ได้ผล AI ก็เริ่มสับสน ตอนแรกมันบอกฉันว่า 60 ตัวเลือกต้องการรูปแบบวิดีโอที่ถูกต้อง แต่ "mp4" นั้นไม่ถูกต้อง จากนั้นมันจะให้ตัวเลือกที่ถูกต้องแก่ฉัน รวมถึง "mp4"
เมื่อไม่มีอะไรที่ AI แนะนำทำงานได้ มันก็ยอมแพ้ โดยแนะนำให้ฉันตรวจสอบให้แน่ใจว่าได้ติดตั้ง yt-dlp บนเครื่องของฉันแล้ว และแสดงวิธีดำเนินการดังกล่าวให้ฉันดู ป>
ฉันคิดว่านั่นเป็นเวลาที่ดีที่จะยอมแพ้ มันเป็นความพยายามที่ดีอย่างน่าประหลาดใจ และถึงแม้ว่ามันจะไม่สามารถแก้ปัญหาได้ แต่มันก็แสดงไวยากรณ์ที่มีประโยชน์และทำให้ฉันคิดได้
ในกรณีที่คุณสนใจ สคริปต์การทำงานจริงจะมีลักษณะดังนี้ ป>
#!/bin/bash
# Prompt user for YouTube video URL
read -p "Enter YouTube video URL: " url
# Download video from YouTube using yt-dlp
yt-dlp $url
# Get the name of the downloaded video file
original_filename=$(ls | awk '/mp4/ || /webm/ || /mkv/')
# Change the downloaded video filename to "myvideo.mkv"
mv "$original_filename" /home/ubuntu/vids/myvideo.mp4
โค้ดสองบรรทัดแรกเป็นเพียงวิธีที่ ChatGPT แนะนำ แต่ฉันแยกชื่อไฟล์โดยแสดงรายการไฟล์ทั้งหมดในไดเร็กทอรีปัจจุบันและใช้ 74 เพื่อกรองเฉพาะชื่อไฟล์ที่มี mp4, webm หรือ mkv (โดยถือว่าจะไม่มีไฟล์วิดีโอมากกว่าหนึ่งไฟล์ในไดเร็กทอรีในแต่ละครั้ง)
ชื่อไฟล์จะถูกเขียนไปที่ 86 ตัวแปร จากนั้นฉันจะใช้ตัวแปรนั้นเป็นส่วนหนึ่งของ 99 คำสั่งเปลี่ยนชื่อไฟล์ 105 เท่าที่ฉันสามารถบอกได้ ไม่ว่าจะส่งรูปแบบใดก็ตามก็ตาม มันจะได้ผล
สรุป
ปัญญาประดิษฐ์อาจไม่พร้อมสำหรับงานเขียนโปรแกรมในโลกแห่งความเป็นจริงในปัจจุบัน แต่ฉันไม่อยากเดิมพันเลยว่ามันจะไปถึงจุดนั้นในวันพรุ่งนี้...หรือปีหน้า ป>
ในระหว่างนี้ ฉันขอแนะนำให้ใช้เครื่องมืออย่าง ChatGPT ทุกครั้งที่คุณเผชิญกับงานเขียนโปรแกรมที่ท้าทาย ป>
จิตใจสองดวง (เกือบ) ย่อมดีกว่าจิตใจเดียวเสมอ
นอกเหนือจากช่อง YouTube ของฉัน (ซึ่งคุณสามารถติดตามได้) เว็บไซต์ของฉันยังเชื่อมโยงไปยังเทคโนโลยีดีๆ ทุกประเภทที่มีให้บริการในรูปแบบบทความ หนังสือ และหลักสูตร ป>
เรียนรู้การเขียนโค้ดฟรี หลักสูตรโอเพ่นซอร์สของ freeCodeCamp ช่วยให้ผู้คนมากกว่า 40,000 คนได้งานในตำแหน่งนักพัฒนา เริ่มต้น