ก้าวสู่โลกจริง · ตอนที่ 05

เมื่อข้อความหนึ่งข้อความ ยังไม่ได้แปลว่าเข้าใจกัน

พ่อเชื่อมบริบทเรื่องมื้ออาหาร กิจกรรม และช่วงเวลาเพื่อทำความเข้าใจข้อความ

หลังจาก Walking Skeleton พิสูจน์ได้ว่าเส้นทางเชื่อมต่อระหว่าง LINE, ระบบหลังบ้าน และ AI ทำงานประสานกันได้จริง ไฟในตัวผมมันลุกโชนจนแทบจะหยุดไม่อยู่... แต่ทันทีที่หยิบมือถือขึ้นมาใช้งานจริงในชีวิตประจำวัน ความจริงในสนามก็ฟาดเข้าใส่หน้าอย่างจัง

ช่วงต้นเดือนมิถุนายน 2026 นั้น แทบจะเรียกได้ว่าผมนอนไปแค่ไม่กี่ชั่วโมงในแต่ละคืน ไม่ใช่เพราะเครียด แต่มันคือ “ความฮึกเหิม” ที่ปลุกให้ผมดีดตัวตื่นขึ้นมาตั้งแต่ตีสี่ครึ่งของทุกวัน การได้กลับมาจับเทคโนโลยีใหม่ที่ล้ำยุคขนาดนี้ มันตื่นเต้นจนอยากจะรีบคว้ามือถือ คว้าคอม มาลุยต่อให้เห็นกับตา

ในห้องทดลองตอนจำลองข้อมูล ทุกอย่างดูราบรื่นสวยงาม ข้อความจำลองถูกส่งเข้าไป AI สกัดข้อมูลออกมาเป็นตัวเลข บันทึกลงฐานข้อมูลได้อย่างแม่นยำ ทุกอย่างวิ่งฉิวตามทฤษฎี

แต่ทันทีที่ผมหยิบมือถือขึ้นมาใช้งานจริงในชีวิตประจำวัน... ระบบที่โค้ดผ่านทุกอย่าง คอมไพล์ไม่มีข้อผิดพลาด กลับกลายเป็นผู้ช่วยที่ “คุยไม่รู้เรื่องอย่างหนัก” ตอบทื่อเหมือนหุ่นยนต์ราชการ จนผมหงุดหงิดกับระบบที่ตัวเองนั่งทำมากับมือ

และที่ลึกซึ้งยิ่งกว่านั้น ความล้มเหลวบนหน้าจอ LINE มันไม่ได้กำลังบอกว่า AI โง่ แต่มันกำลังตะโกนบอกผมว่า “เนื้อหาและวิสัยทัศน์ของระบบที่เรากำลังทำ... มันผิดฝาผิดตัวมาตั้งแต่แรก”

1. หน้าฉาก: มนุษย์ไม่ได้พูดเป็น JSON และบอทที่ “Response ยังไม่เป็นคน”

ปัญหาแรกที่โผล่ขึ้นมาทันทีที่ใช้งานจริง ไม่ใช่เรื่อง AI ถอดตัวเลขไม่แม่นยำ แต่เป็น “ความรู้สึกในการสื่อสาร”

ในบันทึกผลการทดสอบ (UX Feedback Log) ของผมช่วงต้นเดือนมิถุนายน 2026 มีประโยคหนึ่งที่ผมเขียนบ่นระบบตัวเองไว้สั้น ๆ แต่ชัดเจนมากว่า:

“ข้อมูลถูก แต่ Response ยังไม่เป็นคนอ่ะ...”

เวลาเช้ามืดหลังวิ่งเสร็จ เหนื่อยก็เหนื่อย เหงื่อท่วมตัว แล้วหยิบมือถือมาพิมพ์บอกบอทด้วยความหวังว่ามันจะเข้าใจเรา: “วันนี้วิ่ง 3.5 กม. 38 นาที”

ตัวสกัดข้อมูลหลังบ้านทำหน้าที่ของมันได้อย่างสมบูรณ์แบบ แกะระยะทาง 3.5 กิโลเมตร และเวลา 38 นาทีออกมาได้ถูกต้องเป๊ะ แต่สิ่งที่บอทตอบกลับมาใน LINE กลับเป็นข้อความทื่อ ๆ ว่า:

“ต้องการบันทึกข้อมูลนี้ไหมครับ [บันทึก] [ไม่บันทึก]”

ในฐานะคนใช้ เราพิมพ์บอกไปชัดเจนขนาดนั้นแล้ว เราไม่ได้อยากมากดปุ่มยืนยันซ้ำซ้อนเหมือนกำลังกรอกแบบฟอร์มราชการ สิ่งที่คนต้องการในวินาทีนั้นคือคำรับรู้ง่าย ๆ ว่าบันทึกให้แล้ว เช่น “ยอดเยี่ยมเลยครับ บันทึกการวิ่ง 3.5 กม. เรียบร้อยแล้ว เหนื่อยไหมครับวันนี้”

ยิ่งกว่านั้น ในบางบทสนทนา พอบันทึกข้อมูลหลักเสร็จ บอทอยากได้ข้อมูลเพิ่มเรื่องความรู้สึก มันถามว่า “วันนี้รู้สึกอย่างไรบ้างครับ” แต่ข้างล่างดันมีปุ่มตัวเลือก [ไม่บันทึก] โผล่ขึ้นมาด้วย จนคนใช้ตกใจคิดว่า ถ้าเผลอไปกดปุ่มนี้ มันจะไปยกเลิกข้อมูลการวิ่งที่เพิ่งบันทึกไปเมื่อกี้หรือเปล่า

2. ความจำสั้น และการถามวนลูป

ปัญหาต่อมาที่ทำให้การคุยกับบอทกลายเป็นความเหนื่อยยาก คือ มนุษย์เราไม่ได้พิมพ์ทุกอย่างรวมกันมาในประโยคเดียว

ในชีวิตจริง เรามักจะค่อย ๆ พูดทีละท่อนตามธรรมชาติ:

ผม: “วันนี้ไปวิ่งมา รู้สึกดีมาก”
บอท: “วิ่งไปกี่กิโลเมตรและใช้เวลาเท่าไหร่ครับ?”
ผม: “3.5 km 33 นาที”
บอท: “ต้องการบันทึกกิจกรรม 'วิ่ง' ใช่ไหมครับ?”
ผม: “วิ่ง” (เริ่มเอะใจ)
บอท: “วิ่งไปกี่กิโลเมตรและใช้เวลาเท่าไหร่ครับ?”

พอมันวนกลับมาถามคำถามเดิมที่เพิ่งตอบไปหยก ๆ ผมถึงกับกุมขมับ แล้วเขียนโน้ตลงไปในผลการทดสอบด้วยความหงุดหงิดว่า: “บอกแล้วว่าวิ่ง ถามอีกทำไม, ความจำสั้นแล้ว แบบนี้ต้องเก็บ Context เพิ่มไหมนะ”

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

ความรู้สึกของคนใช้ในตอนนั้นคือ “นี่เรากำลังคุยกับผู้ช่วย หรือเรากำลังถูกตำรวจสอบปากคำอยู่กันแน่?”

3. เมื่อการตีความปะปนกับข้อเท็จจริง (Interpretation Contamination)

มีครั้งหนึ่ง ระบบเสนอทางเลือกให้ผม แต่ผมยังไม่เลือกทันที เพราะอยากเช็กข้อมูลให้แน่ใจก่อน

พอกลับไปดูข้อมูลที่ AI บันทึกไว้ ผมเห็นว่าระบบสรุปว่าผม “ลังเล” ทั้งที่สิ่งที่ผมบอกคือเหตุผลที่ยังไม่เลือก: ผมแค่ขอข้อมูลเพิ่มเพื่อประกอบการตัดสินใจ คำว่า “ลังเล” จึงเป็นการตีความและแปะป้ายของ AI ไม่ใช่ข้อเท็จจริงที่ผมบอก

สิ่งที่ควรบันทึกคือผมยังไม่ได้เลือก และกำลังขอข้อมูลเพิ่มเติม ส่วนการสรุปว่าผมลังเลเป็นเรื่องที่ระบบไม่ควรคิดและเติมแทนผม

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

4. จุดเปลี่ยน: ถ้าขนาดเราเองยังรำคาญ... แล้วใครจะอยากใช้?

ช่วงนั้นผมยังไม่มีทีม QA หรือกลุ่มผู้ใช้ทดสอบ ผมจึงหยิบมือถือมาลองใช้เองเป็นหลัก ทั้งหลังวิ่ง ระหว่างวัน และเมื่อมีเรื่องอยากลองคุยกับระบบ

และยิ่งลองใช้เองไปเรื่อย ๆ ผมก็ยิ่งเห็นจุดที่ทำให้ตัวเองหงุดหงิดกับประสบการณ์ใช้งาน

ลองคิดดูสิครับ เพิ่งวิ่งเสร็จเหนื่อย ๆ หรือกำลังจะพักผ่อน แล้วต้องมาคอยกดปุ่ม [บันทึก] หรือโดนบอทถามซักไซ้จุกจิกเหมือนตำรวจสอบสวน วันนั้นผมหยุดพิมพ์ แล้วบอกตัวเองตรง ๆ แบบไม่อ้อมค้อมว่า:

“ถ้าขนาดตัวเราที่เป็นคนสร้างมันขึ้นมาเอง ยังรำคาญจนไม่อยากคุยกับมัน... แล้วใครในโลกจะอยากมาใช้ระบบแบบนี้วะ? (5555)”

ความผิดพลาดนี้ไม่ได้อยู่ที่โมเดล AI และไม่ได้อยู่ที่โค้ดรันไม่ผ่าน แต่มันอยู่ที่ “เราตั้งโจทย์ผิดมาตั้งแต่กระดุมเม็ดแรก”

ตอนเริ่มทำ Thai Health Buddy เราคิดจากมุมมองของโปรแกรมเมอร์จ๋าเกินไป: ในหัวมีแต่ตารางข้อมูลสุขภาพ คนใช้พูดอะไรมา ต้องสกัดลงช่องให้ครบ ถ้าไม่ครบ ก็ตั้งหน้าตั้งตาถามไล่เบี้ยจนกว่าจะได้ตัวเลข แล้วก็ยัดเยียดปุ่มคอนเฟิร์มเพื่อให้มั่นใจว่าระบบทำงานถูกต้องตามขั้นตอน

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

ในชีวิตจริง มนุษย์ไม่ได้ใช้ชีวิตแยกเป็นไซโล วันที่เราเหนื่อย วันที่เราเครียด วันที่ไปกินข้าวกับครอบครัว วันที่เราวิ่ง หรือวันที่เราแค่อยากบ่นเรื่องงาน มันร้อยเรียงอยู่ด้วยกันทั้งหมด เราไม่ได้ต้องการแอปที่มาคอย “มอนิเตอร์จับผิด” หรือคอยตั้งการ์ดบังคับให้เราพูดแต่เรื่องแคลอรีและการวิ่ง แต่เราต้องการผู้ช่วยที่เข้าใจชีวิตจริง ๆ ต่างหาก

5. กำเนิด SabayJai Buddy: ผู้ช่วยที่เข้าใจ “บริบทชีวิต”

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

ผมตัดสินใจเปลี่ยนชื่อและทิศทางของระบบจาก Thai Health Buddy สู่ “SabayJai Buddy” พร้อมกับเขียนสัจจะใหม่ลงในวิสัยทัศน์ของระบบ:

“Know yourself. Make better decisions with your information.
เป้าหมายไม่ใช่การเก็บข้อมูลให้ได้มากที่สุด... แต่เป้าหมายคือการช่วยให้ผู้คนเข้าใจตัวเอง และเลือกเส้นทางชีวิตที่เหมาะกับตัวเองได้ดีขึ้น”

นี่คือเสาหลักใหม่ที่กลายมาเป็นหัวใจของ SabayJai:

  • Personal Context Assistant, not only Health Assistant: เราขยายขอบเขตจากแค่เรื่องสุขภาพ สู่การเป็นผู้ช่วยที่เข้าใจ “บริบทชีวิตส่วนบุคคล” บอทต้องไม่พยายามลากทุกบทสนทนากลับเข้าเรื่องสุขภาพอย่างทื่อ ๆ ถ้าผู้ใช้คุยเรื่องทั่วไป ก็ตอบอย่างเป็นธรรมชาติ
  • Goal Over Domain: ชีวิตคนขับเคลื่อนด้วยเป้าหมายและเจตนา ไม่ใช่ตารางข้อมูล ข้อมูลเรื่องการวิ่งหรือการกิน มีความหมายก็เพราะมันไปผูกกับเป้าหมายชีวิตของคนคนนั้น
  • Review Over Monitoring: ระบบไม่ได้มีไว้เพื่อเฝ้าดูหรือจับผิดพฤติกรรมมนุษย์ แต่มีไว้เพื่อให้ผู้ใช้ได้มีพื้นที่ทบทวนตนเอง เพื่อเลือกทำสิ่งที่ดีขึ้นด้วยตัวเขาเอง
  • Meaning Over Volume: การบันทึกข้อมูลให้เยอะขึ้น ไม่ได้แปลว่าจะเกิดประโยชน์มากขึ้นเสมอไป หัวใจคือการค้นหาว่าข้อมูลอะไรที่มีความหมายต่อชีวิตจริง ๆ
  • Conversation Over Forms: ข้อมูลต้องเกิดขึ้นจากการพูดคุยอย่างเป็นธรรมชาติ ไม่ใช่การส่งแบบฟอร์มมากดดันให้กรอกหรือกดปุ่มยืนยันซ้ำซาก

สู่ก้าวถัดไป: เมื่อหน้าฉากเริ่มชัด... แต่หลังบ้านเริ่มตึงมือ

เมื่อเนื้อหาและทิศทางของผลิตภัณฑ์เริ่มเข้ารูปเข้ารอย ผมเริ่มมองเห็นภาพแล้วว่า “ผู้ช่วยที่เข้าใจมนุษย์จริง ๆ” ควรจะวางตัวอย่างไร

ต่อมา ผมเริ่มทดลองใช้ Multi-Agent และเจอข้อจำกัดจากการทำงานผ่านแชท รวมถึงปัญหา Rate Limit ที่ทำให้ต้องปรับวิธีทำงานในช่วงเช้ามืด

ประสบการณ์ครั้งนั้นทำให้ผมต้องกลับมาทบทวนวิธีใช้เครื่องมือและกำหนดขอบเขตการทำงานให้ชัดขึ้น เรื่องนี้เล่าต่อในตอนถัดไปครับ

เรื่องราวการถอนพิษท่ายาก และการลุกขึ้นมาปรับทัพใหม่เพื่อดึงสติตัวเองกลับมาอยู่กับความจริง ผมขอยกยอดไปเล่าแบบหมดเปลือกในตอนถัดไปครับ