ตอนเริ่มต้น SabayJai Pantry เป็นโจทย์ตัวอย่างที่ผมตั้งขึ้นมาเพื่อดูว่าเรามีของกินอะไรเก็บไว้ และเก็บอยู่ตรงไหน ตอนนั้นผมยังไม่ได้รู้ล่วงหน้าว่าหน้าจอหรือระบบจะออกมาเป็นแบบไหน เราเริ่มจากทำความเข้าใจ ข้อกำหนดว่าระบบควรทำอะไรและต้องตอบโจทย์ใด วางงานเป็นช่วง ๆ แล้วค่อยลงมือไปตามสิ่งที่ต้องทำ
ระหว่างทางมีหลายอย่างที่ต้องปรับจากสิ่งที่เห็นจริง บางหน้ามีข้อมูลให้ดูแต่ยังทำอะไรต่อไม่ได้ บางปุ่มเปลี่ยนสต็อกทันทีทั้งที่ผมอยากตรวจยอดก่อน หรือการ์ดหนึ่งใบรวมหลายล็อตจนไม่รู้ว่ากำลังจัดการล็อตไหน เรื่องเหล่านี้ไม่ได้คลี่คลายด้วยการเดาให้ถูกตั้งแต่แรก แต่เกิดจากการลองใช้ ถามกันให้เข้าใจ แล้วกลับไปปรับระบบให้ตรงกับวิธีใช้งาน
บทบาทของเราก็ค่อย ๆ ชัดขึ้น ผมเป็นคนกำหนดเป้าหมาย บอกว่าผลแบบไหนถึงจะเหมาะ และตัดสินใจเมื่อเจอทางเลือก ส่วน AI ช่วยสำรวจสิ่งที่มีอยู่ เสนอวิธีทำ ลงมือแก้ และรายงานผล เมื่อขอบเขตชัด ผมไม่จำเป็นต้องหยุดรอทุกขั้น แต่ก็ยังต้องกลับมาลองใช้และตรวจว่าผลงานตรงกับ Requirement และมาตรฐานที่ผมตั้งไว้หรือไม่
ผมไม่ได้มี ข้อความหรือคำสั่งที่เราพิมพ์บอก AI ยาว ๆ เตรียมไว้สั่งงานครับ พูดตรง ๆ คือผมทำไม่เป็นด้วยซ้ำ สิ่งที่ผมทำได้คือบอกว่าต้องการอะไร ถามเมื่อยังไม่เข้าใจ ชี้จุดที่อยากให้ปรับ แล้วค่อยคุยกันต่อทีละเรื่อง งานไม่ได้เดินเพราะผมเขียนคำสั่งได้เก่งหรือวางทุกอย่างไว้ล่วงหน้า แต่มันเดินได้เพราะเราค่อย ๆ ทำความเข้าใจ ตรวจผล และปรับไปด้วยกัน
พอมานึกดูอีกที ตลอดการพัฒนา SabayJai Pantry Demo ผมไม่เคยสั่ง Run Development เครื่องหรือบริการที่เปิดทำงานไว้ให้เครื่องอื่นเชื่อมต่อเข้ามา เองเลยสักครั้ง และไม่เคยใช้ VS Code เขียนหรือแก้ Code ด้วยตัวเอง ผมเปิด VS Code เพื่ออ่านไฟล์กับ การบันทึกจุดพักของงานลง Git พร้อมข้อความว่าคราวนี้แก้อะไร Code เท่านั้น งานพัฒนา การรัน และการทดสอบระหว่างทาง ผมให้ AI ดำเนินการ ส่วนผมลองใช้ ตรวจผล และตัดสินใจว่าจะรับงานหรือให้ปรับตรงไหน แต่ถึงไม่ได้ลงมือเขียน Code ประสบการณ์ Software Architect ของผมก็ยังช่วยตัดสินใจหลายเรื่องอยู่ครับ
สำหรับผม การทดสอบจึงเป็นช่วงที่สำคัญมาก เราต้องลงมือใช้งานระบบที่ได้อย่างจริงจัง ดูว่าทำงานได้ตามที่คิดไว้ ลื่นไหลพอ และจัดการรายละเอียดที่ยังติดขัดให้เรียบร้อย การแก้ไขก่อนขึ้น สภาพแวดล้อมจริงที่ผู้ใช้ทั่วไปเข้าใช้งาน ทำได้ง่ายที่สุดเสมอ ผมจึงอยากให้แน่ใจก่อนพาระบบออกไปให้คนใช้งาน
ท้ายที่สุด SabayJai Pantry ก็ขึ้นใช้งานแล้วครับ Demo ที่อยู่ของหน้าเว็บที่พิมพ์ในเบราว์เซอร์ คือ pantry-demo.sabayjai.net และผ่านการทดสอบรอบสุดท้าย จากโจทย์ที่เริ่มไว้เพื่อเรียนรู้ เราได้เดินมาถึงระบบที่ทำงานได้จริง โค้ดของ Demo ที่ขึ้นเว็บอยู่ใน GitHub Repository และถ้าอยากพูดคุยกันต่อ ก็เข้าไปได้ที่ Facebook Group
SabayJai Approach & Development Framework: กรอบทำงานสี่มุมมอง Structure, Align, Delivery และ Flow ที่ใช้ทบทวนงานกับ AI มีอยู่ก่อนที่เราจะเริ่มทำ Pantry ครับ พอมองย้อนกลับไป ผมเห็นว่าเราหยิบหลักคิดนี้กลับมาใช้ตามเรื่องที่เจอ บางครั้งต้องจัดโครงงาน บางครั้งต้องถามให้เข้าใจตรงกัน บางครั้งต้องลงมือแล้วดูผลก่อนย้อนกลับไปแก้สิ่งที่ยังไม่ตรง ไม่ได้เรียงเป็นสี่ขั้นตอนตายตัวหรือหยุดเรียกชื่อมันทุกครั้ง
เมื่อกลับมาทบทวนเรื่องราวเพื่อทำหนังสือเล่มนี้ ผมจึงลองชวนผู้อ่านมองบางเหตุการณ์ผ่าน SADF ในช่วง “หันกลับมามอง” ของหลายบท ไม่ใช่เพื่อบอกว่าตอนทำงานผมนั่งไล่ Framework ทีละขั้น แต่เพื่อให้เห็นว่าหลักคิดที่มีอยู่สามารถนำมาใช้ตามสถานการณ์จริงได้อย่างไร
ไม่ว่าจังหวะไหน สิ่งที่ผมอยากฝากไว้ก็ยังเหมือนเดิมครับ คือให้คนกับ AI ค่อย ๆ ทำความเข้าใจงานร่วมกัน และตรวจผลจากการใช้งานจริงก่อนบอกว่างานเสร็จ
พอเขียนมาถึงตรงนี้ ผมลองขอ Feedback จาก AI ฝ่ายซ้ายกับฝ่ายขวา คือ Sol และ Antigravity ทั้งสองมองตรงกันว่า Pantry Demo เดินงานจน นำแอปไปเผยแพร่ให้เปิดใช้งานผ่านเว็บได้ ใช้งานจริงได้แล้ว แต่ช่วงกลางถึงท้ายเล่ม ผมยังอาศัยประสบการณ์ Software Architect ช่วยตัดสินใจหลายเรื่อง คนที่ไม่ได้อยู่ในสาย Software อาจตามไม่ทัน หรือเอาวิธีนี้ไปลองทำตามได้ไม่ง่ายอย่างที่ผมตั้งใจ
ผมเห็นด้วยครับ เขาติถูก ผมดีใจที่ Demo ไปถึงจุดที่ใช้งานได้จริง แต่ก็ต้องยอมรับว่าเป้าหมายเรื่องพาคนที่ไม่มีพื้นฐาน Software ลองทำตาม ยังไปไม่ถึงเท่าที่อยากให้เป็น ผมไม่คิดจะย้อนกลับไปแต่งประวัติเล่มนี้ให้ดูเหมือนตอนทำงานผมไม่ได้ใช้ประสบการณ์นั้น สิ่งที่เกิดขึ้นก็ให้เป็นไปตามที่เกิดขึ้นจริง
พอเห็นช่องว่างนี้ ผมก็ต้องรับ Feedback แล้วปรับวิธีทดลองในรอบต่อไป นี่ก็เป็นการใช้ SADF กับงานเขียนของตัวเองเหมือนกันครับ — มีหลัก พร้อมพลิกแพลง แบบบ้านสบายใจ
เพราะฉะนั้น ขอประกาศตรงนี้เลยว่า “พ่อพาทำ ภาค 2 — ขอแก้ตัว” ครับ! รอบหน้าผมจะลองโจทย์ใหม่ และจะลอง Nerf ความรู้ตัวเอง จากคนที่เคยทำ Software ให้เหลือบทบาทของคนธรรมดาที่รู้เพียงว่า อยากได้อะไร แต่ไม่รู้ว่าต้องสร้างอย่างไร พูดให้ตรงคือผมจะจำกัดบทบาทของตัวเองในการทดลอง ไม่ได้แกล้งทำเป็นไม่รู้หรือซ่อนความรู้เพื่อให้ AI ดูเก่ง
ภาค 2 จะไม่ปูพื้นยาวเหมือนเล่มนี้ ผมอยากเริ่มเดินงานกับโจทย์ใหม่ให้เร็วขึ้น อาจมี Gemini มาร่วมทีม AI ด้วย ผมจะพยายามเต็มที่เพื่อดูว่า AI จะช่วยพาเจ้าของโจทย์ที่ไม่มีพื้นฐาน Software ไปถึงเป้าหมายได้แค่ไหน ผมเองก็ยังไม่รู้คำตอบครับ
แต่ขอพูดแบบขำ ๆ ไว้ก่อนว่า “ถ้าภาค 2 ยังไม่สำเร็จ พ่อพาทำ ภาค 3 มาแน่นอนนนนนนนนน! 555555”
หมายเหตุหลังปิดต้นฉบับ
หลังจากปิดต้นฉบับเล่มนี้แล้ว ผมยังได้ลองเปิด Pantry Demo บนเครื่องอื่น และพบจุดเล็ก ๆ ที่ต้องปรับเพิ่มเติม เช่น เมนูบนมือถือที่แสดงผลไม่ถูกตำแหน่ง รวมถึงการเพิ่มทางเลือกให้ล้างข้อมูลตัวอย่างเพื่อเริ่มใช้งานใหม่
ผมไม่ได้กลับมาเปิด Runlog หรือเขียนบทใหม่ให้ทุกการแก้ไข เพราะถือว่าเป็นการดูแล Demo หลังปิดงานพัฒนาหลัก ส่วนใครอยากติดตามความเปลี่ยนแปลงต่อ ก็สามารถดูได้จาก GitHub Repository ครับ