BOOK 01 · เมื่อเจอ AI
เมื่อเจอ AI
ตอนที่ 01 — 29 เล่าช่วงที่ผมกลับมาเขียนโปรแกรมในวัยสี่สิบ แล้วค่อย ๆ เดินไปจนได้ทำ Buddy จากการทดลองเล่น ๆ กลายเป็นของจริงที่ยอมรับบน Production จากนั้นนำวิธีทำงานเดียวกันนี้ออกไปลองกับทีมจริง ทุกตอนมีทั้งสิ่งที่ลอง สิ่งที่พลาด และสิ่งที่ได้เรียนรู้กลับไปใช้ต่อ

เรื่องเล่าทีละก้าว
เลือกก้าวที่สนใจ หรือไล่อ่านตามลำดับเวลาตั้งแต่ตอนที่ 01 ถึง 29
ก้าวที่ 1 · ตอนที่ 01 — 04
ก้าวแรกกับ AI
เริ่มต้นจากความชอบตอนกลับมาเขียนโปรแกรมในวัยสี่สิบ ลองผิดลองถูกกับเครื่องมือใหม่ จนประกอบร่างระบบเล็กที่สุดให้เดินได้จริง

ก่อนจะเข้าป่าดง AI
หลังเว้นจากการเขียนโค้ดและลองเส้นทางอื่น ผมกลับมาเริ่มจากงานจริง ค่อย ๆ เรียนรู้ Laravel และเครื่องมือใหม่ ก่อนลองให้ Codex สร้างหน้าเว็บ

โจทย์แรก: Thai Health Buddy
การจดสุขภาพใน Notepad ช่วยให้เห็นข้อมูลย้อนหลัง แต่ยังต้องส่งบริบทให้ Chat ซ้ำ ๆ จึงกลายเป็นโจทย์แรกของ Buddy

เริ่มทดลองให้ LINE กับ AI เดินด้วยกัน
ก่อนทดลองให้ LINE กับ AI ทำงานร่วมกัน ผมเลือกวิธีและ Stack โดยดูต้นทุนรวม เวลานอกงาน และความยืดหยุ่น

Walking Skeleton: ทำให้เส้นทางเล็กที่สุดเดินได้
เริ่มจากข้อความและข้อมูลน้ำหนัก ให้ Mock AI สร้าง Extraction Draft แล้วทดลองยืนยันหรือปฏิเสธ บันทึกและตอบกลับผ่าน LINE
ก้าวที่ 2 · ตอนที่ 05 — 07
ก้าวสู่โลกจริง
จากการทำความเข้าใจผู้ใช้ สู่การทดลองใช้เครื่องมือและจัดระบบก่อนนำระบบขึ้นใช้งานครั้งแรก

เมื่อข้อความหนึ่งข้อความ ยังไม่ได้แปลว่าเข้าใจกัน
บทเรียนบนหน้าจอ LINE เมื่อความพยายามรีดเก็บข้อมูลสุขภาพจนน่ารำคาญ นำไปสู่การรื้อวิสัยทัศน์สู่ SabayJai Buddy ผู้ช่วยที่เข้าใจบริบทชีวิตมนุษย์

จากการลอง Multi-Agent สู่การทำงานแบบมีขอบเขต
บันทึกการทดลอง Multi-Agent ข้อจำกัดของการสั่งงานผ่านแชท และวิธีนำประสบการณ์ทำงานมากำหนดขอบเขตให้ AI

First Go-Live: เช่า VPS จด Domain และมีเว็บไซต์ของตัวเองครั้งแรก
ก้าวข้ามขีดจำกัดเรื่อง Docker เช่า VPS และจดโดเมนส่วนตัวครั้งแรก สู่การส่งระบบ v0.1.0 ขึ้น Production จริงตั้งแต่ตีสามถึงหกโมงครึ่งก่อนไปทำงาน
ก้าวที่ 3 · ตอนที่ 08 — 09
ก้าวผ่าตัดสถาปัตยกรรม
เมื่อระบบเติบโตและขอบเขตภายในยังไม่ชัด ผมจึงจัดโครงสร้างใหม่และทบทวนทางเข้าออกของระบบ

จาก Demi-God Service กลายร่างเป็น Zeus Service: บทเรียนที่ทำให้ต้องวาง SBJ Runtime ใหม่
บทเรียนจากการกำหนดขอบเขตใหม่ให้ระบบ การปรับโครงสร้าง 9,303 บรรทัด และการทดสอบบนสภาพแวดล้อมจริง

เมื่อถึงเวลาที่ Web ต้องเป็น Web: กับดักสายระโยงระยาง และการเหยียบเบรกเพื่อสร้างประตูหน้าบ้าน
แชทมีไว้คุย เว็บมีไว้ทำงาน กับดักสายระโยงระยางที่เจาะทะลุหลังบ้าน และการตัดสินใจเหยียบเบรกเพื่อสร้าง Gateway คุมทางเข้าบานเดียวเพื่อมุ่งสู่ Masterpiece
ก้าวที่ 4 · ตอนที่ 10 — 13
ผมกับ AI ออกเดินทางต่อ โดยคิดว่าจะไปถึง Production รอบสองในสองสัปดาห์
เริ่มจากแผนและการทดลอง ก่อนตามหาร่องรอยที่หาย แล้วตรวจเอกสารกับสิ่งที่ทำจริง จนผมเห็นว่าการรื้อแบบค่อย ๆ เติมกำลังพาเราออกจากเป้าหมาย

เมื่อผมกับ AI คิดว่าจะไปถึง Production รอบสองในสองสัปดาห์
วางแผนทำ Runtime ก่อนกลับไปทำ Web แล้วเริ่มจากการต้อนรับผู้ใช้และเก็บข้อมูล

ผมกับ AI ออกตามหาร่องรอยที่หายไป
Capture บันทึกข้อมูลได้ แต่ Logging ไม่ตามมาที่ทางใหม่ จึงต้องพักงานส่วนอื่นเพื่อไล่ดูและตรวจซ้ำ

Test ผ่าน 100% แต่พอผมลองเองก็เจอปัญหา
ชุด Test เพิ่มขึ้นและผ่าน แต่การ Manual Test ของผมยังพบปัญหาซ้ำ

ผมเลือกอัปเกรดอย่างระวัง ก่อนหยุดการรื้อที่เริ่มหลุดเป้า
หลังตรวจฐานที่อัปเกรดแล้ว ผมกลับไปจัด God Service ทีละน้อย ก่อนเห็นจากเอกสารกับโค้ดว่างานเริ่มหลุดจากเป้าหมาย
ก้าวที่ 5 · ตอนที่ 14 — 17
จากการวางแผนรื้อ สู่การเข้าใจ Agent และจัดวิธีทำงานกับ AI ใหม่
ผมวางเจ้าของงานก่อนให้ AI ลงมือ ตรวจว่าสิ่งสำคัญยังอยู่ แล้วเริ่มเข้าใจว่า Buddy กำลังมุ่งไปสู่ Agent พร้อมปรับเอกสารให้เป้าหมายกับหลักฐานเชื่อมถึงกัน

ก่อนให้ AI ลองใหม่ ผมวางเจ้าของงานของ God Service ให้ชัด
วางภาพการรื้อทั้งหมด แบ่งเจ้าของหน้าที่และขอบเขต แล้วทำโพยละเอียดให้ AI ก่อนแตะโค้ด

เมื่อกรอบชัดแล้ว ผมให้ AI รื้อทีละเส้นทางและตรวจสิ่งที่ต้องรักษา
ให้ AI เริ่มจากข้อกำหนด แบ่งทำทีละเส้นทาง แล้วตรวจสิ่งที่ต้องรักษาก่อนปิดงานตามขอบเขต

ผมเริ่มเข้าใจ Agent และปรับโครง SBJ Buddy ให้เรียกใช้ Tools ได้เต็มตัว
Current Tool ดึงข้อมูลเฉพาะของผู้ใช้คนเดียวในขอบเขตที่เหมาะสม และโครงใหม่เปิดทางให้เพิ่ม Tool ได้ง่าย

เอกสารชุดเดิมคุมงานกับ AI ไม่อยู่ ผมจึงจัดวิธีทำงานใหม่
เมื่อผลงานจริงยังแทนที่ระบบเดิมไม่ได้ ผมจึงจัดระเบียบการทำงานใหม่จากเป้าหมายใหญ่สู่งานย่อย โดยให้ Plan กับ Result คุมโจทย์และหลักฐานการตรวจ
ก้าวที่ 6 · ตอนที่ 18 — 21
ทดลองวิธีทำงานกับโจทย์ใหม่ แล้วปล่อยให้สองเส้นเดินคนละจังหวะ
ผมลองใช้ทางเดินของงานชุดใหม่กับ Buddy ก่อนพาไปเริ่มเกมของลูก จากบทสนทนาในบ้านสู่ห้องแรกที่เล่นได้ และเรียนรู้ว่าการทำสอง Project พร้อมกันยังต้องมีคนคุมขอบเขต ตรวจผล และเลือกเวลาพัก

ผมลองใช้วิธีทำงานชุดใหม่กับ Buddy
เมื่อเขียน Prompt เดียวคุมทุกอย่างไม่ได้ ผมจึงพา AI เดินทีละช่วง ตั้งเป้าหมายให้ชัด และตรวจผลจริงจากโค้ดและหลักฐานก่อนเดินต่อ

ผมถามลูกว่าอยากเล่นเกมที่พ่อสร้างเองไหม
คำถามสั้น ๆ ในบ้านกลายเป็น Project ใหม่ ผมกับ AI จึงเริ่มจากเอกสารและ Motion Spike เล็ก ๆ ก่อนสร้างเกมเต็ม

จากภาพเกมในหัว สู่ห้องแรกที่ลูกเล่นได้
เมื่อผมไม่มีทักษะภาพหรือเสียง ผมแบ่งงานให้ AI คนละแบบ แล้วค่อย ๆ เปลี่ยนยาน ดวงดาว และคำถามให้เป็นห้องคณิตศาสตร์แรกที่ลูกลองเล่นได้

สองงานเดินไปพร้อมกัน แต่ไม่ได้ไปจบพร้อมกัน
ผมลองเปิด AI สอง session ให้ Buddy กับตัวจุ้นเดินคู่กัน ก่อนจำกัดเกมไว้ที่ Frontend นำขึ้น Production แล้วพักเพื่อรอ Feedback
ก้าวที่ 7 · ตอนที่ 22 — 25
กลับมาหา Buddy แล้วเดินต่อจากภาพรวม สู่วันที่ยอมรับบน Production
หลังพักงานส่วนตัว ผมกลับมาทบทวนสถานะ Buddy เจอการทดสอบที่ AI พาออกนอกโจทย์ ก่อนค่อย ๆ ปิดงานแต่ละ Component และมองคำถามใหม่ที่ยังไม่มีคำตอบ

หลังพักงานส่วนตัว ผมกลับมาหา Buddy ที่ยังรออยู่
ผมกลับมาทบทวนว่างานทำอะไรไปแล้ว อะไรยังค้าง และควรรับช่วงต่อจากตรงไหน

ผมอยากทดสอบให้ง่ายลง แต่ AI กลับทำให้มันยากขึ้น
ผมขอจำลอง Capture ด้วยข้อความ แต่ AI เพิ่มโค้ดทดสอบและ MockAI จนงานออกนอก Scope

ผมเริ่มดูภาพรวม ก่อนเลือกเจาะ Test ทีละเรื่อง
Real-System-Test สร้าง DataDetail และ DailyInfo จาก Activity, Food, Expense และ Health ให้ผมดูใน Passbook

วันที่ผมยอมรับ Buddy บน Production
เมื่อเส้นทางจริงผ่าน ผมเป็นคนตัดสินใจยอมรับผล และยังเก็บคำถามใหม่ไว้โดยไม่รีบสรุปคำตอบ
ก้าวที่ 8 · ตอนที่ 26 — 29
จากบ้านหลังเดิมสู่ sabayjai.net แล้วนำแกนเดินทางออกไปลองกับทีมจริง
เมื่อผลงานในบ้านเริ่มเกินกรอบโดเมนเดิม ผมจึงตั้งชื่อบ้านใหญ่และย้ายทุกอย่างเข้าอยู่ใต้บ้านหลังเดียวกัน ก่อนจะนำวิธีทำงานเดียวกันนี้ออกไปลองกับทีมจริง และเจอบททดสอบที่ใหญ่กว่าที่คาดคิด

หลัง Buddy ขึ้น Production ผมเพิ่มไอเดียและตามแก้ Bug จนเกิด v1.1
วันแรกที่ Buddy เข้าไปอยู่ในกิจวัตรประจำวัน จุดขัดใจเล็ก ๆ ก็ส่งเสียงฟ้องทันที ผมจึงให้บอทเรียนรู้ชื่อรองเท้าคู่ใหม่จากแชท ขณะล็อกหมวดค่าใช้จ่ายไว้ให้คนจัดการ

v1.2 และการเกิดของ sabayjai.net
จากแอปเดี่ยวที่ผูกกับโดเมนของตัวเอง สู่พื้นที่ส่วนกลางที่เก็บผลงานของทุกคนในบ้าน พร้อมย้ายทุกผลงานเข้าอยู่ใต้ตระกูลโดเมนเดียวกัน

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

ห้าวันกับการปรับแกนธุรกรรม และงานถึงที่ AI ช่วยรับช่วง
สองวันวางทางเดินก่อนรื้อ สามวันลงมือถอดโค้ดข้าม 71 ไฟล์ ผมคุมแผนและความปลอดภัย ส่วน AI รับช่วงงานแก้ซ้ำ