Copilot CLI เลือกโมเดล AI ในเครื่องได้แล้ว แถมแซนด์บ็อกซ์ GA: มีช่องไหนที่ยังต้องระวัง?
โดย Nokka (นก-กา) | 10 ตุลาคม 2026
บทความนี้เขียนโดย AI (deepseek-v4.1-flash) ผ่าน Hermes Agent ภายใต้การควบคุมและตรวจสอบคุณภาพโดยมนุษย์ · Nokka (นก-กา)
สองประกาศในวันเดียว ที่ตอบคำถามต่างกัน
วันที่ 7 ตุลาคม 2026 GitHub ประกาศสองเรื่องห่างกันไม่กี่ชั่วโมง เรื่องแรกตอบคำถามว่า "ฉันอยากใช้โมเดลที่รันในเครื่องตัวเองได้ไหม" เรื่องที่สองตอบคำถามว่า "ถ้าปล่อยให้เอเจนต์รันคำสั่งบนเครื่องฉัน มันจะทำอะไรได้บ้าง"[1][2]
สองเรื่องนี้ดูเหมือนไม่เกี่ยวกัน แต่พอมองรวมกันจะเห็นว่ามันกำลังแก้ปัญหาคนละด้านของเรื่องเดียวกัน คือการทำให้เอเจนต์ทำงานบนเครื่องของคุณได้อย่างที่คุณคุมได้จริง
เรื่องแรก: เลือกโมเดลจาก Ollama ใน CLI ได้โดยไม่ต้องออกจากหน้าจอ
ตั้งแต่เวอร์ชัน CLI 1.0.94-0 เป็นต้นไป คำสั่ง /model จะค้นหาโมเดลที่รองรับจาก Ollama ที่กำลังรันอยู่ในเครื่องของคุณ ปนไปกับโมเดลที่คุณตั้งค่าไว้เองและโมเดลคลาวด์ของ GitHub Copilot[1]
จุดที่ผมชอบคือการออกแบบไม่ให้มันตัดสินใจแทนคุณ การค้นหาเจอโมเดล ไม่ได้แปลว่าเพิ่มให้อัตโนมัติ
คุณต้องเลือกเอง ตรวจดูผู้ให้บริการกับปลายทางของมัน แล้วยืนยันอย่างใดอย่างหนึ่งระหว่าง "เพิ่มและใช้ในเซสชันนี้" กับ "เพิ่มไว้ก่อนโดยไม่สลับ" เมื่อเลือกแล้วก็ใช้ได้ในเซสชันปัจจุบันเลยโดยไม่ต้องรีสตาร์ต CLI[1]
ถ้าการเชื่อมต่อผู้ให้บริการมีปัญหาตัวเลือกจะแสดงคำอธิบายไว้ด้วย ช่วยให้รู้ว่าต้องไปแก้อะไร[1]
สามข้อที่ต้องรู้ก่อนใช้
- Ollama และโมเดลต้องติดตั้งไว้ก่อนแล้ว กระบวนการนี้ไม่ติดตั้ง runtime และไม่ดาวน์โหลดโมเดลให้[1]
- โมเดลต้องรองรับการเรียกใช้เครื่องมือและการสตรีม ถ้าไม่รองรับจะใช้ในเส้นทางนี้ไม่ได้[1]
- การเลือกโมเดลในเครื่องไม่ได้เปิดโหมดออฟไลน์ และไม่ได้ปิดการเก็บข้อมูลการใช้งานของ GitHub สองเรื่องนี้แยกกันคนละส่วน หน้า changelog เขียนไว้ตรง ๆ ว่าใน CLI โหมดออฟไลน์ยังต้องเลือกเองผ่านตัวแปรสภาพแวดล้อม
COPILOT_OFFLINE=true[1]
ผมเห็นว่าข้อที่ 3 นี้สำคัญกว่าที่คนมักคิด เพราะมีอีกประโยคต่อท้ายที่ควรอ่านให้ครบ
หน้า changelog ระบุว่า แม้อยู่ในโหมดออฟไลน์ ผู้ให้บริการแบบระยะไกลก็ยังรับพรอมป์และบริบทของโค้ดผ่านเครือข่ายได้[1] แปลว่าโหมดออฟไลน์ไม่ได้กันข้อมูลออกจากเครือข่ายโดยตัวมันเอง ถ้าคุณต้องการความมั่นใจเรื่องนี้จริง ต้องไปดูเอกสารการตั้งค่าผู้ให้บริการโดยตรง[1]
GitHub ยังประกาศว่าจะมี การเลือกเส้นทางอัจฉริยะ ที่จัดเส้นทางงานไปยังโมเดลในเครื่องด้วย แต่ยังไม่เปิดให้ใช้ตอนนี้[1]
เรื่องที่สอง: แซนด์บ็อกซ์ในเครื่องออกจากพรีวิวเป็น GA
ประกาศที่สองน่าสนใจกว่าสำหรับคนที่ทำงานกับเอเจนต์อัตโนมัติ เพราะมันตอบคำถามว่า เอเจนต์ที่รันคำสั่งบนเครื่องคุณจะแตะอะไรได้บ้าง
แซนด์บ็อกซ์ในเครื่องตอนนี้เป็น GA แล้วในสามที่ คือ Copilot CLI แอป Copilot และเซสชัน VS Code ที่ใช้ Agent Host[2]
หน้าที่ของมันคือจำกัดการเข้าถึงของคำสั่งที่ Copilot ริเริ่ม ทั้งไฟล์และไดเรกทอรี เครือข่าย ข้อมูลรับรอง และความสามารถอื่นของระบบ โดยอิงนโยบายที่นักพัฒนาหรือองค์กรกำหนด[2]
ตัวขับเคลื่อนเบื้องหลังคือ Microsoft eXecution Container ซึ่งย่อว่า MXC แนวคิดของมันคือแปลงนโยบายแซนด์บ็อกซ์ชุดเดียวกันให้เป็นกลไกควบคุมระดับระบบปฏิบัติการในแต่ละแพลตฟอร์ม ทั้ง Windows macOS และ Linux[2][4]
อะไรที่คุณกำหนดได้
เอกสารของ GitHub ระบุมิติที่ควบคุมได้ใน CLI ไว้หลายด้าน[3]
ไฟล์และไดเรกทอรี : ให้อ่านอย่างเดียว อ่านเขียน หรือปฏิเสธเส้นทาง เครือข่าย : คุมการออกอินเทอร์เน็ต เครือข่ายท้องถิ่น และอนุญาตหรือปฏิเสธโฮสต์รายตัว ข้อมูลรับรอง : เปิดหรือปิดการยืนยันตัวตนของ Git และ gh หรือปิดบังตัวแปรสภาพแวดล้อมเพิ่ม โปรเซสลูก : เลือกว่าจะให้ local MCP server และ language server รันในแซนด์บ็อกซ์ด้วยหรือไม่ คีย์เชนบน macOS : เลือกว่าให้เข้าถึงคีย์เชนของระบบจากในแซนด์บ็อกซ์ได้หรือไม่ ข้อยกเว้นรายคำสั่ง : อนุญาตหรือห้ามคำสั่งเดี่ยว ๆ ที่รันนอกแซนด์บ็อกซ์ เมื่อจำเป็นต้องใช้สิทธิ์มากกว่า จุดที่ออกแบบดีคือเรื่องข้อมูลรับรอง เครื่องมือที่อยู่ในแซนด์บ็อกซ์จะได้ค่าตัวแทนไปก่อน และมีพร็อกซีในเครื่องคอยส่งข้อมูลรับรองจริงให้เฉพาะปลายทาง HTTPS ที่ได้รับอนุมัติแล้วเท่านั้น[3] ผมอ่านว่าแนวคิดนี้ออกแบบมาเพื่อลดความเสียหายในกรณีที่เครื่องมือในแซนด์บ็อกซ์ถูกหลอกให้ส่งข้อมูลออกไป
อีกจุดที่มีค่าสำหรับองค์กรคือ การตั้งค่าที่ผู้ดูแลจัดการ ซึ่งบังคับใช้นโยบายที่นักพัฒนาแก้ให้อ่อนลงเองไม่ได้[2] และตัวแซนด์บ็อกซ์ ไม่คิดค่าใช้จ่ายเพิ่มสำหรับผู้ใช้ GitHub Copilot โดยถ้อยในเอกสารระบุถึงระดับที่นั่งแบบเสียค่าใช้จ่ายมาตรฐาน[2][3]
สามช่องที่เอกสารบอกเองว่ายังเหลืออยู่
นี่คือส่วนที่ผมคิดว่าควรอ่านก่อนวางใจ และเป็นส่วนที่เอกสารของ GitHub เขียนไว้ตรง ๆ ไม่ได้ปิด
หนึ่ง: ตัว CLI เองไม่ได้อยู่ในแซนด์บ็อกซ์
นี่คือข้อที่ควรอ่านช้า ๆ เพราะมันอธิบายขอบเขตของทั้งระบบ
เครื่องมือจัดการไฟล์ที่ติดมากับ CLI เป็นคำสั่งของตัว CLI เอง ไม่ใช่คำสั่งเปลือกอย่าง sed และมัน รันอยู่ในโปรเซสเดียวกับ CLI[3]
เพราะตัว CLI ไม่ได้อยู่ในแซนด์บ็อกซ์ แซนด์บ็อกซ์ระดับระบบปฏิบัติการจึง ไม่เห็นการทำงานกับไฟล์ที่เครื่องมือเหล่านั้นทำ และควบคุมมันไม่ได้[3]
แทนที่จะเป็นเช่นนั้น เครื่องมือเหล่านั้นถูกเขียนให้ตรวจสอบนโยบายแซนด์บ็อกซ์ด้วยตัวเอง และทำตามการตั้งค่าของคุณ แบบ best-effort[3]
คำว่า best-effort ในที่นี้ไม่ใช่คำติ แต่เป็นการบอกขอบเขตว่า ความคุมนี้อยู่ในระดับซอฟต์แวร์ ไม่ได้มาจากกลไกของระบบปฏิบัติการที่บังคับได้เสมอ
สอง: remote MCP server ไม่ถูกแซนด์บ็อกซ์เลย
เอกสารระบุชัดว่า เลือกได้ว่า local MCP server และ language server จะรันในแซนด์บ็อกซ์ด้วยหรือไม่ แต่ remote MCP server นั้นไม่ถูกแซนด์บ็อกซ์เลย[3]
ถ้าคุณต่อ MCP ระยะไกลอยู่ ข้อจำกัดที่คุณตั้งไว้จะไม่คลุมเส้นทางนั้น
สาม: ระดับการแยกนั้นอยู่ปลายเบาของสเปกตรัม
เอกสารยอมรับเรื่องนี้เองว่า เทคโนโลยีการแยกมีอยู่เป็นสเปกตรัม ตั้งแต่การแยกแบบแข็งอย่างไฮเปอร์ไวเซอร์หรือคอนเทนเนอร์เต็มรูปแบบ ไปจนถึงการแยกแบบเบาอย่างการกักขังโปรเซสและไฟล์ของระบบปฏิบัติการ และแซนด์บ็อกซ์ในเครื่องตอนนี้ อยู่ปลายเบาของสเปกตรัมนั้น[3]
ความหมายตรง ๆ คือ มันจำกัดว่าหนึ่งโปรเซสอ่าน เขียน และเข้าถึงอะไรบนเครือข่ายได้ แต่มันไม่ได้รันคำสั่งของคุณในเครื่องเสมือนหรือคอนเทนเนอร์แยกต่างหาก[3]
ถ้าคุณต้องการแยกแบบแข็งกว่านี้ เอกสารก็บอกให้ไปประเมินเองว่าระดับนี้พอสำหรับความเสี่ยงของคุณหรือไม่[3]
ผมอ่านว่าสามข้อนี้ไม่ได้ทำให้ตัวฟีเจอร์เสียหาย เพราะการเขียนขอบเขตไว้ตรง ๆ ดีกว่าปล่อยให้ผู้ใช้เข้าใจผิดว่าคุมได้ครบ
มุมที่ควรคิดถึงคือ เรื่องนี้ไม่เกี่ยวกับโมเดล
มีประโยคหนึ่งในประกาศที่ผมคิดว่าคนอ่านข้ามบ่อย แต่มีผลกับวิธีคิดเรื่องความปลอดภัยของระบบมาก คือ การรันโมเดลและการแยกเครื่องมือเป็นสองเรื่องแยกกัน นโยบายแซนด์บ็อกซ์ใช้กับการรันเครื่องมือ ไม่ว่า Copilot จะใช้โมเดลตัวไหน[2]
พูดอีกแบบคือ ต่อให้คุณสลับไปใช้โมเดลในเครื่องของคุณเองทั้งหมด คุณยังอยู่ภายใต้นโยบายแซนด์บ็อกซ์เดิม และในทางกลับกัน การมีแซนด์บ็อกซ์ที่ดีก็ได้มาจากนโยบาย ไม่ใช่จากตัวโมเดล
ในมุมมองของผม นี่คือประโยคที่ควรจำที่สุดในสองประกาศนี้ เพราะมันแยกความกังวลสองเรื่องที่คนมักจับมารวมกัน
ถ้าคุณจะเริ่มใช้ คู่มือสั้น ๆ
- อัปเดต CLI เป็น 1.0.94-0 หรือใหม่กว่า จึงจะเห็นคำสั่ง
/modelค้นหาโมเดลในเครื่องได้[1] - ติดตั้ง Ollama และดึงโมเดลที่รองรับการเรียกใช้เครื่องมือมาก่อน ระบบจะไม่ทำให้[1]
- ตรวจว่านโยบายแซนด์บ็อกซ์ของคุณคลุมเส้นทางที่คุณใช้จริงไหม โดยเฉพาะถ้าคุณพึ่ง remote MCP server เพราะเส้นทางนั้นอยู่นอกขอบเขตแซนด์บ็อกซ์[3]
- อย่าถือว่าโหมดออฟไลน์กันข้อมูลออกจากเครือข่ายให้อัตโนมัติ ดูการตั้งค่าผู้ให้บริการของคุณประกอบ[1]
ใครควรอ่านเรื่องนี้
ถ้าคุณเป็นนักพัฒนาที่อยากลองโมเดลในเครื่องแต่ไม่อยากออกจาก CLI ที่ใช้อยู่ ทั้งสองประกาศนี้ทำให้เส้นทางนั้นสั้นลงมาก
ถ้าคุณเป็นคนที่ต้องอนุมัติให้ทีมใช้เอเจนต์ในองค์กร ประกาศที่สองคืออันที่ควรอ่านละเอียด เพราะมันให้ทั้งเครื่องมือบังคับใช้นโยบายและคำอธิบายขอบเขตของมันไว้พร้อมกัน ซึ่งผมเห็นว่าหายาก เพราะผู้ผลิตมักเขียนแค่ส่วนที่ทำได้
ถ้าทีมของคุณใช้เอเจนต์รันคำสั่งบนเครื่องนักพัฒนา คุณรู้หรือยังว่าตอนนี้มันแตะอะไรได้บ้าง และใครเป็นคนกำหนดขอบเขตนั้น?
แหล่งอ้างอิง
[1] GitHub, "Discover local models in GitHub Copilot CLI", github.blog changelog, 7 ตุลาคม 2026. https://github.blog/changelog/2026-10-07-discover-local-models-in-github-copilot-cli
[2] GitHub, "Local sandboxing for GitHub Copilot now generally available", github.blog changelog, 7 ตุลาคม 2026. https://github.blog/changelog/2026-10-07-local-sandboxing-for-github-copilot-now-generally-available
[3] GitHub, "About cloud and local sandboxes for GitHub Copilot", GitHub Docs, 2026. https://docs.github.com/copilot/concepts/security-governance-and-network-settings/about-cloud-and-local-sandboxes
[4] Microsoft, "mxc (Microsoft eXecution Container)", GitHub repository, 2026. https://github.com/microsoft/mxc
![Why Object.keys(user) Returns string[], Not (keyof User)[]: TypeScript Means It](https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2q4w48b9bzs43tynyhsf.png)
