قابلیت‌ها، مجوزها و دروازه‌های تأیید در تیم‌های توسعه‌دهنده هوش مصنوعی

بسیاری از ابزارهای هوش مصنوعی یک راه میان‌بر ارائه می‌دهند.

شما یک ابزار یا یک ادغام (integration) را متصل می‌کنید. رابط کاربری اعلام می‌کند که عامل (agent) اکنون می‌تواند با فایل‌ها، وظایف یا دستورات کار کند.

برای تیم‌های جدی، این کافی نیست.

توانایی فنی با مجوز یکسان نیست. یک اقدام ممکن است از نظر فنی امکان‌پذیر باشد اما همچنان به تصمیم انسانی نیاز داشته باشد.

NexFlow این سه لایه را از هم جدا می‌کند:

• قابلیت (Capability): یک بازیگر (actor) از نظر فنی چه کاری می‌تواند انجام دهد؟ • مجوز (Permission): آیا به یک سوژه خاص اجازه استفاده از آن قابلیت داده شده است؟ • دروازه تأیید (Approval Gate): آیا آن اقدام نیاز دارد که ابتدا یک انسان به آن پاسخ مثبت دهد؟

اشتباه گرفتن این اصطلاحات منجر به ریسک‌های امنیتی می‌شود.

یک مهارت (skill) یک نقش را توصیف می‌کند، مانند نوشتن مستندات. یک قابلیت (capability) یک اقدام را توصیف می‌کند، مانند create_pull_request. یک مجوز (permission) یک سیاست (policy) است، مانند اجازه دادن (allow) یا رد کردن (deny). یک دروازه تأیید (approval gate) شخص یا سیستمی است که باید یک اقدام محدودشده را تأیید کند.

یک عامل ممکن است مهارت بازبینی کد را داشته باشد. یک ادغام ممکن است قابلیت ایجاد یک pull request را ارائه دهد. اما یک مجوز همچنان باید تصمیم بگیرد که آیا آن عامل خاص می‌تواند از آن ابزار استفاده کند یا خیر. سپس یک دروازه تأیید تصمیم می‌گیرد که آیا یک انسان باید آن را بازبینی کند یا خیر.

این تمایز از پروژه شما محافظت می‌کند. این کار از مشکل «ابزار متصل‌شده» جلوگیری می‌کند، جایی که یک عامل بیش از آنچه مد نظر شماست، اختیار پیدا می‌کند.

NexFlow از یک مدل امنیتی محافظه‌کارانه استفاده می‌کند:

  • بررسی کنید که آیا بازیگر (actor) قابلیت اعلام‌شده را دارد یا خیر.
  • یافتن قوانین مجوز (permission rules).
  • یک رد صریح (explicit deny) قوی‌ترین قانون است.
  • وضعیت approval_required اقدام را تا زمانی که یک انسان آن را تأیید نکند، مسدود می‌کند.
  • یک اجازه (allow) تنها در محدوده تعریف‌شده عمل می‌کند.
  • اگر مجوزی وجود ندارد، اقدام را رد کنید.

این بروکراسی نیست؛ بلکه ریسک را قابل مشاهده می‌کند. شما می‌توانید سیاست‌های خود را پیش از اجرای حتی یک عامل، بازبینی کنید.

شما می‌توانید مشاهده کنید:

  • کدام قابلیت‌های پرریسک وجود دارند.
  • چه کسی می‌تواند مخزن (repository) شما را بخواند.
  • چه کسی می‌تواند در فایل‌ها بنویسد.
  • کجا یک انسان باید مانع یک اقدام شود.

اینکه یک عامل چه کاری می‌تواند انجام دهد کافی نیست. آنچه اهمیت دارد این است که پروژه شما به آن‌ها اجازه انجام چه کاری را می‌دهد.

Source: https://dev.to/alexander_iwizard/capabilities-permissions-and-approval-gates-in-ai-developer-teams-2cc4

Optional learning community: https://t.me/GyaanSetuAi