เริ่มต้นใช้งาน ENDMEMEX

ภาพประกอบ: เริ่มต้นใช้งาน ENDMEMEX

ENDMEMEX คือ memory และ coordination layer สำหรับ Claude Code และ Codex — ต่างจาก AI agent ที่ทำงานให้ผู้ใช้โดยตรง มันเป็นเครื่องมือสำหรับนักพัฒนาที่ต้องการให้ agent จำบริบทโครงการข้าม session และมอบหมายงานย่อยให้ agent อื่นอย่างมีขอบเขต

สองแกนหลักของ ENDMEMEX

  1. ความจำต่อเนื่องของโครงการ — เก็บความรู้, record, session และ checkpoint เพื่อให้ session หรือ agent ถัดไปทำงานต่อได้โดยไม่ต้องอธิบายสิ่งเดิมซ้ำ
  2. การสั่งการ sub-agent — เริ่ม, ติดตาม และยกเลิกงานย่อยของ Codex, Claude หรือ Antigravity ผ่าน run ที่มีเป้าหมาย, role และ timeout ชัดเจน

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

แก้ปัญหาอะไร

เวลาทำงานกับ Claude Code หรือ Codex ข้ามหลาย session ปัญหาที่พบบ่อยคือ agent ไม่รู้ว่าตัวเองเคยทำอะไรไปแล้ว ต้องอธิบายบริบทซ้ำทุกครั้ง ENDMEMEX เก็บ:

  • เนื้อหาที่ค้นหาได้ จาก Markdown ที่ track ไว้ พร้อม path, heading, provenance และการค้นแบบ lexical/semantic
  • Session และ checkpoint ที่แชร์กันได้ — งานที่ทำเสร็จ สถานะปัจจุบัน ขั้นต่อไป จุดติดขัด ไฟล์ที่แก้ คำสั่งที่ใช้ และผลตรวจสอบ
  • Record แบบถาวร สำหรับ audit, fix, verification, decision และ knowledge เชื่อมกันด้วยความสัมพันธ์แบบมี lifecycle
  • ประวัติกิจกรรม และ agent presence (แบบ opt-in)
  • การมอบหมายงานย่อยแบบ bounded — เริ่ม sub-agent, poll สถานะหรือผลบางส่วน, และยกเลิก run ได้ โดยกำหนด role เป็น worker, reviewer หรือ advisor

ไฟล์ Markdown ยังเป็นแหล่งความจริงหลักที่มนุษย์อ่านได้ — SQLite เป็นชั้นค้นหาต่อเนื่องที่ทับซ้อนอยู่ด้านบน

เริ่มต้นใช้งาน

รันจาก repository root ของโปรเจกต์ที่จะใช้ ครั้งแรกให้ initialize และติดตั้ง pre-commit hook:

python3 endeavor_db.py init
python3 endeavor_db.py install-hooks

ก่อนเริ่มงานที่ไม่ใช่งานเล็กน้อย ให้ bootstrap โปรเจกต์ที่เลือกไว้ครั้งเดียว:

python3 endeavor_db.py bootstrap --project <PROJECT> --json

bootstrap จะคืนค่า handoff ที่ทำต่อได้ (null คือสถานะว่างปกติ), รัน embedding backfill แบบ best-effort, และรายงานความสดใหม่ของเอกสารที่ track ไว้

ตรวจงานค้างก่อนเริ่ม session

ก่อนถามหางานค้างหรือ backlog ให้ใช้ลำดับนี้เสมอ (ไม่ใช่ไล่ดู Git หรือค้นไฟล์เอง):

python3 endeavor_db.py pending --all-projects --json
python3 endeavor_db.py handoff --all-paused --json

pending บอกทุกโปรเจกต์ที่มี session ค้างอยู่ ส่วน handoff คือคิวงานที่ทำต่อได้แบบ authoritative — ต้องนำเสนอให้ผู้ใช้เลือกเอง ห้าม agent เลือก session ที่จะทำต่อเอง

ค้นความรู้ในโปรเจกต์

python3 endeavor_db.py query "<คำถาม>" --project <PROJECT> --json --compact

ใช้ก่อนจะขุดหาความรู้เก่าซ้ำ หรือก่อนตัดสินใจอะไรที่กระทบวงกว้าง

กติกาที่ต้องรู้ก่อนใช้

  • เก็บ endeavor_memory.sqlite3 ที่เขียนได้ไว้บนเครื่องเดียวเท่านั้น — ห้ามวางไว้ใน iCloud, Dropbox หรือ filesystem sync service อื่น (SQLite WAL รองรับ concurrent process ได้เฉพาะบนเครื่องเดียวกัน)
  • การเขียนข้ามเครื่องต้องผ่าน write_gateway.py ที่ยืนยันตัวตนแล้วเท่านั้น ห้ามพยายามทำ distributed SQLite ผ่านโฟลเดอร์ที่แชร์กัน
  • ห้ามเก็บ token, password, private key, ค่า environment ลับ หรือ log ดิบขนาดใหญ่ไว้ใน checkpoint หรือ record
  • Checkpoint หลังจบแต่ละ phase สำคัญ ไม่ใช่แค่ตอนจบงาน และแจ้งผู้ใช้ทุกครั้งที่บันทึกสำเร็จ

ดูคำสั่งทั้งหมดแบบเร็ว

python3 endeavor_db.py agent-help

เอกสารเชิงลึก

README เป็นจุดเริ่มต้นสั้นๆ เท่านั้น — คำสั่ง, flag, payload และตัวอย่างแบบละเอียดอยู่ใน ENDMEMEX_USER_MANUAL.md ของ repo ให้เปิดเฉพาะหัวข้อที่ต้องใช้จริง ไม่ต้องอ่านทั้งไฟล์

การสั่งงาน sub-agent เป็น trust boundary แยกจาก memory server โดยเจตนา: reviewer/advisor เป็น read-only เสมอ ส่วน worker จะเขียนได้ก็ต่อเมื่อระบุสิทธิ์ที่เหมาะสมอย่างชัดเจน ดูรายละเอียดในคู่มือ Spawn Agent

ดูเพิ่มเติม

ซอร์สโค้ดและเอกสารฉบับเต็มบน GitHub

ความคิดเห็น

กำลังโหลดความคิดเห็น...