- ด้วยการทำงานร่วมกันของ NanoClaw และ Docker ทำให้สามารถรัน AI agent แต่ละตัวใน Docker sandbox ที่แยกขาดจากกัน ได้ด้วยคำสั่งเพียงบรรทัดเดียว
- แต่ละ agent ทำงานอยู่ใน คอนเทนเนอร์อิสระภายใน micro VM และมีสภาพแวดล้อมที่แยกอย่างสมบูรณ์โดยไม่เข้าถึงระบบโฮสต์
- ผ่าน โครงสร้างขอบเขตความปลอดภัยแบบสองชั้น ทำให้แม้จะเกิดการแหกคอนเทนเนอร์ ก็ยังถูกสกัดที่ชั้น VM จึงปกป้องไฟล์ ข้อมูลรับรอง และแอปพลิเคชันบนโฮสต์ได้
- โมเดลความปลอดภัยของ NanoClaw เป็น การออกแบบบนสมมติฐานว่าไม่ไว้วางใจ โดยถือว่า agent เป็นผู้กระทำที่อาจเป็นอันตรายได้ และใช้โครงสร้างที่ลดความเสียหายให้เหลือน้อยที่สุด
- ในอนาคตมีเป้าหมายจะขยายความสามารถสำหรับการบริหารทีม agent ขนาดใหญ่ เช่น การควบคุมการแชร์คอนเท็กซ์, agent แบบถาวร, นโยบายสิทธิ์แบบละเอียด, และขั้นตอนการอนุมัติโดยมนุษย์
ภาพรวมการผสานรวม Docker Sandbox
- NanoClaw รองรับ การรัน sandbox ด้วยคำสั่งเพียงบรรทัดเดียว ผ่านความร่วมมือกับ Docker
- รองรับบน macOS (Apple Silicon) และ Windows (WSL) โดย Linux จะตามมาในเร็ว ๆ นี้
- สคริปต์ติดตั้งจะจัดการ การโคลน การตั้งค่า และการกำหนดค่า sandbox ให้อัตโนมัติ
- แต่ละ agent จะรันอยู่ใน คอนเทนเนอร์อิสระภายใน micro VM
- ไม่ต้องใช้ฮาร์ดแวร์แยกหรือการตั้งค่าที่ซับซ้อน
- แต่ละคอนเทนเนอร์มีเคอร์เนลและ Docker daemon ของตัวเอง และถูกปิดกั้นการเข้าถึงโฮสต์
วิธีการทำงาน
- Docker sandbox มอบ การแยกระดับ hypervisor พร้อมความเร็วในการเริ่มต้นที่เร็วระดับมิลลิวินาที
- NanoClaw สามารถแมปเข้ากับโครงสร้างนี้ได้อย่างเป็นธรรมชาติ
- แต่ละ agent มี filesystem, context, tools และ session ที่แยกจากกัน
- ตัวอย่างเช่น agent ฝ่ายการขายไม่สามารถเข้าถึงข้อความส่วนตัวได้ และ agent ฝ่ายสนับสนุนไม่สามารถเข้าถึงข้อมูล CRM ได้
- ชั้น micro VM ทำหน้าที่เป็น ขอบเขตความปลอดภัยชั้นที่สอง
- แม้เกิดการแหกคอนเทนเนอร์ ก็ยังติดอยู่ที่กำแพง VM จึงช่วยปกป้องระบบโฮสต์
โมเดลความปลอดภัย: การออกแบบบนพื้นฐานของความไม่ไว้วางใจ
- NanoClaw ถูกออกแบบบนสมมติฐานของ โครงสร้างที่ไม่ไว้วางใจ AI agent
- คำนึงถึงความเสี่ยงที่คาดเดาไม่ได้ เช่น prompt injection และการทำงานผิดพลาดของโมเดล
- ออกแบบไม่ให้นำข้อมูลลับหรือข้อมูลรับรองใส่ไว้ในสภาพแวดล้อมของ agent
- ความปลอดภัยถูก บังคับใช้จากภายนอก agent โดยไม่ต้องพึ่งพาการทำงานที่ถูกต้องของมัน
- ต่างจาก OpenClaw ตรงที่ NanoClaw ให้ การแยกขาดระหว่าง agent อย่างสมบูรณ์
- OpenClaw ใช้สภาพแวดล้อมร่วมกัน ทำให้ข้อมูลส่วนตัวและข้อมูลงานอาจปะปนกันได้
- เน้นย้ำ หลักการวิศวกรรมความปลอดภัย ที่มอง agent ทั้งเป็นผู้ร่วมงานและเป็นผู้โจมตีที่อาจเกิดขึ้นได้
ทิศทางการพัฒนาต่อไป
- ชี้ให้เห็นถึงความจำเป็นในการสร้าง โครงสร้างพื้นฐานและชั้นรันไทม์ใหม่ สำหรับการบริหารทีม agent ขนาดใหญ่
- NanoClaw เชื่อมต่อกับหลายช่อง Slack ได้แล้ว จึงสามารถ ใช้งาน agent แยกตามหน้าที่งาน ได้
- ฟีเจอร์หลัก 4 อย่างที่เสนอเป็นก้าวถัดไป
- การแชร์คอนเท็กซ์แบบควบคุมได้: แชร์ข้อมูลได้อย่างอิสระภายในทีม และแชร์แบบเลือกได้ระหว่างทีม
- การสร้าง agent แบบถาวร: ไม่ใช่ sub-agent แบบใช้ครั้งเดียว แต่เป็นสมาชิกทีมที่มี ID, สภาพแวดล้อม และข้อมูลแบบถาวร
- นโยบายสิทธิ์แบบละเอียด: เช่น อนุญาตให้อ่านอีเมลอย่างเดียว จำกัดการเข้าถึงบาง repository หรือกำหนดเพดานการใช้จ่าย
- ขั้นตอนการอนุมัติโดยมนุษย์: งานที่ย้อนกลับไม่ได้จะถูก ดำเนินการหลังผ่านการตรวจสอบโดยมนุษย์
- NanoClaw ถูกนำเสนอเป็น ชั้นรันไทม์และ orchestration ที่เน้นความปลอดภัย ส่วน Docker sandbox เป็น ฐานโครงสร้างพื้นฐานระดับองค์กร
- เป้าหมายคือการสร้างสแตกสำหรับรัน agent ที่ให้ การแยกพื้นฐาน การทำงานร่วมกันแบบควบคุมได้ และการมองเห็นกับธรรมาภิบาลในระดับองค์กร ไปพร้อมกัน
ภาพรวมของ NanoClaw
- NanoClaw คือ ชั้น runtime และ orchestration ด้านความปลอดภัยแบบโอเพนซอร์ส ที่รองรับการใช้งาน AI agent ในระดับทีม
- สามารถเข้าไปดูโปรเจกต์บน GitHub และร่วมสนับสนุนด้วยการกดดาว (star) ได้
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
ดูเหมือนเป็นรายละเอียดเล็กน้อย แต่ถ้า การตัดสินใจด้านการออกแบบแบบใหม่ บางอย่างแพร่กระจายไปทั่วทั้งวงการ ก็น่าจะนำไปสู่การเปลี่ยนแปลงเชิงนวัตกรรมได้
อย่างที่ Karpathy พูดไว้ แก่นสำคัญคือแทนที่จะลงมือทำอินทิเกรชันอย่าง Slack หรือ Discord โดยตรง ให้提供 สกิล(spec) สำหรับ “วิธีเขียนอินทิเกรชัน” แทน
อาจเรียกสิ่งนี้ว่า “Claude native development” ก็ได้ และดูเหมือนว่าระบบนิเวศจะย้ายจากเฟรมเวิร์กแบบ “batteries-included” ไปสู่แนวทาง “fork and customize”
แต่ก็ยังมีโจทย์ที่ต้องแก้อีกมาก เช่น จะกระจายสเปกอย่างการทดสอบ·การตรวจสอบความถูกต้อง·ความปลอดภัยอย่างไร
สงสัยเหมือนกันว่าการเปลี่ยนแปลงแบบนี้จะเกิดขึ้นในระดับ OS ได้หรือไม่ ถ้าแต่ละอินสแตนซ์มีระบบภูมิคุ้มกันที่แข็งแรง ก็อาจกลายเป็น ระบบนิเวศที่หลากหลาย ซึ่งทนทานต่อการโจมตีมากขึ้นได้
เวลาพูดถึงเครื่องมือความปลอดภัยหรือ sandboxing ต้องระบุ threat model ให้ชัดเสมอ
ความเสี่ยงคือ AI agent สามารถรันโค้ดตามอำเภอใจบนโฮสต์ที่มีข้อมูลลับอยู่ได้
ตัวอย่างเช่น การลบกล่องอีเมล การรั่วไหลของปฏิทิน หรือการโอนเงินผิด ล้วนป้องกันไม่ได้ด้วยแค่แซนด์บ็อกซ์อย่างเดียว
เพราะฉะนั้นนอกจาก sandboxing แล้ว ยังต้องมี การควบคุมสิทธิ์แบบละเอียดตามงานและตามเครื่องมือ ด้วย เช่น “คำขอนี้อ่าน Gmail ได้อย่างเดียว แต่เขียนหรือลบไม่ได้”
ชอบ NanoClaw มาก OpenClaw ซับซ้อนเกินไป แต่ NanoClaw กระชับกว่ามาก
นี่เป็นโปรเจ็กต์แรกที่ใช้ Claude Code เป็นอินเทอร์เฟซสำหรับตั้งค่า ซึ่งทั้งสนุกตอนเพิ่มฟีเจอร์และใช้งานได้ดี
โมเดลความปลอดภัยก็ไม่เข้ากับ สภาพแวดล้อม Kubernetes แบบ rootless ของผม เลยมีปัญหาตลอด
สุดท้ายเลยย้ายไป Nullclaw แทน ได้เรียนรู้ภาษา Zig ไปพร้อมกับดีบักด้วย เลยน่าสนใจในแง่การเรียนรู้ด้วย
Docker sandbox คล้ายกับเฟรมเวิร์ก
containerของ Appleบน macOS มันเหมาะจะเป็น native runtime ที่เบากว่า Docker มาก
แต่บน Linux ผมไม่อยากใช้ไฮเปอร์ไวเซอร์ เพราะ Linux namespace อย่างเดียวก็แยกส่วนได้เพียงพอแล้ว
เลยสงสัยว่าทำไม OpenClaw หรือ NanoClaw ถึงไม่ปล่อย อิมเมจ Docker ทางการ ที่จัดมาอย่างถูกต้อง
ถึง Container จะมี บั๊กด้านเครือข่าย อยู่บ้าง แต่ก็คุ้มค่า แค่แก้ค่า DNS ก็พอ
ผมชอบที่ไม่ต้องติดตั้ง Claude Code หรือ Node.js ไว้บนโฮสต์
สิ่งที่สำคัญกว่าจะเป็นคอนเทนเนอร์หรือไม่คือ คุณต้องการจะทำอะไร
ก่อนจะหาวิธีใช้โทเคนกับงานที่มีประโยชน์ได้ runtime ก็ยังเป็นเรื่องรอง
ในมุมความปลอดภัย แค่เอา LLM ใส่คอนเทนเนอร์ยังไม่พอ สิ่งสำคัญคือ ขอบเขตของข้อมูลที่เข้าถึงได้
ถ้า agent เข้าถึงข้อมูลทุกอย่างได้ นั่นแหละคือความเสี่ยงที่แท้จริง
หัวใจสำคัญคือสิทธิ์แบบละเอียดและการควบคุมนโยบาย
ไม่ใช่แค่ใช้เครื่องมืออะไรได้ แต่ต้องนิยามได้ด้วยว่า ทำอะไรได้บ้าง
เช่น อ่านอีเมลได้อย่างเดียว เข้าถึงได้เฉพาะรีโพซิทอรีบางตัว ตั้งวงเงินใช้จ่ายได้ ฯลฯ
แค่ Docker sandboxing อย่างเดียว ยังไม่พอจะมอบทรัพย์สินอ่อนไหวอย่างบัญชีแชตให้ LLM ดูแลอย่างสบายใจ
Docker sandbox จะเปิด MicroVM และ Docker daemon แบบเฉพาะ สำหรับแต่ละ agent พร้อมตั้งค่า egress proxy ที่ยืดหยุ่นมาด้วย
ผมลอง reverse engineer ดูแล้ว เป็น implementation ที่น่าสนใจทีเดียว
NanoClaw ไม่ใช่ผลิตภัณฑ์สำเร็จรูปที่พร้อมใช้ทันที
คุณต้องเพิ่มฟีเจอร์อย่าง iMessage เองผ่าน coding agent
พูดอีกอย่างคือ Claude ทำหน้าที่เหมือนคอมไพเลอร์
coding agent ตอนนี้ก็ยังอยู่ประมาณระดับนั้น คำพูดช่วงหลังที่ว่า “coding agent ดีขึ้นมากแล้ว” ค่อนข้างพูดเกินจริง
คุณยังต้องบอก Claude ซ้ำ ๆ ว่า “อันนั้นยังไม่แก้ กลับไปทำใหม่”
ผมกำลังทำอะไรที่คล้ายกับ “claws” อยู่
แต่แทนที่จะอินทิเกรตกับแอปส่งข้อความ จะใช้วิธีให้ TUI ที่เข้ารหัสแบบ end-to-end
ดูได้ที่ wingthing.ai / GitHub repository
ตอนนี้กำลังคิดเรื่องวิธีรองรับ Docker อยู่ เลยตั้งใจจะดูโปรเจ็กต์นี้ด้วย
อยากรู้ use case ที่ชัดเจนของ Nano/Open-Claw มันคือการมาดูแลชีวิตดิจิทัลของผมแทนหรือ?
ผมย้ายไปใช้ Apple Container แล้ว และเพิ่ม ฟังก์ชันหน่วยความจำระยะยาวบน LanceDB เข้าไปด้วย ตอนนี้เลยไม่ต้องพูดซ้ำเรื่องเดิมอีกแล้ว