Skip to content

Raspberry Pi + Neo4j: เปลี่ยนบันทึกหน้างานให้เป็นความจำที่เชื่อมโยงกัน

VibeSolo
ภาพปกการบรรยาย Jeremy Adams พร้อม Raspberry Pi และข้อความ MY AGENT LIVES ON A PI
Jeremy Adams กับต้นแบบ Raspberry Pi ในภาพปกการบรรยาย ที่มา: AI Engineer

Jeremy Adams จาก Neo4j นำ Raspberry Pi 4B เครื่องเก่ามาทำเป็นอุปกรณ์สวมใส่ รับคำสั่งผ่าน WhatsApp และเก็บบันทึกจากงานแสดงสินค้า สิ่งที่เขาอยากได้ไม่ใช่ผู้ช่วยที่มีฟีเจอร์ครบที่สุด แต่เป็นระบบเล็กที่เข้าใจและปรับแต่งเองได้

ต้นแบบที่เขาเล่าในงาน AI Engineer World’s Fair แยกงานออกเป็นหลายส่วน: Raspberry Pi รันตัว agent, Claude ประมวลผลภาษาบนคลาวด์ และ Neo4j เก็บข้อมูลพร้อมความสัมพันธ์ระหว่างสิ่งที่พบ จุดสำคัญจึงอยู่ที่การพาบันทึกจากหน้างานไปเป็นข้อมูลที่ค้นและจัดกลุ่มต่อได้

เครื่องเล็กรับงาน โมเดลใหญ่ทำงานบนคลาวด์

Adams ไม่อยากเริ่มทดลอง personal agent บนแล็ปท็อปหลัก จึงหยิบ Raspberry Pi 4B ที่มีอยู่แล้วมาใช้ เขาเลือก NanoClaw เพราะมองว่าโครงการมีขนาดเล็กพอจะอ่านและแก้เองได้ และใช้ Docker container รันกระบวนการของ agent

ตามแผนภาพในคลิป ผู้ใช้ส่งข้อความจาก iPhone หรือ MacBook ผ่าน WhatsApp มายัง NanoClaw บน Raspberry Pi ซึ่งใช้ Claude Agent SDK แล้วเรียกโมเดลของ Anthropic ผ่านเครือข่าย คำตอบจึงย้อนกลับไปยังช่องทางแชตเดิม

แผนภาพ iPhone และ MacBook ส่งข้อความผ่าน WhatsApp ไปยัง NanoClaw บน Raspberry Pi 4B แล้วเรียกโมเดลบน Anthropic cloud
แผนภาพแยก NanoClaw บน Raspberry Pi ออกจากการประมวลผลโมเดลบน Anthropic cloud ที่มา: Jeremy Adams / AI Engineer

ผู้บรรยายย้ำว่า ไม่มี LLM inference เกิดขึ้นบน Raspberry Pi เครื่องนี้ คำว่า agent อยู่บน Pi จึงไม่ได้หมายความว่า Claude ทำงานอยู่ในเครื่องหรือใช้งานได้ครบโดยไม่ต่ออินเทอร์เน็ต การรับข้อความ การเรียกโมเดล และการเก็บข้อมูลเป็นคนละส่วนของระบบ

WhatsApp เป็นช่องทางที่เขาเลือกเพราะใช้อยู่แล้ว ส่วน Docker เป็นทางแยกกระบวนการที่เขาคุ้นเคย คลิปไม่ได้ให้ผลตรวจความปลอดภัยครบระบบหรือเปรียบเทียบต้นทุนกับอุปกรณ์อื่น จึงยังใช้สรุปไม่ได้ว่าแบบนี้ปลอดภัยที่สุดหรือถูกที่สุด

เริ่มจากค้นฐานข้อมูล แล้วค่อยเพิ่มความจำ

ก่อนเก็บความจำส่วนตัว Adams ลองเชื่อม agent กับฐานข้อมูลภาพยนตร์ใน Neo4j ผ่าน MCP server แล้วถามทาง WhatsApp ว่า Tom Hanks แสดงภาพยนตร์เรื่องใดบ้าง เขาเล่าว่ารอบแรกติดปัญหาการตั้งค่า ต้องกลับไปแก้ก่อนจึงได้ข้อมูลจากฐานข้อมูลมาประกอบคำตอบ

กราฟเก็บสิ่งต่าง ๆ เป็นโหนด และใช้เส้นเชื่อมบอกความสัมพันธ์ เช่น บุคคลหนึ่งแสดงในภาพยนตร์เรื่องใด เมื่อถามเรื่องที่เกี่ยวข้อง ระบบจึงมีทั้งตัวข้อมูลและความเชื่อมโยงให้ค้น ไม่ได้อาศัยเฉพาะสิ่งที่โมเดลจำจากการฝึก

ต่อมาเขาลองสร้างความจำด้วยกรอบที่เรียกว่า POLE+O ซึ่งแบ่งสิ่งที่พบเป็นบุคคล สิ่งของ สถานที่ เหตุการณ์ และองค์กร ในตัวอย่างที่เปิดให้ดู มีบันทึกเกี่ยวกับคนที่พบ สำนักงานที่ไป และกิจกรรมที่เข้าร่วม เชื่อมถึงกันใน Neo4j บนคลาวด์

ความจำในที่นี้จึงเป็นข้อมูลที่จัดเก็บและเรียกกลับมาใช้ ไม่ใช่การฝึกโมเดลใหม่ทุกครั้งที่สนทนา การออกแบบต้องตอบให้ได้ก่อนว่าอยากย้อนค้นความสัมพันธ์อะไร แล้วจึงเลือกว่าจะเก็บสิ่งใดเป็นข้อมูลหลัก

เก็บโน้ตหน้างานเมื่อเครือข่ายไม่นิ่ง

โจทย์ที่ทำให้ต้นแบบเริ่มเป็นรูปธรรมคือการเดินดูบูธในงาน แล้วบันทึกว่าแต่ละบริษัทนำเสนออะไร Adams เตรียมรายชื่อผู้จัดแสดงและหมายเลขบูธไว้ก่อน เพิ่มไมโครโฟน ปุ่มกดบันทึก และไฟ LED เพื่อให้เลือกเก็บข้อมูลได้ระหว่างเดิน

เขากังวลเรื่อง Wi-Fi ในงาน จึงเพิ่ม Neo4j บน Raspberry Pi ด้วย สำหรับทางสำรองเมื่อออฟไลน์ เขาอธิบายการใช้กฎจับรูปแบบจากข้อความที่ถอดเสียงเพื่อแยกหมายเลขบูธ แล้วบันทึกลงฐานข้อมูลในเครื่อง ก่อนนำข้อมูลขึ้นคลาวด์ภายหลัง

บนเวที เขาเปิดอ่านรายชื่อผู้จัดแสดงและโน้ตดิบจากฐานข้อมูลบนอุปกรณ์ให้ดู แต่การกดบันทึกเสียงครั้งใหม่ระหว่างบรรยายยังไม่มีการยืนยันผลถอดเสียงและส่งข้อความสำเร็จครบวงจร เขาเองยังไม่แน่ใจว่าเชื่อมเครือข่ายอยู่หรือไม่

โหมดออฟไลน์ส่วนนี้เป็นการเก็บข้อมูลหน้างาน ไม่ใช่การย้าย Claude มาทำงานในเครื่อง คลิปยังไม่ได้ทดสอบให้เห็นครบตั้งแต่ตัดอินเทอร์เน็ต บันทึกข้อมูลใหม่ จนส่งกลับขึ้นคลาวด์โดยไม่มีรายการตกหล่น

จากชื่อบูธและโน้ตดิบ สู่หัวข้อที่เชื่อมกัน

Adams เล่าว่านำโน้ตที่เก็บไว้ขึ้น Neo4j บนคลาวด์ภายหลัง แล้วทำความสะอาดและเติมหัวข้อให้ข้อมูล จากเดิมที่มีเพียงรายชื่อผู้จัดแสดงแยกกัน เขาจึงเชื่อมแต่ละบริษัทเข้ากับโหนดหัวข้อที่เกี่ยวข้องได้

หน้าจอ Neo4j เชื่อม LangChain, Buildkite และผู้จัดแสดงรายอื่นกับโหนด Evaluation & Observability ผ่าน HAS_THEME
หน้าจอ Neo4j เชื่อมผู้จัดแสดง เช่น LangChain และ Buildkite เข้ากับหัวข้อ Evaluation & Observability ผ่านความสัมพันธ์ HAS_THEME ที่มา: Jeremy Adams / AI Engineer

ตัวอย่างในภาพคือ Evaluation & Observability ซึ่งมีหลายบริษัทเชื่อมเข้ามา การจัดข้อมูลแบบนี้เปิดทางให้ถามต่อว่า บูธใดพูดถึงหัวข้อเดียวกัน หรือบันทึกที่เก็บมามีเรื่องใดปรากฏซ้ำ แทนการไล่อ่านโน้ตทั้งหมดทีละชิ้น

สไลด์ 100 AIEWF ’26 Exhibitor Themes แสดงหมวดหัวข้อและจำนวนจากชุดข้อมูลผู้จัดแสดงของผู้บรรยาย
สไลด์สรุปหัวข้อจากชุดข้อมูลผู้จัดแสดงที่ Adams รวบรวมในงาน ที่มา: Jeremy Adams / AI Engineer

สไลด์ใช้ชื่อ “100 AIEWF ’26 Exhibitor Themes” และแสดงจำนวนในแต่ละหมวด เช่น Agent Infrastructure & Deployment และ Evaluation & Observability ตัวเลขเหล่านี้อธิบายชุดข้อมูลของผู้บรรยาย ไม่ใช่ส่วนแบ่งตลาดหรือผลสำรวจอุตสาหกรรมทั้งหมด คลิปไม่ได้แจกแจงวิธีคัดข้อมูลและตรวจความถูกต้องของทุกการจัดหมวด

หากนำโครงสร้างนี้ไปใช้กับบันทึกจากงานของตัวเอง จุดที่ควรตรวจคือหัวข้อที่เพิ่มเข้ามาย้อนกลับไปหาโน้ตใดได้บ้าง การมีเส้นเชื่อมบนกราฟทำให้เห็นความสัมพันธ์ที่ระบบจัดไว้ แต่ไม่ได้ยืนยันว่าการตีความทุกเส้นถูกต้องแล้ว

นำบทสนทนากลับมาใช้เป็นความจำ

ช่วงท้าย Adams เล่าถึงการนำข้อความ WhatsApp ที่สะสมจากการคุยกับ agent เข้า Neo4j Agent Memory Service เพื่อสกัดข้อมูลเกี่ยวกับบุคคล สถานที่ และแนวคิด จากนั้นให้ agent เข้าถึงความจำเหล่านี้ผ่าน MCP server ได้อีกครั้ง

นี่เป็นอีกขั้นจากฐานข้อมูลที่เขาจัดขึ้นเอง: บทสนทนาเดิมกลายเป็นข้อมูลที่เปิดสำรวจและเรียกใช้ต่อได้ อย่างไรก็ตาม คลิปไม่ได้วัดว่าค้นถูกกี่ครั้ง ประหยัดเวลาเท่าไร หรือดีกว่าการเก็บบันทึกแบบอื่นเพียงใด

สิ่งที่นำไปทดลองต่อได้จึงเป็นวงจรเล็ก ๆ จากตัวอย่างงานบูธ: เตรียมชื่อหรือรหัสที่ต้องจับคู่ เก็บโน้ตพร้อมที่มา แล้วตรวจว่าคำตอบจากกราฟย้อนกลับไปยังบันทึกต้นทางได้จริงหรือไม่ หากใช้เสียง ควรเลือกข้อมูลที่มีสิทธิ์บันทึกและส่งต่อให้บริการที่เชื่อมอยู่ รวมถึงลองชื่อเฉพาะและภาษาไทยในสภาพหน้างานของตนเอง

จุดเด่นของต้นแบบนี้อยู่ที่การเชื่อมการรับข้อมูลกับการค้นคืน เครื่องเล็กช่วยพาระบบไปอยู่ใกล้งาน ส่วนโมเดลและกราฟรับหน้าที่ต่างกันอย่างชัดเจน การแยกส่วนเช่นนี้ทำให้รู้ว่าเมื่อมีปัญหา ควรตามดูที่การบันทึก การเชื่อมต่อ หรือการตีความข้อมูล

วิดีโอต้นทาง

เรียบเรียงจาก I Built a Personal AI Agent on a Raspberry Pi โดย Jeremy Adams, Neo4j บนช่อง AI Engineer ภาพเวทีระบุวันที่ 2 กรกฎาคม 2026 ส่วนบทความ VideoToBlog ลงวันที่ 3 ตุลาคม 2026 ระบบและผลที่กล่าวถึงเป็นต้นแบบของผู้บรรยาย