الگوهای فولاستک با Vercel AI SDK در ۲۰۲۶
AI SDK دیگر فقط یک wrapper برای چت نیست. الگوهای پایدار ۲۰۲۶ برای استریمینگ، ابزارها، ارزیابی، و اتصال به بکاند NestJS را بدون قفل شدن به یک مدل واحد مرور میکنیم.
علی مرتضوی
بنیانگذار پارادایس کد
جایگاه AI SDK در استک محصول
Vercel AI SDK در ۲۰۲۶ نقش لایهٔ یکنواخت برای تولید متن/آبجکت، استریم UI، و tool calling بین ارائهدهندگان مدل را دارد. ارزشش در «یک API واحد» است، نه در جادوی مدل. اگر منطق کسبوکار را داخل پرامپتهای پراکنده دفن کنید، SDK کمکتان نمیکند.
برای تیمهای Next + Nest، توصیه ما این است: UI و استریم در Next، سیاستها، مجوزها، و side effectهای پایدار در Nest یا یک سرویس worker. مرورگر هرگز کلید مدل را نمیبیند.
الگوی استریم برای UX واقعی
کاربر باید زود بازخورد ببیند، اما نه به قیمت نمایش زباله ناتمام در جاهایی که ساختار مهم است. برای چت آزاد، استریم توکن مناسب است. برای فرمها، پیشنهاد قیمت، یا خروجی JSON، بهتر است استریم وضعیت («در حال تحلیل») داشته باشید و نتیجه نهایی را یکجا commit کنید.
لغو درخواست، timeout، و retry را صریح طراحی کنید. در موبایل ایران و شبکههای ناپایدار، استریم بدون abort UX را بدتر از پاسخ کندِ کامل میکند.
Tool calling با مرز اعتماد
ابزارها باید نازک، typed، و دارای مجوز باشند. «اجرای SQL آزاد» یا «حذف رکورد» را بهعنوان tool عمومی به مدل ندهید. بهجای آن ابزارهایی مثل `getInvoiceById`، `searchProducts`، `draftSupportReply` با اعتبارسنجی ورودی Zod.
هر tool call را لاگ کنید: کدام کاربر، کدام ابزار، چه آرگومانهایی، چه نتیجهای. این برای پشتیبانی، امنیت، و بهبود پرامپت ضروری است. بدون audit trail، دیباگ رفتار مدل حدس میشود.
قرارداد با بکاند NestJS
اگر Nest منبع حقیقت دامنه است، ایجنت/SDK فقط از APIهای از قبل مجاز استفاده کند. توکن کاربر را از نشست Next به Nest پاس دهید و همان گاردهای RBAC را اعمال کنید که برای UI معمولی دارید. مدل یک کاربر ویژه نیست.
برای کارهای طولانی (خلاصهسازی فایل بزرگ، پردازش دسته)، کار را در صف بگذارید و به کلاینت job id برگردانید. نگه داشتن یک اتصال استریم ۲۰ دقیقهای روی serverless لبه معمولاً شکننده است — اینجا runtime و معماری صف مهمتر از انتخاب مدل است.
ارزیابی و جلوگیری از رگرسیون پرامپت
هر قابلیت LLM باید یک مجموعه ارزیابی کوچک داشته باشد: ۱۰–۵۰ مثال طلایی با انتظار مشخص. با تغییر مدل یا پرامپت، ارزیابی را در CI یا حداقل پیش از رلیز اجرا کنید. «حس بهتر شده» معیار نیست.
نسخهبندی پرامپتها را جدی بگیرید: شناسه نسخه، تاریخ، و مدل پیشفرض در کنار کد. وقتی خروجی عجیب شد، باید بتوانید بگویید کدام نسخه در پروداکشن بوده است.
چندمدلی و ضد قفل فروشنده
AI SDK کار تعویض ارائهدهنده را آسان میکند؛ معماری شما باید اجازه دهد. لایه adaption داخلی با نام قابلیت (`summarizeTicket`, `extractOrderFields`) بسازید، نه با نام مدل (`callGptX`). انتخاب مدل یک detail پیکربندی است.
برای داده حساس، مسیرهای on-prem یا ارائهدهنده با قرارداد پردازش داده جدا کنید. یک کلید محیطی کافی نیست؛ مسیر کد جدا و تست قرارداد جدا لازم است.
الگوی پیشنهادی شروع در دو هفته
هفته ۱: یک use case باریک (مثلاً پیشنویس پاسخ پشتیبانی) با استریم، لاگ، و ارزیابی ۱۰ نمونهای. هفته ۲: یک tool خواندنی امن، داشبورد هزینه توکن، و دکمه بازخورد thumbs در UI.
اگر این اسکلت پایدار شد، تازه سراغ عامل چندمرحلهای بروید. بیشتر شکستهای ۲۰۲۵–۲۰۲۶ از پرش مستقیم به «ایجنت همهکاره» آمده، نه از ضعف SDK.
سؤالات متداول
آیا AI SDK فقط برای Vercel کار میکند؟
خیر. روی استقرارهای Node دیگر هم رایج است، اما محدودیتهای runtime (timeout، استریم...) را برای میزبان خودتان اندازهگیری کنید.
کلید API را میتوان در Next public env گذاشت؟
هرگز برای کلیدهای دارای هزینه یا دسترسی داده. فقط روی سرور/route handler یا سرویس Nest.
اول chat UI بسازیم یا tool calling؟
اول یک مسیر باریک با خروجی قابلارزیابی. tool calling وقتی معنا دارد که اقدامهای دامنه typed و امن آماده باشند.
دانش و مقالات
نیاز به اجرای همین مفاهیم در محصولتان دارید؟
پارادایس کد از مشاوره تا پیادهسازی کامل کنار شماست.