สวัสดีครับ/ค่ะ พอได้รัน AI agent อย่าง Claude Code, Codex บนอุปกรณ์/เซสชันหลายแห่ง ก็รู้สึกอึดอัดที่แต่ละ agent สะสมคอนเท็กซ์แยกกัน และสิ่งที่ agent ตัวหนึ่งสรุปเก็บไว้เมื่อวาน วันนี้ agent บนอุปกรณ์อื่นกลับไม่รู้ จึงทำสิ่งนี้ขึ้นมา

แนวคิดหลักคือ "สมองร่วม (shared brain) ที่หลาย agent ใช้ร่วมกัน"

เมื่อหลาย agent แชร์โฟลเดอร์เดียวกัน (เช่น ./shared) วิกิ, ไฟล์ความทรงจำ, เอกสารแผนงาน และอาร์ติแฟกต์ของงานทั้งหมดจะถูกรวมอยู่ในสมองร่วมเดียวกัน Agent ตัวหนึ่งที่เขียนบันทึกการตัดสินใจไว้ Agent บนอุปกรณ์/เซสชันอื่นก็สามารถอ่านต่อได้ทันที และยังติดตามได้ว่าใคร เปลี่ยนอะไร จากอุปกรณ์ไหน เมื่อไร

กรณีการใช้งาน:

  • คอนเท็กซ์เกี่ยวกับปัญหาลูกค้าที่ Support agent และ Engineering agent ใช้ร่วมกัน
  • แชร์การเปลี่ยนแปลงไฟล์/โฟลเดอร์ระหว่าง Mac mini และ Macbook
  • วิกิของบริษัท (company brain) ที่สมาชิกทีมแต่ละคนค่อย ๆ สร้างร่วมกันจาก agent ของตัวเอง

sfs สามารถเมานต์โฟลเดอร์ใดก็ได้ให้เป็นซิงก์วอลุ่ม:

$ sfs mnt ./shared --remote s3://my-bucket/workspace  

ไฟล์ในโฟลเดอร์ที่เมานต์แล้วเป็นไฟล์จริงบนดิสก์ตามปกติ ดังนั้นทุก editor/tool/agent จึงใช้งานได้ทันทีโดยไม่ต้องมีการอินทิเกรตเพิ่มเติม หากเมานต์ remote เดียวกันบนอุปกรณ์อื่น ไฟล์ชุดเดียวกันก็จะตามไปด้วย

ตอนแรกก็คิดว่าใช้ Google Drive ธรรมดาก็น่าจะพอ แต่พอลองใช้เป็น workspace สำหรับ agent จริง ๆ ก็พบปัญหาดังนี้:

  • Google Drive มักออฟโหลดไฟล์โลคัลออกเป็นระยะเพื่อประหยัดดิสก์ ทำให้บ่อยครั้งที่ agent ต้องดาวน์โหลดกลับจากคลาวด์ใหม่ทุกครั้งที่จะอ่านไฟล์
  • เป็นการเมานต์แบบสตรีมมิง จึงเกิดกรณีที่ Claude ถูกบล็อกระหว่างโหลดไฟล์บ่อยครั้ง
  • ตั้งแต่ต้นก็ไม่ได้เป็นเครื่องมือที่ออกแบบมาสำหรับเวิร์กโฟลว์ของ AI agent (ตั้งสมมติฐานว่าคนจะคลิกใช้งานผ่าน GUI)

sfs เก็บทุกไฟล์ไว้เป็นไฟล์จริงบนดิสก์โลคัลเสมอ (ไม่มีการออฟโหลด) และซิงก์อยู่เบื้องหลัง ทำให้ agent อ่านและเขียนได้ทันทีเหมือนไฟล์ทั่วไป

คุณสมบัติหลัก:

  • การเชื่อมต่อกับคลาวด์สตอเรจ: S3, GCS
  • การติดตามการเปลี่ยนแปลง: ใช้ sfs log เพื่อตรวจสอบว่าใคร/เมื่อไร/จากอุปกรณ์ไหน เปลี่ยนไฟล์อะไร และเพราะใช้การจัดเก็บแบบอ้างอิงตามคอนเทนต์ เนื้อหาของไฟล์ที่ถูกเขียนทับ/ลบก็ยังคงถูกเก็บไว้
  • ออฟไลน์ก่อน: ใช้โฟลเดอร์ได้เต็มรูปแบบแม้ไม่มีเครือข่าย และจะ push อัตโนมัติเมื่อกลับมาเชื่อมต่อ
  • ปลอดภัยเมื่อมีคอนฟลิกต์: การแก้ไขพร้อมกันจะถูก replay แบบกำหนดผลแน่นอนตามลำดับ (lamport, time, device)
  • macOS, Linux

การติดตั้ง:

brew install runbear-io/tap/sfs  

ตอนนี้ยังเป็นเวอร์ชันช่วงต้น ยินดีรับ feedback/issue ครับ/ค่ะ ขอบคุณครับ/ค่ะ!

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น