เมื่อไม่กี่เดือนก่อน ผมเขียนเล่าว่าเราสร้างเว็บไซต์นี้กันเองโดยใช้ AI เป็นผู้ช่วยได้อย่างไร บทความนี้คือภาคต่อ และมีตัวเอกคนใหม่ นี่คือเรื่องราวของ Diamond ผู้ช่วยที่อยู่มุมจอทุกหน้า และของจอห์นนี่ คนที่สร้างมันขึ้นมา
สรุปสั้นๆ คือ เว็บไซต์ใช้งานได้ดี มีคนติดต่อเข้ามามากขึ้น และเราต้องการวิธีตอบคำถามดีๆ ที่ถูกถามซ้ำๆ ได้ทุกเวลาโดยไม่ต้องให้ใครรอ Diamond คือคำตอบของเรา
พบกับจอห์นนี่
ผมพบจอห์นนี่ในงานสัมมนาแห่งหนึ่ง เราคุยกันเรื่อง AI และสิ่งที่โดดเด่นไม่ใช่ศัพท์เทคนิคหรูๆ แต่เป็นความอยากรู้อยากลอง เขาสร้างสิ่งต่างๆ ด้วยตัวเองในเวลาว่างมาอยู่แล้ว และอยากลองใช้กับธุรกิจจริงที่มีลูกค้าจริง
เขาร่วมงานกับเรามาหลายเดือนแล้ว และ Diamond คือโปรเจกต์แรกของเขากับเรา จอห์นนี่ออกแบบผู้ช่วยตัวนี้ สร้างเวอร์ชันแรกที่ใช้งานได้จริง และทำส่วนที่ไม่หวือหวาด้วย นั่นคือการทดสอบกับคำถามที่ทีมงานของเราได้รับจริงทุกวัน ตอนนี้ผู้ช่วยตัวเดียวกันนี้ใช้งานอยู่บนเว็บไซต์ของบริษัทในเครือทั้งหมด ไม่ใช่แค่เว็บไซต์นี้
เวอร์ชันแรกเขียนด้วย Python
ต้นแบบของจอห์นนี่เขียนด้วย Python เป็นเว็บเซอร์วิสขนาดเล็กที่มีฐานข้อมูลง่ายๆ สำหรับเก็บบทสนทนา คลังความรู้ที่สร้างจากหน้าเว็บไซต์ของเรา และหน้าต่างแชตที่นำไปติดบนเว็บไซต์ใดก็ได้
แนวคิดหลักถูกต้องตั้งแต่วันแรก และยังเป็นแนวคิดเดิมจนถึงวันนี้ ผู้ช่วยต้องไม่ตอบจากความรู้ทั่วไปบนอินเทอร์เน็ต แต่ต้องค้นหาข้อความบนเว็บไซต์ของเราที่ตรงกับคำถาม ตอบจากข้อความเหล่านั้นเท่านั้น และแสดงว่าใช้หน้าไหนตอบ สำหรับตัวแทนขายตั๋วเครื่องบิน คำตอบที่ผิดแต่ฟังดูมั่นใจเรื่องราคาหรือวีซ่า แย่ยิ่งกว่าการไม่ตอบเสียอีก
ต้นแบบพิสูจน์แล้วว่าแนวคิดนี้ใช้ได้ แต่สิ่งที่ไม่เข้ากันคือวิธีที่ระบบอื่นๆ ของเว็บไซต์ทำงาน ทุกอย่างที่เราดูแลอยู่เป็นเว็บไซต์แบบสแตติกกับฟังก์ชันเซิร์ฟเวอร์เลสขนาดเล็กไม่กี่ตัวบน AWS ที่เขียนด้วย JavaScript การมีเซิร์ฟเวอร์ Python แยกอีกตัวหมายถึงอีกหนึ่งระบบที่ต้องโฮสต์ อัปเดต เฝ้าดู และจ่ายค่าใช้จ่าย เพียงเพื่อฟีเจอร์เดียว
สร้างใหม่บนระบบของเราเอง
เราจึงนำตรรกะของจอห์นนี่มาสร้างใหม่ให้เป็นส่วนหนึ่งของระบบเรา โดยใช้ Claude Opus 5 ใน Cursor แบบเดียวกับที่เราสร้างเว็บไซต์ ต้นแบบกลายเป็นข้อกำหนด ทั้งคำสั่งที่ใช้กับโมเดล กฎการค้นหาข้อมูล และพฤติกรรมของหน้าต่างแชต ถูกย้ายมาเป็น Node.js ทีละส่วน แล้วตรวจสอบเทียบกับต้นฉบับ
ผลลัพธ์คือฟังก์ชัน AWS Lambda ตัวเดียวที่เขียนด้วย Node.js 22 ทำงานหลัง API ชุดเดียวกับแบบฟอร์มสอบถามของเรา เก็บบทสนทนาไว้ใน DynamoDB คู่กับข้อมูลอื่นๆ และไม่ต้องมีเซิร์ฟเวอร์ของตัวเอง ช่วงที่ไม่มีใครแชต แทบไม่มีค่าใช้จ่าย และเมื่อมีผู้ใช้พุ่งสูงขึ้น ระบบก็ขยายตัวรองรับเองโดยไม่ต้องมีใครแตะต้อง
การย้ายระบบครั้งนี้ยังเป็นโอกาสแก้ไขจุดบกพร่องด้วย การสร้างใหม่ทีละส่วนพร้อมตรวจทานอย่างละเอียดทำให้พบข้อผิดพลาดบางอย่างในการค้นหาของต้นฉบับ เช่น หน้าภาพรวมที่ยาวบางครั้งถูกจัดอันดับสูงกว่าหน้าที่มีคำตอบตรงประเด็น และการอ้างอิงแหล่งที่มาอาจถูกตัดหายไป ทั้งหมดได้รับการแก้ไขระหว่างทาง และทุกการแก้ไขมีการตรวจสอบอัตโนมัติ เพื่อไม่ให้ปัญหาเดิมย้อนกลับมาโดยไม่มีใครสังเกต
Diamond ตอบคำถามอย่างไร
ทุกครั้งที่เราเผยแพร่เว็บไซต์ ขั้นตอนการสร้างเว็บไซต์จะอ่านทุกหน้า รวมถึงราคาล่าสุด เวลาบิน และบทความท่องเที่ยว แล้วแปลงเป็นดัชนีข้อความสั้นๆ ที่ค้นหาได้ ความรู้ของ Diamond จึงตรงกับสิ่งที่เว็บไซต์เขียนไว้เสมอ ไม่มากไม่น้อยไปกว่านั้น
เมื่อมีคำถามเข้ามา Diamond จะจัดอันดับข้อความเหล่านั้นด้วยการค้นหาคำสำคัญที่ให้น้ำหนักกับหัวข้อเป็นพิเศษ คำถามเรื่องเวลาบินไปพาโรจึงไปเจอตารางบินพาโร ไม่ใช่หน้าที่แค่เอ่ยถึงพาโรผ่านๆ ข้อความที่ดีที่สุดจะถูกส่งให้โมเดล Gemini ของ Google พร้อมคำสั่งที่เข้มงวด ให้ตอบจากข้อความเหล่านี้เท่านั้น ใช้ภาษาเดียวกับผู้ถาม และอ้างอิงแหล่งที่มา หากโมเดลอ้างถึงแหล่งใดที่ไม่ได้ถูกค้นมาจริง แหล่งนั้นจะถูกตัดออกก่อนคำตอบจะแสดงบนหน้าจอ
ขอบเขตการทำงาน และการส่งต่อให้ทีมงาน
กฎที่ Diamond ต้องปฏิบัติถูกกำหนดไว้ในโค้ด และไม่มีใครแก้ไขได้จากหน้าผู้ดูแลระบบ Diamond จะไม่แต่งราคา ตารางบิน หรือที่นั่งว่างขึ้นมาเอง ไม่อ้างว่าจองที่นั่งหรือยืนยันการจองให้แล้ว ไม่ขอหมายเลขบัตรหรือข้อมูลหนังสือเดินทาง และไม่มีสิทธิ์เข้าถึงระบบสำรองที่นั่ง ดังนั้นเรื่องการจองที่มีอยู่แล้วจะถูกส่งต่อให้ทีมงานของเราโดยตรง
การรู้ว่าเมื่อไรควรหยุดคืออีกครึ่งหนึ่งของงาน เมื่อคำถามต้องการใบเสนอราคา เป็นการเดินทางแบบกรุ๊ป หรือเกินกว่าข้อมูลบนเว็บไซต์ Diamond จะบอกตรงๆ และเสนอทางไปต่อ คือปุ่มโทรหาออฟฟิศของเรา หรือแบบฟอร์มสั้นๆ ในแชต แบบฟอร์มเหล่านี้ส่งเข้าระบบรับเรื่องชุดเดียวกับส่วนอื่นของเว็บไซต์ ทีมงานจึงเห็นบทสนทนาต่อเนื่องตั้งแต่ต้นจนจบ ไม่ใช่สองเรื่องที่ขาดตอนกัน
Diamond พูดได้ทั้งภาษาไทยและภาษาอังกฤษ และตอบเป็นภาษาเดียวกับที่ท่านใช้ เบื้องหลัง ทีมงานของเราเปลี่ยนชื่อ รูป และข้อความต้อนรับได้จากหน้าผู้ดูแลระบบ ปิดการใช้งานได้ทั้งหมด และอ่านทุกบทสนทนาพร้อมสรุปสั้นๆ ซึ่งกลายเป็นแหล่งไอเดียชั้นดีว่าเว็บไซต์ควรอธิบายเรื่องใดให้ชัดเจนขึ้น
บทเรียนจากมือถือจริง
เช่นเดียวกับตอนสร้างเว็บไซต์ บทเรียนมาจากอุปกรณ์จริง บนมือถือหน้าต่างแชตจะเปิดเต็มจอ และเวอร์ชันแรกๆ เคยเปิดขึ้นมาเองทุกครั้งที่เปลี่ยนหน้า แม้ท่านจะย่อไว้แล้ว ตอนนี้ระบบจำสิ่งที่ท่านเลือกได้แล้ว รายการแหล่งอ้างอิงที่ยาวเคยดันคำตอบตกขอบจอ ตอนนี้จึงซ่อนไว้ให้แตะเปิดดูได้ในครั้งเดียว เป็นเรื่องเล็กๆ แต่คือความแตกต่างระหว่างผู้ช่วยกับสิ่งที่รบกวน
สิ่งที่ผมอยากบอก
Diamond ไม่ได้น่าประทับใจเพราะใช้ AI ทุกวันนี้ใครๆ ก็ใช้ AI แต่มีประโยชน์เพราะมีขอบเขตชัดเจน รู้เฉพาะสิ่งที่เราเผยแพร่ แสดงแหล่งที่มา และรู้ว่าเมื่อไรควรส่งต่อให้คน ความมีวินัยนี้เริ่มต้นจากต้นแบบของจอห์นนี่ และการสร้างใหม่บนระบบของเราเองทำให้เราดูแลมันต่อไปได้อีกหลายปี
และหากท่านอยากคุยกับคนจริงๆ ก็ยังทำได้เสมอ Diamond ได้ชื่อมาจากทีมงานตัวจริงของเรา และเขาอยู่ที่ออฟฟิศของเรา โทรหาเราได้ที่ +66 2 630 4600
ลองใช้งานได้โดยเปิดหน้าไหนก็ได้ แล้วมองหาปุ่มคุยกับ Diamond ที่มุมขวาล่าง และหากอยากอ่านว่าเว็บไซต์นี้สร้างขึ้นมาอย่างไร อ่านต่อได้ที่ เบื้องหลังการสร้างเว็บไซต์นี้.