การเลือกใช้ Memory สำหรับงาน LLM

เปรียบเทียบ Memory แต่ละแบบ

1. :green_circle: Simple Memory (Window Buffer)

  • เก็บที่ไหน: ใน RAM ของ n8n (หายเมื่อ restart n8n)
  • ต้องติดตั้งเพิ่ม: ไม่ต้อง
  • ความเร็ว: เร็วสุด
  • ขนาด: จำกัด (กำหนดจำนวน message เช่น 10-20 ข้อความล่าสุด)
  • เหมาะกับ: แชทสั้นๆ, dev/test, ใช้คนเดียว, ไม่ต้องเก็บประวัติถาวร

2. :elephant: Postgres Chat Memory

  • เก็บที่ไหน: PostgreSQL database
  • ต้องติดตั้งเพิ่ม: ต้องมี Postgres server + ตั้ง credentials
  • ความเร็ว: เร็ว (มี index)
  • ขนาด: ไม่จำกัด
  • เหมาะกับ: production, ระบบที่มี Postgres อยู่แล้ว, ต้องการ query ประวัติย้อนหลัง

3. :leaf_fluttering_in_wind: MongoDB Chat Memory

  • เก็บที่ไหน: MongoDB
  • ต้องติดตั้งเพิ่ม: ต้องมี MongoDB server
  • ความเร็ว: เร็ว
  • ขนาด: ไม่จำกัด
  • เหมาะกับ: ระบบที่ใช้ MongoDB อยู่แล้ว, ข้อมูลแบบ document-oriented

4. :red_circle: Redis Chat Memory

  • เก็บที่ไหน: Redis (in-memory database)
  • ต้องติดตั้งเพิ่ม: ต้องมี Redis server
  • ความเร็ว: เร็วที่สุดในกลุ่ม persistent storage
  • ขนาด: จำกัดโดย RAM ของ Redis
  • เหมาะกับ: งานที่ต้องการความเร็วสูงมาก, session ชั่วคราวแต่อยู่ข้าม restart, multi-user

5. :clipboard: Chat Memory Manager

  • ไม่ใช่ storage — เป็นเครื่องมือจัดการ memory (เช่น ดึง/ลบ/แก้ไข message ใน memory ที่มีอยู่)
  • ใช้ร่วมกับ memory node อื่น ไม่ใช้เดี่ยวๆ

สรุปเป็นตาราง

ตัวเลือก ต้อง Setup เก็บถาวร Multi-user เหมาะกับงานนี้
Simple Memory :cross_mark: ไม่ต้อง :cross_mark: หายเมื่อ restart :warning: ได้แต่ต้องแยก session :white_check_mark: ใช่
Postgres :white_check_mark: ต้องมี DB :white_check_mark: ถาวร :white_check_mark: ดี ถ้ามี DB อยู่แล้ว
MongoDB :white_check_mark: ต้องมี DB :white_check_mark: ถาวร :white_check_mark: ดี ถ้ามี DB อยู่แล้ว
Redis :white_check_mark: ต้องมี Redis :white_check_mark: ถาวร :white_check_mark: ดีมาก overkill
Memory Manager ไม่ใช้เดี่ยว