Tencent เปิดซอร์ส TencentDB Agent Memory v2.0 แบบ MIT — ทำความจำ agent ให้เป็นสินทรัพย์ของทีมสี่ชนิด ต่อ Claude Code ผ่าน proxy ได้เลย
โพสต์นี้เป็นการ ตามเก็บของที่เราพลาดไป — Tencent Cloud ปล่อย TencentDB Agent Memory v2.0.0 ตั้งแต่ 3 สิงหาคม 2026 และเพิ่งถูกสื่อสายเทคหยิบมาเขียนเมื่อ 7 สิงหาคม รีโปนี้สร้างมาตั้งแต่ 7 เมษายน และตอนตรวจสอบวันนี้มีดาวราว 17,490 ดวง ซึ่งเป็นตัวเลขที่ใหญ่พอจะไม่ควรปล่อยผ่าน
ไอเดียตั้งต้นแตกต่างจากไลบรารี memory ทั่วไปที่เราเห็นกันมาสองปี ส่วนใหญ่แก้โจทย์ว่า “agent ตัวนี้จำเรื่องที่คุยไปได้ไหม” แต่ v2.0 ตั้งโจทย์ใหญ่กว่านั้นคือ “ทีมทั้งทีมจะแชร์สิ่งที่ agent เรียนรู้กันได้ยังไง โดยยังคุมสิทธิ์การเข้าถึงได้” — ประโยคที่รีโปใช้อธิบายตัวเองคือ ทำให้ประสบการณ์ เอกสาร และโค้ดของ agent ตกตะกอนเป็นสินทรัพย์ที่ใช้ซ้ำได้ เพื่อให้ “agent ตัวถัดไปอ่านเซฟไฟล์ต่อได้เลย”
ไลเซนส์คือ MIT — ผมเปิดไฟล์ LICENSE ดิบในรีโปมาอ่านเองเพื่อยืนยัน ไม่ได้เชื่อตามข่าว (GitHub API รายงานเป็น NOASSERTION เพราะหัวไฟล์มีข้อความของ Tencent นำหน้าตัวสัญญา แต่เนื้อในเป็น MIT เต็มฉบับ)
สินทรัพย์ความจำสี่ชนิด
ของสี่ชนิดนี้ถูกกลั่นออกมาจากร่องรอยการทำงานของ agent โดยอัตโนมัติ:
- Chat Memory — ไล่สกัดจากบทสนทนาเป็นชั้น ๆ จาก L0 บันทึกดิบ → L1 ข้อเท็จจริงย่อย → L2 ฉากหรือสถานการณ์ → L3 ความเข้าใจระยะยาว (persona) เก็บความชอบ การตัดสินใจ และประวัติการโต้ตอบข้ามเซสชัน จุดสำคัญคือมันไม่ใช่ vector store แบนราบ แต่ไล่ลงไปดูของจริงได้ผ่าน
node_idและresult_ref - Skill — กลั่น SOP ที่ใช้ซ้ำได้ออกมาจากงานที่ทำสำเร็จแล้ว มาพร้อมเวอร์ชัน ไฟล์ทรัพยากร ขอบเขตการทริกเกอร์ ขั้นตอนการทำงาน และกฎการตรวจสอบ — v2.0 เพิ่มการ บังคับจัดเก็บ เพื่อไม่ให้ skill สำคัญหลุดหาย
- Wiki — แปลงเอกสารเป็นหน้าที่มีโครงสร้างพร้อมกราฟลิงก์ (รีโปบอกตรง ๆ ว่าได้แรงบันดาลใจจากแนวทางคลังความรู้สำหรับ LLM ของ Andrej Karpathy)
- CodeGraph — ทำดัชนีสัญลักษณ์ ไฟล์ ความสัมพันธ์การเรียก และเส้นทางผลกระทบของรีโป เพื่อให้ agent ทำ impact analysis ก่อน จะลงมือแก้โค้ด — v2.0 เพิ่มการซิงก์อัตโนมัติตามเวลา ไม่ต้องสั่งเองทุกครั้งที่รีโปเปลี่ยน
หัวใจของฝั่งความจำระยะสั้นคือแนวคิด symbolic memory — แทนที่จะยัด log ของ tool call (ผลค้นหา โค้ด stack trace) เข้าไปใน context ตรง ๆ ระบบจะ offload ข้อความเต็มไปไว้ที่ไฟล์ระบบภายนอก แล้วฉีดกลับเข้า context เป็น สัญลักษณ์ Mermaid ที่กระชับ เหลือระดับไม่กี่ร้อยโทเคน เมื่อ agent ต้องการรายละเอียดจริงก็ค่อย grep ด้วย node_id เพื่อดึงข้อความดิบกลับมา ประโยคที่รีโปเขียนไว้เรื่องนี้ตรงประเด็นมาก: ความเสี่ยงที่ใหญ่ที่สุดของการบีบอัดคือ “การประหยัดโทเคนโดยแลกกับการสูญเสียหลักฐาน” ระบบจึงตั้งใจไม่ยุบประวัติให้เหลือแค่บทสรุปที่ย้อนกลับไม่ได้
ตัวเลขที่ Tencent วัดเอง
รีโปแสดงตารางเบนช์มาร์กที่วัดกับ OpenClaw โดยเน้นว่าเป็นการวัดใน session ยาวต่อเนื่อง ไม่ใช่การวัดทีละเทิร์นแยกกัน (เช่น SWE-bench รัน 50 งานติดต่อกันต่อหนึ่ง session เพื่อจำลองแรงกดดันจากการสะสม context ของงานจริง):
| ความสามารถ | เบนช์มาร์ก | OpenClaw เปล่า | ใส่ปลั๊กอิน | ผลต่าง | โทเคนเปล่า | โทเคนใส่ปลั๊กอิน | ผลต่าง |
|---|---|---|---|---|---|---|---|
| ระยะสั้น | WideSearch | 33% | 50% | +51.52% | 221.31M | 85.64M | −61.38% |
| ระยะสั้น | SWE-bench | 58.4% | 64.2% | +9.93% | 3474.1M | 2375.4M | −33.09% |
| ระยะสั้น | AA-LCR | 44.0% | 47.5% | +7.95% | 112.0M | 77.3M | −30.98% |
| ระยะยาว | PersonaMem | 48% | 76% | +59% | — | — | — |
ต้องอ่านตัวเลขเหล่านี้ให้ถูกสองจุด หนึ่ง นี่คือตัวเลขที่ผู้พัฒนาเป็นคนวัดเอง ยังไม่มีการยืนยันจากบุคคลที่สาม สอง ตัวเลข +51.52% คือส่วนต่างแบบสัมพัทธ์จาก 33% เป็น 50% ไม่ใช่การเพิ่มขึ้น 51 จุด — ซึ่งรีโปก็ระบุคำว่า relative ไว้ตรงไปตรงมา สิ่งที่ผมคิดว่าน่าเชื่อถือกว่าคะแนนความสำเร็จคือ คอลัมน์โทเคน เพราะการลดลง 30–61% ในงานที่รันติดกันยาว ๆ สอดคล้องกับกลไก offload ที่อธิบายไว้ และเป็นตัวเลขที่ทีมใด ๆ ก็วัดซ้ำเองได้ง่ายจากบิลค่า API
ต่อของจริงยังไง — Memory Hub กับ Memory Proxy
ชั้นควบคุมชื่อ Memory Hub (อิมเมจ agentmemory/memory-hub) ให้สร้าง Team และ Agent แล้วจัดการสินทรัพย์ตามเจ้าของ เวอร์ชัน สถานะ และการมองเห็น โดยมีสามระดับคือ private / team / restricted (คุมด้วย ACL ระดับผู้ใช้ บทบาท และ agent) บวกการจ่ายให้ agent เฉพาะตัว ฟีเจอร์ Agent Loadout คือการผูกชุดสินทรัพย์คนละชุดให้ agent คนละตัวพร้อมจัดลำดับความสำคัญ — เหมือนจัดของเข้ากระเป๋าก่อนออกภารกิจ
ชิ้นที่นักพัฒนาน่าจะสนใจที่สุดคือ Memory Proxy (agentmemory/memory-proxy) เพราะมันพูดได้ทั้ง โปรโตคอล Anthropic และ OpenAI — รับที่ /claude-code/<spaceId>/v1/messages และ /v1/chat/completions แปลว่า coding agent อย่าง Claude Code ต่อเข้าความจำส่วนกลางของทีมได้โดยไม่ต้องแก้ตัว agent เลย แค่ชี้ base URL ใหม่ กลไกคือ proxy จะถาม team / agent / task ในเทิร์นแรกผ่าน AskUserQuestion แล้วจำการผูกไว้ จากนั้นทุกเทิร์นถัดไปจะเอาความจำ L2/L3 ของ agent ตัวนั้น บวก skill ที่ตรงเงื่อนไข บวก wiki และ code-graph มาต่อเข้า system prompt ก่อนส่งต่อไป LLM ต้นทาง
ดีพลอยเป็น Docker สามก้อน (memory-core / memory-hub / memory-proxy) รองรับทั้ง linux/amd64 และ linux/arm64 ยิงขึ้นด้วย start-all.sh ก้อนเดียว ส่วนการต่อกับ OpenClaw ใช้คำสั่งปลั๊กอินตรง ๆ:
openclaw plugins install @tencentdb-agent-memory/memory-tencentdb
openclaw gateway restart
นอกจากนี้ยังรองรับ Hermes ของ Nous Research และมี SDK ทั้ง TypeScript และ Python สำหรับเฟรมเวิร์กอื่น ๆ ที่ยิง HTTP เป็น
มุมมอง AI Curator
สิ่งที่ทำให้โปรเจกต์นี้น่าสนใจกว่าไลบรารี memory ทั่วไป คือมันเป็นตัวแรก ๆ ที่ยอมรับว่า ความจำของ agent เป็นปัญหาเชิงองค์กร ไม่ใช่ปัญหาเชิงเทคนิคล้วน ๆ การมี ACL สามระดับ การมีเจ้าของและเวอร์ชันของสินทรัพย์ และการที่แอดมินจัดชุดของให้ agent แต่ละตัวได้ คือการยอมรับว่าเมื่อความจำถูกแชร์ข้ามคน มันจะมีเรื่องที่ agent ของฝ่ายหนึ่งไม่ควรรู้ทันที นี่คือคำถามที่ทีมใช้ Claude Code หรือ Cursor กันทั้งบริษัทจะเจอในอีกไม่กี่เดือน และตอนนี้ยังแทบไม่มีใครตอบ
แต่ผมมีข้อสงวนที่ต้องพูดให้ชัด Memory Proxy คือการวาง man-in-the-middle ไว้หน้า LLM API ของคุณ ทุกข้อความที่ agent ส่งจะวิ่งผ่านมันและถูกเติม system prompt ก่อนถึงปลายทาง ในแง่วิศวกรรมนี่คือดีไซน์ที่ฉลาดมาก เพราะได้ความเข้ากันได้ฟรีโดยไม่ต้องแก้ agent สักตัว แต่ในแง่ความปลอดภัย มันแปลว่าคุณเพิ่งเพิ่มจุดที่เห็นทั้ง prompt ทั้งโค้ด และทั้ง API key เข้ามาในเส้นทางหนึ่งจุด ถ้าจะใช้ ให้รันเองในเครือข่ายตัวเองเท่านั้น และปฏิบัติกับมันเหมือน API gateway ที่ต้องมี audit log ไม่ใช่เหมือนไลบรารีเสริม ข้อดีคือของทั้งหมดเป็น MIT และเป็นอิมเมจ Docker ที่รันเองได้ครบ ไม่มีข้อบังคับให้ต้องผูกกับคลาวด์ของ Tencent — ซึ่งเป็นเรื่องที่ต้องให้เครดิต
สำหรับทีมไทยและอาเซียน ผมคิดว่ามุมที่คุ้มที่สุดไม่ใช่ Chat Memory แต่เป็น CodeGraph โดยเฉพาะทีมที่ดูแลระบบเก่าที่ไม่มีใครเข้าใจทั้งระบบแล้ว การให้ agent ทำ impact analysis ก่อนแก้โค้ดคือสิ่งที่ให้ผลตอบแทนทันทีและวัดผลได้ ต่างจากความจำเชิงบทสนทนาที่ประโยชน์วัดยาก และเนื่องจากรันเองได้ทั้งหมดในเครื่องของตัวเอง โค้ดจึงไม่ต้องออกนอกองค์กร ซึ่งตอบโจทย์ข้อจำกัดของธนาคารและหน่วยงานรัฐไทยได้ตรง ๆ
ข้อควรระวังสุดท้ายที่คนไทยจะเจอก่อนคนอื่น: ค่าเริ่มต้นของ tokenizer สำหรับ BM25 ในคอนฟิกคือ zh (jieba) และมีตัวเลือกแค่ zh กับ en ภาษาไทยไม่มีในรายการ ซึ่งเป็นปัญหาจริงเพราะภาษาไทยไม่เว้นวรรคระหว่างคำ ถ้าคุณจะเก็บบันทึกบทสนทนาภาษาไทยลงในระบบนี้ ให้ทดสอบคุณภาพการค้นคืนด้วยข้อมูลจริงของคุณก่อน อย่าเพิ่งเชื่อว่า en จะพอ — และนี่คือช่องที่ทีมในภูมิภาคเราน่าจะส่ง pull request กลับไปได้ เพราะรีโปเปิดรับตรง ๆ ว่ายินดีรับทั้งการทำซ้ำเบนช์มาร์กและการต่อยอดกับระบบนิเวศอื่น
แหล่งข่าว
อ่านเพิ่มในหมวด เครื่องมือนักพัฒนา
Betelgeuse รัน Qwen3.8 Flash Next ขนาด 68GB บน RTX 3060 กับแรม 16GB ส่วน Basalt วัดให้เห็นว่าเอนจินที่เร่งด้วยแฟล็กลัดทำให้โมเดลลืมของ
Betelgeuse ฟอร์ก llama.cpp ที่เปิดเมื่อ 31 ต.ค. ดึง expert จาก NVMe เข้า VRAM ตามต้องการ อ้าง 22 tok/s แบบไม่ทิ้ง expert แต่ README เตือนเองว่ายังทดลองและตัวเลขมาจากคนละรอบ วันเดียวกันผู้พัฒนา Basalt เผยผลวัดว่าแฟล็กเร่งความเร็วทำคุณภาพ Q8 ตกไปใกล้ Q2
กฎห้ามโคลนเกมของ Claude Code เริ่มกระทบงานจริง บริษัทรับทำเกมกระดานร้องงานลูกค้าหยุด แต่รายงานหลายชิ้นปนกับตัวกรองไซเบอร์คนละเรื่อง
ต่อจากที่เราพบกฎนี้ในไบนารี Claude Code ผู้ใช้เริ่มรายงานว่างานเชิงพาณิชย์ถูกปฏิเสธ และ Tom's Hardware กับ Mashable หยิบไปรายงาน แต่เมื่อไล่ issue ที่อ้างถึง พบว่าหลายรายการเกิดก่อนกฎจะมา จึงน่าจะเป็นตัวกรองด้านไซเบอร์ ส่วน Anthropic ยังไม่ชี้แจง
Claude Code ส่ง transcript ของ background agent ให้โมเดลทุก ~30 วินาทีเพื่อเขียนสถานะ 3–5 คำ ผู้วัดรายงานกินราว 16% และยังปิดแบบทางการไม่ได้
รายงานอิสระพบว่าฟีเจอร์ agent_summary ของ Claude Code ส่ง transcript เต็มของ background agent ไปถามสถานะทุก ~30 วินาที คิดเป็น 16.4% ของค่าใช้จ่ายในระบบของผู้วัด Issue เปิดมาตั้งแต่ ส.ค. ยังไม่มีสวิตช์ปิดที่รองรับ เราตรวจพบโค้ดนี้ใน 2.1.314 และพบกฎใหม่เรื่องเกมที่ไม่อยู่ใน changelog