ساخت FailureDNA: حافظه‌ی یک عامل که می‌داند چه زمانی نباید به خودش اعتماد کند

اکثر عامل‌های هوش مصنوعی مرتکب اشتباه خطرناکی می‌شوند. آن‌ها از حوادث گذشته برای حل قطعی‌های جدید استفاده می‌کنند. اگر مشکل جدید شبیه به یک مشکل قدیمی به نظر برسد، عامل همان راهکار قدیمی را کپی می‌کند.

این یک مشکل است. شباهت به معنای کاربردی بودن نیست. یک راهکار قدیمی ممکن است برای نسخه قدیمی پایگاه داده کار کند، اما در نسخه فعلی شما شکست بخورد. تکرار یک راهکار ناموفق باعث اتلاف وقت می‌شود. استفاده از یک راهکار منسوخ، وضعیت قطعی را بدتر می‌کند.

من FailureDNA را برای حل این مشکل ساختم. این یک سیستم حافظه است که نتایج واقعی را ردیابی می‌کند. این سیستم تصمیم می‌گیرد که آیا یک تجربه گذشته مفید است، نیاز به بررسی دارد، یا باید از آن اجتناب کرد.

این سیستم از یک قانون پیروی می‌کند: مدل عمل را انتخاب می‌کند، اما کد تعیین‌گر (deterministic code) تصمیم می‌گیرد که چه چیزی معتبر است.

نحوه عملکرد: • عامل، علائم حادثه را embedding می‌کند. • با استفاده از pgvector روی Alibaba Cloud RDS، در حوادث گذشته جستجو می‌کند. • یک دروازه‌ی تعیین‌گر، نتایج را بررسی می‌کند. • مدل، یک عمل موجود در لیست مجاز (allowlisted) را انتخاب می‌کند. • سیستم عمل را اجرا کرده و نتیجه واقعی را ذخیره می‌کند.

این دروازه از سه قانون ساده استفاده می‌کند:

  • اگر نتیجه گذشته یک شکست بود: از آن اجتناب کنید.
  • اگر نتیجه گذشته یک موفقیت بود و محیط مطابقت داشت: از آن استفاده کنید.
  • اگر نتیجه گذشته یک موفقیت بود اما محیط تغییر کرده است: آن را بررسی کنید.

عامل نمی‌تواند یک شکست شناخته‌شده را تکرار کند. سیستم، اقدامات بد را حتی قبل از اینکه مدل آن‌ها را ببیند، حذف می‌کند. این کار مانع از نادیده گرفتن هشدارها توسط مدل می‌شود. مدل خلاقیت را فراهم می‌کند، اما کد امنیت را تضمین می‌کند.

جزئیات فنی: • من از Qwen Cloud برای امبدینگ‌ها و انتخاب عمل استفاده کردم. • مدل text-embedding-v3 بردارهای ۱۰۲۴-بعدی ایجاد می‌کند. • بازیابی ترکیبی (Hybrid retrieval)، شباهت معنایی و هم‌پوشانی کلمات کلیدی را ترکیب می‌کند. • بک‌اند روی Alibaba Cloud Function Compute با FastAPI اجرا می‌شود. • حافظه در ApsaraDB RDS for PostgreSQL باقی می‌ماند.

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

منبع: https://dev.to/prabhakaranjm/building-failuredna-an-agent-memory-that-knows-when-not-to-trust-itself-fbn

انجمن یادگیری اختیاری: https://t.me/GyaanSetuAi