ซอฟต์แวร์กำลังเปลี่ยนแปลงอีกครั้ง: การเข้าสู่ยุคใหม่ของ AI
ในยุคที่เทคโนโลยีก้าวหน้าอย่างรวดเร็ว การเปลี่ยนแปลงของซอฟต์แวร์ไม่ได้เป็นเพียงแค่การอัปเดตฟีเจอร์หรือแก้ไขบั๊กเล็กน้อย แต่เป็นการเปลี่ยนแปลงในระดับรากฐานที่ส่งผลต่อวิธีที่เราสร้างและโต้ตอบกับซอฟต์แวร์อย่างสิ้นเชิง 🚀
วันนี้เราจะพาคุณไปรู้จักกับแนวคิดใหม่ ๆ ที่เกิดขึ้นในวงการซอฟต์แวร์ ผ่านมุมมองของอดีตผู้อำนวยการฝ่าย AI ของ Tesla, Andrej Karpathy ซึ่งได้อธิบายว่า “ซอฟต์แวร์กำลังเปลี่ยนแปลงอีกครั้ง” และนี่คือการเปลี่ยนแปลงที่สำคัญที่สุดในรอบ 70 ปีที่ผ่านมา ที่ไม่ใช่แค่เรื่องของโค้ด แต่คือการเปลี่ยนวิธีการเขียนโปรแกรม และการทำงานร่วมกับปัญญาประดิษฐ์ (AI) ที่ฉลาดขึ้นทุกวัน
สารบัญ
- วิวัฒนาการของซอฟต์แวร์: จาก 1.0 ถึง 3.0
- การเขียนโปรแกรมด้วยภาษาอังกฤษ: ก้าวสู่ Software 3.0
- LLMs เป็นทั้งสาธารณูปโภค, โรงงาน และระบบปฏิบัติการ
- จิตวิทยาของ LLMs: “วิญญาณของมนุษย์” กับข้อจำกัดที่ต้องรู้
- การออกแบบแอป AI ด้วยความเป็นอิสระบางส่วน
- ความสำคัญของการทำงานร่วมกันระหว่างมนุษย์และ AI
- บทเรียนจาก Tesla Autopilot และการปรับระดับความเป็นอิสระ
- อนาล็อก Iron Man: การเสริมพลัง vs ตัวแทนอิสระ
- Vibe Coding: ทุกคนกลายเป็นโปรแกรมเมอร์ได้แล้ว
- การสร้างซอฟต์แวร์สำหรับ “เอเจนต์” ในอนาคต
- สรุป: ยุค 1960s ของ LLMs กำลังเริ่มต้น — ถึงเวลาสร้างสรรค์
วิวัฒนาการของซอฟต์แวร์: จาก 1.0 ถึง 3.0 💻🔄
ซอฟต์แวร์ในอดีตที่เราเข้าใจกันส่วนใหญ่เป็นสิ่งที่เรียกได้ว่า Software 1.0 — คือการเขียนโค้ดโดยตรงด้วยภาษาโปรแกรม เช่น C++, Python หรือ Java เพื่อบอกให้คอมพิวเตอร์ทำงานตามคำสั่งที่เราเขียนอย่างชัดเจน
แต่ในช่วงไม่กี่ปีที่ผ่านมา ซอฟต์แวร์ได้เกิดการเปลี่ยนแปลงครั้งใหญ่ที่เรียกว่า Software 2.0 ซึ่งเป็นยุคของ “โค้ดที่ไม่ได้เขียนโดยมนุษย์โดยตรง” แต่เป็นโค้ดที่เกิดจากน้ำหนัก (weights) ของโครงข่ายประสาทเทียม (Neural Networks) ที่ถูก “สอน” ผ่านข้อมูลจำนวนมหาศาล โดยที่เราจะไม่เขียนโค้ดเหล่านี้เอง แต่จะทำหน้าที่เลือกข้อมูลและปรับแต่งโมเดลแทน
ตัวอย่างเช่น โมเดล AlexNet ที่ใช้สำหรับจดจำภาพ หรือโมเดลอื่น ๆ ที่สามารถจำแนกข้อมูลได้อย่างแม่นยำ แต่ยังคงเป็น “เครื่องคำนวณฟังก์ชันตายตัว” ที่รับอินพุตและให้เอาต์พุตที่กำหนดไว้ล่วงหน้า
แต่ความเปลี่ยนแปลงที่น่าตื่นเต้นที่สุดมาถึงแล้วกับ Software 3.0 — ยุคที่โมเดลภาษาขนาดใหญ่ (Large Language Models หรือ LLMs) กลายเป็น “คอมพิวเตอร์ชนิดใหม่” ที่สามารถถูกโปรแกรมด้วยภาษาอังกฤษได้โดยตรง ผ่านการ “พิมพ์คำสั่ง” หรือที่เรียกว่า “prompting”
นั่นหมายความว่า เรากำลังเขียนโปรแกรมด้วยภาษาที่มนุษย์ใช้สื่อสารกันเอง ซึ่งเป็นสิ่งที่ไม่เคยเกิดขึ้นมาก่อนในประวัติศาสตร์ของซอฟต์แวร์! 🎉
สรุปความแตกต่างของซอฟต์แวร์แต่ละยุค
- Software 1.0: เขียนโค้ดโดยตรง บอกคอมพิวเตอร์ทำงาน
- Software 2.0: โค้ดเป็นน้ำหนักของโครงข่ายประสาทเทียม เรียนรู้จากข้อมูล
- Software 3.0: ใช้ LLMs ที่โปรแกรมด้วยภาษาอังกฤษ ผ่านการ prompt
ตัวอย่างเช่น การทำ sentiment classification (การวิเคราะห์ความรู้สึกในข้อความ) เราสามารถเขียนโค้ด Python, หรือเทรนโครงข่ายประสาทเทียม หรือจะใช้ prompt กับ LLM ก็ได้ ขึ้นอยู่กับงานและความเหมาะสม
การเขียนโปรแกรมด้วยภาษาอังกฤษ: ก้าวสู่ Software 3.0 📝✨
สิ่งที่ทำให้ Software 3.0 โดดเด่นคือ “ภาษาอังกฤษ” กลายเป็นภาษาสำหรับเขียนโปรแกรมอย่างแท้จริง ซึ่งเป็นภาษาแม่ของเราทุกคน และไม่จำเป็นต้องเรียนรู้ภาษาคอมพิวเตอร์ที่ซับซ้อนอีกต่อไป
Karpathy เคยกล่าวไว้ว่า “เรากำลังโปรแกรมคอมพิวเตอร์ด้วยภาษาอังกฤษ” ซึ่งเป็นความคิดที่ทำให้หลายคนตื่นเต้นอย่างมาก เพราะนี่คือการปฏิวัติที่เปลี่ยนเกมอย่างแท้จริง
การเขียนโปรแกรมด้วยภาษาอังกฤษนี้ทำให้ซอฟต์แวร์กลายเป็นสิ่งที่เข้าถึงง่ายขึ้น และเป็นการเปิดประตูให้คนทั่วไปที่ไม่มีพื้นฐานทางเทคนิคลึกซึ้ง สามารถสร้างสรรค์สิ่งใหม่ ๆ ได้อย่างรวดเร็วและมีประสิทธิภาพ
LLMs เป็นทั้งสาธารณูปโภค, โรงงาน และระบบปฏิบัติการ ⚡🏭🖥️
การเปลี่ยนแปลงครั้งนี้ยังทำให้เราเห็นภาพของ LLMs ในมุมมองที่หลากหลาย Karpathy เปรียบเทียบว่า LLMs มีลักษณะเหมือนกับ:
- สาธารณูปโภค (Utilities): เช่น ไฟฟ้า ที่ต้องมีการลงทุนสูงในการสร้างโครงสร้างพื้นฐาน (CapEx) แต่เมื่อสร้างแล้วจะมีการให้บริการอย่างต่อเนื่อง (OpEx) ผ่าน API ที่ผู้ใช้จ่ายตามการใช้งานจริง
- โรงงาน (Fabs): การสร้าง LLM ต้องใช้การลงทุนมหาศาลในการวิจัยและพัฒนา และเทคโนโลยีลึกซึ้งที่เก็บเป็นความลับภายในบริษัทใหญ่ ๆ
- ระบบปฏิบัติการ (Operating Systems): LLMs ไม่ใช่แค่เครื่องมือ แต่เป็นระบบนิเวศซอฟต์แวร์ที่ซับซ้อน มีทั้งผู้ให้บริการแบบปิดและแบบเปิด (open source) เหมือน Windows, Mac OS และ Linux
Karpathy ยังชี้ให้เห็นว่า LLMs เป็นเหมือน “คอมพิวเตอร์” แห่งยุค 1960s ซึ่งเป็นระบบปฏิบัติการ ที่ยังมีค่าใช้จ่ายสูงและต้องรันบนคลาวด์เป็นหลัก ทำให้ผู้ใช้เป็นเหมือน “thin client” ที่เชื่อมต่อผ่านเครือข่าย ตัวอย่างเช่น การโหลดแอปพลิเคชันบนระบบปฏิบัติการต่าง ๆ เราสามารถเลือกใช้ LLMs จากผู้ให้บริการหลายรายได้อย่างง่ายดาย ผ่านเมนูแบบ dropdown ซึ่งสะท้อนการเลือกใช้ระบบปฏิบัติการและแอปในยุคก่อนหน้า
LLMs: “วิญญาณของมนุษย์” กับข้อจำกัดที่ต้องรู้ 🧠👻
หนึ่งในภาพจำที่น่าสนใจคือการมอง LLMs เป็นเหมือน “วิญญาณของมนุษย์” หรือการจำลองสถิติของพฤติกรรมมนุษย์ที่ถูกสร้างโดยโครงข่ายประสาทแบบ Transformer ซึ่งถูกฝึกด้วยข้อมูลจากมนุษย์ทั่วโลก จึงไม่น่าแปลกใจที่ LLMs จะมีการแสดงออกเชิง “จิตวิทยา” ที่คล้ายมนุษย์ในบางแง่มุม เช่น:
- มีความรู้รอบตัวและความทรงจำที่กว้างขวาง – อ่านข้อมูลมากกว่ามนุษย์ทั่วไปหลายเท่า
- มีข้อบกพร่องทางความคิด เช่น การ “hallucinate” หรือสร้างข้อมูลที่ไม่จริง
- แสดงความฉลาดแบบ “ไม่สมบูรณ์” – บางเรื่องเก่งกว่ามนุษย์ แต่บางเรื่องก็ผิดพลาดอย่างไม่น่าเชื่อ
- ขาดความสามารถในการเก็บรักษาความทรงจำระยะยาว – คล้ายกับ “anterograde amnesia” คือจำสิ่งใหม่ ๆ ได้ไม่ดี
- มีความเสี่ยงด้านความปลอดภัย เช่น การถูกโจมตีด้วย prompt injection หรือการรั่วไหลของข้อมูล
ดังนั้น การทำงานกับ LLMs จึงต้องเข้าใจทั้ง “พลังวิเศษ” และข้อจำกัดของมัน เพื่อให้สามารถใช้ประโยชน์ได้อย่างมีประสิทธิภาพและปลอดภัยมากที่สุด
การออกแบบแอป AI ด้วยความเป็นอิสระบางส่วน 🤖⚙️
หนึ่งในโอกาสที่น่าตื่นเต้นคือการสร้าง แอปพลิเคชันที่มีความเป็นอิสระบางส่วน (Partial Autonomy) ซึ่งไม่ใช่แค่การใช้ LLMs ตรง ๆ แต่เป็นการสร้างแอปเฉพาะทางที่ทำงานร่วมกับมนุษย์ได้อย่างมีประสิทธิภาพ
ตัวอย่างที่ชัดเจนคือแอป Cursor ซึ่งเป็นแอปช่วยเขียนโค้ดที่ผสมผสานระหว่างอินเทอร์เฟซแบบดั้งเดิมและการใช้ LLMs เพื่อช่วยจัดการบริบทและเรียกใช้โมเดลหลายตัวพร้อมกันอย่างชาญฉลาด
คุณสมบัติสำคัญของแอปที่ใช้ LLMs ได้แก่:
- การจัดการบริบทอย่างมีประสิทธิภาพ
- การประสานงานเรียกใช้โมเดลหลายตัวในแอปเดียว
- อินเทอร์เฟซผู้ใช้แบบกราฟิก (GUI) ที่ช่วยให้ผู้ใช้ตรวจสอบและแก้ไขผลลัพธ์ได้ง่ายขึ้น
- “สไลเดอร์ความเป็นอิสระ” ที่ให้ผู้ใช้เลือกได้ว่าจะให้ AI ทำงานมากหรือน้อยแค่ไหน
นอกจากนี้ แอปอย่าง Perplexity ก็มีคุณสมบัติคล้าย ๆ กัน เช่น การอ้างอิงแหล่งข้อมูลและการให้ผู้ใช้ตรวจสอบความถูกต้องได้ ซึ่งช่วยให้การทำงานร่วมกับ AI มีประสิทธิภาพมากขึ้น
ทำไมต้องมี “สไลเดอร์ความเป็นอิสระ”?
เพราะ AI ยังไม่สมบูรณ์แบบและอาจทำงานเกินความจำเป็นหรือผิดพลาดได้ ผู้ใช้ยังต้องควบคุมและตรวจสอบ เพื่อให้ผลลัพธ์ถูกต้องและปลอดภัย การปรับระดับความเป็นอิสระช่วยให้เราควบคุมความเสี่ยงและเพิ่มประสิทธิภาพได้ตามความเหมาะสมของงาน
ความสำคัญของการทำงานร่วมกันระหว่างมนุษย์และ AI 🤝✨
การทำงานร่วมกันระหว่างมนุษย์และ AI คือหัวใจของการสร้างผลิตภัณฑ์ที่ใช้ LLMs ได้อย่างมีประสิทธิภาพ Karpathy เน้นว่าเราต้องทำให้ วงจรการสร้างและตรวจสอบ (generation-verification loop) นี้เร็วและราบรื่นที่สุด เพื่อให้ได้งานที่มีคุณภาพและลดความผิดพลาด
วิธีการสำคัญที่ช่วยได้คือ:
- อินเทอร์เฟซแบบกราฟิก (GUI): ใช้ประโยชน์จากการมองเห็นของมนุษย์ ช่วยให้ตรวจสอบข้อมูลได้รวดเร็วและง่ายขึ้น
- การควบคุม AI ให้ “อยู่ในสายจูง”: หลีกเลี่ยงการปล่อยให้ AI ทำงานอัตโนมัติมากเกินไปโดยไม่มีการตรวจสอบ เพราะอาจเกิดผลลัพธ์ที่ไม่คาดคิดหรือไม่ปลอดภัย
Karpathy ยังยกตัวอย่างว่า ในการเขียนโค้ดด้วย AI เขาชอบทำงานเป็นขั้นตอนเล็ก ๆ เพื่อควบคุมคุณภาพ และลดความเสี่ยงที่จะเกิดบั๊กหรือปัญหาด้านความปลอดภัย
บทเรียนจาก Tesla Autopilot และการปรับระดับความเป็นอิสระ 🚗⚙️
ประสบการณ์ที่ Karpathy เคยทำงานกับระบบ Autopilot ของ Tesla ช่วยให้เห็นภาพของการพัฒนา “ความเป็นอิสระ” ในซอฟต์แวร์ได้ชัดเจน
ช่วงแรกที่เขาได้ลองขับรถที่ขับเคลื่อนเองครั้งแรกในปี 2013 เป็นช่วงที่ระบบทำงานได้สมบูรณ์แบบ แต่พอเวลาผ่านไป 12 ปี แม้จะมีความก้าวหน้าอย่างมาก แต่ก็ยังไม่สามารถประกาศความสำเร็จเต็มรูปแบบได้ เพราะ “การขับรถอัตโนมัติ” ยังคงต้องการผู้ควบคุมและการตรวจสอบจากมนุษย์อยู่ดี
ดังนั้น การสร้างระบบที่มีความเป็นอิสระต้องใช้เวลาและความละเอียดอ่อนในการพัฒนา และเรายังต้องการ “สไลเดอร์ความเป็นอิสระ” เพื่อปรับระดับการควบคุมของมนุษย์และ AI ให้เหมาะสมกับสถานการณ์ต่าง ๆ
อนาล็อก Iron Man: การเสริมพลัง vs ตัวแทนอิสระ 🤖🦾
Karpathy ชอบเปรียบเทียบเทคโนโลยีกับชุดเกราะ Iron Man ที่ Tony Stark ใช้:
- ในบางฉาก ชุดนี้เป็นแค่เครื่องมือเสริมพลัง (augmentation) ที่ Tony Stark ควบคุมเอง
- ในบางฉาก ชุดนี้ทำงานอัตโนมัติและตัวแทน (agent) สามารถตัดสินใจเองได้
สำหรับยุค AI ปัจจุบัน Karpathy แนะนำให้เราคิดในแง่ของ “ชุดเกราะเสริมพลัง” มากกว่า “ตัวแทนอิสระ” เพราะ AI ยังไม่สมบูรณ์และไม่ควรถูกปล่อยให้ทำงานโดยไม่มีการควบคุมจากมนุษย์
Vibe Coding: ทุกคนกลายเป็นโปรแกรมเมอร์ได้แล้ว 🎉👩💻👨💻
หนึ่งในปรากฏการณ์ที่น่าตื่นเต้นคือการที่ทุกคนสามารถเขียนโค้ดได้ด้วยภาษาอังกฤษผ่าน AI หรือที่เรียกว่า Vibe Coding ซึ่งทำให้การสร้างซอฟต์แวร์กลายเป็นเรื่องง่ายและเข้าถึงได้กว่าที่เคย
Karpathy เล่าถึงประสบการณ์สร้างแอป iOS ด้วย AI แม้เขาจะไม่เคยเขียน Swift มาก่อน แต่ก็สามารถสร้างแอปพื้นฐานได้ภายในวันเดียว และยังสร้างแอป MenuGen ที่ช่วยแปลงเมนูร้านอาหารให้มีรูปภาพประกอบ ทำให้การใช้งานง่ายขึ้นมาก
แต่สิ่งที่ท้าทายจริง ๆ ไม่ใช่แค่การเขียนโค้ด แต่เป็นการทำให้แอปเหล่านั้น “ใช้งานได้จริง” เช่น การจัดการระบบล็อกอิน การชำระเงิน และการปรับใช้บนเซิร์ฟเวอร์ ซึ่งมักจะต้องใช้เวลามากและความพยายามสูง
การสร้างซอฟต์แวร์สำหรับ “เอเจนต์” ในอนาคต 🤖🌐
Karpathy ชี้ให้เห็นว่าในยุคนี้ เราไม่ได้มีแค่ “มนุษย์” และ “โปรแกรม” เป็นผู้ใช้และผู้จัดการข้อมูลดิจิทัล แต่ยังมี “เอเจนต์” หรือ “ตัวแทน” ที่เป็น AI ที่มีลักษณะคล้ายมนุษย์เข้ามาร่วมด้วย
ดังนั้น การพัฒนาซอฟต์แวร์ในอนาคตจำเป็นต้องคำนึงถึงการรองรับและสื่อสารกับเอเจนต์เหล่านี้ด้วย เช่น การสร้างไฟล์ all-ends.txt ที่เป็นเอกสารสำหรับ LLMs เพื่อช่วยให้ AI เข้าใจโครงสร้างและเนื้อหาของเว็บไซต์ได้ง่ายขึ้น มากกว่าการให้ AI ต้องแยกวิเคราะห์ HTML ที่ซับซ้อนและอาจผิดพลาด
ตัวอย่างที่น่าสนใจคือบริษัทอย่าง Vercel และ Stripe ที่เปลี่ยนเอกสารของพวกเขาให้เป็น Markdown ที่เหมาะสำหรับ LLMs และเปลี่ยนคำสั่งในเอกสารจาก “คลิก” เป็นคำสั่ง curl ที่ AI สามารถใช้ทำงานแทนมนุษย์ได้โดยตรง
นอกจากนี้ยังมีเครื่องมือช่วยแปลงโค้ดใน GitHub ให้พร้อมสำหรับ LLMs อย่าง git ingest และ DeepWiki ที่ช่วยสร้างโครงสร้างเอกสารและข้อมูลที่ AI เข้าใจง่ายขึ้น
สรุป: ยุค 1960s ของ LLMs กำลังเริ่มต้น — ถึงเวลาสร้างสรรค์ 🚀🌟
ซอฟต์แวร์กำลังเปลี่ยนแปลงอีกครั้งอย่างลึกซึ้ง และเรากำลังเข้าสู่ยุคของ Software 3.0 ที่การเขียนโปรแกรมจะทำได้ด้วยภาษาอังกฤษผ่าน LLMs ที่เป็นเหมือน “คอมพิวเตอร์ใหม่” ที่ต้องเรียนรู้การใช้งานและการทำงานร่วมกันอย่างมีประสิทธิภาพ
LLMs คือทั้งสาธารณูปโภค, โรงงาน และระบบปฏิบัติการที่ยังอยู่ในช่วงเริ่มต้น เหมือนยุค 1960s ของคอมพิวเตอร์ ที่ยังต้องรันบนคลาวด์และมีข้อจำกัดมากมาย
การพัฒนาผลิตภัณฑ์ที่ใช้ AI ต้องคำนึงถึงการทำงานร่วมกับมนุษย์อย่างใกล้ชิดผ่าน “สไลเดอร์ความเป็นอิสระ” และอินเทอร์เฟซที่เหมาะสม เพื่อให้ได้ประสิทธิภาพสูงสุดและความปลอดภัย
ในขณะเดียวกัน “Vibe Coding” กำลังเปลี่ยนให้ทุกคนกลายเป็นโปรแกรมเมอร์ได้ง่ายขึ้น และการสร้างซอฟต์แวร์สำหรับ “เอเจนต์” หรือ AI ที่มีลักษณะเหมือนมนุษย์ กำลังเป็นโอกาสใหม่ที่น่าตื่นเต้นสำหรับนักพัฒนาและผู้สร้างสรรค์ทุกคน
นี่คือโอกาสที่ยิ่งใหญ่และน่าตื่นเต้นสำหรับทุกคนที่จะก้าวเข้ามามีส่วนร่วมในการเขียนโปรแกรมและสร้างซอฟต์แวร์รูปแบบใหม่ในยุค AI ที่กำลังจะมาถึงนี้ 🌈✨
ถึงเวลาที่เราจะได้เรียนรู้ ปรับตัว และสร้างสรรค์ซอฟต์แวร์ในยุคใหม่ร่วมกันแล้ว!