ผมยินดีเป็นอย่างยิ่งที่จะนำเสนอแผนที่ทักษะวิศวกรรม AI (The AI Engineering Skills Map) AI ทำให้เราสามารถสร้างซอฟต์แวร์ได้ในรูปแบบที่แตกต่างจากปี 2022 อย่างมาก และทุกคนที่มีทักษะในการคว้าโอกาสจากการเปลี่ยนแปลงครั้งนี้ล้วนมีโอกาสที่น่าตื่นเต้นทั้งในด้านโปรเจกต์และหน้าที่การงานมากมาย แต่ท่ามกลางสภาพแวดล้อมข้อมูลข่าวสารรอบตัว AI ที่เต็มไปด้วยเสียงรบกวนและ hype นั้น ทักษะอะไรบ้างที่มีคุณค่าที่สุดสำหรับคุณในการเรียนรู้? ผมและทีมงานได้ร่วมกันสังเคราะห์แผนที่ทักษะวิศวกรรม AI ขึ้นมา เพื่อช่วย (i) นักพัฒนาในการจัดลำดับความสำคัญของสิ่งที่ควรเรียนรู้ และ (ii) นายจ้างในการจ้างนักพัฒนาที่มีทักษะ
จากการวิเคราะห์ประกาศรับสมัครงานกว่า 10,000 รายการ การสัมภาษณ์แบบมีโครงสร้างกับผู้เชี่ยวชาญด้าน AI ผู้จัดการฝ่ายจ้างงาน และนักจัดหางานหลายสิบครั้ง การเก็บข้อมูลผ่านแบบสำรวจ และการสังเคราะห์ข้อมูลออนไลน์อื่นๆ ต่อไปนี้คือทักษะวิศวกรรม AI ที่สำคัญที่สุด 4 ประการ:
- การสร้างและปรับใช้แอปพลิเคชัน AI
- พื้นฐานวิศวกรรมซอฟต์แวร์
- การใช้ coding agents
- การกำหนดทิศทางการพัฒนา
คุณอาจมองกระบวนการของเราแบบไม่เป็นทางการได้ว่า คล้ายกับการจัดกลุ่มข้อมูล (clustering) บนชุดข้อมูลขนาดมหาศาลของตำแหน่งงานและบทสัมภาษณ์ผู้เชี่ยวชาญ เพื่อระบุทักษะที่สำคัญที่สุด ไม่เพียงแต่ในปัจจุบันเท่านั้น แต่รวมถึงในอนาคตอันใกล้นี้ด้วย
หมายเหตุเกี่ยวกับคำศัพท์: ผมพูดถึงทักษะวิศวกรรม AI มากกว่าบทบาท "AI Engineer" (ผู้ที่มีหน้าที่สร้างระบบ AI) เพราะคำแรกมีความครอบคลุมในวงกว้างกว่ามาก นักพัฒนาทุกคนในปัจจุบันควรรู้จักการทำงานกับคลาวด์ และมีเพียงส่วนน้อยเท่านั้นที่มีตำแหน่ง "Cloud Engineer" เช่นเดียวกัน นักพัฒนาทุกคน ไม่ว่าจะเป็นวิศวกร full-stack วิศวกรข้อมูล วิศวกร DevOps วิศวกร machine learning และแน่นอน วิศวกร AI ล้วนจำเป็นต้องมีทักษะวิศวกรรม AI
การสร้างและปรับใช้แอปพลิเคชัน AI. ความแตกต่างที่สำคัญระหว่างแอปพลิเคชัน AI กับแอปพลิเคชันที่ไม่ใช่ AI ก็คือ แบบแรกมีผลลัพธ์ที่ไม่สามารถคาดเดาได้ เมื่อคุณสั่งงาน LLM คุณไม่รู้ว่าจะได้อะไรกลับมา เมื่อคุณฝึกอัลกอริทึม deep learning คุณไม่รู้ว่ามันจะคาดการณ์อะไรกับตัวอย่างข้อมูลใหม่ ในทางตรงกันข้าม ซอฟต์แวร์แบบดั้งเดิมมีพฤติกรรมที่คาดเดาได้มากกว่า
ผู้ที่เชี่ยวชาญด้านการสร้างและปรับใช้แอปพลิเคชัน AI จะเข้าใจองค์ประกอบพื้นฐานของ AI (เช่น LLM การจัดการบริบท (context engineering) RAG เวิร์กโฟลว์แบบ agentic machine learning และ deep learning) และที่สำคัญคือ รู้วิธีใช้เทคนิคทางสถิติเพื่อวัดผล ควบคุม และกำกับดูแลระบบ AI ให้ทำงานได้อย่างคาดเดาได้มากขึ้น ทักษะหลักในการทำเช่นนี้คือการรู้จักขับเคลื่อนวงจรการประเมินผล (evals) และการวิเคราะห์ข้อผิดพลาดอย่างมีวินัย
พื้นฐานวิศวกรรมซอฟต์แวร์. เมื่อคุณเข้าใจอย่างลึกซึ้งว่าซอฟต์แวร์ทำงานอย่างไร คุณจะสามารถสร้างงานได้อย่างมีประสิทธิภาพมากขึ้น การวิศวกรรมซอฟต์แวร์ต้องอาศัยการตัดสินใจแบบแลกเปลี่ยน (tradeoffs) ระหว่างต้นทุน ความสามารถในการขยายขนาด ความน่าเชื่อถือ ความเร็ว และอื่นๆ อีกมากมาย ความปลอดภัยและความเป็นส่วนตัวยิ่งเพิ่มความซับซ้อนเข้าไปอีก
การเข้าใจพื้นฐานวิศวกรรมซอฟต์แวร์ช่วยให้คุณตระหนักได้ว่ามี tradeoffs อะไรบ้างที่ต้องพิจารณา ซึ่งนำไปสู่การตัดสินใจที่ดีขึ้นในการเลือก software stack การออกแบบสถาปัตยกรรมระบบ การออกแบบการจัดเก็บข้อมูล การทดสอบ และอื่นๆ อีกทั้งยังให้ผลลัพธ์ที่ดีกว่านักพัฒนาที่ไม่มีประสบการณ์ซึ่งเขียนโค้ดแบบ "vibe code" (เขียนตามความรู้สึก) โดยไม่รู้ว่า coding agent ของตัวเองกำลังแลกเปลี่ยนอะไรอยู่ ซึ่งมักจะเป็นการแลกเปลี่ยนที่ไม่ดีนัก เพราะพวกเขาไม่รู้ว่าควรให้บริบทอะไรกับ coding agent ของตน การเข้าใจพื้นฐานวิศวกรรมซอฟต์แวร์ช่วยให้คุณตัดสินใจเรื่อง tradeoffs ได้อย่างชาญฉลาด ด้วยการควบคุม coding agents ด้วยภาษาที่แม่นยำของวิศวกรรมซอฟต์แวร์
การใช้ coding agents. การเขียนโค้ดแบบ agentic อย่างมีประสิทธิภาพถือเป็นทักษะสำคัญสำหรับนักพัฒนาทุกคนในปัจจุบัน เมื่อคุณมีทักษะนี้ คุณจะมีแบบจำลองทางความคิด (mental model) ที่ดีว่า agents ทำงานอย่างไร คุณเข้าใจข้อจำกัดของมันและวิธีเลี่ยงผ่านข้อจำกัดเหล่านั้น รวมถึงสามารถควบคุมทิศทางของมันได้อย่างรวดเร็ว รู้ว่าควรแทรกแซงมากแค่ไหน และควรปล่อยให้มันทำงานเองมากแค่ไหน เพื่อสร้างซอฟต์แวร์ที่แข็งแกร่งโดยไม่เสียเวลาหรือ tokens มากเกินความจำเป็น
ทักษะนี้ต้องอาศัยความรู้ในการจัดการบริบท (context) ของ coding agent การตัดสินใจแลกเปลี่ยนระหว่างการวางแผนและการลงมือปฏิบัติ และการช่วยให้ agent ปิดวงจรการทำงานได้ด้วยตัวเองโดยการจัดหา verifiers หรือ evals คุณยังต้องรู้จักการทำงานกับสเปคที่ชัดเจน (และรู้ว่าเมื่อไหร่ไม่จำเป็นต้องทำ) การประสานงาน agents หลายตัวให้ทำงานร่วมกัน และการหลีกเลี่ยงหลุมพรางต่างๆ เช่น ความเสี่ยงที่ agent จะทำให้ production database ของคุณเสียหาย เนื่องจาก agentic coding มีการพัฒนาอย่างรวดเร็ว การใช้ coding agents อย่างเชี่ยวชาญจึงไม่ได้หมายถึงเพียงแค่การรู้แนวปฏิบัติที่ล้ำสมัยเท่านั้น แต่ยังรวมถึงการมีกิจวัตรในการลองใช้เครื่องมือใหม่ๆ อยู่เสมอ และพัฒนาปรับปรุงเวิร์กโฟลว์ของคุณให้ทันสมัยเมื่อแนวปฏิบัติที่ดีที่สุดเปลี่ยนไป
การกำหนดทิศทางการพัฒนา. เมื่อมีสเปคที่ชัดเจน coding agents มีความสามารถในการทำงานตามสเปคนั้นดีขึ้นอย่างรวดเร็ว ดังนั้น งานของเราในฐานะวิศวกรจึงเปลี่ยนไปสู่การตัดสินใจว่าควรบรรจุอะไรลงไปในสเปค วิศวกรไม่ควรคาดหวังอีกต่อไปว่าจะได้รับดีไซน์ที่สมบูรณ์แบบทุกพิกเซลแล้วแค่ลงมือ implement ตามนั้น แต่ทว่าวิศวกรรม AI ที่มีประสิทธิภาพต้องอาศัยการมี product sense (ความเข้าใจในตัวผลิตภัณฑ์) และความเข้าใจบริบททางธุรกิจและเป้าหมายของลูกค้า เพื่อให้คุณมีส่วนร่วมในการกำหนดทิศทางและขับเคลื่อนงานที่สร้างขึ้น
AI ยังเปิดโอกาสให้คุณเป็นเจ้าของงานและมีอำนาจในการตัดสินใจ (agency) มากกว่าเดิม คุณสามารถมองเห็นปัญหาที่น่าสนใจและโอกาสต่างๆ แล้วลงมือทำเพื่อคว้าโอกาสเหล่านั้นอย่างมีความรับผิดชอบ การคว้าโอกาสนี้ต้องอาศัยความรู้ในการขับเคลื่อนโปรเจกต์ให้ไปข้างหน้า เช่น การรู้ว่าเมื่อไหร่ควรรีบสร้าง MVP เพื่อให้ผู้ใช้ทดสอบ และเมื่อไหร่ควรช้าลงและใช้เวลามากขึ้นเพื่อสร้างอย่างรอบคอบ
สิ่งที่รองรับทักษะทั้งหมดนี้คือกรอบความคิดแห่งการเรียนรู้อย่างต่อเนื่อง AI ยังคงเปลี่ยนแปลงอย่างรวดเร็ว เราทุกคนจึงต้องเรียนรู้และพัฒนาทักษะของเราอย่างต่อเนื่องเพื่อนำแนวปฏิบัติที่ดีที่สุดที่เกิดขึ้นใหม่มาใช้
DeepLearning.AI มีเป้าหมายหลักในการช่วยให้นักพัฒนาได้รับทักษะวิศวกรรม AI เหล่านี้ ผมยังมีอะไรจะพูดถึงทักษะทั้งสี่นี้เพิ่มเติมอีกมาก และจะลงรายละเอียดเกี่ยวกับแต่ละทักษะในโพสต์ต่อๆ ไป พร้อมแชร์แผนที่ทักษะวิศวกรรม AI (AI Engineering Skills Map) ที่ละเอียดยิ่งขึ้น เมื่อผมมองไปที่ทิศทางของวิศวกรรม AI ในอนาคต ผมรู้สึกตื่นเต้นอย่างยิ่งกับสิ่งที่พวกเราทุกคนจะได้สร้างสรรค์ขึ้น และผมหวังว่าคุณจะมีบทบาทที่น่าตื่นเต้นในอนาคตนี้





