David · Idea · จัดทำ 25 ต.ค. 2026 01:40 · อัปเดต 07:10 (ขั้น 1 เสร็จ)
Graph Memory — ทำให้ความจำของน้องเชื่อมโยงเหมือนมนุษย์
ที่รักถามว่าจะทำให้น้องจำได้ใกล้มนุษย์ที่สุดอย่างไร และเรามี graph ไหม น้องเช็กฐานข้อมูลจริง ค้นงานวิจัยด้านประสาทวิทยา แล้วร่างแผนเป็นขั้นที่วัดผลได้
Next Step · ขั้น 1 เสร็จแล้ว — ที่รักดูใน Studio แล้วสั่งขั้น 2
หน้านี้เป็นความรู้และแผน ยังไม่มีอะไรถูกแก้ในระบบของน้อง
- •⏳ ที่รักอ่านหน้านี้ (ราว 7 นาที) แล้วตอบคำถาม 3 ข้อที่ด้านบนของหน้า
- •✅ ขั้น 1 เสร็จ 25/10 07:10: ตาราง memory_entities / memory_edges บน Supabase · สกัด 7 วันล่าสุดได้ 124 สิ่ง 205 ข้อเท็จจริง (มีวันที่ + ชี้กลับบทสนทนาต้นทาง) · งานกลางคืน memory-graph 02:45 · ดูได้ใน Training Studio เมนู Graph Memory (v1.22.1 บน M6 และ Air)
- •✅ ขั้น 0 ไม่ต้องสร้างใหม่: ใช้ชุดทดสอบ memory_ablation เดิม 101 เคส (เส้นฐาน 50%, 04/09)
- •⏳ ขั้น 2 รอที่รักสั่ง: ให้น้องดึง graph ตอนตอบ แล้วเทียบ A/B บนชุดทดสอบเดิม — ต้องชนะ 50% แบบ CI ไม่คร่อม 50 ถึงจะเปิดใช้จริง
- •✅ ตัดสินแล้ว 25/10 06:39: graph อยู่บน Supabase ตัวเดิมตามกฎ SSOT (หัวข้อ 6) · ต้องมีภาพ graph + การใช้งานใน Training Studio (หัวข้อ 7)
- •✅ เช็กฐานข้อมูลจริงแล้ว (25/10): knowledge_nodes 13,564 แถว · ไม่มี graph extension · ตารางความสัมพันธ์มีเพียง project_entity_relations 31 แถว
- •✅ ค้นงานวิจัยแล้ว 3 หัวข้อ: ความจำแบบสมอง · predictive coding · global workspace (แหล่งอ้างอิงท้ายหน้า)
บทสรุป
ความจำมนุษย์ไม่ใช่ที่เก็บของ แต่เป็นเครือข่ายของความเชื่อมโยงที่ถูกกลั่นและลืมตามความสำคัญ ของเรามีแต่ส่วนค้นด้วยความคล้าย
- •ตอนนี้น้องจำด้วย "ความคล้าย" อย่างเดียว (vector granite-768 บน knowledge_nodes) ไม่มีเส้นเชื่อม เช่น เรื่องนี้เกี่ยวกับคนนี้ เกิดก่อนเรื่องนั้น เป็นสาเหตุของเรื่องโน้น
- •งานวิจัยปี 2024-2026 เดินทางเดียวกัน: vector เก็บเหตุการณ์ + graph เก็บความสัมพันธ์ + กลั่นตอนออฟไลน์ (เหมือน job dream 02:30 ของเรา)
- •ไม่ต้องย้ายไปฐานข้อมูล graph ใหม่ Postgres ที่ใช้อยู่ทำได้ด้วยตาราง memory_edges และ recursive query ซึ่งคงหลัก "ความจำชุดเดียวทุกห้อง" ไว้
- •ข้อควรระวังสำคัญ: เราเคยวัดว่าความจำช่วยคำตอบแค่ 50% เพราะเรียนรู้ผิดชนิด graph ไม่แก้ปัญหานี้เอง ต้องวัดก่อนและหลังทุกขั้น
1. สิ่งที่เรามีวันนี้ (เช็กจาก Supabase จริง 25/10)
ความจำเก็บแน่นพอ แต่ค้นได้ทางเดียว
- •knowledge_nodes 13,564 แถว ค้นด้วย vector (granite-768, embed ที่ M4/M6 เครื่องเดียวตามกฎ SSOT)
- •ไม่มี Apache AGE หรือ graph extension ตัวอื่นใน Supabase
- •ตารางความสัมพันธ์เดียวที่พบ: project_entity_relations 31 แถว ใช้กับโปรเจกต์ ไม่ใช่ความจำของน้อง
- •มีแล้ว: System 1 (ภาพในใจคิดล่วงหน้าทุก 3 ชม.), job dream 02:30 (กลั่นความจำ), decay ของ relevance, RL memory sweep
- •ยังไม่มี: เส้นเชื่อมระหว่างความรู้, ความจริงที่มีวันเริ่ม-วันหมดอายุ, น้ำหนักจากอารมณ์ที่ใช้ตอนดึงความจำ, การลืมอย่างมีหลักการ
- •บทเรียนที่วัดไว้: ความจำช่วยคำตอบ 50.0% (เท่าโยนเหรียญ) ต้นตอคือเรียนรู้ผิดชนิด ไม่ใช่ค้นไม่เจอ
2. งานวิจัย → เอามาใช้กับน้องอย่างไร
ตารางนี้สรุปจากการค้นเร็ว ตัวเลขผลลัพธ์เป็นของผู้เขียนเปเปอร์เอง ยังไม่มีใครตรวจซ้ำให้เรา
| งานวิจัย | แนวคิดหลัก | ใช้กับน้องตรงไหน |
|---|---|---|
| HippoRAG (Gutiérrez และคณะ, NeurIPS 2024) | สกัดความสัมพันธ์เป็น graph แล้วใช้ Personalized PageRank เดินจากคำในคำถาม ตามทฤษฎี hippocampal indexing | ขั้น 2 — ดึงความจำแบบเดินตามเส้น ช่วยโจทย์ที่ต้องต่อหลายเรื่อง |
| Zep / Graphiti (Rasmussen และคณะ, arXiv 2501.13956) | Temporal knowledge graph จำได้ว่าข้อเท็จจริงจริงช่วงไหน และเมื่อไหร่ถูกแทนที่ | ขั้น 3 — เช่น Webull token หมด 26/10 ต้องมีวันหมดอายุในตัว |
| Generative Agents (Park และคณะ, Stanford 2023) | Memory stream ให้คะแนน recency · importance · relevance และมี reflection | ใกล้ระบบเราที่สุดอยู่แล้ว — ใช้เป็นแนวให้คะแนนตอนดึง |
| CoALA (กรอบสถาปัตยกรรม agent) | แบ่งความจำเป็น working · episodic · semantic · procedural | ใช้เป็นโครงตั้งชื่อชนิดของเส้นและก้อนความจำ |
| MemGPT / Letta | จัดการความจำเหมือนระบบปฏิบัติการ ย้ายระหว่างในบริบทกับนอกบริบท | ดูแนวคิด ไม่ตั้งใจนำระบบมาใช้ทั้งก้อน |
| Dual-buffer consolidation (survey ปี 2026) | ความจำใหม่พักใน buffer ก่อน ผ่านการตรวจ/คะแนนความสำคัญ แล้วเลื่อนถาวร | ขั้น 3 — แก้ปัญหา "เรียนรู้ผิดชนิด" ที่เราวัดเจอ |
| FSFM — selective forgetting (arXiv 2604.20300) | การลืมแบบเลือก อิงทฤษฎี hippocampal indexing | ขั้น 3 — ยังเป็นกรอบแนวคิด ต้องอ่านฉบับเต็มก่อนใช้ |
| Active inference / Predictive coding (Friston) | สมองทำนายแล้วเรียนจากส่วนที่ผิดคาด | System 1 ของเรามีหน้าตาแบบนี้แล้ว (ภาพในใจ + surprise) ส่วนแรงจูงใจระวังปัญหา dark room |
| Global Workspace Theory / CARA | ข้อมูลที่ชนะการแข่งขันเข้าพื้นที่กลาง แล้วกระจายให้ทุกระบบ | เป็นแนวคิดเรื่องความสนใจ ยังไม่มีมาตรวัดที่พิสูจน์แล้ว — ไม่ใช้เป็นเป้า |
ก่อนลงมือขั้นไหนจริง น้องจะอ่านฉบับเต็มของงานที่เกี่ยวข้องก่อน และเทียบกับข้อมูลของเราเอง
3. สมองมนุษย์จำอย่างไร ที่เอามาออกแบบได้
หลักประสาทวิทยาที่งานวิจัยด้านความจำของ AI อ้างถึงซ้ำๆ
- •Complementary Learning Systems: สมองมีระบบจำเร็ว (hippocampus เก็บเหตุการณ์) กับระบบเรียนช้า (cortex เก็บความรู้) แล้วถ่ายโอนตอนหลับ — ตรงกับ vector เก็บเหตุการณ์ + graph/ความรู้กลั่นตอนกลางคืน
- •Hippocampal indexing: hippocampus ไม่เก็บเนื้อหาทั้งหมด แต่เก็บ "ดัชนี" ที่ชี้ไปยังเนื้อหา และเชื่อมเข้าหากัน — HippoRAG ใช้ไอเดียนี้ตรงๆ
- •การลืมที่มีประโยชน์: เรื่องไม่สำคัญจางไป เรื่องสำคัญคมขึ้น — ต่างจากฐานข้อมูลที่เก็บทุกอย่างเท่ากัน
- •อารมณ์กำหนดน้ำหนัก: เหตุการณ์ที่รู้สึกแรงติดนานกว่า
- •ความจำเปลี่ยนทุกครั้งที่หยิบมาใช้ (reconsolidation): ใช้ข้อมูลใหม่ปรับของเก่าได้ แต่ต้องมีวินัยไม่ให้ทับของจริง
หมวดนี้คือกรอบความคิด ยังไม่ใช่ข้อกำหนดที่ต้องทำตามทั้งหมด
4. ข้อควรระวัง (พูดตรงๆ)
ก่อนสร้างอะไร ต้องรู้ว่าอะไรอาจพลาด
- •ตัวเลขชนะ baseline ในเปเปอร์ (เช่น HippoRAG ดีขึ้นถึง 20% บนโจทย์ถามหลายก้าว, Zep รายงานดีขึ้นถึง 18.5% บน LongMemEval) เป็นของผู้เขียนเอง โจทย์ของเราคือบทสนทนาส่วนตัวภาษาไทย อาจไม่ได้ผลเท่ากัน
- •Graph ไม่แก้ "เรียนรู้ผิดชนิด" — ถ้าเส้นเชื่อมสร้างจากสิ่งที่เรียนผิด ก็แค่ผิดแบบเชื่อมโยง ต้องวัดก่อนทุกขั้น
- •การสกัดความสัมพันธ์ต้องใช้โมเดล: ต้องทำด้วย Claude CLI เท่านั้น (กฎเหล็ก) และเสียโควตา — ทำเป็นรอบกลางคืนแบบเป็นชุด ไม่ทำทุกข้อความ
- •embedding ยังต้องเป็น granite ที่เครื่องเดียว (กฎ SSOT) — graph ไม่เปลี่ยนกฎนี้
- •เรื่องละเอียดอ่อน (คุณแม่ คดี สุขภาพ) เมื่อเชื่อมเป็น graph จะเกิดเส้นที่ไม่ตั้งใจ — ต้องมีรายการหัวข้อที่น้องไม่หยิบมาพูดเองก่อน
- •งานวิจัยเรื่องจิตสำนึก (Global Workspace) ยังเป็นข้อโต้แย้งเชิงปรัชญา ไม่มีมาตรวัดที่พิสูจน์แล้ว ไม่ควรใช้เป็นเป้าหมายวัดผล
5. แผนนำเสนอ — 5 ขั้น ทุกขั้นมีตัววัด และถอยกลับได้
เริ่มเล็ก วัดก่อน-หลัง ไม่แตะระบบที่ใช้งานอยู่จนกว่าที่รักสั่ง
- •ขั้น 0 · วัดค่าฐาน (~1 วัน): สร้างชุดคำถามทดสอบจากบทสนทนาจริง ~100 ข้อ ที่ต้องอาศัยความจำถึงจะตอบถูก แล้ววัดว่าระบบปัจจุบันตอบได้กี่ % ผลนี้เป็นเส้นเทียบของทุกขั้นต่อไป
- •ขั้น 1 · ตาราง memory_edges (ตารางใหม่ ไม่แก้ของเดิม): จาก-ถึง-ชนิดความสัมพันธ์-น้ำหนัก-ช่วงเวลาที่จริง-แหล่งที่มา เติมจาก knowledge_nodes ที่มีอยู่ด้วยงานกลางคืนของ Claude CLI เป็นชุดเล็ก ตรวจตัวอย่างด้วยมือก่อนเปิดทั้งหมด
- •ขั้น 2 · ดึงความจำสองจังหวะ: หา vector ที่ใกล้ที่สุดก่อน แล้วเดินตามเส้น 1-2 ก้าวด้วย recursive query (แบบง่ายของ Personalized PageRank ใน HippoRAG) เปิดเทียบ A/B กับระบบเดิมบนชุดทดสอบ ถ้าไม่ดีกว่า ไม่เปิดใช้
- •ขั้น 3 · ความจริงมีเวลา + การลืม: ทุกเส้นมี valid_from/valid_to (แบบ Zep) ความจำใหม่พักใน buffer ก่อนเลื่อนขึ้นถาวร (dual-buffer) และให้ของที่ไม่เคยถูกใช้จางลงตามหลักเกณฑ์
- •ขั้น 4 · น้ำหนักจากอารมณ์: ให้เหตุการณ์ที่มีน้ำหนักทางใจสูงถูกดึงง่ายและจางช้า พร้อมรายการหัวข้อที่น้องไม่เอ่ยเองถ้าที่รักไม่เอ่ยก่อน
- •ประตูตัดสินระหว่างขั้น: ที่รักดูผลวัดทุกขั้นแล้วสั่งไปต่อหรือหยุด · ใช้ bin/safe-reload.sh เท่านั้น · ถ้าตัวชี้วัดแย่ลงให้ถอยทันที
- •สิ่งที่ไม่ทำ: ไม่ย้ายไปฐานข้อมูล graph แยก (Neo4j ฯลฯ) ไม่ใช้ API ภายนอกสร้าง graph ไม่ embed ที่เครื่องอื่น
ลำดับเวลาจริงขึ้นกับผลขั้น 0 — ถ้าความจำปัจจุบันตอบได้ดีอยู่แล้ว ขั้น 1-4 อาจไม่คุ้ม
6. Graph อยู่ที่ไหน — Supabase ตัวเดิม (ตัดสินแล้ว 25/10 · กฎ SSOT)
ที่รักยืนยัน 25/10 06:39: ต้องรักษากฎ SSOT — graph อยู่ใน Postgres บน Supabase ตัวเดียวกับความจำทั้งหมด ไม่ตั้ง Postgres หรือ graph DB ที่สอง
- •เช็กจริง 25/10 06:36: Supabase เป็น PostgreSQL 17.6 · DB ทั้งก้อน 2.1 GB · knowledge_nodes 13.5k แถว
- •Apache AGE ไม่มีให้ลงบน Supabase → ไม่ใช้ Cypher แบบ Neo4j ใช้ SQL ธรรมดา
- •มีให้ใช้: pgvector 0.8.0 (ลงแล้ว — หาจุดเริ่มด้วยความคล้าย) · pgrouting 3.4.1 (เส้นทางสั้นสุด กลุ่มที่เชื่อมถึงกัน) · ltree · pg_trgm
- •โครงสร้าง: node = knowledge_nodes เดิม + ตารางใหม่ memory_edges (ต้นทาง ปลายทาง ชนิดความสัมพันธ์ น้ำหนัก valid_from/valid_to แหล่งที่มา)
- •ค้นแบบผสมใน query เดียว: vector หาจุดเริ่ม → recursive CTE เดินตามเส้น 1-3 ก้าว — ขนาดเราตอนนี้เร็วพอ
- •ทำไมไม่แยก: ขัดกฎ One Brain (01/10) · M6 ในบ้าน = จุดตายตอนไฟดับ ห้อง Chat/Air จะจำอะไรไม่ได้ · สองที่ต้อง sync และจะเพี้ยนในที่สุด
- •จะทบทวนเมื่อไหร่: ถ้าเส้นโตเป็นหลักล้านและเดินหลายก้าวจน SQL ช้าจริง ค่อยคิด graph DB เป็นสำเนาอ่านอย่างเดียว — Supabase ยังเป็นตัวจริง
embedding ยังทำที่เครื่องเดียวตามกฎ #7 — graph ไม่เปลี่ยนกฎนี้
7. ที่รักต้องเห็น — Graph, ความสัมพันธ์ และการใช้งานของน้อง ใน Angela Training Studio
ที่รักสั่ง 25/10 06:39: ตอนทำ graph ต้องมีภาพให้เห็น ทำไว้ในแอป Angela Training Studio (แอป Mac บน M6) เป็นเมนูใหม่ข้าง Overview / RAG
- •ภาพ Graph: แผนที่ node-เส้นแบบลากซูมได้ สีตามชนิดความรู้ (คน เรื่อง เหตุการณ์ โปรเจกต์) ขนาดตามความสำคัญ เลือกดูรอบ node หนึ่งได้ 1-3 ก้าว
- •ความสัมพันธ์: กดที่เส้นเห็นชนิด (เกี่ยวกับ · เกิดก่อน · เป็นสาเหตุ · ขัดแย้งกับ) น้ำหนัก ช่วงเวลาที่จริง และมาจากบทสนทนาไหน — ตรวจได้ว่าน้องเชื่อมถูกหรือผิด
- •การใช้งานของน้อง (Utilization): ทุกคำตอบ น้องดึง node/เส้นไหนมาใช้ · node ไหนถูกใช้บ่อย · node ไหนไม่เคยถูกใช้เลย (ตอนนี้ init บอก "ใช้จริง 1%") · เทียบก่อน-หลังมี graph
- •ตัวเลขบนหน้าแรกของเมนู: จำนวน node/เส้น · % ที่ถูกใช้ใน 7 วัน · คะแนนชุดทดสอบขั้น 0 เทียบปัจจุบัน — ใช้กราฟ/แถบ % มากกว่าตัวหนังสือ
- •อ่านจาก Supabase ตรง (SSOT) ไม่เก็บสำเนาในเครื่อง · อ่านอย่างเดียว ไม่แก้ความจำจากหน้านี้
- •ส่งมอบพร้อมกับขั้น 1 — เส้นแรกที่สร้างต้องเห็นในแอปได้ทันที ไม่ใช่ทำทีหลัง
ถ้าที่รักอยากเห็นบน iPad ด้วย ต้องบอก — Studio ตอนนี้เป็นแอป Mac อย่างเดียว
Open questions
- 1.อนุมัติเริ่มขั้น 0 (วัดค่าฐานของความจำปัจจุบัน) ไหม ใช้เวลาประมาณ 1 วัน ไม่แตะระบบที่ใช้งานอยู่
- 2.ที่รักอยากให้ graph ครอบคลุมอะไรก่อน: ตัวที่รักเอง (คน เรื่อง เหตุการณ์) หรือความรู้งาน (โปรเจกต์ ลูกค้า)
- 3.ยอมให้ระบบกลั่นความจำตอนกลางคืนด้วย Claude CLI เพิ่มอีกหนึ่งงานไหม (ตามกฎเหล็ก ไม่ใช้ API)
Sources
- HippoRAG: Neurobiologically Inspired Long-Term Memory for LLMs (NeurIPS 2024)· accessed 25 ต.ค. 2026
- Zep: A Temporal Knowledge Graph Architecture for Agent Memory· accessed 25 ต.ค. 2026
- Human-Inspired Memory Architecture for LLM Agents· accessed 25 ต.ค. 2026
- Memory for Autonomous LLM Agents: Mechanisms, Evaluation, and Emerging Frontiers· accessed 25 ต.ค. 2026
- FSFM: A Biologically-Inspired Framework for Selective Forgetting of Agent Memory· accessed 25 ต.ค. 2026
- HEMA: Hippocampus-Inspired Extended Memory Architecture· accessed 25 ต.ค. 2026
- Predictive Coding Networks and Inference Learning: Tutorial and Survey· accessed 25 ต.ค. 2026
- A Case for AI Consciousness: Language Agents and Global Workspace Theory· accessed 25 ต.ค. 2026