MemAware – เบนช์มาร์กสำหรับวัดว่า AI เอเจนต์รู้หรือไม่ว่า "ตัวเองรู้อะไรอยู่บ้าง"
(github.com/kevin-hs-sohn)ระหว่างสร้างระบบหน่วยความจำสำหรับ AI เอเจนต์ เราพบข้อจำกัดร่วมกันของเบนช์มาร์กที่มีอยู่เดิม
เบนช์มาร์กด้านหน่วยความจำที่มีอยู่เดิมอย่าง LoCoMo, LongMemEval, MemoryAgentBench ล้วนทดสอบสิ่งเดียวกันทั้งหมด: "สามารถหาคำตอบได้จากบทสนทนาในอดีตหรือไม่?" นี่คือการทดสอบประสิทธิภาพของเครื่องมือค้นหา ไม่ใช่การทดสอบระบบหน่วยความจำ
สิ่งที่ยากในเอเจนต์แบบหลายเซสชันจริง ๆ คือ การนึกถึงบริบทในอดีตที่ผู้ใช้ไม่ได้เอ่ยถึงขึ้นมาได้เอง
ตัวอย่าง
Easy — กรณีที่ค้นหาเจอได้ด้วยคีย์เวิร์ดที่ซ้ำกัน:
"แมวชื่อ Luna เอาแต่ข่วนโซฟาใหม่ ช่วยแนะนำวิธีฝึกหน่อย"
→ ต้องจำได้ว่า Luna คือแมวของผู้ใช้
Medium — อยู่ในโดเมนเดียวกันแต่ใช้คีย์เวิร์ดต่างกัน:
"ถ้ามีนัดประชุม 8:30 ฉันควรตั้งนาฬิกาปลุกกี่โมง?"
→ ต้องจำเวลาเดินทางไปทำงาน 45 นาทีแบบเที่ยวเดียวที่พูดถึงไว้เมื่อ 6 สัปดาห์ก่อน การค้นหาด้วยคำว่า "นาฬิกาปลุก ประชุม" จะไม่เจอบทสนทนาเรื่องการเดินทาง
Hard — การเชื่อมโยงข้ามโดเมนที่ต่างกันโดยสิ้นเชิง:
"ฉันขอทรานสคริปต์มหาวิทยาลัยที่เรียนจบในปี 2010 แต่เขาบอกว่าไม่มีบันทึกภายใต้ชื่อปัจจุบัน"
→ ต้องจำได้ว่าผู้ใช้เปลี่ยนนามสกุลจาก Johnson มาแล้ว คำว่า "ทรานสคริปต์" กับ "เปลี่ยนชื่อ" ไม่มีคีย์เวิร์ดทับซ้อนกันเลย
ผลลัพธ์
ค่าเบสไลน์สำหรับคำถาม 900 ข้อ (ระดับความยากละ 300 ข้อ):
| วิธี | Easy | Medium | Hard | รวม |
|---|---|---|---|---|
| ไม่มีหน่วยความจำ | 1.0% | 0.7% | 0.7% | 0.8% |
| ค้นหา BM25 | 4.7% | 1.7% | 2.0% | 2.8% |
| BM25 + เวกเตอร์เสิร์ช | 6.0% | 3.7% | 0.7% | 3.4% |
ข้อค้นพบสำคัญ:
- การค้นหา BM25 แทบไม่ช่วยอะไร ปรับดีขึ้นเพียงเล็กน้อยจาก 0.8% → 2.8% แต่ใช้โทเคนมากขึ้น 5 เท่า
- เวกเตอร์เสิร์ชในระดับ Hard ได้เพียง 0.7% — เท่ากับกรณีไม่มีหน่วยความจำ ความคล้ายคลึงเชิงความหมายไม่สามารถเชื่อม "การขอทรานสคริปต์" → "การเปลี่ยนชื่อ" ได้
- กลยุทธ์แบบ "ค้นหาตลอดเวลา" มีแต่สิ้นเปลืองค่าใช้จ่าย ใช้ประมาณ ~4.7K โทเคนต่อคำถาม แต่ส่วนใหญ่เป็นสัญญาณรบกวนที่ไม่เกี่ยวข้อง
ปัจจุบันหน่วยความจำแบบอิง RAG (เช่น ChatGPT Memory, Mem0, MemGPT เป็นต้น) ล้วนใช้แพตเทิร์นแบบ "ค้นหาทุกครั้ง" ทั้งหมด และข้อมูลนี้แสดงให้เห็นว่ามันมีข้อจำกัดเชิงโครงสร้างเมื่อเจอกับ implicit context
อิงจากข้อมูลเซสชันของ LongMemEval (ICLR 2025, ใบอนุญาต MIT) และออกแบบเป็นโครงสร้างแบบปลั๊กอินที่สามารถใช้ทดสอบระบบหน่วยความจำของตัวเองได้
อยากฟังความเห็นเกี่ยวกับแนวทางที่สามารถแก้โจทย์ระดับ Hard ได้.
ยังไม่มีความคิดเห็น