عملاً میشه از agentی استفاده کرد که performanceاش به agentهای گرون نزدیکه، با هزینهای که نزدیک به صفره. این ترکیب رو امتحان کردم و کار میکنه.
skill ها: چیزی که واقعاً ارزش داره
یه چیز که در عمل خیلی کاربرد داشت، سیستم skill هست — نه اون چیزی که agent خودش میسازه، بلکه skill هایی که خودت با Claude میسازی و بهش میدی. میتونی یه workflow پیچیده رو یه بار بهدرستی توصیف کنی، بذاریش توی یه skill، و بعد هر بار که Hermes به اون task میرسه، از همون توصیف استفاده کنه. اینطوری دیگه لازم نیست هر بار از اول توضیح بدی.
چیزی که کشف کردم: sudo ندید
یه هشدار جدی: دسترسی sudo بهش ندید.
نه بهخاطر اینکه مشکل امنیتی عجیبی داره — بلکه چون agent وقتی روی یه task پیچیده کار میکنه، ممکنه اشتباه کنه. و اگه sudo داشته باشه، اشتباهش میتونه جبرانناپذیر باشه. از تجربهی مستقیم: یه دیتابیس محلی پاک شد. بعیدترین اتفاق ممکن بود ولی افتاد.
Tier 1 — Subscription: اشتراکهایی که از قبل داری. Claude Code، OpenAI Codex، GitHub Copilot، Cursor. اگه اشتراک داری، 9Router اول از اینها استفاده میکنه.
Tier 2 — Cheap: مدلهایی که API key میخوان ولی ارزونن. GLM به ازای هر میلیون توکن ۰.۶۰ دلار، MiniMax M2.7 به ازای هر میلیون توکن ۰.۲۰ دلار، Kimi با ۹ دلار در ماه. وقتی Tier 1 تموم شد، اینجا میاد.
Tier 3 — FREE: iFlow، Qwen، Kiro، OpenCode. کاملاً رایگان و بدون محدودیت ثابت. آخرین سنگر.
وقتی quota یه provider در Tier 1 تموم میشه، 9Router خودکار به Tier 2 میره. وقتی Tier 2 هم تموم شد، به Tier 3 میره. از نظر tool تو — Cursor، Cline، Claude Code — هیچ اتفاقی نیفتاده. همون endpoint جواب میده.
نصب و راهاندازی
npm install -g 9router
9router
همین. یه dashboard محلی باز میشه که میتونی providerها رو اضافه کنی — OAuth برای اشتراکها، API key برای بقیه. بعد هر tool ای که داری رو به این endpoint اشاره بده:
Deno رو همون کسی ساخته که اصلاً Node.js رو ساخته بود (Ryan Dahl)، با هدف رفع کردن چیزهایی که خودش بعداً تو طراحی Node.js مشکل میدید. دو تا ویژگی Deno رو از بقیه متمایز میکنه:
مدل امنیتی sandbox: بر خلاف Node که بهصورت پیشفرض دسترسی کامل به فایلسیستم، شبکه، و متغیرهای محیطی داره، Deno بهصورت پیشفرض هیچکدوم از اینها رو نداره. باید صراحتاً اجازه بدی:
# اجرای یه اسکریپت با دسترسی محدود به فایلسیستم و شبکه
deno run --allow-read --allow-net server.ts
این مدل خصوصاً وقتی داری کد third-party رو اجرا میکنی، امنیت بیشتری میده؛ یه پکیج مخرب نمیتونه بیاجازه به شبکه یا فایلسیستمت دسترسی پیدا کنه.
پشتیبانی native از TypeScript و ES module: Deno هم مثل Bun نیازی به مرحلهی جدا برای TypeScript نداره، و بهجای node_modules، از import مستقیم URL یا specifier های npm پشتیبانی میکنه، شبیه به چیزی که تو مرورگر میبینی.
نقطهضعف Deno نسبت به Bun و Node، اکوسیستم کوچیکتره؛ هرچند تو نسخههای اخیر سازگاری خوبی با npm پیدا کرده، ولی هنوز بعضی پکیجها یا ابزارهای خیلی وابسته به Node API ممکنه بدون تنظیم اضافه درست کار نکنن.
جدول مقایسهی سریع
ویژگی
Node.js
Bun
Deno
موتور جاوااسکریپت
V8
JavaScriptCore
V8
TypeScript native
نه (نیاز به compile)
بله
بله
مدل امنیتی
دسترسی کامل پیشفرض
دسترسی کامل پیشفرض
sandbox، نیاز به اجازهی صریح
بلوغ اکوسیستم
خیلی بالا
متوسط، در حال رشد
متوسط
سرعت نصب پکیج
متوسط
بالا
بالا
کدوم رو انتخاب کنیم
اگه داری یه پروژهی production میسازی که قراره رو زیرساختهای موجود deploy بشه، یا تیمت از قبل با Node راحته، همچنان Node.js امنترین انتخابه؛ اکوسیستمش از همه بالغتره و احتمال برخورد با مشکلات سازگاری خیلی کمتره.
اگه سرعت (چه سرعت توسعه، چه سرعت اجرا) برات اولویته و میخوای بدون درگیر شدن با تنظیمات اضافه مستقیم TypeScript بنویسی، Bun گزینهی جذابیه، مخصوصاً برای پروژههای جدید یا اسکریپتها و ابزارهای داخلی که وابستگی سنگینی به پکیجهای خیلی خاص ندارن.
اگه امنیت برات اولویت بالایی داره (مثلاً داری کد نامعتمد یا third-party اجرا میکنی)، یا میخوای کدی بنویسی که تا حد امکان به استانداردهای وب نزدیک باشه، Deno انتخاب منطقیتریه.
در نهایت، هر سهشون فعال توسعه داده میشن و هیچکدوم انتخاب اشتباهی نیست؛ سؤال واقعی اینه که پروژهت به چه چیزی بیشتر نیاز داره: بلوغ و سازگاری، سرعت خام، یا امنیت و استانداردهای مدرن.
با curl میتونی method رو با -X مشخص کنی، هر تعداد header دلخواه با -H اضافه کنی، body رو با -d بفرستی، و حتی response headers رو با -i ببینی. wget هم میتونه بعضی از این کارها رو انجام بده (مثلاً --header و --post-data)، ولی سینتکسش برای اینجور کارها اصلاً طراحی نشده و خیلی زود دستوپاگیر میشه. برای همین تقریباً هیچوقت نمیبینی کسی wget رو برای تست API پیشنهاد بده.
دانلود recursive و آینه کردن یه سایت
اینجا برعکس میشه. اگه بخوای یه سایت کامل یا یه پوشه از فایلها رو recursive دانلود کنی:
این دستور تمام لینکهای داخل صفحه رو تا عمق دو سطح دنبال میکنه و دانلود میکنه، بدون اینکه از مسیر والد بره بیرون. curl اصلاً همچین قابلیتی نداره؛ چون از پایه برای گرفتن یه URL مشخص طراحی شده، نه دنبال کردن ساختار یه سایت.
ادامه دادن دانلود قطعشده
هر دو ابزار این قابلیت رو دارن، ولی رفتار پیشفرضشون فرق داره:
# wget: با -c دانلود ناقص رو از همونجا ادامه میده
wget -c https://example.com/large-file.iso
# curl: با -C - همین کار رو میکنه
curl -C - -O https://example.com/large-file.iso
هر دو این کار رو با چک کردن سایز فایل موجود و فرستادن یه Range header انجام میدن، ولی wget این رفتار رو سادهتر و با کانتکست دانلود فایل طراحی کرده (مثلاً retry خودکار در صورت قطع شدن اتصال با --tries).
جمعبندی: کدوم رو کِی استفاده کنیم
اگه داری یه API رو تست میکنی، یه request سفارشی با header و body خاص میفرستی، یا میخوای response رو دقیق بررسی کنی، curl انتخاب درسته؛ کنترلی که رو جزئیات HTTP بهت میده رقیب نداره.
اگه هدفت دانلود یه فایل بزرگ (مخصوصاً تو یه اسکریپت یا کرونجاب بدون نظارت مستقیم)، یا گرفتن recursive یه سایت یا یه ساختار پوشهست، wget انتخاب راحتتریه؛ چون همین کارها دقیقاً چیزیه که براش ساخته شده و نیازی به فلگهای اضافه برای رفتار پایه نداره.
نکتهی آخر اینکه تو خیلی از distro های لینوکس امروز، هر دو ابزار از قبل نصب هستن، پس هزینهی نگهداشتن هر دو تو ابزارهای روزمرهت تقریباً صفره؛ لازم نیست حتماً یکیشون رو انتخاب کنی و کنار بذاری.
Build سریعتر
Type checking سریعتر
SSR سریعتر
درخواستهای کمتر برای Prefetch
Cache بهتر برای فایلهای استاتیک
یعنی حتی اگر هیچکدام از قابلیتهای جدید را استفاده نکنی، باز هم احتمالاً تفاوت را حس میکنی.
Turbopack حالا تا ۹۰٪ حافظهی کمتری مصرف میکند
یکی از بزرگترین تغییرات Next.js 16.3 مربوط به Turbopack است.
تا قبل از این نسخه، یکی از شکایتهای رایج دربارهی dev server پروژههای بزرگ، مصرف بالای حافظه بود.
روی یک پروژهی کوچک شاید متوجه نشوی، اما وقتی پروژه چند صد Route، تعداد زیادی dependency و فایلهای زیاد دارد، مصرف RAM میتواند خیلی سریع بالا برود.
در Next.js 16.3 دو قابلیت مهم بهصورت پیشفرض فعال شدهاند:
Disk Cache برای توسعه
Memory Eviction
ترکیب این دو باعث شده Turbopack بتواند بهتر تصمیم بگیرد چه چیزهایی را در حافظه نگه دارد و چه چیزهایی را از RAM خارج کند.
البته مثل همیشه این عددها را نباید کورکورانه برای همهی پروژهها انتظار داشت. نوع پروژه، تعداد Routeها، dependencyها و نحوهی استفاده از Server Componentها تأثیر زیادی دارند.
اما جهت تغییر مشخص است: Turbopack دیگر فقط دنبال سریعتر شدن نیست، بلکه میخواهد در پروژههای واقعی منابع کمتری مصرف کند.
به نظر من این یکی از آن تغییراتی است که توسعهدهندههایی که لپتاپ معمولی دارند بیشتر از همه حسش میکنند.
چون سریع بودن فقط این نیست که یک build چند ثانیه زودتر تمام شود؛ اگر سیستم وسط کار شروع کند به swap کردن و کند شدن، آن سرعت روی کاغذ چندان کاربردی نیست.
Buildهای سریعتر با FileSystem Cache
همان Cacheای که از Next.js 16.1 برای dev معرفی شده بود، حالا وارد مرحلهی بعدی شده و برای next build هم فعال شده است.
ایده ساده است:
اگر قبلاً چیزی محاسبه شده و هنوز معتبر است، دوباره از صفر انجامش نده.
این موضوع مخصوصاً در CI مهم است.
در پروژههایی که مرتب build میشوند، زمان زیادی صرف کارهای تکراری میشود. حالا Turbopack میتواند بخشی از این خروجیها را ذخیره کند و در buildهای بعدی دوباره استفاده کند.
طبق تستهای تیم Next.js، بعضی پروژهها در CI تا ۵.۵ برابر build سریعتر داشتهاند.
این تغییر برای تیمهایی که روزانه چندین deploy انجام میدهند، شاید از هر قابلیت ظاهری دیگری مهمتر باشد.
چون چند ثانیه در یک build شاید مهم نباشد، اما وقتی صدها بار تکرار میشود، تبدیل به زمان واقعی تیم میشود.
TypeScript 7 و Type Checking سریعتر
Next.js 16.3 همزمان با نسل جدید TypeScript آمده است.
TypeScript 7 یک تغییر مهم دارد: بخشهایی از آن با یک پیادهسازی Native بازنویسی شده که هدفش سرعت بالاتر در type checking است.
طبق اعلام تیم TypeScript، این نسخه میتواند در بعضی سناریوها چند برابر سریعتر باشد.
برای استفاده از آن در پروژهی Next.js کافی است نسخهی dependency را تغییر بدهی:
npm i -D typescript@^7
البته اینجا یک نکته وجود دارد.
سرعت بالاتر همیشه به معنی این نیست که همهی پروژهها دقیقاً همان نتیجه را میبینند. پروژههایی با Type پیچیده، monorepoها یا dependencyهای سنگین ممکن است تفاوت بیشتری حس کنند.
اما برای پروژههایی که TypeScript بخش بزرگی از زمان build را میگیرد، این تغییر ارزش بررسی دارد.
رندر سمت سرور سریعتر با Native Node.js Streams
یکی از تغییرات فنی جالب Next.js 16.3 در لایهی رندرینگ App Router اتفاق افتاده است.
برای اینکه مرورگر بتواند محتوا را بهصورت تدریجی دریافت کند، Next.js از Streamها استفاده میکند. این مدل باعث میشود لازم نباشد کاربر تا آماده شدن کل صفحه صبر کند و بخشهای آمادهشده زودتر ارسال شوند.
اما یک مشکل وجود داشت.
در محیط Node.js، Streamهای داخلی Node با Web Streams که در استانداردهای جدید وب استفاده میشوند، یکسان نیستند. در نتیجه بخشی از زمان و منابع صرف تبدیل بین این دو مدل میشد.
در Next.js 16.3 این مسیر تغییر کرده و در لایهی رندرینگ App Router از Native Node.js Streams استفاده میشود.
نتیجه؟
کاهش overhead در SSR.
طبق بنچمارکهای تیم Next.js، اپلیکیشنها در شرایط بار بالا میتوانند تا ۲۲٪ درخواست بیشتری را با همان شرایط پردازش کنند.
یعنی:
وضعیت
عنوان
توضیح
قبل
Web Streams
Baseline
بعد
Native Node.js Streams
+22% Requests
این تغییر شاید چیزی نباشد که هنگام توسعهی روزمره فوراً ببینی، اما روی سرویسهایی که ترافیک بالا دارند، تفاوتش خودش را نشان میدهد.
این هم از آن دسته تغییراتی است که معمولاً کاربران متوجه وجودش نمیشوند؛ فقط متوجه میشوند سایت در فشار بالا بهتر دوام میآورد.
مستندات نسخهبندیشده برای AI Agentها
یکی از مسیرهایی که Next.js در نسخههای جدید جدیتر دنبال میکند، آماده کردن پروژهها برای ابزارهای هوش مصنوعی است.
چند سال پیش اگر کسی میگفت فریمورک باید برای AI Agentها بهینه شود، احتمالاً خیلیها تصور میکردند منظور فقط autocomplete داخل ادیتور است.
اما الان موضوع بزرگتر شده.
Agentها قرار است کد بخوانند، تغییر بدهند، تست اجرا کنند و حتی تصمیمهای معماری پیشنهاد کنند.
مشکل اینجاست که یک Agent بدون اطلاعات کافی دربارهی پروژه، ممکن است تصمیمهایی بگیرد که با ساختار پروژه هماهنگ نیست.
مثلاً:
از API اشتباه استفاده کند.
الگوی قدیمی پروژه را نادیده بگیرد.
قوانین داخلی تیم را رعایت نکند.
Next.js 16.3 با اضافه کردن پشتیبانی بهتر برای Versioned Docs این مسیر را سادهتر میکند.
ایده این است که Agent بتواند به اطلاعات دقیقتر و هماهنگ با نسخهی مورد استفادهی پروژه دسترسی داشته باشد.
یعنی اگر پروژه روی Next.js 16.3 است، Agent لازم نیست از اطلاعات مربوط به نسخههای قدیمیتر استفاده کند.
این تغییر شاید امروز برای همه ضروری نباشد، اما اگر با ابزارهایی مثل Cursor، Claude Code یا Agentهای مشابه کار میکنی، اهمیتش بیشتر میشود.
درخواستهای Prefetch کمتر، کنترل بهتر روی شبکه
یکی از بخشهایی که در Next.js همیشه بین سرعت و مصرف منابع تعادل ایجاد میکرد، Prefetch بود.
Prefetch یعنی قبل از اینکه کاربر روی یک لینک کلیک کند، Next.js حدس بزند که احتمالاً کاربر به آن صفحه میرود و بخشی از اطلاعات را از قبل دریافت کند.
این کار باعث Navigation سریعتر میشود.
اما یک مشکل دارد.
اگر تعداد لینکها زیاد باشد، ممکن است درخواستهای زیادی ایجاد شود؛ حتی برای صفحاتی که کاربر هیچوقت باز نمیکند.
در Next.js 16.3 رفتار Prefetch بهینهتر شده تا درخواستهای غیرضروری کمتر شوند.
هدف این نیست که Prefetch حذف شود؛ چون هنوز یکی از دلایل اصلی حس سریع بودن Next.js است.
هدف این است که هوشمندتر عمل کند.
یعنی:
اطلاعات مهم زودتر آماده شوند.
درخواستهای بیمصرف کمتر شوند.
فشار روی سرور و شبکه کاهش پیدا کند.
Cache بهتر برای Static Assetها
فایلهای استاتیک مثل:
تصویرها
فایلهای CSS
JavaScript bundleها
فونتها
معمولاً باید مدت زیادی Cache شوند.
اما تنظیمات اشتباه Cache میتواند مشکلساز شود.
اگر خیلی کوتاه باشد، کاربر مدام فایلهای تکراری دانلود میکند.
اگر خیلی طولانی باشد، ممکن است نسخهی قدیمی فایل نمایش داده شود.
Next.js 16.3 در این بخش رفتار Cache فایلهای استاتیک را بهتر کرده تا استفاده از منابع شبکه منطقیتر شود.
این تغییر شاید در پروژههای کوچک دیده نشود، اما در سایتهایی که حجم زیادی Asset دارند، میتواند روی سرعت واقعی کاربران تأثیر بگذارد.
Custom Error Boundaries
مدیریت خطا در اپلیکیشنهای بزرگ همیشه یک بخش مهم بوده است.
وقتی یک صفحه یا یک بخش از UI خراب میشود، اینکه کل برنامه از کار بیفتد تجربهی خوبی نیست.
React و Next.js مدتها امکان Error Boundary داشتند، اما Next.js 16.3 کنترلهای بیشتری برای ساخت تجربهی خطای بهتر ارائه میدهد.
هدف این است که بتوانی به جای نمایش یک صفحهی خطای عمومی، رفتار دقیقتری برای بخشهای مختلف برنامه داشته باشی.
مثلاً:
یک بخش از داشبورد خراب شود.
اما منوی اصلی همچنان کار کند.
کاربر بتواند دوباره تلاش کند.
این مدل در اپلیکیشنهای بزرگ اهمیت زیادی دارد.
Built-in Glob Imports؛ وارد کردن فایلها سادهتر میشود
یکی دیگر از تغییرات کوچک اما کاربردی، اضافه شدن قابلیت Glob Import داخلی است.
گاهی در پروژهها لازم است تعداد زیادی فایل را بر اساس یک الگو وارد کنی.
مثلاً:
همهی فایلهای Markdown یک پوشه
همهی کامپوننتهای یک مسیر
همهی فایلهای ترجمه
قبلاً معمولاً برای این کار سراغ ابزارهای جانبی میرفتیم.
حالا Next.js پشتیبانی بهتری برای این سناریوها فراهم کرده است.
این قابلیت شاید به تنهایی دلیل آپدیت نباشد، اما در پروژههای Content-heavy یا سیستمهای بزرگ مدیریت فایل، کار را راحتتر میکند.
Instant Navigation؛ نزدیکتر شدن Next.js به حس SPA
تا اینجا بیشتر دربارهی تغییرات زیرساختی صحبت کردیم.
اما بخشی که احتمالاً کاربران نهایی بیشتر حس میکنند، Navigation جدید است.
یکی از چالشهای همیشگی Next.js این بوده:
چطور سرعت SPA را داشته باشیم، بدون اینکه مزیتهای Server Components و Server Rendering را از دست بدهیم؟
Next.js 16.3 تلاش میکند این فاصله را کمتر کند.
Partial Prefetching
در نسخههای قبلی، Prefetch همیشه یک تعادل سخت داشت.
اگر زیاد Prefetch کنی:
درخواست زیاد میشود.
دادهی اضافی مصرف میشود.
اگر کم Prefetch کنی:
Navigation کندتر حس میشود.
Partial Prefetching راه وسط است.
به جای اینکه کل Route را از قبل آماده کند، فقط بخشهایی که برای شروع Navigation لازم هستند را دریافت میکند.
مثلاً Shell صفحه سریع آماده میشود و بخشهای سنگینتر بعداً میرسند.
نتیجه چیزی شبیه اپلیکیشنهای SPA است، اما با معماری Server-Driven.
Instant Insights؛ فهمیدن اینکه Navigation واقعاً چه اتفاقی میافتد
یکی از مشکلات توسعهدهندهها با اپلیکیشنهای مدرن این است که وقتی یک صفحه کند باز میشود، همیشه مشخص نیست مشکل دقیقاً کجاست.
آیا مشکل از:
دریافت داده از API است؟
Server Component زمان زیادی میبرد؟
Bundle سمت کلاینت بزرگ است؟
Prefetch درست انجام نشده؟
Cache کار نکرده؟
در Next.js 16.3 ابزارهای بهتری برای مشاهدهی رفتار Navigation اضافه شده تا توسعهدهنده بتواند دقیقتر بفهمد هنگام جابهجایی بین صفحات چه اتفاقی میافتد.
این همان چیزی است که در پروژههای بزرگ اهمیت پیدا میکند.
در پروژهی کوچک شاید بگویی:
«این صفحه فقط یک ثانیه دیرتر باز میشود.»
اما در یک محصول واقعی، همین یک ثانیه میتواند نتیجهی چندین مشکل کوچک باشد که پیدا کردنشان بدون ابزار مناسب سخت است.
وقتی یک کاربر روی یک لینک کلیک میکند، اتفاقات زیادی پشت صحنه رخ میدهد.
Next.js باید:
Route را پیدا کند.
دادههای لازم را آماده کند.
Cache را بررسی کند.
Server Componentها را پردازش کند.
نتیجه را به کلاینت برساند.
Navigation Inspector کمک میکند این مسیر واضحتر دیده شود.
این ابزار مخصوصاً برای زمانی کاربردی است که احساس میکنی یک Route باید سریع باشد، اما در عمل نیست.
به جای حدس زدن، میتوانی ببینی زمان دقیق کجا مصرف شده.
این تغییر شاید برای همهی توسعهدهندهها روزانه استفاده نشود، اما برای Debug کردن پروژههای بزرگ ارزش زیادی دارد.
بهبود Incremental Static Regeneration (ISR)
ISR یکی از قابلیتهایی است که باعث شد Next.js در سالهای اخیر بین سایتهای محتوایی و اپلیکیشنهای ترکیبی محبوب شود.
ایده ساده است:
صفحه را Static تولید کن، اما اجازه بده بعداً بدون Build کامل بهروزرسانی شود.
مشکل همیشه این بوده که Cache و Revalidation در پروژههای بزرگ میتواند پیچیده شود.
Next.js 16.3 روی رفتار ISR هم بهبودهایی آورده تا مدیریت این سناریوها قابل پیشبینیتر شود.
این موضوع مخصوصاً برای سایتهایی که:
محتوای زیاد دارند.
تغییرات مداوم دارند.
ولی نمیخواهند هر تغییر باعث Build کامل شود.
مهم است.
تست راحتتر با Playwright Test Helper
تست کردن Navigation و رفتارهای سمت سرور همیشه کمی سختتر از تست کردن کامپوننتهای ساده بوده است.
چون باید رفتار واقعی مرورگر، شبکه، Route و Rendering را هم در نظر بگیری.
Next.js 16.3 یک helper جدید برای Playwright ارائه کرده تا نوشتن تستهای مرتبط با اپلیکیشنهای Next.js راحتتر شود.
این یعنی تست کردن مواردی مثل:
Navigation
Loading State
Error State
رفتارهای App Router
کمتر نیاز به کد تکراری دارد.
برای تیمهایی که تست E2E جدی دارند، این تغییر کوچک نیست.
بهبودهای AI؛ Next.js برای دورهی Agentها آمادهتر میشود
اگر بخشهای مختلف Next.js 16.3 را کنار هم بگذاری، یکی از پیامهای واضح این نسخه این است:
فریمورکها دیگر فقط برای انسانها نوشته نمیشوند.
بخش زیادی از کدنویسی آینده احتمالاً با کمک Agentها انجام میشود.
اما یک Agent خوب فقط با داشتن یک مدل زبانی ساخته نمیشود.
باید:
ساختار پروژه را بفهمد.
قوانین تیم را بداند.
بداند از چه الگوهایی استفاده کند.
بداند کدام API مربوط به کدام نسخه است.
برای همین Next.js روی چند بخش کار کرده است.
AGENTS.md؛ قراردادن قوانین پروژه برای Agentها
اگر با ابزارهای AI کار کرده باشی، احتمالاً این مشکل را دیدهای.
هر بار باید توضیح بدهی:
«در این پروژه از Server Component استفاده کن.»
«این پوشه را تغییر نده.»
«برای API از این الگو استفاده کن.»
«قبل از تغییر، تستها را اجرا کن.»
فایل AGENTS.md قرار است همین اطلاعات را به شکل استاندارد در اختیار Agent قرار دهد.
در واقع یک فایل راهنما برای هوش مصنوعی پروژه است.
چیزی شبیه README، اما با مخاطب متفاوت.
README برای انسانهاست.
AGENTS.md برای Agentها.
Skills؛ اضافه کردن تواناییهای مشخص به Agent
یک Agent عمومی همه چیز را نمیداند.
گاهی میخواهی یک Agent دقیقاً برای یک کار خاص آماده باشد.
مثلاً:
ساخت Componentهای UI
کار با Database
نوشتن تست
مدیریت API
Skills این امکان را میدهد که تواناییهای مشخصتری تعریف شود.
این مدل باعث میشود Agent به جای اینکه هر بار از صفر تصمیم بگیرد، یک مسیر مشخص داشته باشد.
Versioned Docs برای جلوگیری از اشتباه Agentها
یکی از مشکلات رایج ابزارهای AI این است که ممکن است اطلاعات قدیمی استفاده کنند.
مثلاً یک Agent ممکن است کدی پیشنهاد دهد که برای Next.js 14 درست بوده، اما در Next.js 16 روش بهتری وجود داشته باشد.
Versioned Docs کمک میکند Agent اطلاعات هماهنگ با نسخهی واقعی پروژه دریافت کند.
این موضوع در فریمورکهایی مثل Next.js که مرتب تغییر میکنند، اهمیت زیادی دارد.
قابلیتهای آزمایشی Next.js 16.3
همهی تغییرات این نسخه برای استفادهی عمومی آماده نیستند.
چند قابلیت هنوز Experimental هستند.
React Compiler مبتنی بر Rust
React Compiler یکی از پروژههایی است که هدفش بهینهسازی خودکار React است.
ایده این است که کامپایلر بتواند بخشی از بهینهسازیهایی را انجام دهد که قبلاً توسعهدهنده باید دستی انجام میداد.
چیزهایی مثل:
جلوگیری از Render اضافی
مدیریت بهتر Memoization
بهینهسازی محاسبات
نسخهی Rust-based React Compiler تلاش میکند این فرآیند را سریعتر و مقیاسپذیرتر کند.
البته چون هنوز Experimental است، احتمالاً نباید همین فردا آن را روی Production فعال کرد.
اما مسیر آینده مشخص است.
React دارد بیشتر به سمت یک مدل Compiler-driven حرکت میکند.
Network Resilience؛ مقاومتر شدن در برابر مشکلات شبکه
اپلیکیشنهای واقعی همیشه در شرایط ایدهآل اجرا نمیشوند.
کاربر ممکن است:
اینترنت ضعیف داشته باشد.
اتصال لحظهای قطع شود.
درخواستها timeout شوند.
Network Resilience تلاش میکند رفتار اپلیکیشن در این شرایط بهتر شود.
هدف این نیست که مشکل شبکه جادویی حل شود.
هدف این است که برنامه در برابر این اتفاقها رفتار قابل پیشبینیتری داشته باشد.
آیا باید همین حالا به Next.js 16.3 آپدیت کنیم؟
مثل همیشه جواب به پروژه بستگی دارد.
اگر یک پروژهی حساس Production داری که چند هفته است بدون مشکل کار میکند، بهتر است طبق روال معمول:
نسخه را در محیط تست بررسی کنی.
Build را چک کنی.
تستها را اجرا کنی.
بعد منتشر کنی.
اما اگر:
پروژهی بزرگی داری.
RAM زیادی در dev مصرف میشود.
CI Build طولانی است.
از App Router استفاده میکنی.
با ابزارهای AI کار میکنی.
Next.js 16.3 احتمالاً یکی از آن آپدیتهایی است که ارزش امتحان کردن دارد.
چیزی که این نسخه را جالب میکند این نیست که یک API عجیب اضافه کرده.
اتفاق مهمتر این است که تقریباً همهجا کمی بهتر شده.
Turbopack سبکتر شده.
Buildها سریعتر شدهاند.
SSR بهینهتر شده.
Navigation روانتر شده.
و ابزارهای AI حالا بیشتر بخشی از اکوسیستم Next.js محسوب میشوند.
به نظر من Next.js 16.3 بیشتر از اینکه یک نسخهی «با چند قابلیت جدید» باشد، یک قدم برای بالغتر شدن فریمورک است.
قدم بعدی احتمالاً فقط سریعتر کردن اپلیکیشن نیست؛ بلکه ساختن محیطی است که انسان و Agent بتوانند کنار هم راحتتر محصول بسازند.
دوم، طول متغیر. cuid اصلی طول ثابتی داشت، ولی cuid2 بهصورت پیشفرض طول قابل تنظیم داره (پیشفرض ۲۴ کاراکتر) و میتونی بین ۴ تا ۳۲ کاراکتر تنظیمش کنی، بسته به اینکه چقدر فضای نام یا خوانایی برات مهمه.
سوم، شروع با حرف. هر cuid2 با یک حرف (نه عدد) شروع میشه، که این یک نکتهی فنی مهمه: بعضی سیستمها و زبانهای برنامهنویسی وقتی یک شناسه با عدد شروع بشه، ممکنه اون رو بهاشتباه بهعنوان عدد تفسیر کنن (مثلاً توی نام متغیر جاوااسکریپت یا بعضی زبانهای کوئری). با اجباریکردن شروع با حرف، cuid2 این کلاس از باگها رو کامل حذف میکنه.
چهارم، همچنان قابل مرتبسازی تقریبی بر اساس زمانه (نه دقیق مثل ULID، ولی بهاندازهی کافی برای اکثر کاربردهای عملی)، بدون اینکه این ترتیب، اطلاعات حساس رو لو بده.
مقایسهی مستقیم
ویژگی
cuid
cuid2
الگوریتم
fingerprint + timestamp + counter
SHA3 هش روی entropy تصادفی
قابل پیشبینی بودن
نسبتاً بله (ریسک امنیتی)
خیر
طول
ثابت
متغیر (پیشفرض ۲۴، قابل تنظیم ۴ تا ۳۲)
شروع رشته
حرف c ثابت
همیشه یک حرف تصادفی
عملکرد در serverless
ضعیفتر
بهینهشده
نگهداری پروژه
متوقف شده
فعال
مثال کد
استفاده از cuid2 توی جاوااسکریپت خیلی سادهست:
import { createId } from '@paralleldrive/cuid2';
const id = createId();
// مثال خروجی: tz4a98xxat96iws9zmbrgj3a
// اگه بخوای طول متفاوتی داشته باشی
import { init } from '@paralleldrive/cuid2';
const createShortId = init({ length: 10 });
const shortId = createShortId();
توی پروژههای Prisma هم، تعریف یک فیلد با cuid2 به این شکله:
model User {
id String @id @default(cuid2())
}
کِی از هرکدوم استفاده کنیم
اگه پروژهی جدیدی شروع میکنی، عملاً هیچ دلیلی برای انتخاب cuid اصلی وجود نداره — نگهداریش متوقف شده و مشکلات امنیتیش شناختهشدهست. سراغ cuid2 برو، مگر اینکه نیازهای خاصتری داشته باشی: اگه به ترتیب دقیق زمانی (نه فقط تقریبی) نیاز داری، ULID انتخاب بهتریه؛ اگه سازگاری با استانداردهای جهانی و اکوسیستمهای قدیمیتر مهمه، UUID (بهخصوص نسخهی ۷ که خودش هم قابل مرتبسازی زمانیه) گزینهی امنتریه. ولی برای اکثر پروژههای وب مدرن که شناسهی کوتاه، url-friendly، و امن میخوان، cuid2 دقیقاً همونجاییه که باید بری.
Typesense هم رقیب مشابهیه، با فلسفهی تقریباً یکسان: نصب ساده، پاسخ سریع، API قابلفهم. هر دو این ابزارها برای autocomplete و جستجوی محصول توی فروشگاههای کوچیک تا متوسط، مستندات، یا هر جایی که کاربر انتظار جواب فوری داره، انتخابهای خیلی خوبی هستن.
اما این سادگی رایگان نیست. تریدآف اصلی اینه که Meilisearch و Typesense قابلیتهای aggregation پیچیدهای که Elasticsearch داره رو ندارن — یعنی اگه نیازت فقط جستجوی متنیه، عالی جواب میدن، ولی اگه میخوای همزمان تحلیل آماری روی میلیونها رکورد لاگ انجام بدی یا dashboard های پیچیدهی مانیتورینگ بسازی (کاری که Kibana روی Elasticsearch انجام میده)، این ابزارهای سبکتر برات کافی نیستن. خلاصهاش اینه: اگه مسئلهات «جستجو»ست، سبکترها رو انتخاب کن؛ اگه مسئلهات «جستجو + آنالیز حجم عظیم داده»ست، سراغ Elasticsearch برو.
نصب Elasticsearch با Docker
راحتترین و تمیزترین راه برای بالا آوردن Elasticsearch، بهخصوص برای توسعه یا تست، استفاده از Docker است، چون همهی وابستگیها (شامل خود JVM) داخل ایمیج پکیج شدن و مجبور نیستی هیچی رو دستی روی سیستم نصب کنی.
همچنین لازمه تنظیم vm.max_map_count رو دستی انجام بدی، چون Elasticsearch برای مدیریت حافظهی داخلیش به مقدار بالاتری از پیشفرض لینوکس نیاز داره:
sudo sysctl -w vm.max_map_count=262144
کدوم روش رو انتخاب کنیم
برای توسعه، تست محلی، یا حتی خیلی از سناریوهای production کوچیک تا متوسط، Docker (یا بهتر، docker-compose همراه با volume برای persistence) گزینهی پیشنهادیه. مزیتش اینه که آپدیت نسخه، ریاستارت، و پاکسازی کامل محیط، یک دستور بیشتر نیست. نصب مستقیم روی سیستمعامل رو معمولاً وقتی توصیه میکنن که تیم زیرساخت از قبل روی مدیریت سرویسهای systemd و مانیتورینگ سطح OS تجربه داره، یا محدودیت سازمانی برای استفاده از Docker وجود داره. برای اکثر تیمها، مسیر Docker هم سریعتره هم قابلتکرارتر (reproducible)، پس معمولاً انتخاب اول همینه.
نوشتن Query در Elasticsearch
Elasticsearch با یک زبان JSON-based به اسم Query DSL کار میکنه. سادهترین حالت، جستجوی متنی روی یک فیلد است:
نکتهی مهم اینجا فرق must و filter است: بخش must روی امتیاز relevance تأثیر میذاره (یعنی نتایج بر اساس میزان تطابق رتبهبندی میشن)، ولی filter فقط true/false هست و روی امتیاز اثر نداره — و چون کش میشه، سریعتر هم اجرا میشه. برای شرطهایی مثل بازهی قیمت یا وضعیت موجودی که فقط باید فیلتر کنن نه رتبهبندی، همیشه از filter استفاده کن.
برای aggregation، یعنی محاسبات آماری روی نتایج، مثلاً میانگین قیمت به تفکیک برند:
عدد ^2 کنار title یعنی تطابق توی این فیلد دو برابر وزن بیشتری توی محاسبهی relevance داره — یعنی اگه کلمه توی عنوان پیدا بشه، نسبت به پیدا شدن توی توضیحات، امتیاز بالاتری میگیره.
جستجوی مقاوم به غلط تایپی (fuzzy)
اگه بخوای حتی وقتی کاربر کلمه رو اشتباه تایپ کرده جواب پیدا کنی:
ترکیب چند شرط با bool کامل (must, should, must_not, filter)
یک مثال واقعیتر که همهی بخشهای bool رو با هم نشون میده: محصولاتی که «کفش» توی عنوانشونه، ترجیحاً برند «نایک» یا «آدیداس» باشن (امتیاز بیشتر ولی اجباری نیست)، جنسشون «چرم» نباشه، و موجود باشن:
اینجا نتایج اول بر اساس قیمت صعودی مرتب میشن و در صورت تساوی قیمت، بر اساس امتیاز relevance. from و size هم صفحهی سوم رو برمیگردونن (فرض بر ۱۰ آیتم در هر صفحه).
هایلایت کردن کلمهی جستجوشده در نتیجه
وقتی میخوای مثل گوگل، بخشی از متن که با جستجو مطابقت داشته رو بولد نشون بدی:
اینجا k تعداد نزدیکترین نتایجی که میخوای برگرده رو مشخص میکنه، و num_candidates تعداد کاندیدهایی که Elasticsearch قبل از انتخاب k تای نهایی بررسی میکنه — عدد بزرگتر یعنی دقت بالاتر ولی سرعت پایینتر.
قابلیتهای اضافهای که کمتر دیده میشن
فراتر از جستجوی متنی معمولی، Elasticsearch چند قابلیت داره که ارزش دونستن دارن.
geo queries به تو اجازه میدن جستجوی مکانی انجام بدی — مثلاً «همهی رستورانهای نزدیک این مختصات جغرافیایی توی شعاع ۲ کیلومتر». این برای اپلیکیشنهای مبتنی بر موقعیت مکانی حیاتیه و بدون ابزار جانبی مستقیم پشتیبانی میشه.
kNN search یا جستجوی برداری، قابلیتیه که این چند سال با رشد هوش مصنوعی خیلی مهم شده: میتونی بهجای جستجوی متنی، بردارهای embedding (خروجی مدلهای زبانی) رو ایندکس کنی و نزدیکترین بردارها به یک query رو پیدا کنی — دقیقاً همون چیزی که پشت سیستمهای RAG (retrieval-augmented generation) قرار داره.
percolate query برعکس جستجوی معمولیه: بهجای اینکه یک query رو روی مجموعهای از داده اجرا کنی، یک دادهی جدید رو روی مجموعهای از query های از قبل ذخیرهشده تست میکنی — مفید برای سیستمهای هشدار و فیلترینگ که باید بفهمن یک رکورد جدید با کدوم شرطهای ازپیشتعریفشده مطابقت داره.
و در نهایت، ecosystem کامل ELK/Elastic Stack — یعنی Kibana برای visualization، Logstash و Beats برای جمعآوری و انتقال داده — چیزیه که Elasticsearch رو از یک دیتابیس جستجو به یک پلتفرم کامل observability تبدیل میکنه، که این یکی از دلایل اصلیه که با وجود سنگین بودنش، توی محیطهای enterprise همچنان انتخاب اول میمونه.
جمعبندی
Elasticsearch ابزار درستیه وقتی هم جستجوی متنی پیچیده و هم آنالیز حجم بالای داده رو همزمان نیاز داری. ولی اگه فقط دنبال یک جستجوی سریع و typo-tolerant برای سایت یا اپلیکیشنت هستی، قبل از اینکه وقت بذاری برای راهاندازی یک کلاستر Elasticsearch، حتماً Meilisearch یا Typesense رو هم امتحان کن — احتمالاً همون کاری که میخوای رو با یکدهم پیچیدگی انجام میدن.
نکتهای که نباید نادیده گرفت
با همهی این هیجان، این ابزار فعلاً پشت یک پولیوار جدیه: فقط مشترکین SuperGrok Heavy بهش دسترسی دارن، که ردهی بالای اشتراک Grok محسوب میشه. یعنی برخلاف تصوری که ممکنه از عبارت «بدون کدنویسی» به ذهن برسه، هنوز یک مانع (البته اینبار مالی، نه فنی) سر راهه. همچنین چون این قابلیت هنوز در فاز early beta است، طبیعیه که محدودیتها و باگهای اولیهای هم داشته باشه که با گذر زمان رفع میشن.
جمعبندی
Build Mode نشون میده مسیر ابزارهای هوش مصنوعی داره از «چتکردن دربارهی کد» بهسمت «تولید مستقیم محصول قابلاستفاده» حرکت میکنه. برای کسی که ایده داره ولی مهارت فنی نداره، این یعنی فاصلهی بین فکر و محصول واقعی کوتاهتر شده. ولی برای کسی که دنبال یک ابزار توسعهی جدی و قابل اتکاست، هنوز باید صبر کرد ببینه این نسخهی beta، وقتی از پشت پولیوار بیرون بیاد و در دسترس عموم قرار بگیره، چقدر توی سناریوهای واقعی و پیچیدهتر جواب میده.
tool use: در مقایسه با بعضی رقبا مثل Gemini، follow-through بهتری در task های چندمرحلهای داره و hallucination کمتری گزارش شده.
چی ضعیفتره
نوشتن خلاقانه: اینجاست که مدلهایی مثل Claude هنوز جلوترن. اگه میخوای متنی بنویسی که ظرافت داشته باشه یا سبک خاصی داشته باشه، MiMo معمولاً نتیجهی معمولیتری میده. برای ترجمه خوبه، ولی برای خلق محتوای خلاقانهی فارسی همون ضعفی که اکثر مدلها دارن رو داره.
context طولانی: همونطور که گفتم، روی session های بلند focus ضعیف میشه. نه بهخاطر اینکه context window کوچیکه — بلکه بهخاطر اینکه attention روی اطلاعات اول session با پیشرفت مکالمه کمرنگتر میشه.
در دسترس بودن: روی همهی platform های غربی بهراحتی host نشده. بعضی کاربرها از محدودیتهای استفاده در تیرهای Pro شکایت دارن.
نسخههای اولیه: V1 و V2 اولیه مشکلاتی داشتن که V2.5 خیلیشون رو بهتر کرده. اگه چند ماه پیش امتحان کردی و نتیجه خوبی نگرفتی، ارزش داره دوباره V2.5 رو تست کنی.
کدوم نسخه برای چی
V2.5 non-Pro: برای اکثر کاربردهای روزانه — کدنویسی، ترجمه، تحلیل، task های متوسط. بهترین نسبت هزینه به کیفیت الان.
V2-Flash: وقتی سرعت مهمترین چیزه و میتونی کمی کیفیت بدی. برای agentic loop هایی که باید خیلی سریع iterate کنن.
V2-Pro / V2.5-Pro: برای task های خیلی سنگین با نیاز به reasoning عمیق. ولی باید بسنجی که آیا هزینهی اضافهاش نسبت به non-Pro توجیه داره — بعضی تستها میگن در کاربردهای روزانه فرق محسوسی نیست.
جمعبندی
MiMo یه رقیب جدی توی فضای open-weight است — نه بهخاطر اینکه در همه چیز بهترینه، بلکه چون نسبت هزینه به کیفیتش جذابه و توی task های خاص (کدنویسی، ترجمه، agentic کوتاهمدت) نتایج واقعاً خوبی میده.
اگه با فارسی کار میکنی یا دنبال یه مدل ارزون برای workflow های برنامهنویسی هستی، V2.5 non-Pro ارزش امتحان کردن داره. فقط انتظار نداشته باش که روی task های خلاقانهی پیچیده یا session های خیلی بلند همون نتیجه رو بده.
نه یه display server، بلکه یه protocol: این نکته مهمه. Wayland خودش یه نرمافزار نیست — یه spec هست. GNOME با Mutter، KDE با KWin، Hyprland، Sway — هر کدوم پیادهسازی جدا دارن. این یعنی تجربهی Wayland از یه compositor به compositor دیگه میتونه فرق کنه.
وضعیت واقعی ۲۰۲۶
اگه از GNOME یا KDE Plasma استفاده میکنی، Wayland الان default هست و برای اکثر کارها بدون دردسر کار میکنه. طبق یه survey از ۳۹۲۳ کاربر Arch در ژانویه ۲۰۲۵، ۸۰ درصد روی Wayland بودن. GNOME از نسخهی ۴۹ (۲۰۲۵) X11 session رو کاملاً حذف کرده. KDE Plasma 6.8 که اواخر ۲۰۲۶ یا ۲۰۲۷ میاد هم همین کار رو خواهد کرد.
NVIDIA که قبلاً مشکلسازترین قسمت بود، با driver series 495+ وضعش خیلی بهتر شده. اکثر کاربران NVIDIA الان میتونن Wayland رو بدون دردسر زیادی اجرا کنن — ولی اگه GPU قدیمیه (GTX 1000 series و قدیمیتر)، ممکنه همچنان مشکل داشته باشی.
چه کسی نباید عجله کنه
Wayland برای همه مناسب نیست — حداقل نه الان:
اگه از SSH X forwarding (ssh -X یا ssh -Y) برای باز کردن GUI برنامههای remote استفاده میکنی، Wayland این رو natively پشتیبانی نمیکنه. باید از راهحلهای دیگه مثل RDP یا VNC استفاده کنی.
اگه از ابزارهای automation روی desktop استفاده میکنی — xdotool، wmctrl، AutoKey — اینا روی Wayland کار نمیکنن چون Wayland به appها اجازه نمیده ورودی سیستمیک simulate کنن.
اگه از window manager های سبک مثل i3، openbox، یا fluxbox استفاده میکنی، نسخههای Wayland بعضیهاشون بالغ نیستن. Sway جایگزین i3 روی Wayland هست، ولی feature parity کامل نداره.
اگه از VNC برای remote desktop استفاده میکنی، X11 network transparency همچنان این use case رو راحتتر میکنه.
setup چقدر سخته
برای کاربر معمولی با GNOME یا KDE، عملاً هیچ setup ای لازم نیست — چون اگه لینوکس مدرن نصب کردی، احتمالاً از قبل روی Wayland هستی. چک کردنش سادهست:
echo $XDG_SESSION_TYPE # باید "wayland" برگردونه
اگه X11 هست و میخوای Wayland امتحان کنی، توی login screen (GDM یا SDDM) میتونی session نوع رو عوض کنی — بدون نیاز به نصب چیزی. بعد از login کافیه echo $XDG_SESSION_TYPE بزنی و ببینی.
اگه بخوای برگردی، همون راه رو از login screen برعکس کن.
X11 appها چی میشن
اکثر X11 appها روی Wayland از طریق XWayland کار میکنن — یه X server که بهعنوان یه Wayland client اجرا میشه. در عمل، بیشتر برنامهها بدون تغییر کار میکنن. محدودیتها از همون security model میان: appهایی که global pointer position یا synthetic input نیاز دارن زیر XWayland هم مشکل دارن.
جمعبندی واقعبینانه
Wayland برای اکثر کاربران لینوکس دسکتاپ الان انتخاب بهتریه — نه چون X11 خراب شده، بلکه چون Wayland معماری تمیزتر، امنیت ساختاری بهتر، و پشتیبانی از display مدرن (HiDPI، variable refresh rate) رو از اساس حل میکنه.
ولی اگه workflow ات به X forwarding، GUI automation، یا window manager هایی که Wayland equivalent ندارن وابستهست، X11 هنوز گزینهی درستتره. و این انتخاب هیچ ایرادی نداره — هر دو همزمان در دسترسند و X11 حداقل تا ۲۰۲۸ patch خواهد خورد.
محدود کردن دسترسیها — خصوصاً روی فایلسیستم — یه قدم ضروریه نه یه پیشنهاد احتیاطی.
اگر خیلی بیشتر بخواید امنیت رو رعایت کنید میتونید روی یک VM یا VPS رانش کنید و باهاش در ارتباط باشید از جاهایی که ساپورت میکنه (تقریبا همه کاری میشه کرد) ولی شخصا روی سیستمم هست (لینوکس) و تا الان مشکلی نداشتم و مستقیم توی ترمینال باهاش کار میکنم.
چیه و چی نیست
چیه: یه agent محلی قدرتمند برای کارهای پیچیده و طولانی که با راهنمایی درست نتایج خوبی میده. اگه بهش skill های درست بدی و prompt دقیق بنویسی، کارهایی انجام میده که معمولاً از agentهای open-source انتظار نداری. MIT، رایگان، سورس باز.
چی نیست: agent ای که بدون نظارت کار کنه، یا که بهطور خودکار skill بسازه و بهتر بشه — حداقل نه به اون شکلی که توی marketing claim میشه.
مشخصات کلی
Hermes Agent از Nous Research فوریه ۲۰۲۶ منتشر شد و الان روی نسخهی v0.18.2 هست. از یه gateway اجرا میشه و میتونی از Telegram، Discord، Slack، WhatsApp، Signal، و Email باهاش در ارتباط باشی. با هر provider ای کار میکنه — Nous Portal، OpenRouter، Anthropic، OpenAI، یا مدل محلی با Ollama. تا ژوئن ۲۰۲۶ به ۱۸۸ هزار ستارهی GitHub رسیده، NVIDIA هم آن را بهعنوان runtime مرجع برای Nemotron 3 Ultra انتخاب کرده.
# macOS / Linux
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
# یا از طریق pip
pip install hermes-agent && hermes
Desktop app هم برای macOS و Windows مستقیم از سایت قابل دانلود هست.
این endpoint با فرمت OpenAI کاملاً compatible هست، پس هر ابزاری که بتونه با OpenAI کار کنه — Claude Code، Codex، Cursor، Cline، Continue، و بقیه — میتونه از همین endpoint استفاده کنه.
راستی اگر فلگ t- رو به 9router پاس بدی میتونی ترمینال رو ببندی و توی بکگراند کارشو میکنه.
چیزهایی که توی مسیر اضافه شدن
Format Translator: اگه یه tool با فرمت OpenAI کار میکنه ولی میخوای به Anthropic یا Gemini وصل بشی، 9Router فرمت رو وسط راه ترجمه میکنه. نیازی نیست tool ات Anthropic Messages format بلد باشه.
Multi-Account: میتونی چند حساب از یه provider اضافه کنی و 9Router با round-robin بینشون load balance کنه. اگه یه حساب به محدودیت رسید، خودکار به حساب بعدی میره.
RTK Token Saver: خروجی دستوراتی مثل git diff، grep، find و tree رو قبل از فرستادن به مدل فشرده میکنه. ادعای سازنده اینه که ۲۰ تا ۴۰ درصد توکن ورودی کمتر مصرف میشه. این بهصورت پیشفرض فعاله و lossless هست.
Caveman Mode: یه system prompt تزریق میکنه که جوابهای مدل رو کوتاهتر و متراکمتر میکنه. پنج سطح شدت داره. اگه با مدلهایی کار میکنی که verbose جواب میدن و میخوای توکن خروجی کمتر مصرف بشه، این feature کمک میکنه.
MITM Bridge: یه feature پیشرفتهتر که ترافیک IDEهایی مثل GitHub Copilot، Kiro IDE، یا Antigravity رو intercept میکنه و به 9Router هدایت میکنه. این یعنی میتونی از اشتراک IDE هایی که داری برای call کردن هر backend ای که بخوای استفاده کنی. سازنده خودش تاکید کرده که باید policy هر tool رو بررسی کنی قبل از استفاده.
Cloud Sync + Tunnel: اگه بخوای از جای دیگهای غیر از ماشین محلیت به 9Router دسترسی داشته باشی، یه Cloudflare tunnel میتونی راه بندازی.
یه نکته دربارهی provider های رایگان
Tier 3 شامل providerهایی مثل iFlow و Kiro میشه که «unlimited free» هستن. واقعیت اینه که اینها معمولاً quota دارن، ولی reset شون سریعتره یا سقفشون بالاتره از providerهای اصلی. اگه روی پروژههای سنگین کار میکنی، Tier 3 رو آخرین fallback در نظر بگیر، نه ابزار اصلی — چون کیفیت مدلهای رایگان معمولاً پایینتره.
open source و رایگان
9Router با MIT license منتشر شده و سورسش روی GitHub هست. هیچ سرور مرکزیای وجود نداره — همه چیز روی ماشین خودت اجرا میشه. پرداختی برای خود 9Router وجود نداره؛ هزینه فقط مربوط به providerهاییه که انتخاب میکنی.
برای کسی که چند اشتراک AI مختلف داره و هر ماه بخشی از quota هدر میره، یا کسی که وسط کار به rate limit میخوره و باید دستی provider عوض کنه، 9Router یه مشکل واقعی رو حل میکنه.
ویژگیهای کلیدی و انقلابی زبان Verse
اگر با زبانهایی مثل پایتون، سیشارپ یا جاوااسکریپت کار کرده باشید، در مواجهه با Verse با مفاهیم شگفتانگیزی روبرو خواهید شد که فرآیند توسعه را به شدت ایمنتر و لذتبخشتر میکنند.
۱. همه چیز یک «عبارت» است (Everything is an Expression)
در زبانهای سنتی، ما بین دستورات (Statements - مانند حلقهها که مقداری برنمیگردانند) و عبارات (Expressions - که مقدار تولید میکنند) تفاوت قائل میشویم. در Verse این مرز وجود ندارد؛ همه چیز یک عبارت است و یک مقدار تولید میکند.
به عنوان مثال، یک شرط ساده یا حتی یک حلقه در ورس میتواند مستقیماً به یک متغیر نسبت داده شود:
Result := if (Condition[]) then "yes" else "no"
Multiply := for (X : Array) { X * 42 }
این ویژگی باعث میشود کدها فوقالعاده ترکیبپذیر (Composable) و خلاصه شوند.
۲. سیستم شکست به جای مقادیر بولی (Failure as Control Flow)
یکی از جذابترین بخشهای فنی ورس، سیستم شکست (Failure System) آن است. در ورس چیزی به نام مقدار Boolean (True/False) سنتی برای کنترل جریان برنامه وجود ندارد. در عوض، عبارات یا «موفق» میشوند و مقداری را برمیگردانند، یا «شکست» میخورند.
توابعی که ممکن است شکست بخورند با براکت [] مشخص میشوند. اگر عبارتی در یک محیط failable (قابل شکست) اجرا شود و شکست بخورد، تغییرات آن بخش از کد به صورت خودکار به حالت قبل برمیگردد (Speculative Execution). این یعنی دیگر نیازی به نوشتن ساختارهای تکراری try-catch برای مدیریت خطاها ندارید.
۳. همزمانی ساختاریافته (Structured Concurrency)
برنامهنویسی بازیهای آنلاین و چندنفره به شدت به مدیریت زمان و رویدادهای همزمان وابسته است. ورس با معرفی مفاهیمی چون sync ،race ،rush و branch برنامهنویسی ناهمگام (Async) را به بازیچه تبدیل کرده است. شما میتوانید چندین کار را به طور همزمان اجرا کنید، مشخص کنید که کدام یک باید منتظر دیگری بماند، یا در صورت برنده شدن یک پردازش در مسابقه (race)، بقیه پردازشها را فوراً لغو کنید؛ همه اینها بدون ریزش حافظه یا تداخلهای رایج شبکه!
جایگاه Verse در اکوسیستم Unreal Editor for Fortnite (UEFN)
در حال حاضر، دروازه ورود به دنیای ورس، ابزار UEFN یا همان محیط توسعه فورتنایت است. پیش از این، کاربران در بخش Fortnite Creative تنها میتوانستند دستگاههای بازی (Devices) را با خطوط بصری و محدود به هم متصل کنند. اما ورس به شما قدرت مطلق میدهد.
با استفاده از Verse در UEFN میتوانید:
تعاملات پیچیده بسازید: رفتار بازیکنان، قوانین بازی و محیط را با دقت میلیثانیهای کنترل کنید.
منطقهای داینامیک خلق کنید: بازیهایی بسازید که بر اساس وضعیت فعلی جهان بازی یا مشخصات بازیکن، به صورت زنده تغییر میکنند.
محدودیت ابزارهای بصری را بشکنید: ساخت سیستمهای امتیازدهی پیشرفته، هوش مصنوعی شخصیسازیشده برای NPCها و مکانیزمهای خلاقانه که تا پیش از این غیرممکن بود.
مقایسه اجمالی: Verse در برابر زبانهای دیگر
ویژگی
زبان Verse
زبانهای سنتی (C++/C#)
هدف اصلی
شبیهسازی متاورس و بازی
توسعه عمومی و سیستم
مدیریت خطا
سیستم شکست (Failure Contexts)
استثناها (Exceptions / Try-Catch)
نوع پارادایم
تابعی - منطقی - امری
شیءگرا یا امری
امنیت شبکه
بالا و بومی (بدون Desync)
نیازمند کدنوسی دستی پیچیده
چگونه یادگیری Verse را شروع کنیم؟
برای شروع یادگیری این زبان، نیازی نیست یک برنامهنویس باسابقه باشید. اپیک گیمز مستندات آموزشی خود را به گونهای طراحی کرده که حتی افراد بدون تجربه برنامهنویسی نیز بتوانند از آن بهرهمند شوند.
گام اول: نصب ابزارها
ابتدا باید نرمافزار Epic Games Launcher را نصب کرده و از درون آن Unreal Editor for Fortnite (UEFN) را دریافت کنید. ورس به صورت بومی در این ادیتور ادغام شده است.
گام دوم: استفاده از قالبهای آماده (Templates)
مستندات رسمی اپیک گیمز شامل پروژههای آمادهای مانند Verse Starter Template است. با باز کردن این پروژهها، میتوانید کدهای نوشته شده برای هدایت یک NPC یا تغییر یک دستگاه در بازی را ببینید، آنها را دستکاری کنید و نتیجه را فوراً در بازی مشاهده کنید.
گام سوم: مطالعه منبع اصلی (Book of Verse)
اگر برنامهنویس هستید و میخواهید مستقیماً به سراغ مفاهیم عمیق مانند سیستم افکتها (Effects)، کلاسیفیکیشن تایپها (Type System) و مدیریت حافظه بروید، کتاب آنلاین ورس (Book of Verse) که در آدرس verselang.github.io/book در دسترس است، بهترین و دقیقترین مرجع برای شماست.
آینده زبان Verse؛ فراتر از فورتنایت
شاید بپرسید: «آیا ارزش دارد زبانی را یاد بگیرم که فقط در فورتنایت کاربرد دارد؟» پاسخ کوتاه این است: ورس محدود به فورتنایت نخواهد ماند.
تیم سویینی (مدیرعامل اپیک گیمز) بارها اشاره کرده است که هدف نهایی ورس، تبدیل شدن به زبان استاندارد موتور بازیسازی Unreal Engine و در نهایت کل اینترنت سهبعدی است. پتانسیل این زبان در هندل کردن پروژههای MMO (بازیهای آنلاین انبوه) با هزاران بازیکن در یک سرور واحد، بدون ناهماهنگی (Desync)، توجه بسیاری از نظریهپردازان زبانهای برنامهنویسی را جلب کرده است.
کلام آخر
زبان برنامهنویسی Verse مرزهای سنتی میان کدنویسی سختگیرانه و خلاقیت در بازیسازی را جابهجا کرده است. چه یک بازیساز مستقل باشید که میخواهد مپهای درآمدزا در فورتنایت خلق کند، و چه یک مهندس نرمافزار کنجکاو که به دنبال کشف پارادایمهای نوین برنامهنویسی است، ورس ابزاری است که نباید از آن غافل شوید. رویای متاورس در حال ساختن است و خطوط کد آن، با زبان ورس نوشته میشوند. همین امروز یادگیری آن را شروع کنید!
اما این قدرت بیشتر با یک مکانیزم امنیتی همراه شده است. Fable 5 از سیستمی به نام classifier استفاده میکند — مجموعهای از مدلهای هوش مصنوعی جداگانه که درخواستهای بالقوه مخرب را شناسایی میکنند. هر بار که این سیستم یک درخواست را مشکلدار تشخیص دهد، پاسخ بهطور خودکار توسط Claude Opus 4.8 داده میشود — به جای اینکه درخواست کاملاً رد شود. این رویکرد هوشمندانهای است؛ چرا که کاربر یک پاسخ مفید دریافت میکند، اما از تواناییهای پیشرفتهتری که میتوانند مورد سوءاستفاده قرار بگیرند، محافظت میشود.
این fallback در کمتر از ۵ درصد جلسات اتفاق میافتد. برای بقیه کاربران، عملکرد Fable 5 عملاً برابر با Mythos 5 است.
سه حوزه اصلی تحت پوشش classifier قرار دارند:
امنیت سایبری. Mythos-class در شناسایی و بهرهبرداری از آسیبپذیریهای نرمافزاری فوقالعاده عمل میکند. classifier های Fable 5 نهتنها بهرهبرداری از آسیبپذیری، بلکه طیف گستردهتری از وظایف تهاجمی سایبری — شامل شناسایی، حرکت جانبی و فرار از سیستمهای دفاعی — را پوشش میدهند. یک آزمون خارجی با بیش از ۱۰۰۰ ساعت تست انجام شد و هیچ jailbreak جهانی پیدا نشد.
زیستشناسی و شیمی. Mythos 5 در پیشبینی خواص ویروسهای پیچیده، عملکردی بهتر از مدلهای اختصاصی پروتئین داشت — بدون اینکه برای این کار آموزش دیده باشد. این توانایی dual-use است: در دست محققان، ابزاری ارزشمند برای توسعه درمانهای ژنی است؛ در دست افراد نادرست، میتواند خطرناک باشد. به همین دلیل، اکثر درخواستهای مرتبط با زیستشناسی و شیمی فعلاً به Opus 4.8 ارجاع داده میشوند.
Distillation. این classifier از تلاشهای مقیاسبزرگ برای استخراج تواناییهای Claude و استفاده از آنها برای آموزش مدلهای رقیب جلوگیری میکند.
Claude Mythos 5 چیست؟
Claude Mythos 5 همان مدل پایهای است که Fable 5 بر آن بنا شده، اما با یک تفاوت کلیدی: محدودیتهای سایبری آن برداشته شده است.
نامگذاری این دو مدل نیز بامعناست. «Fable» از ریشه لاتین fabula به معنای «آنچه گفته میشود» میآید — همریشه با کلمه یونانی mythos. تنها چیزی که این دو مدل را از هم جدا میکند، وجود یا عدم وجود همان safeguardها است.
Mythos 5 در حال حاضر تنها برای شرکای Project Glasswing — شامل سازمانهای امنیت سایبری و ارائهدهندگان زیرساختهای حیاتی — در دسترس است. Anthropic قصد دارد به زودی دسترسی را به محققان زیستپزشکی تأییدشده نیز گسترش دهد، با این تفاوت که برای آنها safeguardهای زیستشناسی برداشته میشود، اما محدودیتهای سایبری همچنان باقی میماند.
قابلیتهای اصلی این مدلها
Fable 5 و Mythos 5 در چند حوزه به صورت خاص برجسته هستند.
برنامهنویسی. شرکت Stripe گزارش داده که Fable 5 یک migration در پایگاه کد ۵۰ میلیون خطی Ruby را در یک روز انجام داد — کاری که یک تیم کامل بیش از دو ماه نیاز داشت. در بنچمارک FrontierCode که کیفیت کد تولیدی در محیطهای واقعی را ارزیابی میکند، Fable 5 بالاترین امتیاز را در بین مدلهای frontier کسب کرد.
وظایف طولانیمدت. این مدلها میتوانند ساعتها روی یک پروژه کار کنند، پیشرفت خود را ارزیابی کنند و مسیر را در صورت نیاز اصلاح کنند. هر دو مدل از پنجره context یک میلیون توکن با خروجی تا ۱۲۸ هزار توکن در هر درخواست پشتیبانی میکنند. آزمایش با بازی Slay the Spire نشان داد که استفاده از حافظه مبتنی بر فایل، عملکرد Fable 5 را سه برابر بیشتر از Opus 4.8 بهبود میدهد.
پردازش تصویر. Fable 5 جدیدترین مدل state-of-the-art در حوزه بینایی است. این مدل توانست بازی Pokémon FireRed را تنها با تماشای اسکرینشاتهای خام و بدون هیچ ابزار کمکی به پایان برساند — کاری که مدلهای قبلی Claude حتی با harness های پیچیده هم به سختی از پس آن برمیآمدند.
تحقیقات علمی. Mythos 5 فرآیند طراحی دارو را تا ۱۰ برابر سریعتر کرده و در ۹ مورد از ۱۴ هدف پروتئینی مورد مطالعه، کاندیداهای قوی شناسایی کرده است. همچنین اولین مدل Anthropic است که به طور مستمر فرضیههای علمی نوآورانه تولید میکند؛ یکی از این فرضیهها درباره یک پروتئین باکتریایی بعداً توسط یک آزمایشگاه مستقل تأیید شد.
تحلیل مالی و کاری. در Finance Benchmark شرکت Hebbia برای استدلال در سطح ارشد، Fable 5 بالاترین امتیاز را در بین تمام مدلهای آزمایششده کسب کرد. شرکت IMC نیز گزارش داد که این مدل در تقریباً تمام معیارهای ارزیابی تحلیل معاملاتی نتایج عالی داشت.
سیاست جدید نگهداری داده
یکی از تغییرات مهمی که با این مدلها همراه شده، الزام نگهداری ۳۰ روزه داده برای تمام ترافیک روی مدلهای Mythos-class است.
Anthropic تأکید میکند که این دادهها برای آموزش مدلهای جدید استفاده نمیشوند و تمام دسترسیهای انسانی به آنها ثبت میشود. هدف اصلی شناسایی jailbreak های پیچیدهای است که ممکن است در طول زمان و در چند مکالمه مختلف طراحی شده باشند — حملاتی که بررسی تکبهتک جلسات قادر به شناسایی آنها نیست.
قیمتگذاری و دسترسی
هر دو مدل با قیمت یکسان عرضه شدهاند: ۱۰ دلار به ازای هر میلیون توکن ورودی و ۵۰ دلار به ازای هر میلیون توکن خروجی. این قیمت کمتر از نصف قیمت Claude Mythos Preview است.
از نظر دسترسی:
Claude Fable 5 از ۹ ژوئن ۲۰۲۶ از طریق Claude API و پلنهای Enterprise مصرفی کاملاً در دسترس است. برای کاربران اشتراکی (Pro، Max، Team و Enterprise)، این مدل تا ۲۲ ژوئن بدون هزینه اضافه در دسترس است. از ۲۳ ژوئن، استفاده از آن نیاز به usage credit خواهد داشت. Anthropic اعلام کرده که به محض کافی شدن ظرفیت، Fable 5 را دوباره بهعنوان بخش استاندارد پلنهای اشتراکی اضافه خواهد کرد.
Claude Mythos 5 فعلاً تنها در اختیار شرکای Project Glasswing است و به زودی برای محققان زیستپزشکی تأییدشده نیز باز خواهد شد.
جمعبندی
Claude Fable 5 و Mythos 5 را میتوان مهمترین معرفی Anthropic در سال ۲۰۲۶ دانست — نه فقط به خاطر قدرت بیشتر، بلکه به خاطر رویکردی که پشت آنهاست.
برای اولین بار، یک شرکت هوش مصنوعی به جای اینکه یک مدل را به خاطر نگرانیهای امنیتی کنار بگذارد یا بدون هیچ محدودیتی آن را منتشر کند، مسیر سومی را انتخاب کرد: انتشار با safeguardهای دقیق، ارجاع هوشمند به جای رد کردن، آزمونهای امنیتی گسترده، و گسترش تدریجی دسترسی بر اساس اعتماد.
این الگو نشاندهنده بلوغ صنعتی است — و احتمالاً در مدلهای آینده نیز استاندارد خواهد شد.
منبع: اعلامیه رسمی Anthropic، ۹ ژوئن ۲۰۲۶
به زبان ساده:
ChatGPT گفتگوهای قبلی را تحلیل میکند.
اطلاعات مهم و پایدار را استخراج میکند.
موارد قدیمی یا منقضی شده را بهروزرسانی میکند.
هنگام پاسخگویی، فقط اطلاعات مرتبط را وارد مکالمه میکند.
این فرآیند باعث میشود حافظه ChatGPT بیشتر شبیه حافظه انسان عمل کند تا یک پایگاه داده ساده.
مهمترین مزایای Dreaming
1. حفظ بهتر اطلاعات مهم
دیگر لازم نیست بارها و بارها اطلاعات یکسان را تکرار کنید.
اگر ChatGPT بداند که شما:
برنامهنویس هستید
به توسعه Full Stack علاقه دارید
روی پروژه خاصی کار میکنید
میتواند در گفتگوهای بعدی پاسخهای دقیقتر و شخصیسازیشدهتری ارائه دهد.
2. جلوگیری از قدیمی شدن حافظه
یکی از مشکلات سیستمهای حافظه سنتی این بود که اطلاعات منسوخ را همچنان معتبر فرض میکردند.
برای مثال اگر ChatGPT بداند شما در ماه جولای به سنگاپور سفر میکنید، پس از پایان سفر این اطلاعات بهروزرسانی میشود و دیگر تصور نمیکند همچنان در آن کشور حضور دارید.
3. شخصیسازی بسیار بهتر
Dreaming باعث میشود ChatGPT:
سبک نوشتاری شما را بهتر بشناسد
علایق شما را درک کند
پیشنهادهای مرتبطتری ارائه دهد
در پروژههای بلندمدت عملکرد بهتری داشته باشد
این موضوع بهخصوص برای توسعهدهندگان، تولیدکنندگان محتوا، دانشجویان و مدیران پروژه اهمیت زیادی دارد.
4. مقیاسپذیری بیشتر
OpenAI اعلام کرده معماری جدید Dreaming نسبت به نسخههای قبلی بسیار بهینهتر شده و هزینه پردازشی آن تا حدود 5 برابر کاهش یافته است. این موضوع امکان ارائه حافظه پیشرفته را برای تعداد بسیار بیشتری از کاربران فراهم میکند.
آیا کاربران روی حافظه کنترل دارند؟
بله.
OpenAI تأکید کرده است که کاربران همچنان میتوانند:
حافظه را مشاهده کنند
اطلاعات ذخیرهشده را حذف کنند
حافظه را ویرایش کنند
قابلیت Memory را غیرفعال کنند
از Temporary Chat برای گفتگوهای بدون ذخیرهسازی استفاده کنند.
آیا Dreaming نگرانیهای حریم خصوصی ایجاد میکند؟
هر سیستم حافظه هوشمند طبیعتاً سوالاتی درباره حریم خصوصی ایجاد میکند.
هرچند OpenAI ابزارهای متعددی برای مدیریت حافظه در اختیار کاربران قرار داده است، اما برخی کاربران نسبت به خلاصهسازی خودکار اطلاعات شخصی و نحوه تفسیر آنها توسط سیستم نگرانیهایی مطرح کردهاند. در برخی بحثهای جامعه OpenAI نیز کاربران درباره نحوه تبدیل اطلاعات دقیق به خلاصههای کلیتر اظهار نظر کردهاند.
به همین دلیل آگاهی از تنظیمات Memory و مدیریت دورهای اطلاعات ذخیرهشده اهمیت زیادی خواهد داشت.
آینده ChatGPT با Dreaming
Dreaming فقط یک قابلیت جدید نیست؛ بلکه زیرساختی برای نسل آینده دستیارهای هوش مصنوعی محسوب میشود.
هدف OpenAI ساخت سیستمی است که بتواند در طول ماهها و حتی سالها همراه کاربران باشد، پروژههای آنها را بشناسد، ترجیحاتشان را درک کند و با گذشت زمان مفیدتر شود.
اگر این مسیر موفق باشد، ChatGPT از یک چتبات ساده به یک دستیار دیجیتال واقعی تبدیل خواهد شد که نهتنها به سوالات پاسخ میدهد، بلکه شما، اهداف شما و شیوه کاری شما را نیز میشناسد.
جمعبندی
معرفی Dreaming یکی از مهمترین بهروزرسانیهای تاریخ ChatGPT محسوب میشود. این فناوری با استفاده از حافظه پویا و خودبهروزرسان، مشکل فراموشی، کهنه شدن اطلاعات و شخصیسازی محدود را تا حد زیادی برطرف میکند.
در دنیایی که هوش مصنوعی به سمت دستیارهای دائمی و همراه حرکت میکند، حافظه هوشمند دیگر یک قابلیت جانبی نیست؛ بلکه یکی از مهمترین ارکان تجربه کاربری خواهد بود. Dreaming دقیقاً در همین مسیر قرار گرفته است و میتواند آینده تعامل انسان و هوش مصنوعی را متحول کند.
اما همه راضی نیستند
برخی کاربران حرفهای انتقادهای مهمی نیز مطرح کردهاند.
چندین توسعهدهنده گزارش کردهاند که تفاوت عملکرد روزمره میان Opus 4.7 و Opus 4.8 آنقدر زیاد نیست که بتوان آن را یک جهش بزرگ نامید. برخی دیگر معتقدند GPT-5.5 هنوز در بعضی وظایف ترمینالی، اتوماسیون و پروژههای بسیار بزرگ عملکرد بهتری دارد.
در حوزه خلاقیت نیز انتقادهایی مطرح شده است. برخی کاربران معتقدند Opus 4.6 هنوز در طراحی بازی، داستاننویسی و دنبال کردن جزئیات هنری عملکرد بهتری دارد.
همچنین حذف پارامترهای سنتی مانند temperature، top_p و top_k در API باعث شده برخی تیمها برای مهاجرت به نسخه جدید نیاز به تغییر کدهای خود داشته باشند.
جمعبندی برای توسعهدهندگان
اگر از Claude Code استفاده میکنید و روی پروژههای واقعی، ریفکتورینگ، طراحی معماری، مهاجرت سیستمها یا Agentic Coding کار میکنید، Opus 4.8 احتمالاً ارزش ارتقا دارد.
اما اگر انتظار دارید کیفیت آن دو یا سه برابر بهتر از Opus 4.7 باشد، احتمالاً ناامید خواهید شد. بیشتر کاربران حرفهای آن را یک ارتقای باکیفیت و کاربردی میدانند، نه یک جهش انقلابی.
دسته دوم: نظر کاربران عادی
برای کاربران غیر فنی، وضعیت کمی متفاوت است.
بیشتر کاربران روزمره به این موارد اشاره کردهاند:
پاسخهای دقیقتر
قضاوت بهتر
مکالمات طبیعیتر
اعتراف بیشتر به ندانستن پاسخ
ثبات بالاتر در گفتگوهای طولانی
کلر وو، تحلیلگر AI، معتقد است Opus 4.8 نسبت به نسخه قبلی قضاوت بهتری دارد و میتواند مستقلتر از قبل کار کند.
برخی کاربران نیز آن را «پختهتر» توصیف کردهاند؛ مدلی که شاید الزاماً باهوشتر به نظر نرسد، اما کمتر دچار اشتباهات عجیب میشود.
با این حال بسیاری از کاربران عادی گفتهاند که تفاوت آن در استفاده روزمره چندان چشمگیر نیست. اگر استفاده شما محدود به نوشتن متن، ایمیل، تولید محتوا یا گفتگوهای معمولی باشد، احتمالاً تفاوت بزرگی با مدلهای ارزانتر احساس نخواهید کرد.
Dynamic Workflows چیست و چرا اینقدر درباره آن صحبت میشود؟
مهمترین قابلیت جدید Opus 4.8 بدون شک Dynamic Workflows است.
در مدلهای سنتی، یک درخواست وارد میشود و یک پاسخ خارج میشود. اما در Dynamic Workflows، Claude ابتدا مسئله را تحلیل میکند، سپس آن را به چندین بخش کوچکتر تقسیم میکند و برای هر بخش یک یا چند عامل مستقل (Subagent) ایجاد میکند. این عوامل به صورت موازی روی بخشهای مختلف پروژه کار میکنند، نتایج یکدیگر را بررسی میکنند و در نهایت خروجی نهایی را تولید میکنند.
در عمل، این قابلیت برای پروژههایی مانند:
مهاجرت پروژههای بزرگ
تحلیل چندصد هزار خط کد
ریفکتورینگ گسترده
تست و اعتبارسنجی سیستمها
تحلیل همزمان چندین سرویس
بسیار قدرتمند است.
برخی توسعهدهندگان در Reddit گزارش کردهاند که وظایفی که قبلاً ۴۵ دقیقه زمان نیاز داشتند، اکنون در حدود ۱۰ تا ۱۵ دقیقه انجام میشوند.
اما این قابلیت یک نقطه ضعف مهم هم دارد: مصرف توکن.
چندین کاربر گزارش کردهاند که Workflowهای بزرگ میتوانند هزینه استفاده را به شدت افزایش دهند و در صورت عدم مدیریت صحیح، صدها Agent موازی حجم زیادی از توکن مصرف میکنند.
تغییرات مهم برای برنامهنویسان
علاوه بر Dynamic Workflows، چند تغییر فنی مهم دیگر نیز وجود دارد:
Adaptive Thinking
مدل دیگر نیازی به تعیین دستی بودجه استدلال ندارد و خودش تصمیم میگیرد چه مقدار برای حل مسئله زمان و منابع صرف کند.
Effort Levels
سطوح جدید Low، Medium، High، Extra و Max به کاربران اجازه میدهد بین سرعت و کیفیت تعادل ایجاد کنند.
Fast Mode
نسخه Fast Mode اکنون چند برابر ارزانتر از گذشته است و برای بسیاری از تیمها شاید مهمتر از خود بهبود هوش مدل باشد.
صداقت بیشتر
بزرگترین تغییر رفتاری Opus 4.8 همین موضوع است. مدل بیشتر از قبل اشتباهات خود را اعلام میکند و کمتر سعی میکند پاسخهای حدسی را به عنوان حقیقت ارائه دهد.
نتیجه نهایی: ارزش خرید دارد؟
برای توسعهدهندگان
بله.
اگر روی پروژههای واقعی، سیستمهای بزرگ، Agentic Coding و Claude Code کار میکنید، Opus 4.8 یکی از بهترین مدلهای فعلی بازار محسوب میشود. مزیت اصلی آن نه هوش بیشتر، بلکه قابلیت اطمینان و صداقت بیشتر است.
برای کاربران عادی
تا حدی.
اگر هماکنون از Claude استفاده میکنید، تجربه بهتری خواهید داشت. اما اگر فقط برای گفتگو، تولید محتوا و استفاده روزمره به مدل نیاز دارید، تفاوت آن با بسیاری از مدلهای ارزانتر آنقدر زیاد نیست که به تنهایی دلیل خرید باشد.
برای Dynamic Workflows و پروژههای سازمانی
اینجاست که Opus 4.8 واقعاً میدرخشد.
برای تیمهایی که با مخازن بزرگ، مهاجرت سیستمها و پروژههای پیچیده کار میکنند، Dynamic Workflows میتواند بهرهوری را به شکل محسوسی افزایش دهد.
جمعبندی نهایی
Claude Opus 4.8 یک نسخه بالغتر، صادقتر و قابلاعتمادتر از Opus 4.7 است. این مدل قرار نیست شما را با جهشی عظیم در هوش شگفتزده کند، اما احتمالاً کمتر اشتباه میکند، بهتر محدودیتهای خود را میشناسد و در پروژههای بزرگ عملکرد پایدارتری ارائه میدهد. برای توسعهدهندگان حرفهای ارزش ارتقا دارد؛ برای کاربران عادی، بیشتر یک بهبود تدریجی محسوب میشود تا یک تحول بزرگ.
سرورها: بیشتر وبسایتهایی که هر روز استفاده میکنید (مثل گوگل یا فیسبوک) روی سرورهای لینوکسی کار میکنند. لینوکس به خاطر امنیت و پایداریاش برای سرورها عالی است.
گوشیهای هوشمند: سیستمعامل اندروید که روی گوشیهای موبایل است، در واقع بر پایه لینوکس ساخته شده! پس هر روز بدون اینکه بدانید با لینوکس کار میکنید.
دستگاههای دیگر: از تلویزیونهای هوشمند گرفته تا روترهای اینترنت و حتی ماشینهای پیشرفته، لینوکس همهجا هست چون انعطافپذیر و قابل اعتماد است.
یادگیری و برنامهنویسی: اگر میخواهید برنامهنویسی یاد بگیرید یا سیستمهای کامپیوتری را بهتر بفهمید، لینوکس به شما کنترل زیادی روی سیستم میدهد و ابزارهای زیادی برای برنامهنویسان دارد.
چرا لینوکس مهم است؟
لینوکس چند ویژگی فوقالعاده دارد که آن را از بقیه سیستمعاملها متمایز میکند:
رایگان است: لازم نیست برای استفاده از لینوکس پول بدهید.
امن است: چون کدهایش باز است، افراد زیادی آن را بررسی میکنند و مشکلات امنیتی سریع برطرف میشوند.
انعطافپذیر است: میتوانید لینوکس را برای هر کاری تنظیم کنید، از یک کامپیوتر ساده تا یک سرور بزرگ.
جامعه بزرگ: میلیونها نفر در دنیا از لینوکس استفاده میکنند و همیشه میتوانید از کمک آنها استفاده کنید.
تاریخچه کوتاه لینوکس
۱۹۹۱: لینوس توروالدز هسته لینوکس را منتشر کرد.
۱۹۹۰: برنامهنویسان داوطلب از سراسر دنیا به پروژه لینوکس پیوستند و آن را گسترش دادند.
۲۰۰۰: لینوکس به سرورها، شرکتها و حتی کامپیوترهای خانگی راه پیدا کرد.
امروز: لینوکس در همهچیز از ابررایانهها تا گوشیهای هوشمند استفاده میشود و یکی از مهمترین فناوریهای دنیاست.
جمعبندی
لینوکس مثل یک جعبهابزار است که به همه اجازه میدهد از کامپیوترشان به بهترین شکل استفاده کنند. از آنجایی که رایگان، امن و انعطافپذیر است، در همهجا از گوشیهایمان تا سرورهای اینترنت کاربرد دارد. اگر کنجکاوید که دنیای کامپیوتر را عمیقتر بشناسید، لینوکس مثل یک در باز به این دنیاست. کافی است یکی از نسخههای سادهاش مثل اوبونتو را امتحان کنید و خودتان ببینید چقدر قدرتمند است!