ทำได้ และไม่ต้องเป็นโปรแกรมเมอร์ก็เริ่มได้ ถ้าใช้ Claude Code, Codex หรือ Cursor ช่วยเขียนโค้ด วิธีที่นิยมที่สุดคือ RAG คือให้ระบบค้นหาข้อความที่เกี่ยวข้องจากเอกสารของเราก่อน แล้วค่อยส่งให้ AI เรียบเรียงเป็นคำตอบ เรื่องที่ยากจริงไม่ใช่การเขียนโค้ด แต่เป็นการเตรียมเอกสารให้ดี และการตั้งกติกาไม่ให้ AI ตอบเกินกว่าที่เอกสารมี
ใครที่มีคู่มือพนักงาน ระเบียบการรับสมัคร รายการสินค้า หรือคำถามที่ลูกค้าถามซ้ำทุกวัน งานแบบนี้ใช้ chatbot ช่วยตอบได้ดี บทความนี้จะอธิบายว่า RAG ทำงานยังไง ต่างจากวิธีอื่นตรงไหน มีตัวอย่างผลงานคนไทยให้ดู แล้วพาไล่ขั้นตอนทำจริงทีละขั้น
RAG คืออะไร อธิบายแบบเข้าใจง่าย
RAG ย่อมาจาก Retrieval Augmented Generation ฟังดูซับซ้อน แต่หลักการคล้ายเวลาเราเปิดตำราก่อนตอบคำถาม
- ผู้ใช้พิมพ์คำถามเข้ามา เช่น "สมัครรอบ Portfolio ต้องใช้เกรดเท่าไร"
- ระบบเอาคำถามไปค้นในเอกสารที่เราเตรียมไว้ แล้วดึงท่อนที่เกี่ยวข้องที่สุดออกมา 3 ถึง 5 ท่อน
- ระบบส่งคำถามพร้อมท่อนเอกสารนั้นให้ AI แล้วสั่งว่า "ตอบจากข้อมูลนี้เท่านั้น"
- AI เรียบเรียงคำตอบเป็นภาษาคน และบอกได้ว่าเอามาจากเอกสารส่วนไหน
ข้อดีคือ AI ไม่ต้องจำเอกสารทั้งหมด พอเอกสารเปลี่ยน เราก็แค่อัปเดตไฟล์ ไม่ต้องไปสอน model ใหม่
เทียบ 3 วิธีให้ AI รู้เรื่องของเรา
ก่อนจะเลือก RAG ลองดูว่างานของเราเหมาะกับวิธีไหน เพราะบางงานใช้วิธีที่ง่ายกว่านี้ก็พอ
| วิธี | ทำงานยังไง | เหมาะกับ | ข้อจำกัด |
|---|---|---|---|
| ใส่เอกสารทั้งหมดลงใน prompt | แปะเนื้อหาทั้งหมดไว้ใน system prompt ทุกครั้ง | เอกสารสั้น ไม่กี่หน้า เช่น FAQ ร้าน 20 ข้อ | เอกสารยาวแล้วเปลือง token และช้า |
| RAG | ค้นเฉพาะท่อนที่เกี่ยวข้องก่อนส่งให้ AI | เอกสารยาว หลายไฟล์ อัปเดตบ่อย | ต้องเตรียมเอกสารและระบบค้นหาให้ดี |
| Fine-tune model | ฝึก model เพิ่มด้วยข้อมูลของเรา | ปรับสไตล์การตอบ น้ำเสียง รูปแบบคำตอบ | แพงกว่า อัปเดตข้อมูลยาก ไม่เหมาะกับข้อเท็จจริงที่เปลี่ยนบ่อย |
สำหรับคนทำคนเดียว ส่วนใหญ่เริ่มจากวิธีแรกก่อน พอเอกสารเยอะจนใส่ไม่ไหวค่อยขยับไป RAG ส่วน fine-tune แทบไม่จำเป็นสำหรับงานตอบคำถามจากเอกสาร
ตัวอย่างผลงานคนไทยที่ทำเรื่องใกล้เคียงกัน
Admission RAG Chatbot CP KKU เป็นตัวอย่างที่ตรงที่สุด ระบบนี้ตอบข้อสงสัยเรื่องระเบียบการรับสมัครเข้าวิทยาลัยการคอมพิวเตอร์ มหาวิทยาลัยขอนแก่น โดยค้นข้อมูลจากระเบียบการจริงด้วย RAG ผู้สมัครถามได้ทั้งภาษาไทยและอังกฤษ ที่น่าสนใจคือผู้ดูแลจัดการไฟล์ความรู้และปรับฐานข้อมูลผ่านหน้าเว็บได้เอง ซึ่งเป็นส่วนที่หลายคนมองข้าม เพราะถ้าทุกครั้งที่ระเบียบเปลี่ยนต้องเรียกคนเขียนโค้ดมาแก้ ระบบจะตกยุคเร็วมาก
Aira Agent เป็น AI Sales Chatbot สำหรับคลินิก ช่วยตอบลูกค้าและให้คำปรึกษาตาม character ที่แต่ละคลินิกกำหนด คลินิกปรับ AI ให้สอดคล้องกับรูปแบบการให้บริการของตัวเองได้ ตัวอย่างนี้ชี้ให้เห็นว่า chatbot ที่ใช้งานจริงไม่ได้มีแค่ข้อมูล แต่ต้องมีบุคลิกและน้ำเสียงที่ตรงกับแบรนด์ด้วย
Multi-Agent Financial Intelligence ไม่ใช่ chatbot ตอบเอกสารโดยตรง แต่โจทย์ของโครงงานนี้คือแก้ข้อจำกัดเรื่องการติดตามที่มาของตัวเลขในผลวิเคราะห์จาก AI โดยออกแบบให้ตรวจสอบย้อนกลับและอธิบายเหตุผลได้ แนวคิดนี้ใช้กับ chatbot ทุกแบบ คือคำตอบที่ดีต้องบอกได้ว่ามาจากไหน
ถ้าความรู้ของเราอยู่ในรูปเสียงหรือ video เช่นคลิปสอน หรือบันทึกประชุม Voice2Text เป็นตัวอย่างเครื่องมือถอดข้อความจากเสียงหรือ video บน Mac โดยประมวลผลในเครื่อง และคัดลอกข้อความไปส่งต่อให้เครื่องมือ AI ได้ ขั้นตอนแปลงสื่อเป็นข้อความแบบนี้คือด่านแรกของการทำ RAG จากคลิป
ส่วนเรื่องช่องทาง Kanbann ซึ่งรวบรวมการบ้านของห้อง ม.2/3 ไว้ใน dashboard กลาง ใช้ผู้ช่วย LINE ชื่อพริมจ๋าแจ้งเตือนเพื่อนในห้อง เป็นตัวอย่างว่าผู้ช่วยแบบนี้ไม่จำเป็นต้องอยู่บนเว็บอย่างเดียว ไปอยู่ในแอปแชทที่คนใช้อยู่แล้วก็ได้
ขั้นตอนทำ chatbot จากเอกสารของตัวเอง
1. เตรียมเอกสารให้สะอาดก่อน
นี่คือขั้นที่สำคัญที่สุด และเป็นจุดที่ทำให้ chatbot ส่วนใหญ่ตอบผิด ถ้าเอกสารต้นทางมั่ว AI ก็ตอบมั่วตาม
- แปลง PDF เป็นข้อความแล้วเปิดอ่านจริงสักรอบ PDF ภาษาไทยหลายไฟล์ดึงออกมาแล้วสระลอย ตัวอักษรเพี้ยน หรือตารางแตก
- ลบเนื้อหาซ้ำและฉบับเก่าออก ถ้ามีระเบียบ 2 ฉบับที่ขัดกัน AI จะไม่รู้ว่าเชื่ออันไหน
- ใส่หัวข้อให้ชัด เช่น "ค่าธรรมเนียม" "คุณสมบัติผู้สมัคร" เพราะหัวข้อช่วยให้การค้นหาแม่นขึ้น
- ตารางสำคัญควรเขียนเป็นประโยคประกอบด้วย เช่น "รอบที่ 1 เปิดรับสมัครวันที่..." แทนที่จะเหลือแค่ตัวเลขลอย ๆ
2. แบ่งเอกสารเป็นท่อน (chunk)
ระบบจะไม่ค้นทั้งไฟล์ แต่ค้นเป็นท่อน ท่อนละประมาณหนึ่งถึงสองย่อหน้า หรือตัดตามหัวข้อ ถ้าท่อนเล็กเกินไป AI จะได้ข้อมูลไม่ครบ ถ้าใหญ่เกินไปจะมีเนื้อหาไม่เกี่ยวข้องปนมาเยอะ ให้ AI coding tool ตัดตามหัวข้อก่อน แล้วค่อยปรับจากผลทดสอบ
3. เลือกวิธีค้นหาและที่เก็บข้อมูล
แต่ละท่อนจะถูกแปลงเป็น embedding คือชุดตัวเลขที่แทนความหมายของข้อความ แล้วเก็บไว้ใน vector database เพื่อให้ค้นด้วยความหมายได้ ไม่ใช่แค่คำตรงกัน ผู้ใช้พิมพ์ว่า "ต้องจ่ายเท่าไร" ระบบก็ยังเจอท่อนที่เขียนว่า "ค่าธรรมเนียมการสมัคร"
ถ้าเอกสารไม่เยอะ เก็บ embedding ไว้ในไฟล์ JSON ธรรมดาก็ใช้ได้ พอข้อมูลเยอะขึ้นค่อยย้ายไปใช้ database ที่รองรับ vector search ภาษาไทยไม่มีเว้นวรรคระหว่างคำ จึงควรเลือก embedding model ที่รองรับภาษาไทย และควรใช้การค้นหาด้วย keyword ควบคู่ด้วย เพื่อให้คำเฉพาะอย่างชื่อคณะหรือรหัสวิชาค้นเจอแน่นอน
4. เขียน system prompt ที่ตั้งกติกาชัดเจน
system prompt คือคำสั่งที่ AI เห็นทุกครั้งก่อนตอบ ควรมีอย่างน้อย 4 เรื่อง
- ตอบจากข้อมูลที่ให้เท่านั้น ถ้าไม่มีให้บอกตรง ๆ ว่าไม่ทราบ และแนะนำช่องทางติดต่อคน
- บอกแหล่งที่มา เช่น ชื่อเอกสารและหัวข้อ
- กำหนดน้ำเสียงและความยาวของคำตอบ
- ห้ามแต่งตัวเลข วันที่ หรือราคาเอง
5. ทำหน้า admin ให้อัปเดตเอกสารเองได้
เรียนจากตัวอย่าง Admission RAG Chatbot ที่ให้ผู้ดูแลจัดการไฟล์ความรู้ผ่านหน้าเว็บได้ หน้า admin ขั้นต่ำควรมีปุ่ม upload ไฟล์ ลบไฟล์ และสั่งประมวลผลใหม่ หน้านี้ต้องมีระบบ login กันคนนอกเข้ามาแก้ข้อมูล
6. ทดสอบด้วยคำถามจริง ไม่ใช่คำถามที่เราคิดเอง
รวบรวมคำถามที่ลูกค้าหรือผู้ใช้เคยถามจริงสัก 30 ถึง 50 ข้อ จากแชทเก่า อีเมล หรือคอมเมนต์ แล้วไล่ถามทีละข้อ จดว่าข้อไหนตอบถูก ข้อไหนตอบผิด ข้อไหนควรตอบว่าไม่ทราบแต่ดันตอบ ชุดคำถามนี้ใช้ทดสอบซ้ำได้ทุกครั้งที่แก้ระบบ
ทำยังไงให้ chatbot ไม่ตอบมั่ว
อาการที่เจอบ่อยที่สุดคือ AI ตอบอย่างมั่นใจทั้งที่เอกสารไม่ได้เขียนไว้ แก้ได้หลายชั้น
| อาการ | สาเหตุที่พบบ่อย | วิธีแก้ |
|---|---|---|
| ตอบข้อมูลที่ไม่มีในเอกสาร | prompt ไม่ได้ห้ามชัด หรือค้นไม่เจอแล้ว AI เดาเอง | สั่งให้ตอบว่าไม่ทราบเมื่อไม่มีข้อมูล และไม่ส่งคำถามให้ AI ถ้าค้นไม่เจอท่อนที่เกี่ยวข้องเลย |
| ตอบข้อมูลเก่า | มีเอกสารหลายฉบับปนกัน | ลบฉบับเก่า หรือใส่วันที่ประกาศในแต่ละท่อน |
| ตอบไม่ครบ | chunk เล็กเกินไป หรือดึงมาน้อยท่อน | ตัดตามหัวข้อ และเพิ่มจำนวนท่อนที่ดึงมา |
| ค้นชื่อเฉพาะไม่เจอ | ใช้แค่การค้นด้วยความหมาย | เพิ่มการค้นด้วย keyword ควบคู่ |
อีกเทคนิคที่ได้ผลคือแสดงท่อนเอกสารที่ใช้ตอบไว้ใต้คำตอบ ผู้ใช้จะกดดูต้นฉบับได้เอง และเราจะรู้ทันทีว่าคำตอบผิดเพราะค้นผิดหรือเพราะ AI เรียบเรียงผิด
ตัวอย่าง prompt สั่ง AI coding tool
ถ้าใช้ Claude Code หรือ Cursor ลองเริ่มด้วย prompt ประมาณนี้ แล้วค่อยปรับทีละส่วน
````
ช่วยทำเว็บ chatbot ตอบคำถามจากเอกสารของร้าน
เอกสารเป็นไฟล์ PDF และ Markdown ภาษาไทย อยู่ในโฟลเดอร์ docs
ใช้วิธี RAG: ตัดเอกสารตามหัวข้อ ทำ embedding เก็บไว้ แล้วค้นท่อนที่เกี่ยวข้อง 4 ท่อนก่อนส่งให้ AI
กติกา: ตอบจากเอกสารเท่านั้น ถ้าไม่มีข้อมูลให้ตอบว่าไม่ทราบและให้เบอร์ติดต่อร้าน
ใต้คำตอบให้แสดงชื่อเอกสารและหัวข้อที่ใช้
API key ต้องอยู่ฝั่ง server เท่านั้น ห้ามอยู่ในโค้ดหน้าเว็บ
ทำหน้า admin ที่ต้อง login สำหรับ upload และลบเอกสาร
เริ่มจากโครงสร้างโปรเจกต์และอธิบายแต่ละไฟล์ก่อนเขียนโค้ด
การสั่งให้อธิบายโครงสร้างก่อนเขียนโค้ดช่วยให้เราเห็นภาพรวม และทักท้วงได้ตั้งแต่ต้นถ้า AI วางแผนผิดทาง
ค่าใช้จ่ายและข้อควรระวัง
ค่าใช้จ่ายหลักมาจาก 2 ส่วน คือค่าทำ embedding ซึ่งจ่ายครั้งเดียวตอนประมวลผลเอกสาร และค่าเรียก AI ทุกครั้งที่มีคนถาม ส่วนแรกมักถูกมาก ส่วนที่สองขึ้นกับจำนวนคำถามและความยาวของท่อนเอกสารที่ส่งไป ควรตั้งวงเงินสูงสุดในบัญชี API และจำกัดจำนวนคำถามต่อผู้ใช้ กันคนยิงคำถามรัว ๆ จนบิลพุ่ง
เรื่องที่ต้องระวังอีกอย่างคือข้อมูลส่วนบุคคล ถ้าเอกสารมีชื่อ เบอร์โทร หรือข้อมูลลูกค้า ให้ลบออกก่อนนำเข้าระบบ เพราะ chatbot อาจดึงข้อมูลนั้นมาตอบคนอื่นได้ และถ้าเก็บประวัติแชทของผู้ใช้ ต้องแจ้งให้ผู้ใช้รู้ว่าเก็บอะไรและเก็บไว้นานแค่ไหน
สุดท้าย chatbot ไม่ควรเป็นทางตันของลูกค้า ทุกคำตอบที่ระบบไม่แน่ใจควรมีทางไปหาคนจริง เช่น ปุ่มทัก LINE หรือเบอร์โทร คนที่ได้คำตอบผิดแล้วติดต่อใครไม่ได้ จะเสียความเชื่อใจมากกว่าคนที่ไม่มี chatbot ให้ใช้เลย
สรุป
ทำ chatbot ตอบคำถามจากเอกสารของตัวเองด้วย AI เป็นงานที่คนทำคนเดียวทำได้จริง เริ่มจากเอกสารสั้น ๆ ใส่ไว้ใน prompt ก่อน พอเอกสารเยอะขึ้นค่อยขยับไปใช้ RAG ให้เวลากับการเตรียมเอกสารมากกว่าการเลือกเครื่องมือ ตั้งกติกาให้ AI ยอมรับเมื่อไม่รู้ และทดสอบด้วยคำถามจริงจากผู้ใช้ ถ้าอยากดูไอเดียเพิ่ม ลองเปิดดูผลงานเครื่องมือ AI และระบบตอบคำถามที่คนไทยทำไว้บนแอปเทพ แล้วเลือกสักชิ้นเป็นต้นแบบ