วิดีโอบรรยายเรื่อง AI ที่ฮ็อตที่สุดในช่วง 1-2 วันนี้ เพิ่งมีเวลามานั่งดู + ว่างพอดีเลยเขียนถึงให้ครบๆ เพราะควรค่าแก่การแนะนำให้ดูกัน (เป็น 39 นาทีที่คุ้มค่ามาก)
Andrej Karpathy คือใคร?
- หนึ่งในลูกศิษย์ของ Fei Fei Li ที่ Stanford
- หนึ่งในผู้ร่วมก่อตั้ง OpenAI
- จากนั้นออกมาคุมทีมรถยนต์ไร้คนขับของ Tesla
- ตอนนี้ออกมาเปิดบริษัทเองแล้วชื่อ Eureka Labs ทำคอร์สสอน AI
- เป็นคนคิดคำว่า vibe coding ใครฮิตใช้คำนี้ก็ระลึกไว้ว่ามาจากพี่แก
Karpathy มาพูดเรื่องแนวโน้มของตลาดซอฟต์แวร์ที่เปลี่ยนไป ความสามารถและข้อจำกัดของ AI (ในที่นี้คือ LLM) และโอกาสในการอยู่ร่วมกัน
1. Software 3.0
- Software 1.0 คือการเขียนโค้ดแบบดั้งเดิม
- Software 2.0 คือการกำหนด weight หรือน้ำหนักของการเชื่อมต่อ neural network เพื่อบอกโมเดลว่าให้ทำอย่างไร หมายถึง AI ยุคก่อนหน้านี้ เช่น image recognition
- Software 3.0 คือ LLM ยุคปัจจุบัน เราเขียน prompt เป็นภาษาอังกฤษ สั่งให้ LLM ไปเขียนโปรแกรมให้เราอีกที
จากประสบการณ์ของ Karpathy ที่ Tesla เขาบอกว่าโค้ดส่วนที่เป็น Software 2.0 มันจะเพิ่มสัดส่วนขึ้นเรื่อยๆ เข้ามากินโค้ดส่วน Software 1.0 เดิมที่ไม่ฉลาดเท่า และตอนนี้โค้ดส่วน Software 3.0 มันจะกินตลาด 2.0 เช่นกัน
2. LLM is the new Operating System
จากนั้น Karpathy เปรียบเทียบว่า LLM ในปัจจุบันมีความซับซ้อน มี ecosystem ของมันเอง คล้ายกับการเกิดขึ้นของ OS ในอดีต มีค่ายระบบปิด (OpenAI, Gemini) ค่ายโอเพนซอร์ส (Llama) มีความทรงจำ มีอินพุตเอาต์พุตกับภายนอก ฯลฯ
ในโลก OS เดิมเราสามารถดาวน์โหลด “แอพ” มาติดตั้งบน OS หลายๆ ค่ายได้ ทำงานได้เหมือนกันไม่ว่าอยู่บน OS ไหน ในยุคของ LLM เราสามารถใช้งาน “แอพ” เช่น Cursor ที่เอาไว้ช่วยเขียนโปรแกรม มารันบน LLM หลายๆ ตัว เช่น GPT, Gemini, Claude ได้เหมือนกัน
Karpathy บอกว่าตอนนี้ LLM ในฐานะ OS ยังอยู่ในยุค command-line สั่งงานด้วยข้อความ ยังไม่มีอินเทอร์เฟซที่ใช้ง่ายอย่าง GUI เกิดขึ้นมาด้วยซ้ำ
3. LLM คือวิญญาณของมนุษย์ (People Spirits)
หัวข้อถัดมา Karpathy นิยามว่า LLMs are people spirits มันคือ simulations of people เป็นการจำลองมนุษย์ ด้วย simulator ชื่อว่า Transformer
เรื่องนี้ผมเคยเขียนถึงไปเหมือนกัน ตอนนั้นเปรียบเทียบว่า AI is the new God
หากเรามอง LLM เป็นมนุษย์คนหนึ่ง เขามีคุณลักษณะอย่างไร อย่างแรกคือมีความรู้ ความทรงจำมหาศาล มากกว่ามนุษย์คนไหน (เขาเปรียบเทียบกับหนังเรื่อง Rainman ที่ตัวละครในเรื่องมีความจำเยอะผิดมนุษย์)
คุณสมบัติอีกด้านที่พูดกันไปเยอะคือ เห็นภาพหลอน (hallucination) และความฉลาดมีสะดุดๆ บ้างเป็นบางจุด (เช่น นับตัว r ในคำว่า strawberry ไม่ได้) มีปัญหาหลงเชื่อง่าย (gullibility) เช่นโดน prompt injection ได้
นอกจากนี้บางทียังลืม (amnesia) เพราะทำงานตาม context windows ที่กำหนด ตรงนี้ Karpathy เปรียบกับหนังเรื่อง Memento หรือ 50 First Dates
เมื่อเราเห็นศักยภาพ vs ข้อจำกัดของ LLM อย่างน้อยก็ในปัจจุบัน คำถามต่อมาคือเราจะใช้งานมันอย่างไรจึงเหมาะสม
3. Partial Automation
ข้อเสนอของ Karpathy คือเราเลือก automate งานบางอย่างพอ
- หน้าที่ AI คือ “สร้าง” (generation)
- หน้าที่ของมนุษย์คือ “ตรวจสอบ” (verification)
แล้วทำให้มันเป็น loop นี้ไปเรื่อยๆ ออกแบบเครื่องมือให้มนุษย์สามารถ verify การทำงานของ AI ได้รวดเร็ว
เขายกตัวอย่างซอฟต์แวร์หลายๆ ตัว เช่น Cursor, Perplexity, Photoshop ว่าตอนนี้มีทั้ง GUI แบบดั้งเดิม (สำหรับมนุษย์สั่งงาน) และส่วนสื่อสารกับ AI ผ่านแชท
เขาเสนอคอนเซปต์ autonomy slider คือมนุษย์สามารถเลือกระดับความอิสระของ AI ได้ตามต้องการ ว่างานไหนอยากเข้าไปควบคุมเยอะ (chat ถามประโยคต่อประโยคพอ) หรืองานไหนปล่อยให้ AI ทำงานได้อิสระ (deep research)
แนวคิดของ Karpathy คือเราต้องมีสายจูงแน่นๆ (tight leash) ให้กับ AI (เหมือนกับจูงหมาเลย) เพื่อเพิ่มโอกาสให้ AI ทำงานสำเร็จตรงกับที่เราต้องการ
ตัวอย่างสายจูงคือการกำหนด process/workflow ว่าต้องการให้ AI ทำอะไรบ้าง อย่างการใช้ AI ช่วยเขียนโค้ดก็ต้องมี loop ที่มีกระบวนการ verification เสมอ และทำ loop ใหม่ๆ ได้รวดเร็ว
Karpathy ยกตัวอย่างให้เห็นภาพว่า เราไม่ได้กำลังสร้าง “หุ่นยนต์ Iron Man” แต่เรากำลังสร้าง “ชุดเกราะ Iron Man” ที่เป็น partial autonomy แค่บางส่วน
4. Vibe Coding & Agent
Karpathy พูดถึงการคิดคำว่า vibe coding ของเขาว่าเรียกเล่นๆ แต่ดันดังเฉยเลย เขาอธิบายว่าเราควรทำกระบวนการสร้างซอฟต์แวร์ให้ง่ายที่สุดเท่าที่จะเป็นไปได้ (make software highly accessible) พร้อมโชว์คลิปเด็กๆ ในโรงเรียนกำลังลองสร้างสิ่งต่างๆ ด้วยวิธี vibe coding
อย่างไรก็ตาม เขาก็บอกว่า AI ในปัจจุบันเขียนโค้ดซอฟต์แวร์ได้ง่ายจริง แต่มันยังมีงานบางอย่างที่ออกแบบมาให้มนุษย์ต้องทำเองอยู่ เช่น เซ็ตระบบเบื้องหลัง จดโดเมนเนม ล็อกอิน จ่ายเงิน ฯลฯ ซึ่งเขาเสียเวลากับเรื่องเหล่านี้มากว่าการเขียนโค้ดอีก
ตรงนี้จึงเป็นงานของ Agent ที่ออกแบบมาทำงานเก่าๆ แทนมนุษย์ ซึ่งต่างไปจาก LLM แบบดั้งเดิมที่ออกแบบมาทำงานอัตโนมัติเฉพาะของ AI
Karpathy เสนอว่าเราต้องคิดใหม่ ออกแบบอินเทอร์เฟซหรือข้อมูลต่างๆ เพื่อ Agent เพิ่มด้วย เช่น เอกสารคู่มือเกี่ยวกับซอฟต์แวร์ที่เขียนให้มนุษย์อ่าน ก็เริ่มมีหลายค่ายทำเอกสารเวอร์ชันให้ LLM ดูดไปอ่านแล้ว (llms.txt)
เขายังยกตัวอย่างเครื่องมือบางตัว ที่ช่วยแปลงหน้าเว็บ GitHub (มนุษย์อ่าน) เป็นเวอร์ชันที่ LLM อ่านได้ง่าย เช่น GitIngest
การบรรยายของ Karpathy เปิดโลกมาก ถึงแม้ไม่ได้ลงเทคนิคมากแต่ให้คอนเซปต์ได้ดีมากๆ ว่าเราสามารถทำอะไรกับ AI ได้บ้าง มุมมองของผมก็เปลี่ยนไปเยอะมากหลังจากดูคลิปนี้จบ แนะนำเป็นอย่างสูง