Chatbot ไม่ใช่ของใหม่ครับ มีมานานแล้ว แต่ chatbot ก่อนกับหลังยุค AI ต่างกันคนละเรื่องเลย
สมัยก่อน chatbot ทำงานแบบ “ตามสคริปต์ตายตัว” — ลูกค้าต้องกดเมนู หรือพิมพ์คำให้ตรงคีย์เวิร์ดเป๊ะๆ ถึงจะได้คำตอบ ผิดจากที่ตั้งไว้นิดเดียวก็ตอบไม่ได้ ทำให้ประสบการณ์มันแข็งทื่อ พอมายุค AI (LLM) บอทเริ่ม เข้าใจภาษาที่คนพิมพ์จริงๆ ลูกค้าถามด้วยคำพูดของตัวเองได้ แล้วบอทก็ตีความแล้วตอบให้ตรงเรื่องได้ยืดหยุ่นขึ้นมาก
ผมมองว่า AI Chatbot คือ ระบบแชทที่เชื่อมต่อกับ AI และข้อมูลที่เรากำหนด บทความนี้ผมเลยอยากมาอธิบายการทำงานของ AI Chatbot บน LINE OA แบบ Minimal — คือใช้ Google Sheet เป็นที่เก็บข้อมูล เป็นตัวอย่างครับ
เริ่มจากองค์ประกอบ
ถ้าแยกชิ้นส่วนออกมา AI Chatbot ตอบอัตโนมัติบน LINE OA มีแค่ 4 องค์ประกอบ ครับ:
| องค์ประกอบ | บทบาทในระบบ |
|---|---|
| LINE Official Account | ช่องทางสำหรับใช้ในการสื่อสารกันระหว่างคนกับ AI Chatbot |
| Messaging API (webhook) | ช่องทางสำหรับรับ-ส่งข้อความระหว่าง LINE กับระบบประมวลผลของเรา |
| ตัวประมวลผล (AI) | ตรรกะของระบบ — ตีความคำถาม แล้วเลือกคำตอบที่เหมาะสม |
| Google Sheet | ชั้นข้อมูล (data layer) — เก็บ FAQ, ข้อมูลสินค้า, คำตอบ, เงื่อนไขการตอบ |
จุดที่ผมอยากให้สังเกตคือ มันแยกหน้าที่กันชัดเจนแบบ interface / logic / data — ซึ่งเป็นวิธีคิดเชิงระบบที่ทำให้เราดูแลแต่ละส่วนแยกกันได้
เส้นทางของข้อความ 1 ครั้ง
วิธีที่ดีที่สุดในการเข้าใจระบบ คือไล่ดูว่า “ข้อความหนึ่งข้อความ” เดินทางผ่านอะไรบ้าง ตั้งแต่เราพิมพ์ใน chat จนได้คำตอบกลับมา:
ทั้งหมดนี้เกิดขึ้นในไม่กี่วินาที และทำซ้ำได้ไม่จำกัดพร้อมกันหลายคน
สิ่งที่ผมอธิบายอยู่นี้ เป็นแค่รูปแบบหนึ่ง ในการทำ AI Chatbot เท่านั้น (แบบดึงข้อมูลจาก Sheet ใส่ system prompt) จริงๆ แล้วรูปแบบการทำงานของ chatbot มีได้หลายแบบ ขึ้นอยู่กับว่าเราต้องการให้มันทำงานยังไง เช่น บางระบบอาจให้ AI ไปค้นข้อมูลจากฐานข้อมูลขนาดใหญ่แบบ real-time (RAG) หรือเรียกใช้เครื่องมืออื่นเพิ่ม — แต่สำหรับเวอร์ชัน minimal นี้ก็เพียงพอต่อการนำมาใช้ในการถามตอบเบื้องต้นได้แล้วครับ
ทำไม Google Sheet ถึง “พอ” สำหรับเป็นฐานข้อมูล
ในเชิงเทคนิค เราจะใช้ database จริงจัง (เช่น SQL) ก็ได้ แต่สำหรับ use case ที่ต้องการแค่ถามตอบจากข้อมูลที่ไม่มาก การเลือก Google Sheet เป็น data layer ก็เพียงพอแล้วครับ:
- ไม่ต้อง Setup Database ให้ยุ่งยาก — ไม่ต้องทำทั้งการตั้งค่า การแก้ไข การดูแลระบบ Database
- แก้ไขข้อมูลได้ง่าย — แก้ FAQ หรือข้อมูลต่างๆ ใน Google Sheet ได้เหมือนแก้ตารางปกติ
ข้อแลกเปลี่ยนคือมันไม่ได้เหมาะกับสเกลใหญ่ๆ (ข้อมูลหลักหมื่นแถว หรือทราฟฟิกมหาศาล) — แต่สำหรับข้อมูลไม่เยอะมาก ไม่กี่พันแถว ก็พอใช้ได้อยู่ครับ
ระบบประกอบขึ้นมายังไง
ถ้าจะวางระบบนี้ขึ้นมา ภาพรวมของขั้นตอนคือ:
- เตรียม LINE Official Account — ช่องทางหน้าบ้าน
- เปิด Messaging API — เปิดท่อให้ข้อความวิ่งเข้า-ออกระบบได้
- ออกแบบฐานข้อมูลใน Google Sheet — จัดโครงสร้างว่าจะเก็บคำถาม/คำตอบ/สินค้าเป็นคอลัมน์อะไรบ้าง
- เชื่อม AI เข้ากับข้อมูล — ตั้งให้ระบบดึงข้อมูลจาก Sheet มาประกอบเป็น system prompt ส่งให้ AI ใช้ตอบ
- กำหนดตรรกะอื่นๆ — เงื่อนไขที่อยากให้ระบบหรือ AI ทำเพิ่มเติม เช่น ถ้าเจอคำถามที่ sensitive หรือ AI ตอบไม่ได้ ก็ส่งต่อให้แอดมินรับช่วง หรือให้บอทขอข้อมูลติดต่อเพื่อเก็บเป็น lead
💡 ขั้นที่ใช้ความคิดมากที่สุดไม่ใช่เรื่องเทคนิค แต่คือ ข้อ 3 (ออกแบบข้อมูล) — เพราะคุณภาพคำตอบของบอทสะท้อนคุณภาพข้อมูลที่เราป้อนเข้าไปตรงๆ
เจาะลึกการทำงานทีละขั้น
เนื้อหาส่วนนี้จะลงไปที่ระดับ Technical หน่อยนะครับ ถ้าไม่ได้คิดว่าจะทำเองก็ข้ามหัวข้อนี้ไปได้เลยครับ
ทีนี้ลองมาดูรายละเอียดของแต่ละขั้นตอนในระบบของเรา ที่เราต้องทำขึ้นมากันครับ ซึ่งระบบนี้จะใช้ Tech Stack อะไรก็แล้วแต่ความถนัดเลยนะครับ
1. LINE ยิง webhook เข้ามาหาเรา
พอคนพิมพ์ข้อความใน LINE OA, ระบบของ LINE จะส่ง HTTP POST มาที่ webhook URL ที่เราตั้งไว้ พร้อม payload เป็น JSON ก้อนหนึ่ง ข้างในมี events[] ที่เราสนใจ 3 ฟิลด์หลัก:
events[].message.text— ข้อความที่ลูกค้าพิมพ์events[].replyToken— ตั๋วใบเดียวที่ใช้ตอบกลับบทสนทนานี้ (สำคัญมาก ข้อ 5 จะใช้)events[].source.userId— ไอดีของผู้ใช้ เอาไว้แยกว่าใครเป็นใคร / เก็บ lead
⚠️ เราควรต้อง verify ลายเซ็น จาก header
X-Line-Signatureเทียบกับ channel secret ก่อนเสมอนะครับ เพื่อยืนยันว่าเป็น LINE ยิงมาจริง ไม่ใช่คนอื่นปลอมมา และต้องตอบ HTTP 200 กลับไปให้ไว ไม่งั้น LINE จะ retry ซ้ำ
2. แตกข้อมูลออกจาก payload
อ่าน JSON ที่ได้มา ดึง text, replyToken, userId ออกมาเก็บไว้ใช้ต่อ ขั้นนี้คือการแปลง “ก้อน request” ให้กลายเป็นตัวแปรที่เราเอาไปทำงานต่อได้
3. ดึงข้อมูลที่เกี่ยวข้องจาก Google Sheet
ไปอ่านข้อมูลใน Sheet มาเป็นวัตถุดิบสำหรับให้ AI ตอบ ทำได้หลายวิธี เช่น เรียกผ่าน Google Sheets API หรือทำ Apps Script เป็น endpoint เล็กๆ ไว้คืนข้อมูลเป็น JSON ผลที่ได้คือตาราง FAQ / ข้อมูลสินค้า และอื่นๆที่เราออกแบบไว้ แล้วเอาไปแปะให้ AI ในขั้นถัดไป
4. ประกอบ system prompt แล้วเรียก AI
เอาข้อมูลจาก Sheet + คำถามของลูกค้า มาประกอบเป็นคำสั่งก้อนเดียวส่งให้ LLM โครงหน้าตาประมาณนี้:
[system prompt]
คุณคือผู้ช่วยตอบลูกค้าของร้าน ... ตอบจากข้อมูลด้านล่างเท่านั้น
ถ้าไม่มีข้อมูล ให้บอกว่าจะให้แอดมินติดต่อกลับ
[ข้อมูลจาก Google Sheet]
- คำถาม: ... / คำตอบ: ...
- สินค้า: ... / ราคา: ...
[คำถามลูกค้า]
"ของมีส่งฟรีไหม"
จากนั้นยิงไปที่ API ของโมเดล (เช่น Claude / GPT / Gemini) แล้วรอรับข้อความตอบกลับ หัวใจของขั้นนี้คือประโยค “ตอบจากข้อมูลด้านล่างเท่านั้น” — เป็นตัวบังคับให้ AI ยึดข้อมูลของเรา ไม่ไปเดาเอง
สิ่งสำคัญที่ควรทำไว้ด้วยคือการทำ prompt caching ให้กับข้อมูลส่วนที่เป็นข้อมูลที่คงที่หรือมีการปรับเปลี่ยนไม่บ่อย เช่น system prompt และข้อมูลจาก Google Sheet เพราะวิธีการที่เราใช้อยู่นี้ คือการเอาข้อมูลใน Google Sheet ยัดใส่ไปไว้ใน Prompt ทั้งหมด นั้นหมายความว่า ทุกๆการ chat เราจะส่งข้อมูลซํ้าๆไปเสมอ ดังนั้นถ้าเราไม่ทำ prompt caching เอาไว้ token ก็จะถูกใช้อย่างเปล่าประโยชน์ครับ
5. ส่งคำตอบกลับ LINE ด้วย replyToken
เอาข้อความที่ AI ตอบมา ยิง POST กลับไปที่ Messaging API (/v2/bot/message/reply) พร้อมแนบ replyToken จากข้อ 1 ลูกค้าก็จะเห็นคำตอบเด้งขึ้นในแชท
⚠️
replyTokenใช้ได้ ครั้งเดียวและมีอายุสั้น (ราวๆ ไม่กี่นาที) ถ้าจะส่งข้อความหาลูกค้าทีหลัง (เช่น ทักตามทีหลัง) ต้องใช้ push message ที่อ้างอิงuserIdแทน
6. (ถ้าต้องการ) เก็บ log / lead กลับลง Sheet
ขั้นนี้ไม่บังคับ แต่มีประโยชน์มากในเชิงการตลาด — เขียนข้อมูลบทสนทนา หรือ userId + ข้อมูลติดต่อที่บอทถามได้ กลับลงไปอีกชีตหนึ่ง เพื่อเอาไว้ตามต่อหรือวิเคราะห์ทีหลัง
ทั้ง 6 ขั้นนี้คือสิ่งที่เกิดขึ้นภายในไม่กี่วินาทีต่อข้อความ 1 ครั้ง และเพราะมันเป็นแค่ “ฟังก์ชันรับ-ประมวล-ตอบ” ระบบเลยรองรับหลายคนพร้อมกันได้สบายๆ
ตรรกะที่ทำให้มันเป็น “Automation” ไม่ใช่แค่ “ตอบแชท”
ในมุม MarTech สิ่งที่ทำให้ AI Chatbot มีค่ากับธุรกิจ ไม่ใช่แค่ “ตอบได้” แต่คือตรรกะบางอย่างที่มันทำให้เป็นส่วนหนึ่งของ funnel การตลาด เช่น
- ตอบอัตโนมัติ 24 ชม. — รับภาระคำถามซ้ำๆ ออกจากคน ให้คนไปโฟกัสงานที่ใช้การตัดสินใจ
- เก็บ lead เข้าระบบ — เปลี่ยนคนที่ทักเข้ามาให้กลายเป็น lead พร้อมข้อมูลติดต่อได้
- ช่วยเรื่องการขาย — AI สามารถจับสัญญาณว่าลูกค้าใกล้ตัดสินใจซื้อ หรือสามารถช่วยปิดการขายได้
จะเห็นได้ว่า AI Chatbot เอง นอกจากจะแค่ช่วยตอบคำถามลูกค้าแล้ว ยังสามารถทำให้เกิด lead อัตโนมัติอีกด้วย
ข้อจำกัดที่ต้องเข้าใจ
ก่อนตัดสินใจทำ ลองดูข้อจำกัดที่ควรรู้ก่อนครับ:
- AI ฉลาดเท่าข้อมูลที่ป้อน — ถ้าข้อมูลที่เราให้ AI ไม่ครบหรือกำกวม คำตอบก็พลาดได้ คุณภาพข้อมูลคือทุกอย่าง
- AI มีโอกาสตอบไม่ตรงกับสิ่งที่กำหนด — ต่อให้เราเตรียมข้อมูลดีแค่ไหน ก็ยังมีโอกาสที่ AI จะตอบคลาดเคลื่อนไปจากที่กำหนดได้บ้าง (ธรรมชาติของ LLM) แต่ยิ่งเราเตรียมข้อมูลให้ดี มีการทดสอบและปรับปรุงคุณภาพคำสั่ง (Prompt Evaluation) โอกาสที่ AI จะตอบไม่ตรงก็น้อยลงมากแล้วครับ
ส่งท้าย
AI Chatbot บน LINE OA มันคือระบบที่แยกเป็น หน้าบ้าน (LINE) + ตรรกะ (AI) + ข้อมูล (Google Sheet) ที่ทำงานประสานกัน — พอเข้าใจการทำงานของมันแล้ว เราจะออกแบบ ดูแล และต่อยอดมันเข้ากับงานการตลาดได้อย่างมั่นใจมากขึ้น
หวังว่าบทความนี้จะช่วยให้เห็นภาพการทำงานชัดขึ้นนะครับ 🙌