Google Cloud เปิดตัว Always-On Memory Agent หน่วยความจำอัจฉริยะที่ทำงาน 24/7 โดยไม่พึ่ง Vector DB

AI agent ส่วนใหญ่มักจะมีปัญหาเรื่องการลืมข้อมูล เนื่องจากพวกมันประมวลผลคำขอ ตอบคำถาม แล้วจึงทิ้งบริบทนั้นไป generative-ai repository ของ Google Cloud ได้เปิดตัวตัวอย่างที่แก้ปัญหานี้โดยตรงนั่นคือ Always-On Memory Agent ซึ่งเป็นรูปแบบการใช้งานอ้างอิงที่จัดการหน่วยความจำเสมือนเป็นกระบวนการที่ทำงานอย่างต่อเนื่อง
Always-On Memory Agent
หัวใจสำคัญของโปรเจกต์นี้คือการเป็นเบื้องหลังที่มีน้ำหนักเบาและทำงานตลอด 24 ชั่วโมงในฐานะกระบวนการต่อเนื่อง (Continuous Process) ไม่ใช่การเรียกใช้งานแบบครั้งเดียวจบ ระบบถูกสร้างขึ้นด้วย Google ADK (Agent Development Kit) และ Gemini 3.1 Flash-Lite ที่น่าสนใจคือระบบนี้ไม่ใช้ vector database และไม่มีการทำ embeddings แต่ใช้ LLM ในการอ่าน คิด และเขียนหน่วยความจำที่มีโครงสร้างลงใน SQLite โดยตรง ซึ่งช่วยลดความหน่วง (latency) และประหยัดต้นทุนสำหรับการทำงานเบื้องหลังในระยะยาว
หลักการทำงาน: Ingest, Consolidate, Query
สถาปัตยกรรมของระบบมี orchestrator ทำหน้าที่ส่งงานไปยัง sub-agents 3 ตัวที่มีความเชี่ยวชาญเฉพาะด้าน ซึ่งแต่ละตัวจะมีเครื่องมือสำหรับจัดการข้อมูลในหน่วยจัดเก็บหน่วยความจำของตนเอง
-
IngestAgent: ทำหน้าที่จัดการเนื้อหาที่เข้ามา โดยใช้ความสามารถ multimodal ของ Gemini สกัดบทสรุป, เอนทิตี (entities), หัวข้อ (topics) และคะแนนความสำคัญ แล้วบันทึกข้อมูลที่มีโครงสร้างลงในตาราง
memories -
ConsolidateAgent: ทำงานตามรอบเวลา (ค่าเริ่มต้นคือทุก 30 นาที) เปรียบเสมือนวงจรการนอนหลับที่จะคอยทบทวนหน่วยความจำใหม่ๆ และหาความเชื่อมโยงระหว่างกัน จากนั้นจะสังเคราะห์บทสรุปและอินไซต์สำคัญลงในฐานข้อมูล ทำให้ Agent เกิดความเข้าใจใหม่ๆ ได้เองแม้ไม่มี prompt สั่งงาน
-
QueryAgent: ทำหน้าที่ตอบคำถามโดยการอ่านข้อมูลจากทั้งส่วนหน่วยความจำปกติและส่วนที่ผ่านการรวมข้อมูล (consolidation insights) มาสังเคราะห์เป็นคำตอบ พร้อมอ้างอิง ID ของหน่วยความจำที่ใช้เป็นแหล่งข้อมูลเพื่อความโปร่งใส
อินพุตที่รองรับ
นอกจากข้อความแล้ว IngestAgent ยังรองรับไฟล์ถึง 27 ประเภทใน 5 หมวดหมู่ เพียงแค่วางไฟล์ลงในโฟลเดอร์ ./inbox ระบบจะรับข้อมูลโดยอัตโนมัติ
| หมวดหมู่ | นามสกุลไฟล์ |
|---|---|
| ข้อความ | .txt , .md , .json , .csv , .log , .xml , .yaml , .yml |
| รูปภาพ | .png , .jpg , .jpeg , .gif , .webp , .bmp , .svg |
| เสียง | .mp3 , .wav , .ogg , .flac , .m4a , .aac |
| วิดีโอ | .mp4 , .webm , .mov , .avi , .mkv |
| เอกสาร | .pdf |
เปรียบเทียบกับ RAG, การสรุปผล และ Knowledge Graphs
ตารางเปรียบเทียบแนวทางจัดการหน่วยความจำแบบต่างๆ เพื่อให้เห็นความแตกต่างของ Always-On Memory Agent
| แนวทาง | วิธีการจัดเก็บ | การประมวลผลเชิงรุก | ข้อจำกัดหลัก |
|---|---|---|---|
| Vector DB + RAG | Embeddings ใน vector store | ไม่มี | ทำงานเชิงรับ; ทำ embed ครั้งเดียวแล้วรอเรียกใช้ |
| การสรุปบทสนทนา | ข้อความที่ถูกบีบอัด | ไม่มี | รายละเอียดสูญหาย; ไม่มีการอ้างอิงข้ามส่วน |
| Knowledge graphs | Nodes และ Edges | การดูแลด้วยตนเอง | ค่าใช้จ่ายสูงในการสร้างและบำรุงรักษา |
| Always-On Memory Agent | แถวข้อมูลที่มีโครงสร้างใน SQLite | การรวมข้อมูลอย่างต่อเนื่อง | Query อ่านหน่วยความจำล่าสุดได้สูงสุด 50 รายการ |
สิ่งที่ทำให้ระบบนี้ต่างจาก RAG คือการประมวลผลหน่วยความจำเชิงรุกตลอดเวลา ไม่ใช่รอทำเฉพาะตอนมีการเรียกข้อมูลเท่านั้น
กรณีการใช้งาน (Use Cases)
รูปแบบนี้เหมาะกับงานที่ต้องการบริบทที่ต่อเนื่องและพัฒนาระดับความเข้าใจได้ตลอดเวลา เช่น:
- ผู้ช่วยวิจัย: นำเข้าไฟล์ PDF และบันทึกการประชุมตลอดสัปดาห์ เพื่อให้ระบบเชื่อมโยงข้อมูลด้านงบประมาณกับปัญหาเชิงเทคนิคได้เอง
- ฐานความรู้ส่วนบุคคล: ดูดซับโน้ตและบทความอย่างต่อเนื่อง เพื่อค้นพบธีมหรือความเชื่อมโยงใหม่ๆ ที่เจ้าของข้อมูลอาจมองข้าม
- ตัวแทนสนับสนุนลูกค้า: จัดเก็บประวัติตั๋วปัญหาในรูปแบบโครงสร้าง เพื่อตอบคำถามใหม่โดยอ้างอิงจากวิธีการแก้ปัญหาในอดีต
เริ่มต้นใช้งาน
วิศวกรสามารถเริ่มต้นใช้งานได้ง่ายๆ เพียงติดตั้ง dependencies และตั้งค่า API Key จากนั้นจึงรันกระบวนการ
pip install -r requirements.txt
export GOOGLE_API_KEY="your-gemini-api-key"
python agent.pyเมื่อระบบทำงาน Agent จะคอยเฝ้าดูโฟลเดอร์ ./inbox และให้บริการผ่าน HTTP API บนพอร์ต 8888
# Ingest text
curl -X POST http://localhost:8888/ingest \
-H "Content-Type: application/json" \
-d '{"text": "AI agents are the future", "source": "article"}'
# Ask a question
curl "http://localhost:8888/query?q=what+do+you+know"นอกจากนี้ยังมีหน้าแดชบอร์ด Streamlit สำหรับควบคุมและติดตามสถานะ รวมถึงรองรับ CLI flags เพื่อปรับแต่งโฟลเดอร์หรือรอบเวลาการรวมข้อมูล
python agent.py --watch ./docs --port 9000 --consolidate-every 15
สรุปสาระสำคัญ
- ไม่ต้องใช้ Vector DB หรือ Embeddings: LLM ทำหน้าที่อ่านและบันทึกข้อมูลแบบมีโครงสร้างลง SQLite
- ทำงาน 24/7: รันบน Google ADK + Gemini 3.1 Flash-Lite ในฐานะกระบวนการเบื้องหลังที่กินทรัพยากรต่ำ
- สถาปัตยกรรม 3 Sub-agents: มี Ingest, Consolidate และ Query ภายใต้การดูแลของ orchestrator
- รวมข้อมูลอัตโนมัติ: วิเคราะห์และสร้างอินไซต์ใหม่ทุกๆ 30 นาทีในขณะว่างงาน
- รองรับไฟล์ 27 ประเภท: ครอบคลุมทั้งข้อความ, รูปภาพ, เสียง และวิดีโอ
ความคิดเห็น (0)
เข้าสู่ระบบเพื่อร่วมแสดงความเห็น
สมัครสมาชิกมาเป็นคนแรกที่แสดงความเห็นกันเลยโบร
