【การสนทนาตามธรรมชาติ】ทำไมเราจึงต้องกลับไปที่การเขียนโปรแกรม แม้เราจะสามารถสนทนาด้วยภาษาธรรมชาติได้?—เรียนรู้ AI อย่างช้าๆ 029
เขียนในตอนแรก
- การเขียนรหัสในพรอมต์นั้นไม่จำเป็นจริงๆ
- เราเพิ่งจะมีการสนทนาด้วยภาษาธรรมชาติ
- ไม่ใช่การเขียนโปรแกรมภาษาธรรมชาติ
- การเขียนโปรแกรมควรให้โปรแกรมเมอร์ทำเถอะ
- อย่าทำให้เราคนธรรมดา ๆ ต้องลำบาก
- โปรแกรมเมอร์ควรเขียนโค้ดในที่ที่ควรเขียน
- การเขียนรหัสในพรอมต์อาจทำให้เกิดความเข้าใจผิดที่ยากจะดีบั๊ก
- ไม่มีความจำเป็นที่จะเพิ่มภาระการเรียนรู้และความวิตกกังวลให้กับคนทั่วไป
- ไม่มีความจำเป็นที่จะต้องเขียนรหัสในพรอมต์
1. ประสบการณ์การเขียนโค้ดในพรอมต์
1.1 ตัวอย่างพรอมต์ที่ล้มเหลวบอกเราว่าไม่มีความจำเป็นที่จะยุ่งยาก
พรอมต์และผลลัพธ์
คุณเป็นเครื่องกำเนิดบัตรทบทวนคำที่มีความสามารถในการแสดงรหัส ตามข้อมูลที่ผู้ใช้ป้อน เช่น จำนวนแถว จำนวนคอลัมน์ ระดับชั้นปี และวันที่ ให้สร้างบัตรหนึ่งใบ อิงจากรหัสด้านล่างเพื่อนำไปใช้:
1 | import pandas as pd |
เมื่อเริ่มใช้ คุณจะรอให้ผู้ใช้ป้อนข้อมูลจำนวนแถว จำนวนคอลัมน์ ระดับชั้นปี และวันที่ จากนั้นใช้ความสามารถในการเขียนโค้ดเพื่อสร้างกราฟ
ผลลัพธ์ มันยังคงทำงานรหัส
รหัสของมันคือ:
1 | import pandas as pd |
จากกรณีที่ล้มเหลวนี้ เราสามารถเห็นประเด็นบางประการ:
- เพื่อให้บรรลุผลลัพธ์ในแบบที่ภาษาโปรแกรมดั้งเดิมนั้นต้องใช้ความพยายามมาก
- การดีบักและแก้ไขโค้ดนั้นยุ่งยากและซับซ้อน
- ไม่เห็นความจำเป็นในการฝังโค้ดลงในพรอมต์เลย
ตอนนี้มีคนพูดว่า นั่นก็เพราะคุณระดับการเขียนโปรแกรมต่ำไป…
อืม ใช่ ฉันมีความสามารถในการเขียนโค้ดธรรมดาจริง ๆ
แต่เดี๋ยวก่อน ถ้า AI ต้องการความสามารถการเขียนโปรแกรมสูงขนาดนี้ มันยังจะเรียกว่า AIGC ได้หรือไม่?
อีกตัวอย่างการใช้ตัวแปรที่ง่ายมาดูกัน ว่าจริง ๆ แล้วมันไม่รู้ว่าเป็นภาษาอะไร
1.2 การฝังโค้ดที่เป็นอุปมาเกิดขึ้นในสถานการณ์ใด
พรอมต์และผลลัพธ์
1 | "ตามความสนใจของฉัน {interests}, งบประมาณ {budget}, ระยะเวลาการเดินทาง {travel_duration}, และจำนวนผู้เดินทาง {number_of_companions}, ช่วยวางแผนการเดินทางให้ฉันหน่อย" "ความสนใจรวมถึงแต่ไม่จำกัดเพียง {list_of_interests}。" "งบประมาณอยู่ในช่วง {budget_range}。" "ระยะเวลาในการเดินทาง {length_of_trip} วัน。" "ฉันจะเดินทางกับ {number_of_people} คน อายุและความสนใจของพวกเขาคือ {ages_and_interests}。" "กรุณาให้ข้อเสนอแนะที่ละเอียดเกี่ยวกับกำหนดการประจำวันของเรา รวมถึงคำแนะนำด้านอาหาร {meal_preferences} และที่พัก {accommodation_preferences}。" |
แม้ว่าตัวอย่างนี้จะไม่สมบูรณ์ แต่ก็เหมือนกับเทมเพลตพรอมต์ที่มีตัวแปร อาจมีประสิทธิภาพในสถานการณ์เฉพาะ ตัวอย่างที่คล้ายกันอาจรวมถึง: หากต้องการออกแบบพรอมต์ที่ซับซ้อนกว่า ให้อัปเดตจุดตัดสินใจและตัวแปรเพิ่มเติม เพื่อให้กระบวนการตอบสนองมีรายละเอียดและหลายทางเลือกมากขึ้น ตัวอย่างต่อไปนี้สำหรับสถานการณ์ต่าง ๆ ที่ซับซ้อนมากขึ้น:
สถานการณ์ 1: แผนอาหารสุขภาพที่ครบถ้วน
พรอมต์เริ่มต้น:
1 | "ฉันมี {dietary_restrictions} ต้องการวางแผนอาหารประเภท {meal_type} สำหรับ {number_of_days} วันถัดไป" |
สถานการณ์ 2: การทดสอบผลิตภัณฑ์เทคโนโลยีเชิงลึก
พรอมต์เริ่มต้น:
1 | "ฉันกำลังพิจารณาซื้อ {product_name} กรุณาให้ข้อมูลที่ละเอียดเกี่ยวกับฟังก์ชันที่ {detailed_features}、ความคิดเห็นจากผู้ใช้ {detailed_reviews}、การเปรียบเทียบราคา {price_comparison} และคำแนะนำการซื้อ {purchase_advice}。" |
สถานการณ์ 3: แผนทรัพยากรการเรียนรู้ที่มีรายละเอียด
พรอมต์เริ่มต้น:
1 | "ฉันต้องการเรียนรู้ {subject} โปรดแนะนำแหล่งการเรียนรู้ที่เหมาะสมตามสไตล์การเรียนรู้ของฉัน {learning_style} และเวลาที่มี {available_time}。" |
สถานการณ์ 4: เส้นทางการเปลี่ยนอาชีพที่ละเอียด
พรอมต์เริ่มต้น:
1 | "อาชีพปัจจุบันของฉันคือ {current_job} และฉันสนใจในอุตสาหกรรม {industry_interest}。" |
เรามาดูกันต่อ ว่าถ้ามีความสัมพันธ์เชิงหลักการง่าย ๆ จะมีลักษณะโดยประมาณเป็นอย่างไร
1.3 โค้ด/ภาษาธรรมชาติที่มีความสัมพันธ์เชิงหลักการง่าย
พรอมต์และผลลัพธ์
1 | input: n |
ดูเหมือนว่าจะแบบง่ายไปซักนิดเรามาเพิ่มความซับซ้อนอีกหน่อย?
1 | input: sorted array A, value to find val |
ฉันไม่ได้บอกมันว่าฉันต้องการหา 99 แต่มันกลับไปหามันเอง…
ตัวอย่างข้างต้นอาจมีความเป็นวิทยาศาสตร์สูง และไม่มีความเกี่ยวข้องกับชีวิตประจำวันมากนัก
นี่คือการดำเนินการของ ChatGPT 3.5 ยังไม่สามารถยืนยันได้ว่ามันได้คำนวณจริง ๆ หรือไม่ แต่อย่างไรก็ตามก็ไม่ได้ป้องกันเราในการสำรวจต่อไป เนื่องจากคนส่วนใหญ่ไม่จำเป็นต้องลึกซึ้งในเรื่องภาษาโปรแกรมที่ซับซ้อนและเปลี่ยนแปลงอยู่ตลอดเวลา เราจึงไม่จำเป็นต้องไปยุ่งเกี่ยวกับมัน ให้ความสำคัญกับประเด็นหลักคือ ภาษาและโค้ดข้างต้นนั้นดูเหมือนไม่เกี่ยวข้องกัน หากพรอมต์นั้นซับซ้อนขึ้นเมื่อเข้าสู่สภาพแวดล้อมการผลิต สถานการณ์อาจซับซ้อนขึ้นมาก:
- ผลลัพธ์ไม่สามารถควบคุมได้
- ในตัวอย่างข้างต้นมีปัญหาภาพหลอนแล้ว
- กระบวนการไม่สามารถควบคุมได้
- เปรียบเสมือน SQL การจัดเก็บข้อมูลที่มี 8000 บรรทัด
- ทุกครั้งที่มีการอัปเกรดระบบ ไม่มีใครกล้าขยับหรือแตะ
ดูเหมือนว่าพรอมต์ที่ใหญ่ที่สุดยังต้องเพียงแค่เข้าไปที่ https://github.com/JushBJJ/Mr.-Ranedeer-AI-Tutor
2. การเขียนโปรแกรมภาษาธรรมชาติคืออะไร
หลังจากเกิดพรอมต์ขึ้นมา การโฆษณาของบริษัทโมเดลขนาดใหญ่เช่น OpenAI ทำให้สื่อต่าง ๆ พูดถึงกันอย่างมาก เส้นทางสื่อก็ปรากฏแนวทางใหม่!
พรอมต์ถูกเข้าใจผิดว่าเป็นภาษาโปรแกรมใหม่ ราวกับว่าหากทำความเข้าใจได้ก็จะสามารถสั่งการกำลังคนให้ทำทุกอย่างได้ง่าย ๆ มี AIGC หลายกลุ่มเพียงแค่สร้างสรรค์ผลงาน การวาดภาพ การเขียนบท การถ่ายทำภาพยนตร์ ทำได้ง่ายดาย! so easy!!
ข้อเดียวที่ต้องกังวลคือ:
- ฉันยังไม่สามารถทำได้
- แต่ฉันเชื่อว่ามันต้องง่าย
- แต่ตอนนี้ฉันทำมันไม่ยังไม่เป็น
แล้วจริง ๆ แล้ว การเขียนโปรแกรมภาษาธรรมชาติคืออะไร ทำไมเจ้า Huang Renxun ถึงบอกว่าไม่ต้องเรียนการเขียนโปรแกรม?
ดังนั้นปัญหานั้นสามารถย้อนกลับไปได้ไกล ตั้งแต่อดีตกาล…
ฉันจะไม่ยืดเยื้อเรื่องนี้มากนัก พูดง่าย ๆ ว่าเราต้องการให้คอมพิวเตอร์ช่วยเราแก้ปัญหา แต่ต้องพบว่ามันยาก ดังนั้นนักวิทยาศาสตร์บางคนจึงเริ่มจากการคำนวณและค่อย ๆ สะสมวิธีการแก้ปัญหา
นักวิทยาศาสตร์ได้ค้นพบปรากฏการณ์ทางธรรมชาติบางอย่างที่สามารถแสดงเป็นปัญหาทางคณิตศาสตร์ได้ เช่น การหาจำนวนสัตว์ในกรงเดียวกัน
เมื่อเวลาผ่านไป นักคณิตศาสตร์เริ่มคิดปัญหาในมุมมองที่เป็นนามธรรมมากขึ้น จึงใช้เครื่องมือทางคณิตศาสตร์เพิ่มเติมซึ่งเป็นสิ่งที่การคำนวณด้วยมือเป็นไปไม่ได้ ดังนั้นจึงมีการประดิษฐ์คอมพิวเตอร์และภาษาการเขียนโปรแกรม เราทุกคนมักเรียนรู้ภาษาการเขียนโปรแกรมในระยะนี้ ต้องทำความเข้าใจประเภทข้อมูล การเข้าใจ if/else การเข้าใจ for loop ฯลฯ
นี่คือวิธีที่คอมพิวเตอร์ใช้ในการแก้ปัญหา โดยการทำให้ปัญหาเป็นนามธรรม ทำให้ปัญหาง่ายขึ้น และจำกัดการแผ่ออกของปัญหา ข้อดีได้แก่ สามารถลดปัญหาได้ และวิธีการในการแก้ปัญหาก็ลดลง ข้อเสียที่เห็นได้ชัดคือ ปัญหาบางอย่างไม่สามารถลดได้ จึงต้องมีการแผ่ออก
ดังนั้นจึงมีคนตั้งคำถามว่า สามารถไม่ต้องเรียนรู้ภาษาการเขียนโปรแกรมได้ไหม ณ จุดนี้ ด้วยระดับความซับซ้อนของปัญหาที่เพิ่มขึ้น อาจจะยิ่งจำเป็นต้องใช้การเขียนโปรแกรม!! เช่นเดียวกับที่ฉันไม่สามารถใช้ PS ได้ และใช้เพียงแค่โปรแกรมวาดภาพพื้นฐานและเครื่องมือออนไลน์ง่าย ๆ แต่ถ้าฉันต้องจัดการกับภาพซับซ้อน สุดท้ายแล้วยังต้องเรียน PS! ปริศนาของปัญหานี้คือ เราจะประเมินผลลัพธ์เมื่อเราใช้การเขียนโปรแกรมภาษาธรรมชาติได้อย่างไร? เมื่อเราทำการเขียนโปรแกรมภาษาธรรมชาติแล้ว ฉันจะประเมินได้อย่างไรว่าโปรแกรมนั้นไม่พูดจาผิด ๆ?
เราทุกคนรู้ในทางปฏิบัติว่า โมเดลใหญ่จะยังคงเล่นเกมถ้อยคำในลักษณะคล้ายการต่อคำ เลขคณิตพื้นฐานจึงไม่ใช่สิ่งที่มันคำนวณออกมา แต่เป็นเพียงการที่มันเคยเห็นเนื้อหาการฝึกฝนมา แล้วมันก็ต่อยอดออกมา เพื่อแก้ไขปัญหานี้ OpenAI ได้เปิดตัวตัวอธิบายรหัสในปีที่แล้ว เพื่อมอบความหวังให้กับคนอย่างเรา ๆ ที่ไม่รู้เรื่องการเขียนโปรแกรมเลย
3. ตัวอธิบายรหัสสามารถทำอะไรได้บ้าง
โดยง่าย สามารถเข้าใจได้ว่า OpenAI ได้เพิ่มสภาพแวดล้อมการExecuting Python sandbox ที่สามารถดำเนินการตามบริบทและตั้งใจฟังก์ชันต่าง ๆ จากนั้นสรุปผลลัพธ์มาบอกพวกเรา
เราสามารถเห็นได้ว่า เพียงบอกคนให้ช่วยรักษาฟังก์ชัน จากนั้นก็ให้มันไปทำ โดยแท้จริงสิ่งที่ Python สามารถทำได้ ส่วนมากก็ทำได้เช่นกัน มาดูกันว่ามีสถานการณ์ใดบ้างที่น่าสนใจที่มุ่งหมายที่นำเสนอทางเลือกใหม่
สถานการณ์ทั้ง 4 ที่นับต่อไปนี้มีเครื่องมือเฉพาะมาทำ แต่ให้โอกาสใหม่แก่สถานการณ์เหล่านี้ เราได้เห็นการเติบโตของอินเทอร์เน็ตมือถือเมื่อมีความไม่แน่นอนเกิดขึ้นและพยายามจะหาสมดุล ทำให้เราไม่จำเป็นต้องเปิดใช้งานเครื่องมือเฉพาะอีกต่อไป
บางครั้งการดูมันทำงานหลายรอบ แล้วในที่สุดมันล้มเหลว รู้สึกแปลก ๆ ช่วงหลังให้มันวิเคราะห์สรุปจาก ticktick มันล้มเหลวถึง 10 ครั้ง
สรุปคือ การใช้มันเพื่อการสำรวจนั้นเหมาะมาก
จะเปิดใช้งานได้อย่างไร? มีตัวเลือกใน GPTs ให้ทำการติ๊กถูก และ GPTs จะมีความสามารถนี้ ในการสนทนาของ GPT4 วิธีที่ฉันทำในขณะนี้คือบอกให้มันใช้ความสามารถของ Python หรือกล่าวถึงความสามารถในการ Execute Code แล้วพูดต่อเนื่องไป
จากการตอบสนองข้างต้น เราสามารถมองเห็นกระบวนการนั้นง่ายจริง ๆ
3.1 การวิเคราะห์ข้อมูลและการแสดงภาพ
วิธีการนี้สามารถเริ่มต้นโดยไม่ต้องอธิบายข้อเรียกร้องของเรา โดยการส่งไฟล์ CSV หรือ Excel เพื่อให้มันวิเคราะห์โดยตรง มันสามารถหากราฟที่เหมาะสมในการแสดงผลแทนเราได้ หากไม่พอใจก็อธิบายเพิ่มเติมได้
ในยุคปัจจุบัน การวิเคราะห์ข้อมูลและการแสดงภาพเป็นเครื่องมือที่สำคัญสำหรับการเข้าถึงแนวโน้มและรูปแบบในข้อมูล ในการใช้ปลั๊กอินตัวอธิบายโค้ดของ ChatGPT มีการสนับสนุนสำหรับไลบรารีการวิเคราะห์ข้อมูลที่ทรงพลังเช่น pandas และ matplotlib ทำให้กระบวนการนี้ง่ายขึ้นมาก ผู้ใช้สามารถขอโดยใช้ภาษาธรรมชาติ นำทางเข้าไปว่าต้องการให้ ChatGPT ดำเนินการกับข้อมูลและสร้างกราฟ โดยทำให้การวิเคราะห์ข้อมูลเป็นเรื่องที่เข้าถึงได้ง่ายและเป็นมิตรกับผู้ใช้มากขึ้น
ตัวอย่างเช่น นักวิเคราะห์ตลาดอาจต้องการวิเคราะห์ข้อมูลการขายของผลิตภัณฑ์และแสดงการแสดงผลการขายในแต่ละภูมิภาค โดยการใช้ตัวอธิบายโค้ด ทำให้พวกเขาสามารถบอก ChatGPT ให้อ่านไฟล์ CSV ที่มีข้อมูลการขาย ใช้ pandas ในการคำนวณยอดขายรวมในแต่ละภูมิภาค และหลังจากนั้นใช้ matplotlib เพื่อสร้างกราฟแท่ง กระบวนการทั้งหมดนี้ไม่จำเป็นต้องเขียนโค้ดที่ซับซ้อน เพียงแต่บอกคำอธิบายองค์การที่เกี่ยวข้องกับการวิเคราะห์ข้อมูลได้อย่างตรงไปตรงมา
นอกจากนี้ ฟังก์ชันอันทรงพลังของตัวอธิบายโค้ดยังทำให้การวิเคราะห์อนุกรมเวลา การสร้างโมเดลการคาดการณ์ และการทดสอบทางสถิติที่ซับซ้อนเป็นไปได้ง่าย ตัวอย่างเช่น นักวิทยาศาสตร์สิ่งแวดล้อมอาจต้องการวิเคราะห์ข้อมูลการเปลี่ยนแปลงอุณหภูมิในทศวรรษที่ผ่านมา โดยใช้ตัวอธิบายโค้ด พวกเขาสามารถโหลดชุดข้อมูล ใช้โมเดลการเรียบเรียงหรือการถดถอย และสร้างกราฟที่แสดงแนวโน้มได้อย่างรวดเร็ว
สำหรับกราฟแล้ว การวิเคราะห์ใน Excel มีครบถ้วน และมีเครื่องมือเฉพาะมากมาย แต่สำหรับคนทั่วไป ChatGPT ยังมีคุณค่า คือ มุมมองการวิเคราะห์และการตีความที่อาจทำให้เราเกิดแรงบันดาลใจ เช่น
มีปัญหาหนึ่งคือลักษณะแผนภูมิที่ใช้ภาษาจีนอาจไม่สามารถแสดงผลได้ ดังนั้นต้องอัปโหลดไฟล์ฟอนต์ไป มันยังไม่มีทางแก้ไขในขณะนี้
3.2 ความยืดหยุ่นในการแปลงไฟล์
ขณะนี้วิธีนี้อาจใช้ไม่ค่อยดีนัก แต่ก็สามารถทำเทสต์ได้ ตัวอย่างที่ผ่านมา คือ การแปลง mp4 เป็น mp3 จะบอกว่ามีความหมายมากขนาดไหน อาจจะก็แค่ถ้วยน้ำเท่านั้น ให้ใช้เวลาน้อยมาก มันก็เป็นที่เข้าใจได้ อุปกรณ์อันนี้มีหลักการคล้ายกับการลบพื้นหลังของภาพ
การแปลงรูปแบบไฟล์คือความต้องการที่พบได้บ่อยในหลายด้าน โดยเฉพาะเมื่อทำงานกับเอกสารจำนวนมากและไฟล์มัลติมีเดีย ตัวอธิบายรหัสช่วยให้กระบวนการการแปลงไฟล์นั้นง่ายยิ่งขึ้น ไม่ว่าจะเป็นการวิจัยทางวิทยาศาสตร์ การออกแบบวิศวกรรม หรือการดำเนินธุรกิจประจำวัน ความสามารถในการแปลงไฟล์ระหว่างรูปแบบต่าง ๆ ได้อย่างรวดเร็วและแม่นยำนั้น เป็นกุญแจสำคัญสำหรับการเพิ่มประสิทธิภาพในการทำงาน
ด้วยการรวมไลบรารี Python เช่น pandas ตัวอธิบายรหัสสามารถช่วยแปลงไฟล์จาก CSV เป็นไฟล์ Excel และในทางกลับกันได้อย่างง่ายดาย นี่หมายถึงประโยชน์มหาศาลสำหรับผู้ที่ต้องการย้ายและใช้ข้อมูลระหว่างแพลตฟอร์มซอฟต์แวร์ ตัวอย่างเช่น นักวิเคราะห์การเงินอาจต้องการแปลงงบการเงินจาก Excel เป็นรูปแบบ CSV เพื่อดำเนินการต่อไป ด้วยตัวอธิบายรหัส งานนี้สามารถเสร็จสิ้นได้ด้วยการประมวลผลเพียงไม่กี่คำสั่ง
สำหรับการประมวลผลภาพ ตัวอธิบายรหัสสามารถใช้ไลบรารี Pillow (PIL) ของ Python ในการแปลงระหว่างรูปแบบต่าง ๆ ของภาพ เช่น จาก JPEG ไปยัง PNG สิ่งนี้สำคัญมากในด้านการแก้ไขภาพ การออกแบบเว็บ และอุตสาหกรรมการพิมพ์ นักออกแบบหรือช่างภาพสามารถใช้ตัวอธิบายรหัสในการปรับรูปแบบภาพอย่างรวดเร็วเพื่อให้ตรงตามข้อกำหนดการส่งออกที่แตกต่างกัน
โดยรวมแล้ว การใช้งานตัวอธิบายโค้ดมีความหลากหลายและมีศักยภาพสูง ตั้งแต่การแปลงไฟล์ที่ง่ายไปจนถึงการวิเคราะห์ข้อมูลที่ซับซ้อนและการแสดงภาพ สะท้อนถึงความแม่นยำและการสร้างสรรค์ของเครื่องมือในยุคใหม่ ฟังก์ชันเหล่านี้ไม่เพียงแต่เพิ่มประสิทธิภาพในการทำงานเท่านั้น แต่ยังช่วยให้ผู้ใช้งานที่ไม่ใช่คนที่มีทักษะทางเทคนิคสามารถทำงานที่ต้องการความรู้เฉพาะได้ง่ายขึ้น เมื่อเทคโนโลยีและความต้องการของผู้ใช้ยังคงเปลี่ยนแปลง คาดว่าตัวอธิบายโค้ดยังคงมีคุณค่าในหลายแห่งในอนาคต
3.3 การพัฒนาโค้ดและการออกแบบต้นแบบ
ตัวอธิบายรหัสเป็นเครื่องมือที่ปฏิวัติวงการในการพัฒนาซอฟต์แวร์และการออกแบบต้นแบบ โดยช่วยให้นักพัฒนาสามารถทำการทดสอบและตรวจสอบโค้ดได้อย่างรวดเร็ว ผ่านการให้บริการสภาพแวดล้อมของการแสดงผลและการปฏิบัติที่สามารถให้ผลลัพธ์ที่นักพัฒนาสามารถนำมาใช้เพื่อปรับเปลี่ยนและทดสอบฟังก์ชันต่าง ๆ ได้เลย ทำให้เราสามารถเพิ่มประสิทธิภาพจากกระบวนการพัฒนาให้เร็วขึ้นไปอีก
เช่น นักพัฒนาสามารถใช้ตัวอธิบายรหัสในการสร้างต้นแบบสคริปต์การเก็บข้อมูลเว็บอย่างรวดเร็ว ทดสอบกลยุทธ์การวิเคราะห์ที่แตกต่างกัน หรือทดสอบกระบวนการรวมข้อมูลว่าตรงตามที่คาดหวังไหม ด้วยคำสั่งง่าย ๆ ตัวอธิบายรหัสสามารถทำการทำงานให้เสร็จและแสดงผลและให้ข้อมูลดีบักที่จะทำให้นักพัฒนาสามารถระบุปัญหาได้รวดเร็วและปรับปรุงได้ทันที
- โหลดเนื้อหาของเว็บไซต์: โดยใช้ไลบรารี
requests
เพื่อดึงข้อมูล HTML จากเว็บไซต์เป้าหมาย - วิเคราะห์ HTML: โดยใช้ไลบรารี
BeautifulSoup
เพื่อวิเคราะห์และเข้าถึงข้อมูลที่ต้องการ - การจัดการข้อมูล: ทำความสะอาดและจัดรูปแบบข้อมูลที่ดึงมาเพื่อนำไปวิเคราะห์หรือจัดเก็บต่อไป
- แสดงผลลัพธ์: พิมพ์หรือแสดงผลข้อมูล เพื่อยืนยันความถูกต้องของผลการเก็บข้อมูล
1 | import requests |
ในกรณีนี้ มันสามารถช่วยเราในการทดสอบและการตรวจสอบผลลัพธ์ ต่างจากที่เราต้องเริ่มต้นโปรเจ็กต์ใหม่ให้อยู่ในสภาพรับใช้งานอย่างรวดเร็ว แน่นอนว่าเมื่อสิ้นสุดการดำเนินการทั้งหมด เราจะต้องทำเช่นนั้น แต่จริง ๆ มันก็ช่วยประหยัดเวลาเราได้มาก
นอกจากนั้น ตัวอธิบายรหัสยังรองรับไลบรารีและโมดูลมากมาย ซึ่งหมายความว่านักพัฒนาสามารถใช้เครื่องมือและลักษณะการสร้างที่ทันสมัย เช่น การใช้งาน TensorFlow หรือ PyTorch เพื่อพัฒนาโมเดลการเรียนรู้เครื่องอย่างเร็ว ซึ่งไม่เพียงแต่เร่งความเร็วในการสำรวจเทคโนโลยีใหม่ ๆ ยังให้สภาพแวดล้อมทดลองที่ปลอดภัยสำหรับนักพัฒนสามารถลองศึกษาวิทยาศาสตร์ใหม่ที่ไม่ทำให้เสียการตั้งค่าปัจจุบัน
3.4 การแก้ปัญหาทางคณิตศาสตร์ที่ซับซ้อน
ตัวอธิบายรหัสไม่เพียงแต่เป็นเครื่องมือที่แข็งแกร่งในการเขียนโปรแกรมและพัฒนาซอฟต์แวร์ แต่ยังเป็นผู้ช่วยที่มีประสิทธิภาพในการแก้ปัญหาทางคณิตศาสตร์ที่ซับซ้อน ด้วยการรวมไลบรารีการคำนวณทางวิทยาศาสตร์เช่น Numpy และ Scipy ตัวอธิบายรหัสสามารถดำเนินการทางคณิตศาสตร์ที่หลากหลายได้ ตั้งแต่การคำนวณเลขคณิตพื้นฐานไปจนถึงการสร้างแบบจำลองทางคณิตศาสตร์และการวิเคราะห์ทางสถิติที่ซับซ้อน
ในงานวิจัยและวิศวกรรม มักจะต้องการการจัดการข้อมูลที่ซับซ้อนรวมถึงการดำเนินการทางคณิตศาสตร์ที่ซับซ้อน เช่น การคำนวณพีชคณิตเชิงเส้น การแปลงฟูเรียร์ การวิเคราะห์ข้อมูลทางสถิติ ตัวอธิบายรหัสสามารถดำเนินการเหล่านี้ได้อย่างรวดเร็วและให้ผลลัพธ์ที่ชัดเจน ช่วยให้ผู้ใช้สามารถตรวจสอบความถูกต้องของการคำนวณหรือแนวโน้มที่แสดงให้เห็นได้อย่างรวดเร็ว
ตัวอย่างเช่น นักวิทยาศาสตร์สิ่งแวดล้อมกำลังศึกษาผลกระทบของการเปลี่ยนแปลงภูมิอากาศต่อตัวแปรอุณหภูมิในแต่ละพื้นที่ โดยการใช้ตัวอธิบายรหัส พวกเขาสามารถโหลดข้อมูลอุณหภูมิโดยใช้แบบจำลองทางสถิติและสร้างกราฟที่แสดงให้เห็นแนวโน้ม ข้อดีคือการมีผลตรวจสอบทันทีซึ่งจะช่วยให้พวกเขามีสมาธิกับการวิเคราะห์และอธิบายข้อมูล ไม่ต้องเสียเวลากับการจัดการข้อมูล
3D Surface | Fractal |
---|---|
สถานการณ์เหล่านี้ในความจริงมีทางออกที่มีคุณภาพมากแล้ว
4. การวิเคราะห์หลักการของตัวอธิบายรหัส
ฉันถาม
1 | ให้ใช้ความสามารถของ Python บอกข้อมูลเวอร์ชันของ sandbox Linux และเวอร์ชัน Python โดยแสดงผลทั้งสองรายการ และเครียสอบอีก 2 คำสั่งเพื่อให้แสดงผลรายละเอียดที่มากขึ้น คำสั่งคือ uname -a และ lsb_release -a |
มันตอบ
ในสภาพแวดล้อม sandbox ปัจจุบัน เราได้รับข้อมูลรายละเอียดเกี่ยวกับเวอร์ชันระบบและ Python ดังนี้:
ข้อมูลเวอร์ชัน Linux:
Linux-4.4.0-x86_64-with-glibc2.36
ข้อมูลเวอร์ชัน Python:
3.11.8 (main, Mar 12 2024, 11:41:52) [GCC 12.2.0]
ผลลัพธ์จากการใช้คำสั่ง
uname -a
:Linux 3dfa9ec0-11da-496f-831c-878f4773c1c6 4.4.0 #1 SMP Sun Jan 10 15:06:54 PST 2016 x86_64 GNU/Linux
- แสดงว่าสถานการณ์ทำงานอยู่บน Linux kernel version 4.4.0 และได้รับการสร้างขึ้นในปี 2016 โดยใช้สถาปัตยกรรม x86_64
ผลลัพธ์จากการใช้คำสั่ง
lsb_release -a
:Distributor ID: Debian Description: Debian GNU/Linux 12 (bookworm) Release: 12 Codename: bookworm
- หมายความว่าระบบปฏิบัติการปัจจุบันคือ Debian GNU/Linux เวอร์ชัน 12 ชื่อรหัสว่า bookworm
จากการตรวจสอบ เราพบว่าเป็น Sandbox ที่สามารถทำการ Running Python จริง ๆ แต่มีข้อจำกัดบางประการ:
- ห้ามเข้าถึงอินเทอร์เน็ต
- ทดสอบดูเหมือนว่า curl สามารถเข้าถึงได้
- คำสั่งเวลาจำกัด 120 วินาที
- ถ้านานเกินไปจะถูกตัดการเชื่อมต่อ
- ห้ามเข้าใช้งาน root
- เนื่องจากข้อจำกัดในนี้อาจส่งผลกระทบต่อการติดตั้งซอฟต์แวร์
บทความนี้มีจุดมุ่งหมายเพื่อแสดงว่า ความจำเป็นในการเขียนโค้ดในพรอมต์นั้นไม่มี โดยสามารถใช้ตัวนี้ให้เกิดประโยชน์มากขึ้น
5. อนาคตของตัวอธิบายรหัสที่เป็นไปได้
ตัวอธิบายรหัส คืออุปกรณ์เชิงนวัตกรรมที่แสดงให้เห็นถึงศักยภาพในการนำไปใช้ในหลายสาขา ตั้งแต่การวิเคราะห์ข้อมูลไปจนถึงการพัฒนาซอฟต์แวร์ การแก้ปัญหาทางคณิตศาสตร์ที่ซับซ้อน ไปจนถึงการออกแบบต้นแบบอย่างรวดเร็ว ตัวอธิบายรหัสไม่เพียงแต่ช่วยให้งานที่มีประสิทธิภาพสูงขึ้น แต่มันยังมอบความยืดหยุ่นและความเร็วในการวิจัยและพัฒนาในวิธีที่ไม่เคยมีมาก่อน ในอนาคต ด้วยการพัฒนาของเทคโนโลยี AI ที่ยังคงเจริญเติบโต คาดว่าตัวอธิบายรหัสจะรวมฟังก์ชันที่ล้ำสมัยมากขึ้น เช่น การรวมการเรียนรู้ของเครื่องเชิงลึก การสร้างการทดสอบอัตโนมัติ,以及云端协作等,这些都将进一步拓宽其应用范围,深化其科技影响力。