โต๊ะทำงานมืดมีจอโค้ด ข้างตู้กุญแจสิทธิ์ที่ล็อกด้วยแม่กุญแจสีอำพัน และแขนหุ่นยนต์รออยู่หลังรั้วเตี้ย

VS Code 1.142: Shared Canvases + สิทธิ์ Agent ใหม่ องค์กรคุมได้

น้องกายEngineering

ใน VS Code 1.142 Microsoft เพิ่มฟีเจอร์ shared canvases สำหรับ agent workflows ซึ่งช่วยให้เราทำงานร่วมกับ AI Agent แบบเห็นภาพและแก้ไข artifact เดียวกันได้โดยตรง ไม่ใช่แค่พิมพ์คุยในแชทอย่างเดียว https://code.visualstudio.com/updates/v1_142

เรื่องนี้สำคัญมากสำหรับทีมพัฒนาไทย โดยเฉพาะบริษัทที่เริ่มให้เด็กฝึกงานหรือ junior dev ใช้ Copilot Agent กับโค้ดจริงของบริษัท เพราะตอนนี้ผู้ดูแลระบบ (admin) สามารถตั้งนโยบายควบคุมสิทธิ์ sandboxing และ permission modes ได้ละเอียดขึ้น ช่วยลดความเสี่ยงที่ AI จะแก้ไขไฟล์ผิดพลาดหรือรันคำสั่งอันตรายโดยไม่ตั้งใจ

ผมเพิ่งอ่าน release notes กับเอกสาร permissions มาแบบละเอียดเลยครับ วันนี้จะเล่าให้ฟังแบบเข้าใจง่าย ๆ ว่ามันเปลี่ยนอะไรบ้าง โดยเฉพาะเรื่องความปลอดภัยที่หลายบริษัทกำลังกังวล

สรุป 30 วินาที: เกิดอะไรขึ้น

VS Code 1.142 เปิดตัว Canvases (Preview) ที่เปิดข้างแชทเพื่อให้ agent กับเราทำงานบน Kanban board หรือ artifact อื่น ๆ ร่วมกันได้แบบ interactive https://code.visualstudio.com/updates/v1_142 พร้อมฟีเจอร์ย้ายแชทไป folder หรือ Git worktree ใหม่โดยไม่เสีย conversation history

ส่วนสำคัญที่สุดคือ enterprise management ที่ให้ admin ควบคุม agent sandboxing, permission policies และซ่อน permission modes บางตัว เช่น Assisted permissions หรือ Allow all ได้ https://code.visualstudio.com/docs/agents/run/approvals Copilot harness กลายเป็น default สำหรับ session ใหม่ตาม feedback ผู้ใช้จำนวนมาก https://code.visualstudio.com/docs/agents/run/agent-harnesses

PR #339596 ยังทำให้ canvases ใช้งานได้ทั้งใน Editor window และ Agents window ด้วย https://github.com/microsoft/vscode/pull/339596

ทำไมเรื่องนี้เกี่ยวกับคุณ

ถ้าคุณเป็น programmer ที่ใช้ VS Code ทุกวัน การได้ shared canvases แปลว่าคุณไม่ต้องมานั่งอธิบายงานให้ AI เป็นยาว ๆ อีกต่อไป แค่เปิด canvas แล้วลากการ์ด มันก็ช่วยอัปเดตสถานะให้อัตโนมัติ

สำหรับเจ้าของบริษัทหรือ IT admin ในไทยที่กำลังนำ AI Agent เข้ามาใช้กับทีม เรื่องนี้สำคัญมาก เพราะก่อนหน้านี้การให้สิทธิ์ agent มันเสี่ยงเหมือนให้เด็กฝึกงานถือกุญแจห้องเซิร์ฟเวอร์ทั้งตึก ตั้งแต่เปิดสิทธิ์ครั้งแรกก็อาจแก้โค้ด production หรือรันคำสั่งลบไฟล์โดยไม่ตั้งใจ

ตอนนี้ admin สามารถตั้ง defaultMode และล็อกไม่ให้ใช้ Assisted permissions หรือ Allow all ได้ ทำให้มั่นใจมากขึ้นว่าทุกคนในทีมใช้ AI อย่างปลอดภัย

ทำงานยังไง

Canvases เป็น interactive interface ที่เปิดข้างแชท เรากับ agent สามารถแก้ไข artifact เดียวกันได้พร้อมกัน เช่น ใช้ Kanban canvas วางแผนงาน Agent สามารถแตก feature เป็น task อัปเดตสถานะการ์ด หรือเพิ่มงานใหม่ที่ค้นพบได้ https://code.visualstudio.com/updates/v1_142

ต้องเปิด setting chat.canvases.enabled แล้วเริ่ม session ด้วย Copilot harness จึงจะใช้งานได้ (Preview) Canvas แต่ละตัวมาจาก canvas extension สามารถสร้างด้วยคำสั่ง /create-canvas ในแชท หรือติดตั้งจาก GitHub Copilot app

ส่วน permission levels มี 3 แบบหลักใน Copilot harness:

  • Manual permissions (default): ใช้กฎ approval ที่เราตั้ง ต้องกดยืนยันทุกครั้งที่ไม่ใช่ auto-approve
  • Assisted permissions: ให้ LLM judge ตัดสินว่าควรอนุมัติอัตโนมัติหรือไม่ (ต้องเปิด chat.assistedPermissions.enabled)
  • Allow all: อนุมัติทุกอย่างโดยไม่ถาม (อันตรายมาก)

Sandboxing ทำงานแยกจาก permission level แม้เลือก Allow all ถ้าเปิด sandbox ก็ยังจำกัดไฟล์และเน็ตเวิร์กที่ terminal command เข้าไปแตะได้ https://code.visualstudio.com/docs/agents/run/approvals

อนาล็อกไทย: เหมือนร้านข้าวตามสั่งที่ให้เด็กฝึกงานไปซื้อของที่ตลาดนัด ถ้าเราให้ “กุญแจรถมอเตอร์ไซค์” (Allow all) มันอาจซื้อของแพงเกินหรือไปตลาดผิด แต่ถ้าเรา “ตั้งสิทธิ์ก่อนให้กุญแจ” (Manual + sandbox) มันก็จะไปได้เฉพาะแผงที่เราอนุมัติ และซื้อได้แค่ในงบที่กำหนด

Move chat ทำงานโดยให้ agent ย้าย session ไป folder หรือ worktree ใหม่โดยอัตโนมัติ พร้อมเก็บ history ไว้ครบ https://code.visualstudio.com/updates/v1_142

จุดหักมุม: Assisted permissions ไม่ใช่คำตอบสุดท้าย

หลายคนอาจคิดว่า Assisted permissions คือโหมดอัจฉริยะที่ใช้ LLM ช่วยตัดสิน แต่จริง ๆ แล้วมันยังมีโอกาสตัดสินผิดได้ และครั้งแรกที่เลือกจะมี warning dialog ให้ยืนยัน https://code.visualstudio.com/docs/agents/run/approvals

ที่สำคัญคือ sandbox ยังไม่ครอบคลุมทุก tool ดังนั้นแม้เปิด sandbox ไว้เต็มที่ ถ้าเราเปิด URL approval หรือ tool อื่นแบบ Allow all เอเจนต์ก็ยังอาจดึงข้อมูลจากเว็บอันตรายหรือถูก prompt injection ได้

เรื่องเงิน / ผลกระทบ

สำหรับบริษัทไทยที่ใช้ GitHub Copilot Enterprise ฟีเจอร์นี้ช่วยลดความเสี่ยงจาก human error ได้เยอะ โดยเฉพาะทีมที่มี junior dev หรือ intern ใช้ agent เป็นประจำ ไม่ต้องมาคอยนั่ง approve ทุกคำสั่ง แต่ก็ยังควบคุมได้ผ่าน policy

Autopilot mode ใช้ AI credit เหมือน interactive chat ทั่วไป https://code.visualstudio.com/docs/agents/run/approvals ส่วน Local harness กับ Windows sandboxing ถูกเลิกสนับสนุนแล้ว ต้องย้ายไปใช้ Agent Host แทน

ทีมพัฒนาที่ใช้ canvas อาจทำงานเร็วขึ้นเพราะเห็นภาพแผนงานชัดเจน ลดการสื่อสารผิดพลาดระหว่างคนกับ AI

ข้อมูลที่ยังไม่ชัด และจุดที่แหล่งข่าวพูดไม่ตรงกัน

Release notes บอกว่า canvases ใช้ได้กับ local sessions ที่ใช้ Copilot harness https://code.visualstudio.com/updates/v1_142 แต่ PR #339596 ระบุชัดว่าเป็น desktop เท่านั้น และยังไม่รองรับ web/remote หรือ auxiliary windows https://github.com/microsoft/vscode/pull/339596

เอกสาร approvals ระบุว่า organization สามารถซ่อน Assisted permissions หรือ Allow all ได้ แต่ไม่ได้บอกชัดเจนว่าต้องตั้งอย่างไรใน GHE.com หรือ Microsoft Endpoint Manager สำหรับลูกค้าไทย

Sandboxing ถูกบอกว่า “independent of permission level” แต่ก็ย้ำว่า “doesn’t cover every tool” ทำให้ยังมีความเสี่ยงเหลืออยู่ ซึ่งทั้ง 4 แหล่งข่าวยอมรับตรงกันแต่ไม่ได้ให้ตัวเลขความเสี่ยงชัดเจน

ราคาและกำหนดการ rollout ไปยัง VS Code Stable ในไทยยังไม่ระบุ (ใช้ Insiders ก่อนได้)

แล้วเราควรทำอะไร

สำหรับ programmer ทั่วไป:

  1. อัปเดต VS Code เป็น 1.142 หรือสูงกว่า
  2. เปิด chat.canvases.enabled แล้วลองสร้าง session ด้วย Copilot harness
  3. เริ่มด้วย Manual permissions ก่อน อย่าเพิ่งกด Allow all
  4. ใช้คำสั่ง /create-canvas ทดลองทำ Kanban ง่าย ๆ

สำหรับ IT admin / บริษัท:

  1. ตั้ง chat.permissions.default เป็น Manual permissions
  2. ใช้ enterprise policy ซ่อน Assisted permissions และ Allow all
  3. เปิด sandboxing (chat.agent.sandbox.enabled) สำหรับทุก session
  4. กำหนด chat.tools.terminal.autoApprove และ chat.tools.urls.autoApprove ให้จำกัดเฉพาะ domain ที่เชื่อถือได้
  5. ทดสอบกับ dev environment ก่อนปล่อยให้ทีม production ใช้

สำหรับทีม security:

  1. รีวิว tool approvals ผ่าน Command Palette: Chat: Manage Tool Approval
  2. ตั้งกฎ deny สำหรับคำสั่งอันตราย เช่น rm, del, หรือคำสั่งที่มีคำว่า dangerous
  3. อบรมทีมเรื่องการอ่าน approval dialog ทุกครั้งก่อนกด Approve

ผมมองว่า…

ผมมองว่า VS Code 1.142 ก้าวหน้าดีมากในเรื่องการทำให้ AI Agent ใช้งานได้จริง แต่ไม่ใช่การทำให้มันปลอดภัย 100% แต่คือการให้เครื่องมือควบคุมที่ดีขึ้น ให้ admin อย่างเราได้ตั้งกฎก่อนปล่อยให้ทุกคนใช้ เหมือนการให้กุญแจบ้านแต่ติดระบบล็อกนิ้วมือแทนที่จะให้กุญแจดอกเดียวกับเด็กฝึกงานทั้งบริษัท

ถ้าไม่ใช้สิทธิ์ควบคุมพวกนี้ ผมว่าเสี่ยงเกินไปสำหรับบริษัทไทยส่วนใหญ่

ปิดท้าย: สิ่งที่ต้องจับตา

  • การ rollout canvas extensions จาก community ว่าจะมีตัวไหนที่คนไทยใช้กันเยอะ
  • ว่า Microsoft จะเพิ่ม policy สำหรับ Assisted permissions แบบละเอียดยิ่งขึ้นในเวอร์ชันถัดไปหรือไม่
  • ความเสถียรของ Agent Host เมื่อย้าย chat ไป worktree บ่อย ๆ
  • ว่าไทยจะมีราคา Copilot Enterprise ที่เอื้อมถึงสำหรับ SME มากกว่านี้หรือเปล่า

Recap

  • อัปเดต VS Code เป็น 1.142 แล้วหรือยัง
  • เปิด chat.canvases.enabled และลองใช้ Kanban canvas กับ agent
  • ตั้ง permission default เป็น Manual permissions
  • เปิด sandboxing สำหรับ terminal commands
  • รีวิวและจำกัด tool approvals + URL approvals
  • ถ้าเป็น admin ให้ซ่อน Allow all และ Assisted permissions ผ่าน policy
  • ทดสอบกับ dev workspace ก่อนใช้จริงกับ production code
  • อบรมทีมเรื่องอ่าน approval dialog ทุกครั้งก่อนกดยืนยัน