پرش به محتوای اصلی
پرش به محتوای مقاله

کنترل اعتبار در لایه دیتابیس در برابر منطق برنامه

·۱۷ شهریور ۱۴۰۵۳ دقیقه مطالعه
راهنما
مسابقه شمارنده اعتبار که ۵۰ درخواست هوش مصنوعی را رد کرد.
مسابقه شمارنده اعتبار که ۵۰ درخواست هوش مصنوعی را رد کرد.
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

جایگزینی منطق Check-then-act در لایه برنامه با عملیات اتمیک در Postgres برای مدیریت اعتبار مدل‌های زبانی؛ راهکاری برای بستن شکاف زمانی ایجاد شده توسط تأخیر استنتاج LLM.

تصور کنید برنامه‌ای دارید که از مدل Claude استفاده می‌کند و یک کاربر با وجود داشتن تنها یک اعتبار، موفق می‌شود ۵۰ درخواست هم‌زمان ارسال کند. این سوءاستفاده گسترده به این دلیل رخ می‌دهد که سیستم ابتدا موجودی را چک می‌کند، اما تا زمان پایان فراخوانی مدل — که چندین ثانیه طول می‌کشد — شمارنده را به‌روز نمی‌کند.

بسیاری از قابلیت‌های هوش مصنوعی امروز برای مدیریت هزینه‌ها از سهمیه اعتبار ماهانه استفاده می‌کنند. وقتی این بررسی‌ها در لایه برنامه و نه در پایگاه‌داده انجام شود، یک وضعیت رقابتی (Race Condition) ایجاد می‌شود. برای توسعه‌دهنده‌ای که از Supabase و Postgres استفاده می‌کند، این یعنی کاربری که ۲۹ اعتبار از ۳۰ اعتبارش را مصرف کرده، می‌تواند با ارسال درخواست‌های هم‌زمان، به‌طور کامل از سد محدودیت عبور کند. این چالش دقیقاً همان نقطه‌ای است که بودجه‌بندی در سطح اجرا می‌تواند از صورت‌حساب‌های سنگین و پیش‌بینی‌نشده AI جلوگیری کند.

همان‌طور که در تحلیل‌های قبلی ما درباره امنیت زیرساخت‌های مدل‌های زبانی اشاره کردیم، اعتماد به لایه اپلیکیشن برای مدیریت منابع حساس، ریسک‌های مالی بالایی دارد. به همین دلیل، در ۸ سپتامبر ۲۰۲۶، توسعه‌دهنده این سیستم یک تابع سفارشی PL/pgSQL به نام reserve_ai_credit پیاده‌سازی کرد. این تابع با استفاده از دستور INSERT ... ON CONFLICT تمام نوشتن‌ها در ردیف مصرف کاربر را متوالی (Serialize) می‌کند. با افزودن شرط WHERE ai_usage.credits_used < p_limit مستقیماً به دستور به‌روزرسانی، پایگاه‌داده تضمین می‌کند که فقط درخواست‌های زیر سقف مجاز پردازش شوند.

جزئیات فنی پیاده‌سازی

  • رزرو اتمیک: سیستم اکنون پیش از هرگونه فراخوانی مدل، یک اعتبار را رزرو می‌کند.
  • مکانیزم بازگشت: طبق مستندات فنی، اگر فراخوانی Claude شکست بخورد یا پاسخ با ساختار موردنظر همخوانی نداشته باشد، تابع refund_ai_credit اعتبار را بازمی‌گرداند.
  • یکپارچگی با لبه: تابع لبه (Edge Function) در Supabase اکنون در صورتی که رزرو دیتابیس مقدار null برگرداند، بلافاصله خطای ۴۲۹ (Too Many Requests) صادر می‌کند.

به گزارش توسعه‌دهندگان، این پاک‌سازی منجر به کشف باگ‌های جانبی دیگری شد؛ از جمله فیلدهای متنی بدون محدودیت که رشته‌های بسیار طولانی را به پرامپت‌ها می‌فرستادند و یک نقطه انتهایی (Endpoint) اشتراک که به‌جای نمایش صفحه پرداخت، کاربران را با خطای ۴۰۱ از سیستم خارج می‌کرد. این رویکرد سخت‌گیرانه در کنترل کیفیت، یادآور گردش‌کار جامع محمد صالح برای حذف تاییدات صوری کد است که بر دقت در هر مرحله از اجرا تاکید دارد.

این تغییر، فرض بنیادی مدیریت سهمیه در هوش مصنوعی را عوض می‌کند. برخورد با بررسی اعتبار به‌عنوان یک منطق ساده در برنامه، در واقع شبیه به یک «پیشنهاد مودبانه» است که منجر به صورت‌حساب‌های غیرمنتظره ابری می‌شود. اجرای واقعی محدودیت‌ها باید به‌صورت اتمیک (Atomic) — یعنی عملیاتی که یا به‌طور کامل انجام می‌شود یا اصلاً انجام نمی‌شود — در پایگاه‌داده رخ دهد تا جلوی اکسپلویت‌های هم‌زمانی گرفته شود.

برای توسعه‌دهندگان، این به معنای انتقال «دروازه کنترل» به اولین نقطه ممکن در چرخه حیات درخواست است. تا زمانی که یک مدل زبانی بزرگ (LLM) — مثل کتابخانه‌داری که میلیاردها صفحه را خوانده و حالا با همان لحن جواب می‌دهد — فراخوانی شود، هزینه باید پیش‌تر در دفتر کل ثبت شده باشد.

گام بعدی شما

  • تمام سیستم‌های محدودکننده نرخ (Rate-limiting) خود را که دارای اثرات جانبی کند (مانند APIهای شخص ثالث) هستند، بررسی کنید.
  • برای تست استواری دروازه‌های کنترلی، از ابزارهای تست هم‌زمانی بالا (High-concurrency) استفاده کنید.
  • منطق کسر اعتبار را از لایه کد به لایه دیتابیس منتقل کنید.

اما داستان سخت‌افزاری این تحول حتی شگفت‌انگیزتر است — به تحلیل ما درباره تراشه‌های Blackwell مراجعه کنید.

چرا این موضوع مهم است؟

این رویکرد با تکیه بر تخصص در مدیریت تراکنش‌های دیتابیس، از ضررهای مالی ناشی از سوءاستفاده‌های هم‌زمان جلوگیری می‌کند. برای شرکت‌های SaaS، این تغییر تفاوت بین سودآوری و پرداخت هزینه‌های سرسام‌آور API به شرکت‌هایی مثل Anthropic است.

تأثیر برای ایران

برای توسعه‌دهندگان ایرانی که از Supabase یا Postgres برای ساخت محصولات AI استفاده می‌کنند، این الگو برای جلوگیری از نشت اعتبار در محیط‌های با ترافیک بالا ضروری است.

·نگاه ما
تحریریه دات‌هوش

انتقال منطق کنترل از لایه اپلیکیشن به دیتابیس، نشان‌دهنده بلوغ در معماری برنامه‌های AI-native است. در دنیای مدل‌های زبانی که تأخیر (Latency) استنتاج بالاست، پنجره‌های زمانی برای حملات Race Condition بسیار بازتر از APIهای سنتی هستند. این رویکرد ثابت می‌کند که برای مدیریت هزینه‌های ابری، باید از استراتژی «پیش‌پرداخت اتمیک» به‌جای «بررسی و سپس کسر» استفاده کرد.

منابع

این گزارش با خط‌لولهٔ خودکار دات‌هوش از منابع معتبر جهانی تدوین و زیر نظر تحریریه منتشر شده است. روش کار ما

گفتگو

پنج‌شنبه‌های هوش‌محور

بسته‌ی هفتگی دات‌هوش

۵ خبر، ۲ ابزار، ۱ پرامپت در هر شماره. به‌زودی راه‌اندازی می‌شود — هر پنج‌شنبه صبح.

خبر کلیدی
ابزار کاربردی
پرامپت حرفه‌ای
تحلیل پژوهش
به‌زودی
زاویه‌ی ایرانی
به‌زودی
تمرین این هفته
به‌زودی

راهنماهای دات‌هوش

راهنماهای کاربردیِ دات‌هوش برای کار با هوش مصنوعی — از همین‌جا شروع کنید:

دات‌هوش

راهنمای فارسی هوش مصنوعی — با نگاه به ایران

اخبار روزانه، معرفی ابزارها و مدل‌ها، و آموزشِ کار با هوش مصنوعی؛ همیشه با این پرسش که از ایران چه چیزی کار می‌کند و چه چیزی نه.