คุณใช้เวลาหนึ่งชั่วโมงในการดีบักร่วมกับ Claude คุณสำรวจโค้ดเบส ตัดสินใจเชิงสถาปัตยกรรม ค้นหากรณีขอบ คุณออกจากระบบ เซสชันถัดไปล่ะ? คุณต้องอธิบายโครงสร้างโปรเจกต์ของคุณตั้งแต่ต้นอีกครั้ง
AI ไม่ควรทำงานแบบนี้ งานวิจัยจาก Arize แสดงให้เห็นว่าประสิทธิภาพของ LLM ลดลงอย่างมากเมื่อเกิน 100K โทเค็น แม้แต่กับโมเดลที่โฆษณาว่ามีหน้าต่างขนาดล้านโทเค็น การทดสอบของ Diffray พบว่า 11 จาก 12 โมเดลมีความแม่นยำต่ำกว่า 50 % เพียงแค่ที่ 32K โทเค็น ปรากฏการณ์ "lost in the middle" ฝังข้อมูลไว้ในบริบทที่ยาว และ การสำรวจของ Qodo พบว่า 65 % ของนักพัฒนาระบุว่าบริบทที่ขาดหายไปเป็นอุปสรรคที่ใหญ่ที่สุดในการรีแฟกเตอร์
ปัญหาไม่ได้อยู่ที่ AI ลืม แต่อยู่ที่เราไม่มีวิธีที่ดีพอที่จะทำให้มันจดจำ
Octobrain คือหน่วยความจำระยะยาวสำหรับผู้ช่วย AI มันคงข้อมูลเชิงลึก การตัดสินใจ และความรู้ไว้ข้ามเซสชัน ไม่ใช่แค่ภายในเซสชันเดียว วันนี้เราเปิดตัวเวอร์ชัน 0.5.0 พร้อมการทำดัชนีไฟล์ในเครื่อง การล้างการอ้างอิงที่ล้าสมัยโดยตระหนักถึง git และความเข้ากันได้กับ MCP (Model Context Protocol) อย่างสมบูรณ์
Octobrain ทำอะไรจริง ๆ
Octobrain ทำงานเป็น MCP server ที่เปิดเผยเครื่องมือหน่วยความจำให้กับไคลเอนต์ที่เข้ากันได้ — Claude Desktop, Zed, Cursor หรืออะไรก็ตามที่พูด MCP ได้ และยังเป็น CLI เมื่อคุณต้องการการควบคุมโดยตรง
# เริ่ม MCP server
octobrain mcp
# หรือใช้โดยตรง
octobrain memory memorize --title "API Pattern" \
--content "Use REST for CRUD, GraphQL for complex queries" \
--memory-type architecture --tags "api,design"
เซิร์ฟเวอร์เปิดเผยเครื่องมือเจ็ดอย่าง: memorize, remember, forget, relate, auto_link, memory_graph และ knowledge_search AI ของคุณจัดเก็บข้อมูลเชิงลึกระหว่างการสนทนา ดึงมันมาในเซสชันถัด ๆ ไป และสำรวจการเชื่อมโยงระหว่างความทรงจำที่เกี่ยวข้อง
ไม่มีไฟล์สรุปแบบทำมือ ไม่มีการพองตัวของหน้าต่างบริบท แค่หน่วยความจำที่คงอยู่
ทำไมเราจึงสร้างสิ่งนี้
เราไม่ได้เริ่มต้นด้วยหน่วยความจำ เราเริ่มต้นด้วย Octomind — รันไทม์สำหรับเอเจนต์ AI ผู้เชี่ยวชาญที่ให้คุณได้นักพัฒนาระดับซีเนียร์ในห้าวินาทีผ่านระบบ tap: octomind run developer:general ไม่ต้องตั้งค่าใด ๆ มีเครื่องมือครบครัน
แต่เอเจนต์ของเรากลับชนกำแพงเดิมซ้ำ ๆ พวกมันใช้เวลาหลายชั่วโมงกับงานหนึ่ง — สำรวจโค้ดเบส ตัดสินใจเชิงสถาปัตยกรรม หาวิธีแก้ปัญหา จากนั้นเซสชันก็จบลง หน้าต่างบริบทเต็ม เซสชันถัดไปเริ่มจากศูนย์ รูปแบบเดิม ๆ ถูกค้นพบใหม่ การตัดสินใจเดิม ๆ ถูกทำซ้ำ Groundhog Day กับเทอร์มินัล
เราลองวิธีแก้ปัญหาชั่วคราว Memory bank แบบทำมือที่ต้องใช้วินัยที่เราไม่มี สรุปเซสชันที่สูญเสียความละเอียดอ่อนของ เหตุผล ที่ตัดสินใจ ฐานความรู้แบบสถิตที่ล้าสมัยทันทีที่เราเปลี่ยนชื่อไฟล์ Cursor rules, สคริปต์ที่กำหนดเอง, ส่วนขยายต่าง ๆ ทั้งหมดล้วนเป็นวิธีแก้ปัญหาแบบสถิตสำหรับปัญหาแบบไดนามิก
ดังนั้นเราจึงสร้าง Octobrain ขึ้นมา
เครื่องมือที่มีอยู่ทำผิดอะไร
เมื่อเราดูโซลูชันด้านหน่วยความจำ เราพบช่องว่างเดิม ๆ ซ้ำแล้วซ้ำเล่า:
ระบบกลยุทธ์เดียว เครื่องมือส่วนใหญ่เลือกแนวทางเดียว — vector search, BM25 หรือ graph traversal — แค่นั้น แต่คำค้นที่ต่างกันต้องการกลยุทธ์ที่ต่างกัน บางครั้งคุณต้องการความคล้ายคลึงเชิงความหมาย บางครั้งคุณต้องการการจับคู่คีย์เวิร์ดที่แน่นอน บางครั้งคุณต้องเดินทางผ่านความสัมพันธ์ เราต้องการทั้งหมด รวมกันอย่างชาญฉลาด
ความสำคัญแบบสถิต ระบบที่มีอยู่ปฏิบัติต่อทุกความทรงจำว่าสำคัญเท่ากันตลอดไป หน่วยความจำไม่ทำงานแบบนั้น บางสิ่งสำคัญแค่วันเดียว บางสิ่งสำคัญหลายปี เราต้องการ temporal decay — ความทรงจำที่จางลงตามธรรมชาติเว้นแต่จะถูกเสริมแรงด้วยการเข้าถึง
การสะสมการอ้างอิงที่ตายแล้ว เส้นทางไฟล์ในความทรงจำเน่าไป คุณรีแฟกเตอร์ เปลี่ยนชื่อ ลบ ระบบส่วนใหญ่ไม่สังเกตเห็น ความทรงจำคงอยู่ ชี้ไปยังผี เราต้องการการล้างที่ตระหนักถึง git ซึ่งตรวจจับการเปลี่ยนชื่อ ลงโทษการอ้างอิงที่ล้าสมัย และลบสิ่งที่ล้าสมัยอย่างแท้จริง
ไม่มีความสัมพันธ์ ความรู้จริงเชื่อมโยงกัน การตัดสินใจสื่อถึงการพึ่งพา การแก้บั๊กแทนที่วิธีแก้ปัญหาชั่วคราว รูปแบบหนึ่งใช้สถาปัตยกรรมหนึ่ง เราต้องการระบบที่สามารถจำลองความสัมพันธ์เหล่านี้ ไม่ใช่แค่เก็บข้อเท็จจริงที่แยกจากกัน
แนวทาง SOTA ที่เราใช้จริง ๆ
เราไม่ได้คิดค้นเทคนิคเหล่านี้ เรารวบรวมสิ่งที่ใช้งานได้จาก state of the art ทำให้มันกำหนดค่าได้ และให้กรณีการใช้งานเป็นผู้ตัดสินใจ
Hybrid Search พร้อม RRF แบบเนทีฟ
Octobrain รวม BM25 full-text search กับ vector similarity โดยใช้ Reciprocal Rank Fusion ผ่าน execute_hybrid() แบบเนทีฟของ LanceDB อัลกอริทึมเดียวกันที่ระบบค้นหาในโปรดักชันใช้ คุณค้นหา "authentication middleware" ได้เมื่อคุณค้นหา "auth layer" — แต่คุณก็พบการจับคู่ที่แน่นอนเมื่อคุณต้องการ
Reranking แบบเลือกได้
สำหรับการดึงข้อมูลที่สำคัญ เปิดใช้งาน cross-encoder reranker มันให้คะแนนคู่คำค้น-เอกสารด้วยโมเดลเฉพาะทาง เพิ่มความแม่นยำ 20–35 % ลดการ hallucinate 35 % ปิดอยู่โดยค่าเริ่มต้นเพราะความเร็วสำคัญ ใช้ได้เมื่อคุณต้องการความแม่นยำ
Temporal Decay (สไตล์ Ebbinghaus)
ความทรงจำจางหายไป มันไม่ใช่บั๊ก — แต่เป็นวิธีที่การรู้คิดทำงาน Octobrain ใช้เส้นโค้งการลืมแบบ Ebbinghaus: ความทรงจำเสื่อมไปตามธรรมชาติเว้นแต่จะถูกเข้าถึง ทุกครั้งที่ดึงข้อมูลจะเพิ่มความสำคัญ ความทรงจำที่ไม่ใช้จะลอยลง ความทรงจำที่สำคัญยังคงเห็นได้ กำหนดครึ่งชีวิต (ค่าเริ่มต้น: 90 วัน) และค่าต่ำสุด
Auto-Linking (Zettelkasten สำหรับ AI)
เมื่อคุณเก็บความทรงจำ Octobrain จะค้นหาความทรงจำที่คล้ายกันเชิงความหมายและสร้างความสัมพันธ์แบบสองทิศทาง ผลลัพธ์คือกราฟความรู้ที่ผุดขึ้น ค้นหาความทรงจำเดียว ได้บริบทของมัน — ความทรงจำที่ขยายมัน ขัดแย้งกับมัน นำมันไปใช้ พึ่งพามัน
การล้างการอ้างอิงที่ล้าสมัยแบบ Git-Aware
ระบบหน่วยความจำสะสมการอ้างอิงไปยังไฟล์ที่ไม่มีอยู่อีกต่อไป Octobrain ตรวจจับสิ่งนี้เมื่อเริ่มต้น: ถ้าไฟล์ที่เกี่ยวข้องทั้งหมดหายไป ความทรงจำจะถูกลบ ถ้าบางไฟล์หายไป ความสำคัญจะถูกลงโทษ ไฟล์ถูกเปลี่ยนชื่อ? เราตรวจจับผ่านประวัติ git และอัปเดตการอ้างอิง
หน่วยความจำของคุณยังคงสะอาดเหมือนโค้ดเบสของคุณ
มีอะไรใหม่ใน 0.5.0
รีลีสนี้สะท้อนสิ่งที่เราเรียนรู้จากการรันหน่วยความจำในสเกล:
การทำดัชนีไฟล์ในเครื่อง: ระบบความรู้ตอนนี้ทำดัชนีไฟล์ในเครื่อง ไม่ใช่แค่ URL ชี้ไปที่เอกสาร, PDF, Markdown มันแบ่งเป็นชิ้นอย่างชาญฉลาด ติดตามเนื้อหาแม่สำหรับบริบท ทำดัชนีใหม่อัตโนมัติเมื่อเนื้อหาล้าสมัย
ที่จัดเก็บแบบขอบเขตเซสชัน: ชิ้นความรู้สามารถมีขอบเขตเซสชันได้ — ที่จัดเก็บชั่วคราวที่ล้างตัวเองหลัง 120 ชั่วโมง สำหรับการวิจัยครั้งเดียวที่ไม่ควรทำให้หน่วยความจำระยะยาวสกปรก
ประเภทหน่วยความจำ Product และ Workflow: สองหมวดหมู่ใหม่ product สำหรับสเปคของฟีเจอร์ ข้อกำหนด การตัดสินใจด้านการออกแบบ workflow สำหรับกระบวนการ playbook และรูปแบบที่เกิดซ้ำ
rmcp SDK อย่างเป็นทางการ: ย้ายจากการใช้งาน MCP ที่กำหนดเองไปยัง Rust SDK อย่างเป็นทางการ การปฏิบัติตามโปรโตคอลที่ดีขึ้น ความเสถียรที่ดีขึ้น พร้อมรับมือกับอนาคตได้ดีขึ้น
การล้างการอ้างอิงที่ล้าสมัย: การตรวจจับการอ้างอิงไฟล์ที่ตายแล้วโดยอัตโนมัติ พร้อมการติดตามการเปลี่ยนชื่อใน git
ทั้งหมดทำงานร่วมกันอย่างไร: Octomind + Octobrain
Octobrain ทำงานแบบสแตนด์อโลนได้ แต่ถูกออกแบบมาสำหรับ Octomind — รันไทม์ของเราสำหรับเอเจนต์ AI ผู้เชี่ยวชาญ
กระบวนการ: Octomind เขียนโค้ด ตัดสินใจ พบเจอบั๊ก ทุกข้อมูลเชิงลึกจะถูกเก็บใน Octobrain พร้อมแฮชคอมมิต git ปัจจุบัน สามเดือนต่อมา รีแฟกเตอร์โมดูลนั้น? Octomind ดึงการตัดสินใจเดิม — พร้อมความทรงจำที่เกี่ยวข้อง แนวทางที่ขัดแย้งกันที่ถูกปฏิเสธ เหตุผลเบื้องหลังการแลกเปลี่ยน
หน่วยความจำถูกจำกัดขอบเขตให้กับโปรเจกต์ของคุณผ่านแฮช URL git remote คำค้นข้ามโปรเจกต์ใช้งานได้เมื่อคุณต้องการบริบทที่ใช้ร่วมกัน การกรองตามบทบาท (developer, reviewer เป็นต้น) ทำให้มุมมองเป็นระเบียบ
Octomind จัดการเอเจนต์ Octobrain จัดการหน่วยความจำ ด้วยกัน พวกมันแก้ปัญหาทั้งหมด: AI ที่รู้จักโดเมนของคุณจริง ๆ ข้ามเซสชัน โดยไม่ต้องปวดหัวกับการตั้งค่า
ทำไมเราไม่ใช้ Mem0 หรือ Zep
เราประเมินพื้นที่หน่วยความจำก่อนสร้าง นี่คือสิ่งที่เราพบ:
- Mem0: เส้นทางที่เร็วที่สุดสู่โปรดักชัน บริการที่จัดการอย่างยอดเยี่ยม สถาปัตยกรรมเวกเตอร์แบนราบ (ไม่มีความสัมพันธ์แบบกราฟ) เราต้องการกราฟ
- Zep: ใช้กราฟเป็นฐาน แข็งแกร่งในคำค้นเชิงเวลา นำหน้าในเบนช์มาร์ก LoCoMo — สถาปัตยกรรมซับซ้อน หนักกว่าที่เราต้องการสำหรับการใช้งานแบบ local-first
- Letta: ระดับหน่วยความจำที่ได้รับแรงบันดาลใจจาก OS, LLM จัดการการดึงข้อมูล — ต้องใช้ LLM สำหรับทุกการดำเนินงานหน่วยความจำ เราต้องการบางสิ่งที่เบากว่า เร็วกว่า คาดเดาได้มากกว่า
Octobrain ต่างออกไป เราไม่ได้กำลังปรับให้เหมาะกับแนวทางเดียว — เรากำลังทำให้กลยุทธ์ SOTA หลายอย่างพร้อมใช้และกำหนดค่าได้ Hybrid search หรือเวกเตอร์ล้วน ๆ? ตัวเลือกของคุณ Temporal decay หรือความสำคัญแบบสถิต? กำหนดค่าได้ Auto-linking หรือความสัมพันธ์แบบทำมือ? ทำงานได้ทั้งคู่ Embedding ในเครื่องหรือผ่าน API? อย่างใดอย่างหนึ่งก็ได้
เป้าหมายไม่ใช่ระบบหน่วยความจำที่ง่ายที่สุด แต่เป็นระบบที่แม่นยำที่สุดสำหรับกรณีการใช้งานเฉพาะของคุณ
โอเพนซอร์ส Local-First
Octobrain มีลิขสิทธิ์ Apache-2.0 และทำงานบนเครื่องของคุณทั้งหมด โค้ดของคุณ ความทรงจำของคุณ ข้อมูลของคุณ — ไม่เคยออกจากระบบของคุณ เว้นแต่คุณจะกำหนดค่า API embedding ภายนอกอย่างชัดเจน เราสร้างมันแบบนี้เพราะเราเบื่อที่จะเลือกระหว่างบริการที่จัดการให้ที่ "สะดวก" ซึ่งต้องการส่งโค้ดเบสของเราไปยังเซิร์ฟเวอร์ของคนอื่น หรือโซลูชัน DIY ที่เปราะบางและพังเมื่อมีโหลด
การโฮสต์เองไม่ควรหมายถึงการประนีประนอมกับความสามารถ Octobrain ให้คุณ hybrid search ระดับโปรดักชัน, temporal decay และกราฟความสัมพันธ์ — ทั้งหมดทำงานในเครื่อง โดยไม่เปิดเผยข้อมูลใด ๆ
เริ่มต้นใช้งาน
# macOS ผ่าน Homebrew (แนะนำ)
brew install muvon/tap/octobrain
# แพลตฟอร์มใดก็ได้ผ่าน crates.io
cargo install octobrain
# เริ่ม MCP server
octobrain mcp
เพิ่มในการตั้งค่า Claude Desktop ของคุณ:
{
"mcpServers": {
"octobrain": {
"command": "/path/to/octobrain",
"args": ["mcp"]
}
}
}
รีสตาร์ท Claude AI ของคุณตอนนี้มีหน่วยความจำระยะยาวแล้ว
คำถามที่พบบ่อย
Octobrain ทำงานกับผู้ช่วย AI อื่นนอกจาก Claude หรือไม่?
ใช่ ไคลเอนต์ที่เข้ากันได้กับ MCP ใด ๆ ก็ทำงานได้ — Claude Desktop, Zed, Cursor, Windsurf และการใช้งานที่กำหนดเองใด ๆ ที่พูดโปรโตคอลได้
ข้อมูลของฉันถูกเก็บที่ไหน?
ในเครื่องของคุณ Octobrain ใช้ SQLite สำหรับกราฟและ LanceDB สำหรับเวกเตอร์ ไม่มีบริการคลาวด์ ไม่มีที่จัดเก็บภายนอกเว้นแต่คุณจะกำหนดค่าผู้ให้บริการ embedding แบบ API
สิ่งนี้เปรียบเทียบกับการใช้หน่วยความจำในตัวของ Claude อย่างไร?
หน่วยความจำของ Claude เหมาะสำหรับความต้องการส่วนตัวและบริบทที่เกิดซ้ำ Octobrain มีไว้สำหรับความรู้ของโปรเจกต์ — การตัดสินใจเชิงสถาปัตยกรรม รูปแบบโค้ดเบส การแก้บั๊ก การแลกเปลี่ยนทางการออกแบบ มันคงอยู่ข้ามโปรเจกต์และอยู่รอดจากการเปลี่ยนบัญชี
ฉันสามารถนำเข้าโน้ตหรือเอกสารที่มีอยู่ได้หรือไม่?
ใช่ ระบบความรู้ใน 0.5.0 ทำดัชนีไฟล์ในเครื่อง — Markdown, PDF, ไฟล์ข้อความ ชี้ไปที่เอกสารของคุณและมันจะแบ่งเป็นชิ้น embed และทำให้ค้นหาได้
จะเกิดอะไรขึ้นถ้าฉันเปลี่ยนชื่อหรือลบไฟล์ที่กล่าวถึงในความทรงจำ?
Octobrain ตรวจจับสิ่งนี้เมื่อเริ่มต้น ถ้าไฟล์ที่เกี่ยวข้องทั้งหมดหายไป ความทรงจำจะถูกลบ ถ้าบางอันยังอยู่ ความสำคัญจะถูกลงโทษ การเปลี่ยนชื่อถูกตรวจจับผ่านประวัติ git และการอ้างอิงจะอัปเดตโดยอัตโนมัติ
มีเวอร์ชันโฮสต์หรือไม่?
ตอนนี้ยังไม่มี Octobrain ถูกออกแบบเป็น local-first เวอร์ชันโฮสต์จะต้องการการเปลี่ยนแปลงทางสถาปัตยกรรมที่สำคัญและการพิจารณาด้านความปลอดภัย ถ้าคุณต้องการสิ่งนี้ แจ้งให้เราทราบ
อะไรต่อไป
เรากำลังทดลองกับกลยุทธ์การดึงข้อมูล การแทนแบบหลายเวกเตอร์ Learned sparse retrieval การขยายคำค้น พื้นที่หน่วยความจำพัฒนาอย่างรวดเร็ว — เรามุ่งมั่นที่จะส่งมอบสิ่งที่ใช้งานได้ ไม่ใช่สิ่งที่ฟังดูดีในเปเปอร์
ถ้าคุณกำลังสร้างเอเจนต์ AI ที่ต้องจำสิ่งต่าง ๆ ข้ามเซสชัน ลอง Octobrain เราสร้างมันเพราะเราต้องการ ถ้าคุณกำลังชนกำแพงเดียวกับเรา มันอาจจะเป็นสิ่งที่คุณต้องการเช่นกัน
Octobrain พัฒนาโดย Muvon Un Limited โอเพนซอร์สภายใต้ Apache-2.0 รับได้บน GitHub



