اگر در حال ساخت عاملهای هوش مصنوعی هستید، احتمالاً ساعتها وقت خود را صرف مدیریت خطاهای لحظهای یا محدودیتهای API کردهاید. این کدهای تکراری نه تنها سرعت توسعه را میگیرد، بلکه ریسک شکست سیستم در محیط عملیاتی را بالا میبرد.
برای اینکه یک سیستم در مقیاس واقعی کار کند، به چیزی فراتر از یک پرامپت نیاز دارد. ما با «دغدغههای عرضی» طرف هستیم؛ یعنی همان منطقهای خستهکننده اما حیاتی که مانع از کرش کردن سیستم هنگام اتمام سهمیه (Quota) مدل میشوند. برای حل این مشکل، Genkit از یک لایهی میانی استفاده میکند — مثل یک ایستگاه بازرسی که قبل از رسیدن درخواست به مدل، آن را بررسی میکند و بعد از تولید جواب، دوباره آن را بازبینی میکند.
همانطور که در تحلیلهای پیشین ما دربارهی چالشهای استقرار عاملهای هوش مصنوعی اشاره کردیم، پایداری سیستم در محیط تولید، سختترین بخش مسیر است. طبق گزارش dev.to، در ۱۴ مه ۲۰۲۶، Genkit بستهی اختصاصی @genkit-ai/middleware را برای SDKهای جاوااسکریپت و تایپاسکریپت منتشر کرد.
این سیستم فرآیند تولید را به سه مرحله تقسیم میکند: مدل (برای بازپخش و ثبت وقایع)، ابزار (برای تأییدات و محیطهای ایزوله) و تولید (برای دستورات سیستمی).

این بسته شامل ۵ لایهی پیشفرض است:
- retry: اجرای مجدد درخواستها با تأخیر تصادفی برای رفع خطاهای گذرا.
- fallback: تغییر مدل به گزینهای ارزانتر، مثل Gemini Flash، وقتی مدل اصلی با خطای کمبود منابع مواجه شود.
- toolApproval: متوقف کردن اجرای ابزارهای غیرمجاز برای تأیید توسط انسان.
- filesystem: ایجاد یک دایرکتوری ایزوله برای خواندن و نوشتن فایلها توسط عاملهای کدنویس.
- skills: تزریق دانش محلی از فایلهای Markdown به پرامپت سیستم.
این ساختار شبیه به یک پیاز عمل میکند. درخواستها قبل از رسیدن به مدل intercepted میشوند و پاسخها در مسیر بازگشت اصلاح میگردند. توسعهدهندگان میتوانند این لایهها را به ترتیب خاصی زنجیره کنند تا هر لایه خروجی لایهی قبلی را پردازش کند.
به نقل از مستندات این ابزار، کمککننده generateMiddleware اجازه میدهد افزونههای سفارشی بسازید. این یعنی میتوانید مواردی مثل حذف اطلاعات حساس (PII)، محاسبه هزینه بر اساس توکن (Token) — تکههای کوچکی از متن که مدل میخورد — و مدیریت سهمیه هر کاربر را با Redis یا Firestore پیاده کنید.
این تحول، Genkit را از یک کتابخانه ساده به یک چارچوب (Framework) جامع تبدیل میکند. با اعلامی کردن رفتارهای حساس امنیتی، توسعهدهندگان دیگر نیازی به کپی-پیست کردن کدهای تکراری در جریانهای مختلف ندارند. این موضوع بهویژه برای ساخت عاملهای کدنویسی که باید با محیط محلی کاربر تعامل داشته باشند، موانع ورود را بهشدت کاهش میدهد.
گام بعدی شما
- برای پایدار کردن جریانهای فعلی خود، لایههای
retryوfallbackرا به پروژه اضافه کنید. - برای مدیریت هزینهها، یک افزونه سفارشی با
generateMiddlewareبرای ردیابی توکنها بسازید. - اگر عامل شما با فایلهای حساس سرور کار میکند، حتماً از لایهی
filesystemبرای ایزولهسازی استفاده کنید.
اما تأثیر این معماری بر کاهش هزینههای عملیاتی حتی چشمگیرتر است — به بررسی ما دربارهی بهینهسازی توکنها مراجعه کنید.




گفتگو