จากบทความเรื่อง The AI Engineering Skills Map ของคุณ Andrew Ng และ DeepLearning.AI
ได้ทำการสรุปความสามารถสำหรับ AI Engineering ที่จำเป็นต้องมีออกมา
ซึ่งเป็น level บนสุด ประกอบไปด้วย

  • Building and deploying AI applications
  • Software engineering fundamentals
  • Using coding agents
  • Shaping the build

มาดูรายละเอียดที่สรุปจากการอ่านไว้นิดหน่อย


เนื่องจาก AI ได้เข้ามาสู่โลกการพัฒนา software เร็วมาก ๆ
และทำให้แนวทางในการพัฒนาเปลี่ยนไปอย่างมาก
และโลกของ AI ก็เปลี่ยนแปลงไปเร็วมากเช่นกัน
ดังนั้น ความสามารถ หรือ skill อะไรบ้าง ที่เราต้องเรียนรู้ ?

เพื่อเป็นแนวทางให้นักพัฒนาได้เรียนรู้เพิ่มเติม
และผู้ว่าจ้างจะได้รู้ว่า ต้องจ้างคนมี skill แบบไหนบ้าง

โดยได้ออกมาเป็น AI Engineering skill ดังนี้ (ไม่ใช่ role นะ)

Skill ที่ 1 Building and deploying AI applications

เนื่องจากการใช้ AI นั้นเรามักจะคาดการสิ่งที่ถูกสร้างมาไม่ได้เลย (unpredictable)
ซึ่งมีความแตกต่างจากสิ่งที่คนทำอย่างมาก
เพราะว่าต่าง provider ต่าง model ต่างเครื่องมือ ก็ได้ผลที่แตกต่างกัน

ดังนั้นสิ่งที่สำคัญมาก ๆ คือ ต้องเข้าในส่วนการทำงานต่าง ๆ ของ AI ว่าเป็นอย่างไร
ทั้ง LLM(Large Language Model), Context engineering
ทั้ง RAG(Retrieval Augmented Generation) และ Agentic workflow
ทั้ง Machine learning และ Deep learning
รวมทั้งการนำเทคนิคต่าง ๆ ทางด้านสถิติ มาวัดค่าการทำงานของ AI
เพื่อปรับปรุงให้ดียิ่งขึ้น หรือ ให้เราคาดการสิ่งที่ถูกสร้าวขึ้นมาได้ดีขึ้น
นั่นคือ eval และ error analysis นั่นเอง

และในส่วนนี้เองทางเจ้าของต้นฉบับได้เพิ่มรายละเอียดเข้ามาอีก
ว่ามีหัวข้อต่าง ๆ ดังนี้

  • LLM foundations
  • Grounding models with data
  • Building agentic systems
  • Evaluation-driven development
  • Operating in production
  • Machine learning foundations

แสดงดังรูป

Skill ที่ 2 Software engineering fundamentals

ถ้าเราต้องการพัฒนา software ให้ดี (แยกกันระหว่างสร้างได้ กับ สร้างให้ดี และดูแลรักษาต่อไปได้)
ถ้าความมีความรู้พื้นฐานที่ดี จะได้เป็นสิ่งที่ช่วยในการตัดสินใจต่าง ๆ
ทั้ง trade off ต่าง ๆ เช่นเรื่อง

  • ค่าใช้จ่าย
  • ความเร็วของระบบ
  • scalability
  • reliability
  • security และ privacy ต่าง ๆ

ส่งผลให้มีตัดสินใจเลือกได้ดีขึ้น และเหมาะสมกับ requirement
ทั้งพวก technology stack ที่ใช้งาน
ทั้งเรื่องออกแบบ architecture ของระบบ
ทั้งเรื่องของออกแบบโครงสร้างข้อมูลใน database
ทั้งเรื่องของการทดสอบ ไปจนถึงการ deploy และ monitoring

ช่วยให้เราสามารถบอกสิ่งที่ต้องการให้ AI ได้ชัดเจนมากยิ่งขึ้น
หรือมันคือเรื่อง Context engineering นั่นเอง

เราคงไม่บอกว่า สิ่งต่าง ๆ ก็แล้วแต่ AI ก็แล้วกัน !!

Skill ที่ 3 Using coding agents

เมื่อมี skill ทั้ง 1 และ 2 แล้วจะเป็นสิ่งที่ดีมาก ๆ
ต่อมาเราก็มาใช้งาน AI Agent for coding กัน
ซึ่งเป็นความสามารถหลักของนักพัฒนาแน่นอน
แต่สิ่งที่ความต้องมีมากขึ้นคือ การใช้งานอย่างมีประสิทธิภาพ (ไม่ใช่การ chat ไปวัน ๆ)
มิเช่นนั้น จะเสียทั้งเวลา และ token ไปโดยเปล่าประโยชน์
โดยที่ token น่าจะเป็นอีกหนึ่งปัญหาคอขวดที่หลาย ๆ คนเจออยู่ !!

ดังนั้นความสามารถหลักที่ควรมีคือ
การใช้งาน AI Agent for coding ให้เกิดประโยชน์สูงสุด
นั่นการคือปรับปรุง และ พัฒนาการใช้งาน
ทั้งการออกแบบและใช้งาน Agent/sub-agent และการ orchestration
ทั้งการจัดการ context และ permission ในการทำงาน
เช่น ไม่เข้าไปทำงานที่ production database
ทั้งการแบ่งงานต่าง ๆ ออกจากกัน
เช่น การทำ work break down, การวางแผน
และการ execution การทำงาน

ซึ่งให้ AI Agent ทำการตาม loop ของมันไปให้ดี และ ได้ผลตรงตามที่ต้องการ
และจากนั้นก็ออกแบบการ eval/verify ว่าจะต้องทำอย่างไร
สุดท้ายก็ทำการปรับปรุงให้ดีขึ้น ทั้งผล และ ขั้นตอนการทำงาน
และวนไปเริ่มใหม่

ง่าย ๆ คือ plan -> do -> check -> act หรือ PDCA นั่นเอง

ที่สำคัญคือ
แนวทางการทำงาน และ best practice ต่าง ๆ เปลี่ยนไปเร็วมาก ๆ
ดังนั้นเราก็ต้องมีการเรียนรู้ และ การปรับมาใช้งานอย่างต่อเนื่อง เช่นเดียวกัน

Skill ที่ 4 Shaping the build

เมื่อเราเริ่มเก่งและเชี่ยวชาญในการ implement ต่างความต้องการแล้ว
เช่น ทำงานตาม spec ได้อย่างตรงและถูกต้อง
แต่ถ้ายังจำเป็นต้องฝึกฝนและปรับปรุงก่อน !!
บางคนอาจจะเรียกว่า spec-driven development ก็ได้

จากนั้นให้ขยับจากคนสร้าง spec และทำงานตาม spec
มาเป็นคนที่มีความเข้าใจด้วย product มากยิ่งขึ้น
เข้าใจ business และ ลูกค้ามากยิ่งขึ้น
เพื่อร่วมเข้ามากำหนดทิศทางของ product/project ได้เช่นเดียวกัน

ยกตัวอย่างเช่น
เมื่อไรความต้องเร็ว เช่น ต้องการสร้าง MVP feature สำหรับการทดสอบกับผู้ใช้งาน
หรือเมื่อไรควรช้าลง เพื่อเพิ่มความระมัดระวังในการสร้าง
ไม่ใช่จะเน้นแต่ความรวดเร็วกันอย่างเดียว !!

ซึ่งตรงนี้มันขึ้นอยู่กับบริบทของแต่ละบริษัทนั่นเอง

จะเห็นได้ว่าในโลกของ AI นั้น การเปลี่ยนแปลงมันรวดเร็วมาก ๆ

ดังนั้นทั้ง 4 ข้อนี้ น่าจะช่วยสร้างแนวทางในการเรียนรู้ของเราได้มากขึ้น
ว่าควรจะต้องศึกษาอะไรบ้าง
ถึงจะไปได้ช้าหน่อย ก็แต่ยังได้เพิ่มมากขึ้น (Continuous Learning)
แน่นอนว่า มันดีกว่าหยุดนิ่ง !!