AI
น้องๆ หลายคนอาจจะเริ่มได้ยินเรื่อง AI เขียนโค้ดมาบ้างแล้วใช่มั้ย? ไอ้เจ้า AI พวกนี้มันเขียนโค้ดได้จริงเหรอ? แล้วมันจะมาแย่งงานโปรแกรมเมอร์อย่างพวกเราหรือเปล่า? สมัยผมทำร้านเน็ต SiamCafe (ตั้งแต่ปี 1997 โน่น!) เทคโนโลยีมันยังไม่ได้ก้าวหน้าขนาดนี้เลยนะ แต่พอได้ลองเล่น AI เขียนโค้ดดูบ้างแล้ว ก็รู้สึกว่า "เฮ้ย! มันก็เจ๋งดีนี่หว่า!"
บทความนี้ อ.บอม จะมาเล่าประสบการณ์ตรงให้ฟัง ว่า AI มันเขียนโค้ดได้แม่นยำขนาดไหน? มีข้อดีข้อเสียอะไรบ้าง? แล้วเราควรจะปรับตัวยังไงในยุคที่ AI กำลังเข้ามามีบทบาทมากขึ้นเรื่อยๆ? เตรียมตัวให้พร้อม แล้วมาดูกันเลย!
AI เขียนโค้ด หรือที่เรียกกันติดปากว่า "AI Code Generation" มันก็คือเทคโนโลยีที่ใช้ปัญญาประดิษฐ์ (AI) ในการสร้างโค้ดโปรแกรมแบบอัตโนมัติ พูดง่ายๆ คือเราป้อนคำสั่งหรือความต้องการของเราไปให้ AI แล้วมันก็จะเขียนโค้ดออกมาให้เราเลย
ลองนึกภาพว่าเราอยากจะสร้างเว็บไซต์ขายของออนไลน์ แต่เราไม่มีความรู้เรื่องการเขียนโค้ดเลย สมัยก่อนเราก็ต้องไปจ้างโปรแกรมเมอร์ หรือไม่ก็ต้องไปเรียนเขียนโค้ดเอง ซึ่งมันเสียเวลาและค่าใช้จ่ายเยอะมาก แต่ถ้าเรามี AI เขียนโค้ด เราก็แค่บอก AI ว่าเราอยากได้เว็บไซต์แบบไหน มีฟีเจอร์อะไรบ้าง แล้ว AI มันก็จะสร้างโค้ดเว็บไซต์ออกมาให้เราเลย
นอกจากนี้ AI เขียนโค้ดยังช่วยลดเวลาในการพัฒนาโปรแกรม ลดข้อผิดพลาดที่เกิดจากมนุษย์ และช่วยให้โปรแกรมเมอร์สามารถโฟกัสไปที่งานที่สำคัญกว่าได้อีกด้วย
หลักการทำงานของ AI เขียนโค้ด ส่วนใหญ่จะใช้เทคนิคที่เรียกว่า "Machine Learning" โดยเฉพาะอย่างยิ่ง "Deep Learning" ซึ่งเป็นการสอนให้ AI เรียนรู้จากข้อมูลจำนวนมหาศาล เช่น โค้ดโปรแกรมที่มีอยู่บนอินเทอร์เน็ต หรือเอกสารประกอบการเขียนโปรแกรมต่างๆ
เมื่อ AI ได้เรียนรู้จากข้อมูลเหล่านี้แล้ว มันก็จะสามารถสร้างโค้ดใหม่ๆ ได้ โดยอิงจากรูปแบบและโครงสร้างของโค้ดที่มันเคยเรียนรู้มา
ทีนี้เรามาลองสั่งให้ AI เขียนโค้ดกันจริงๆ เลยดีกว่า อ.บอม จะลองใช้ ChatGPT ซึ่งเป็น AI ที่มีความสามารถในการสร้างโค้ดได้ดีพอสมควร ในการเขียนโค้ด HTML ง่ายๆ สักตัวอย่างหนึ่ง
เราจะให้ ChatGPT สร้างหน้าเว็บ HTML ที่แสดงข้อมูลนักเรียน โดยมีข้อมูล ชื่อ นามสกุล อายุ และเกรดเฉลี่ย
<!DOCTYPE html>
<html>
<head>
<title>ข้อมูลนักเรียน</title>
</head>
<body>
<h1>ข้อมูลนักเรียน</h1>
<table border="1">
<tr>
<th>ชื่อ</th>
<th>นามสกุล</th>
<th>อายุ</th>
<th>เกรดเฉลี่ย</th>
</tr>
<tr>
<td>สมชาย</td>
<td>ใจดี</td>
<td>15</td>
<td>3.50</td>
</tr>
<tr>
<td>สมหญิง</td>
<td>เก่งมาก</td>
<td>16</td>
<td>3.80</td>
</tr>
</table>
</body>
</html>
จากโค้ดที่ได้ เราจะเห็นว่า ChatGPT สามารถสร้างโครงสร้าง HTML สำหรับแสดงข้อมูลนักเรียนได้ถูกต้อง แต่ข้อมูลในตารางยังเป็นข้อมูลตัวอย่างที่เราต้องแก้ไขเอง นอกจากนี้ เรายังสามารถปรับแต่งโค้ดให้สวยงามและตรงกับความต้องการของเราได้อีกด้วย
เห็นมั้ยครับว่า AI มันก็ช่วยเราเขียนโค้ดได้จริงๆ แต่เราก็ยังต้องมีความรู้พื้นฐานในการเขียนโค้ดอยู่บ้าง เพื่อที่จะสามารถตรวจสอบและปรับแก้โค้ดที่ AI สร้างขึ้นได้
แน่นอนว่า AI เขียนโค้ด ก็เหมือนกับเทคโนโลยีอื่นๆ ที่มีทั้งข้อดีและข้อเสีย เรามาดูกันว่ามีอะไรบ้าง
| คุณสมบัติ | AI เขียนโค้ด | โปรแกรมเมอร์ |
|---|---|---|
| ความเร็ว | เร็วกว่า | ช้ากว่า |
| ความแม่นยำ | อาจจะไม่ถูกต้องเสมอไป | ถูกต้องกว่า (ถ้ามีความรู้และประสบการณ์) |
| ความเข้าใจ | อาจจะไม่เข้าใจความต้องการทั้งหมด | เข้าใจความต้องการได้ดีกว่า |
| ความซับซ้อน | สร้างโค้ดที่ซับซ้อนได้จำกัด | สร้างโค้ดที่ซับซ้อนได้ดีกว่า |
| ความคิดสร้างสรรค์ | ไม่มีความคิดสร้างสรรค์ | มีความคิดสร้างสรรค์ |
| ราคา | ถูกกว่า | แพงกว่า |
จากตารางเปรียบเทียบ เราจะเห็นว่า AI เขียนโค้ด และโปรแกรมเมอร์ ต่างก็มีข้อดีข้อเสียที่แตกต่างกันไป การเลือกใช้ AI หรือโปรแกรมเมอร์ ขึ้นอยู่กับความต้องการและงบประมาณของเรา
AI เขียนโค้ด เป็นเทคโนโลยีที่น่าสนใจและมีประโยชน์อย่างมาก แต่เราก็ต้องใช้งานมันอย่างระมัดระวัง และอย่าพึ่งพามันมากเกินไป
ในยุคที่ AI กำลังเข้ามามีบทบาทมากขึ้นเรื่อยๆ สิ่งที่สำคัญที่สุดคือการปรับตัว เรียนรู้ทักษะใหม่ๆ และพัฒนาตัวเองอยู่เสมอ ไม่ว่าจะเป็นทักษะในการเขียนโค้ด ทักษะในการวิเคราะห์ปัญหา หรือทักษะในการสื่อสาร SiamCafe Blog มีบทความดีๆ ให้อ่านเยอะเลย ลองเข้าไปดูกันนะ
จำไว้ว่า AI เป็นแค่เครื่องมือช่วยเราทำงานให้ง่ายขึ้น แต่สุดท้ายแล้ว คนที่ควบคุมและตัดสินใจก็คือเราเอง SiamCafe Blog ขอเป็นกำลังใจให้น้องๆ ทุกคน ประสบความสำเร็จในสายงานโปรแกรมเมอร์นะครับ!
สมัยผมทำร้านเน็ตฯ, ลูกค้าพิมพ์ผิดชีวิตเปลี่ยน! AI ก็เหมือนกันครับ ยิ่งคุณให้รายละเอียดเยอะเท่าไหร่ โค้ดที่ได้ก็จะตรงใจมากขึ้นเท่านั้น อย่าขี้เกียจพิมพ์ อธิบายให้ชัดเจนว่าต้องการอะไร, ฟังก์ชันอะไร, input/output เป็นแบบไหน
# ไม่ดี: เขียนโปรแกรมบวกเลข
# ดีกว่า: เขียนฟังก์ชัน Python ชื่อ add_numbers รับ input เป็นตัวเลขสองตัว (integer) และคืนค่าผลรวมของตัวเลขทั้งสอง
def add_numbers(a, b):
return a + b
เห็นไหมครับ? แค่เพิ่มรายละเอียดนิดเดียว AI ก็เข้าใจความต้องการเราได้ดีขึ้นเยอะเลย
AI เก่งนะ แต่ไม่ได้เก่งทุกเรื่อง ถ้าคุณโยนโจทย์ยากๆ ไปให้ AI อาจจะงงได้ ลองแบ่งปัญหาใหญ่ๆ ออกเป็นปัญหาย่อยๆ แล้วค่อยๆ ให้ AI ช่วยทีละส่วน จะได้ผลลัพธ์ที่ดีกว่าเยอะ
เคยเจอเคสลูกค้าจะทำระบบร้านเกมส์ออนไลน์ทั้งระบบ แล้วให้ AI เขียนทีเดียวจบ... เจ๊ง! ลองเริ่มจาก module เล็กๆ ก่อน เช่น ระบบ login, ระบบจัดการ item, ระบบคิดเงิน
อย่าเชื่อใจ AI 100% ถึง AI จะเขียนโค้ดได้เร็ว แต่ก็ไม่ได้หมายความว่าโค้ดนั้นจะถูกต้องเสมอไป ต้อง review โค้ดที่ AI สร้างขึ้นมาเสมอ เช็คดูว่ามี bug หรือเปล่า, logic ถูกต้องไหม, code style เป็นยังไง ถ้าไม่เข้าใจ code ที่ AI เขียน ให้ถาม AI ให้ explain ได้เลย
# AI อาจจะเขียน code ที่ทำงานได้ แต่ไม่สวยงาม
# ลอง review และปรับปรุง code ให้ readable มากขึ้น
if (x>0) {
// do something
}
# ดีกว่า
if x > 0:
# do something (Python style)
สมัยผมทำร้านเน็ตฯ, ผมจะให้ลูกน้องอีกคนช่วย review code เสมอ "สองหัวดีกว่าหัวเดียว" ยังใช้ได้เสมอครับ
จำไว้ว่า AI เป็นแค่เครื่องมือช่วยเราเขียนโค้ด ไม่ใช่มาแทนที่เราได้ เรายังต้องเป็นคนกำหนดทิศทาง, ตัดสินใจ, และแก้ปัญหาเอง อย่าปล่อยให้ AI ทำทุกอย่าง แล้วเรานั่งเฉยๆ ต้องเรียนรู้และปรับตัวไปพร้อมกับ AI
เปรียบเหมือนสมัยก่อนที่เราใช้เครื่องพิมพ์ดีด, ตอนนี้เราใช้คอมพิวเตอร์พิมพ์งาน เราก็ยังต้องเป็นคนคิดเนื้อหา, จัดรูปแบบ, และตรวจทานอยู่ดี
iCafeForexเพราะ AI เรียนรู้จากข้อมูลจำนวนมหาศาลครับ มันอ่านโค้ดเป็นล้านๆ บรรทัด ทำให้มัน "จำ" รูปแบบและ syntax ต่างๆ ได้อย่างรวดเร็ว เหมือนเด็กที่จำเพลงได้จากการฟังซ้ำๆ แต่ก็ไม่ได้หมายความว่ามันจะ "เข้าใจ" ความหมายของโค้ดนั้นๆ นะครับ
ผมว่ายังอีกนานครับ AI อาจจะช่วยลดภาระงาน routine ของโปรแกรมเมอร์ได้ แต่ความสามารถในการคิดวิเคราะห์, แก้ปัญหาเฉพาะหน้า, และสร้างสรรค์สิ่งใหม่ๆ ยังเป็นสิ่งที่ AI ทำไม่ได้ดีเท่ามนุษย์
ตอนนี้ยังไม่ค่อยดีเท่าไหร่ครับ เพราะ AI ส่วนใหญ่ถูก train ด้วยข้อมูลภาษาอังกฤษเป็นหลัก แต่ผมเชื่อว่าในอนาคต AI จะสามารถเขียนโค้ดภาษาไทยได้ดีขึ้นแน่นอน
นอกจาก ChatGPT แล้ว, ก็มีหลาย tool ที่น่าสนใจ เช่น GitHub Copilot, Tabnine, และ Amazon CodeWhisperer ลองศึกษาและเลือกใช้ tool ที่เหมาะกับตัวเองดูครับ
ยากครับ! การใช้ AI เขียนโค้ดให้มีประสิทธิภาพ จำเป็นต้องมีความรู้พื้นฐาน programming อยู่บ้าง เพื่อให้เข้าใจว่า AI กำลังทำอะไร และสามารถตรวจสอบผลลัพธ์ได้ ถ้าไม่มีพื้นฐานเลย อาจจะเหมือนคนที่ไม่เคยขับรถ แล้วให้ AI เป็นคนขับให้... อันตรายครับ!
AI เป็นเครื่องมือที่มีประโยชน์มากในการเขียนโค้ด ช่วยให้เราทำงานได้เร็วขึ้นและมีประสิทธิภาพมากขึ้น แต่เราต้องใช้ AI อย่างชาญฉลาด, รู้จักข้อจำกัดของมัน, และอย่าลืมที่จะ review โค้ดที่ AI สร้างขึ้นมาเสมอ ที่สำคัญคือต้องเรียนรู้และพัฒนาตัวเองอยู่เสมอ เพื่อให้ทันต่อเทคโนโลยีที่เปลี่ยนแปลงไปอย่างรวดเร็ว
เหมือนสมัยผมทำ SiamCafe.net, เราต้องปรับตัวตลอดเวลา เทคโนโลยีเปลี่ยน, พฤติกรรมลูกค้าเปลี่ยน, เราก็ต้องเปลี่ยนตาม SiamCafe Blog