ขีดความสามารถ (Capabilities), การอนุญาต (Permissions) และด่านอนุมัติ (Approval Gates) ในทีมพัฒนา AI
เครื่องมือ AI หลายอย่างเสนอทางลัด
คุณเชื่อมต่อเครื่องมือหรือการรวมระบบ (integration) อินเทอร์เฟซจะระบุว่าเอเจนต์ (agent) สามารถทำงานกับไฟล์ งาน หรือคำสั่งได้แล้ว
สำหรับทีมที่ทำงานอย่างจริงจัง แค่นี้ยังไม่พอ
ความสามารถทางเทคนิคไม่เหมือนกับการได้รับอนุญาต การดำเนินการบางอย่างอาจทำได้ในทางเทคนิค แต่ยังคงต้องมีการตัดสินใจจากมนุษย์
NexFlow แยกสามเลเยอร์นี้ออกจากกัน:
• Capability: ในทางเทคนิคแล้ว ผู้กระทำ (actor) สามารถทำอะไรได้บ้าง? • Permission: หัวข้อหรือบุคคลที่ระบุได้รับอนุญาตให้ใช้ความสามารถนั้นหรือไม่? • Approval Gate: การดำเนินการนั้นจำเป็นต้องให้มนุษย์ตอบตกลงก่อนหรือไม่?
การสับสนในคำศัพท์เหล่านี้จะนำไปสู่ความเสี่ยงด้านความปลอดภัย
Skill (ทักษะ) อธิบายถึงบทบาท เช่น การเขียนเอกสาร
Capability (ขีดความสามารถ) อธิบายถึงการกระทำ เช่น create_pull_request
Permission (การอนุญาต) คือนโยบาย เช่น allow หรือ deny
Approval Gate (ด่านอนุมัติ) คือบุคคลหรือระบบที่ต้องอนุมัติการดำเนินการที่มีการควบคุมไว้
เอเจนต์อาจมีทักษะในการรีวิวโค้ด การรวมระบบอาจมอบขีดความสามารถในการสร้าง pull request แต่การอนุญาตยังคงต้องเป็นตัวตัดสินว่าเอเจนต์เฉพาะเจาะจงนั้นสามารถใช้เครื่องมือนั้นได้หรือไม่ จากนั้นด่านอนุมัติจะเป็นตัวตัดสินว่าต้องให้มนุษย์ตรวจสอบหรือไม่
การแยกแยะนี้ช่วยปกป้องโปรเจกต์ของคุณ ช่วยหยุดปัญหา "connected tool" ที่เอเจนต์ได้รับอำนาจมากกว่าที่คุณตั้งใจไว้
NexFlow ใช้โมเดลความปลอดภัยแบบระมัดระวัง (conservative security model):
- ตรวจสอบว่าผู้กระทำมีขีดความสามารถที่ประกาศไว้หรือไม่
- ค้นหากฎการอนุญาต (permission rules)
- การปฏิเสธอย่างชัดเจน (explicit deny) คือกฎที่เข้มงวดที่สุด
- สถานะ
approval_requiredจะระงับการดำเนินการจนกว่ามนุษย์จะอนุมัติ - การอนุญาต (allow) จะทำงานภายใต้ขอบเขตที่กำหนดไว้เท่านั้น
- หากไม่มีการอนุญาต ให้ปฏิเสธการดำเนินการ
นี่ไม่ใช่ระบบราชการ แต่มันทำให้ความเสี่ยงมองเห็นได้ชัดเจน คุณสามารถตรวจสอบนโยบายของคุณได้ก่อนที่จะเริ่มรันเอเจนต์แม้แต่ตัวเดียว
คุณสามารถเห็นได้ว่า:
- มีขีดความสามารถที่มีความเสี่ยงใดอยู่บ้าง
- ใครสามารถอ่าน repository ของคุณได้
- ใครสามารถเขียนไฟล์ได้
- จุดไหนที่มนุษย์ต้องหยุดการดำเนินการ
สิ่งที่เอเจนต์ทำได้นั้นยังไม่พอ สิ่งที่สำคัญคือโปรเจกต์ของคุณอนุญาตให้พวกเขาทำอะไรได้บ้างต่างหาก
Optional learning community: https://t.me/GyaanSetuAi
