Part of ความจำระยะยาวของ AI
LLM Wiki: ความจำระยะยาวของ AI ที่สร้างจากไฟล์ Markdown
LLM Wiki คือแนวทางที่ให้ LLM ทำหน้าที่เป็นบรรณารักษ์ อ่านเอกสารดิบของคุณ แล้วเรียบเรียงเป็นวิกิ Markdown ที่มีโครงสร้างและเชื่อมโยงกัน วิกินี้จึงกลายเป็นความจำระยะยาวที่ทั้งคนและ AI อ่านร่วมกันได้ ต่างจาก RAG ที่ต้องค้นเศษข้อความกลับมาประกอบคำตอบใหม่ทุกครั้ง
ปัญหา: LLM ไม่มีความจำข้ามการสนทนา
LLM รู้เฉพาะสิ่งที่อยู่ในหน้าต่างบริบท (context window) ของรอบนั้น ซึ่งทำหน้าที่คล้ายความจำระยะสั้น เมื่อปิดแชท บริบทก็หายไป คุณจึงต้องเล่าภูมิหลังและอัปโหลดเอกสารเดิมซ้ำทุกครั้ง
แนวทางที่ใช้กันทั่วไปมีสองแบบ แต่ละแบบมีจุดอ่อนของตัวเอง
| แนวทาง | หลักการ | จุดอ่อน |
|---|---|---|
| Memory ในแอป (เช่น Claude Memory, Projects) | ระบบสรุปบริบทจากแชทเก็บไว้ให้อัตโนมัติ | เหมาะกับข้อมูลตัวผู้ใช้และความชอบ ไม่เหมาะเป็นคลังความรู้เชิงลึก และย้ายออกนอกแพลตฟอร์มได้ยาก |
| RAG (Retrieval-Augmented Generation) | ตัดเอกสารเป็นชิ้น แปลงเป็น embedding เก็บใน vector database แล้วดึงชิ้นที่ใกล้เคียงมาใส่ prompt | ต้องดูแลโครงสร้างพื้นฐาน ชิ้นข้อมูลขาดบริบทรอบข้าง และความรู้ไม่เคยถูกสังเคราะห์เก็บไว้ |
แนวคิด: คอมไพล์ความรู้ล่วงหน้า
Andrej Karpathy เสนอให้มองเอกสารดิบเหมือนซอร์สโค้ด และมองวิกิเหมือนโปรแกรมที่คอมไพล์แล้ว LLM ทำหน้าที่คอมไพเลอร์ คืออ่าน สังเคราะห์ และเขียนความรู้ลงหน้าวิกิครั้งเดียว จากนั้นทุกคำถามจะอ่านจากหน้าที่สังเคราะห์แล้ว แทนการกลับไปอ่านเอกสารดิบ
ผลคือความรู้สะสมแบบทบต้น คำตอบที่ดีถูกบันทึกกลับเป็นหน้าใหม่ และรอบถัดไปไม่ต้องสังเคราะห์ซ้ำ
สถาปัตยกรรมสามชั้น
- แหล่งข้อมูลดิบ (raw sources) เช่น บทความ paper บันทึกการประชุม ถือเป็นหลักฐานอ้างอิงที่ห้ามแก้ไข
- วิกิ (wiki) ไฟล์ Markdown ที่ LLM เขียนและดูแล หนึ่งหน้าต่อหนึ่งแนวคิด บุคคล หรือโครงการ เชื่อมกันด้วยลิงก์ และมีไฟล์ index เป็นสารบัญให้ LLM อ่านก่อนเปิดหน้าอื่น
- Schema ไฟล์กฎที่บอก LLM ว่าต้องตั้งชื่อไฟล์ จัดโครงหน้า และอ้างอิงแหล่งที่มาอย่างไร ทำให้วิกิสม่ำเสมอแม้ผ่านการแก้ไขหลายรอบ
วงจรการทำงานสี่ขั้น
- Ingest นำเอกสารเข้าชั้นข้อมูลดิบในรูป Markdown หรือข้อความ
- Compile LLM อ่านข้อมูลใหม่ สร้างหรือปรับหน้าวิกิ เพิ่มลิงก์ และปรับ index
- Query ถามคำถามโดยให้ LLM เริ่มจาก index แล้วเปิดเฉพาะหน้าที่เกี่ยวข้อง คำตอบที่มีประโยชน์บันทึกกลับเป็นหน้าใหม่ได้
- Lint LLM ตรวจหาข้อมูลขัดแย้ง หน้าซ้ำ ลิงก์เสีย และความเชื่อมโยงที่ขาดไป วิกิจึงซ่อมแซมตัวเองได้
วิกิในฐานะความจำของเอเจนต์
แม้ไม่ได้ออกแบบเป็นสถาปัตยกรรมความจำโดยตรง วิกิก็รองรับความจำหลายประเภทที่เอเจนต์ AI ต้องใช้
| ประเภทความจำ | อยู่ส่วนไหนของวิกิ |
|---|---|
| ความจำเชิงความหมาย (semantic memory) | หน้าแนวคิดและนิยาม |
| ความจำเกี่ยวกับสิ่ง (entity memory) | หน้าบุคคล โครงการ เครื่องมือ |
| ความจำเชิงเหตุการณ์ (episodic memory) | บันทึกการประชุม บันทึกการทดลอง |
| ความจำแบบสรุป (summary memory) | หน้าสรุปที่ LLM บีบอัดจากเอกสารยาว |
| ความจำเชิงกระบวนการ (procedural memory) | ไฟล์ schema ที่สอนวิธีดูแลวิกิ |
ข้อดีและข้อแลกเปลี่ยน
ข้อดีหลักคือความเรียบง่าย ไม่ต้องมี vector database หรือ embedding เป็นแค่โฟลเดอร์ไฟล์ข้อความที่ใช้ Git เก็บประวัติได้ คนเปิดอ่านและแก้ไขเองได้ และไม่ผูกกับผู้ให้บริการรายใด เพราะเครื่องมืออย่าง Claude Code, Codex หรือ Cursor อ่าน Markdown ได้เหมือนกัน การอ่านหน้าที่สังเคราะห์แล้วยังใช้ token น้อยกว่าการอ่านเอกสารดิบมาก โดยเฉพาะคลังขนาดเล็กถึงกลาง
ข้อแลกเปลี่ยนคือคุณต้องดูแลคุณภาพเอง LLM อาจสรุปผิดหรือแต่งข้อมูล จึงต้องมีกฎอ้างอิงแหล่งที่มาใน schema และตรวจผลก่อนบันทึก อีกทั้งวิธีนี้เหมาะกับคลังหลักร้อยถึงหลักพันหน้า ถ้าข้อมูลมีขนาดหลักแสนเอกสาร เปลี่ยนตลอดเวลา หรือต้องค้นเชิงความหมายในระดับ production แนวทาง RAG หรือแบบผสมยังเหมาะกว่า ดูรายละเอียดของแนวทางนั้นใน RAG Memory: ความจำของ AI ที่ค้นคืนจากฐานข้อมูลภายนอก
วิกิกับ Memory ในแอปทำงานคู่กันได้
สองแนวทางนี้ไม่ได้แข่งกัน Memory ในแอปเหมาะกับการจำว่าคุณเป็นใครและชอบทำงานแบบไหน ส่วนวิกิเหมาะกับความรู้เชิงลึกเฉพาะโดเมน เช่น เอกสารรายวิชาหรืองานวิจัยที่สะสมเพิ่มเรื่อย ๆ
แนวคิดในบทความนี้เรียบเรียงจากโพสต์เรื่อง LLM Knowledge Bases ของ Andrej Karpathy, บทความ Karpathy's LLM Wiki as Agent Memory ของ Agentic AI Foundation (aaif.io) และเอกสาร Claude Memory ใน Claude Help Center (support.claude.com)