Developer Logs

I don't know what I've built !!??

Generative AI
Thought express

I don't know what I've built !!!?? (Really ?)

Days: 10 | Publish : 16/03/2025

I don't know what I've built
              
“ไม่จำเป็นต้องรู้ว่าแต่ละบรรทัดทำงานยังไง ขอให้รันได้ก็พอ”

วันนี้ขอ Off topic กับประเด็นที่โคตรจะร้อนแรงสุด ๆ ในตอนนี้ ที่มี highlight ของรายการหนึ่งในโลกออนไลน์ที่เป็นการคุยกันถึงการทำ Application ขึ้นมา โดยไม่จำเป็นต้องรู้ ว่าโค้ดแต่ละบรรทัดที่ Gen AI ช่วยเขียนมานั้น มันทำงานได้ยังไง ?

. .

เอาจริง ๆ ในส่วนของประเด็นนี้ถ้าเราจะบอกว่ามันไม่เป็นจริงก็คงจะไม่ใช่ และเชื่อว่าเหล่า Software Engineer ก็คงจะรู้กันอยู่แล้วว่ามัน “พอจะ” เป็นไปได้ แต่ที่มันสะกิดใจผู้คนในวงการซะเหลือเกิน คงจะเป็นประเด็นที่ว่า ประโยคนี้มันทำให้การทำ Software มันดูง่ายซะจนรู้สึกว่าโดนด้อยค่าไปซะมากกว่า…


Back to the past

จริง ๆ ถ้าย้อนไปตั้งแต่ก่อนที่ Generative AI จะเข้ามามีบทบาท ก็เคยมีประเด็นกันกันมามากมายแล้ว กับการพัฒนา Software โดยที่ไปก๊อปจาก Stackoverflow มา ซึ่งวิวาทะที่พูดถึงกันมากที่สุด ณ ตอนนั้นก็คือ “ถ้าไม่เข้าใจทุกบรรทัดของคำตอบใน Stackoverflow อย่าก๊อปมา”

ซึ่งถ้ามองมาที่ปัจจุบัน มันก็แค่มาถึงในจุดที่ไม่ต้องไป Search หาเอง แต่เปลี่ยนเป็นถาม AI แล้วให้มันตอบมาซะเลย ซึ่งคำตอบ “โดยส่วนใหญ่​” ก็ค่อนข้างจะใช้ได้ดี และก็สามารถคุยต่อเพื่อให้มันแก้ไขให้ดีขึ้นได้ด้วยการ prompt ให้ลึกมากยิ่งขึ้นไป ก็สามารถทำได้

.

What’s the problem ?

แล้วปัญหาของประเด็นนี้มันอยู่ตรงไหนล่ะ ? การเข้าใจผิดในวงกว้างว่าการ Software มันง่ายถึงระดับที่ไม่จำเป็นต้องรู้เรื่องก็สามารถสร้างได้ ถึงแม้ว่า Gen AI จะช่วยงานได้อย่างเยอะมากก็จริง แต่ถ้าคนนำไปใช้งาน ไม่รู้ว่าสิ่งที่ Gen AI ยื่นมาให้ เอาไปใช้ทำอะไรได้ มันจะเวิกจริงใช่มั้ย ?

Think about it

ลองคิดเล่น ๆ ว่าผมกำลังสร้างบ้านสักหลังนึง ทีนี้ผมก็บอก AI ว่าให้ช่วยทำชิ้นส่วนของบ้านแต่ละชิ้นขึ้นมาให้หน่อยสิ แล้วสุดท้ายผมก็มาประกอบเข้าด้วยกัน โอเคแหละ โดย output ภายนอก มันอาจจะดูเสร็จเป็นบ้านหนึ่งหลังก็จริง แล้วหลังจากนั้นล่ะ ? สมมติจะต่อปลั๊กไฟเพิ่ม ติดแอร์ หรือเดินงานระบบภายในบ้าน… ทีนี้ล่ะ ความวายป่วงจะเริ่มบังเกิด

. .

การสร้างขึ้นมาแบบรวดเร็ว และทำงานได้ในระดับนึง อาจจะเถียงไม่ได้ว่า Gen AI สามารถทำได้เก่งจริง และเก่งขึ้นแบบก้าวกระโดดมาก ๆ ด้วย แต่ Software ในระดับ Production grade ที่จะต้องมีส่วนผสมของ Specialist จากหลาย ๆ ส่วนเข้ามาทำให้มันเป็นรูปเป็นร่างนั้น ไม่ได้จบง่ายแค่การ prompt แล้วก็ให้ Gen AI เสกมาให้

ในฐานะ Software Engineer แม้การใช้ Gen AI ทั้งการ prompt หรือ auto completion จำพวก auto pilot จะช่วยให้ชีวิตง่ายขึ้น และจบงานได้เร็วขึ้นมากกว่าเดิมก็จริง แต่เราก็ยังต้องกลับไปที่จุดเดิมในครั้งก่อน ตอนที่เรายังมีแค่เพียง Stackoverflow กันอยู่ดี

. .

Reflection

ถ้าเรามองว่าตัวเองเป็น”ผู้พัฒนา” อีกจุดนึงที่อย่าลืมที่จะพัฒนา ก็เป็น พัฒนาตัวเอง นี่แหละ พัฒนาจนเรารู้และเข้าใจสิ่งที่ Gen AI ช่วยเขียนออกมาให้ อย่าให้มีบรรทัดไหน หรือคำสั่งไหนที่เรายกมาใช้โดยที่ไม่เข้าใจ

สิ่งไหนที่เราไม่เข้าใจ ก็ศึกษาต่อยอดไปจากสิ่งที่ Gen AI ช่วยเขียนออกมาให้ เพื่อให้เราเข้าใจในสิ่งที่เรายังไม่เข้าใจ นี่เป็นจุดที่ยิ่งดีไปใหญ่ เพราะเหมือนเราได้ Engineer อีกคนมา Pair programming กับตัวเราเอง ให้เราพัฒนาไปได้เร็วกว่าที่เคย

. .

Don’t let AI control you

ใช้ AI ให้เป็นผู้ช่วยเรา อย่าให้ AI คอยชี้ทางให้เราอย่างเดียว จนเราไม่รู้ว่าอะไรเป็นอะไร เพราะสิ่งหนึ่งที่ AI ทำได้ดีมากอยู่ในระดับที่เกินควบคุม คือมันมั่นใจมากเกินไป มั่นใจทั้งคำตอบที่ถูกของตัวเอง รวมไปถึงบางคำตอบที่ หลอน ไปเองด้วยนี่แหละ

ถ้าเราเอาแต่ตามสิ่งที่ AI คอยชี้นำอย่างเดียว จนเราไม่ได้แม้แต่รู้ตัวเองด้วยซ้ำ ว่าที่เรากำลังเขียนอยู่คือเรากำลังเขียนอะไร มันก็แอบจะน่ากลัวไปหน่อย ว่าใครกันแน่ที่คุมใคร ? หรือเราเองแค่ทำตัวเป็นไม้เป็นมือในการประกอบร่างของอะไรบางอย่างให้ AI กันแน่ (ว่าไปนั่น 555555)

ก็ฝากไว้ให้คิดกันแค่นี้แล้วกันนะคร้าบบบ ก็อยากจะให้เป็นความเห็นไว้ในอีกมุมนึงแล้วกันนะ แล้วพบกันใหม่ฮะ xD

>_JV