تصور کنید وارد نتفلیکس میشوید و صفحه بهعنوان یک پیشگو میداند که ساعت ۱۱ شب دقیقاً حوصلهی تماشای مستندهای جنایی دارید. اگر امروز از نتفلیکس یا آمازون استفاده میکنید، در واقع با یک ماشین هندسه سروکار دارید که هر کلیک شما را به یک نقطه در فضای ریاضی تبدیل میکند.
به گزارش dev.to در ۲۱ ژوئن ۲۰۲۶، این موتورها با تبدیل رفتار انسانی به هندسه عمل میکنند. در نتفلیکس، این سیستمها حدود ۸۰٪ از انتخابهای بینندگان را هدایت میکنند و در آمازون، تقریباً ۳۵٪ از خریدها نتیجهی پیشنهادهای هوشمند است. نتفلیکس تخمین زده است که این فناوری سالانه بیش از یک میلیارد دلار در هزینههایش صرفهجویی میکند؛ چراکه مانع از خروج عصبی کاربر میشود وقتی چیزی برای تماشا پیدا نمیکند. ارزش بازار این فناوری در سال ۲۰۲۴ نزدیک به ۷ میلیارد دلار بود و پیشبینی میشود تا پنج سال آینده سه برابر شود.
بسیاری از کاربران این سیستمها را شبیه به شهود یا پیشگویی میبینند، اما واقعیت یک خط لوله (Pipeline) پنجمرحلهای است. همانطور که در تحلیلهای قبلی ما دربارهی زیرساختهای مدلهای مولد اشاره کردیم، هرچه دادهها ساختاریافتهتر باشند، خروجی دقیقتر است. این مراحل عبارتاند از:
- جمعآوری دادهها: سیستمها دو نوع داده میگیرند. دادههای صریح (Explicit) مثل امتیازها و لایکها، و دادههای ضمنی (Implicit) مثل مدتزمان تماشا یا عمق اسکرول. دادههای ضمنی بهشدت پراکنده و نامنظماند اما حجمشان بسیار بیشتر است. این حجم عظیم از دادهها اغلب از طریق شبکههای گسترده جمعآوری میشوند، مشابه آنچه در سازوکارهای دور زدن سدهای امنیتی برای استخراج دادههای هوش مصنوعی مشاهده میکنیم.
- ذخیرهسازی: دادهها بسته به ساختارشان در انبار داده (Warehouse) یا دریاچه داده (Data Lake) مینشینند تا مقیاسپذیری حفظ شود.
- تحلیل: الگوریتمهای یادگیری ماشین به دنبال الگوها میگردند تا بفهمند چه کسانی شبیه به هم رفتار میکنند.
- فیلتر کردن: جایی که ریاضیات وارد میشود تا «هر چه میدانیم» به «۱۰ مورد پیشنهادی برای همین لحظه» تبدیل شود.
- بهبود: سیستم خروجی را میسنجد و دوباره آموزش میبیند تا چرخه تکمیل شود.
فیلتر کردن، قلب تپندهی شخصیت یک سیستم توصیهگر است. استراتژی انتخابشده تعیین میکند که سیستم «پیشگو» به نظر برسد یا فقط همان تیشرتی را که هفته پیش خریدید، دوباره به شما نشان دهد.
این موتورها معمولاً از سه مسیر معماری پیروی میکنند:
- فیلترینگ مشارکتی (Collaborative Filtering): منطق این روش این است که «افراد شبیه به شما، این مورد را پسندیدند». این روش به ویژگیهای کالا نگاه نمیکند و فقط رفتار را میسنجد. سیستمهای مبتنی بر حافظه (Memory-based) مانند یک ماتریس بزرگ از کاربر-کالا عمل میکنند و همسایگان نزدیک را پیدا میکنند. سیستمهای مبتنی بر مدل (Model-based) اما از روشهایی مثل تجزیه ماتریسی (Matrix Factorization) استفاده میکنند تا حفرههای خالی ماتریس را پیشبینی کنند. نقطه ضعف این روش، مشکل «راهاندازی سرد» (Cold Start) است؛ یعنی وقتی کاربر یا کالای جدیدی هیچ سابقهای ندارد.
- فیلترینگ مبتنی بر محتوا (Content-Based Filtering): این روش میپرسد «چه چیزهایی شبیه به آن چیزی است که قبلاً دوست داشتید؟». اینجا ویژگیهایی مثل ژانر، قیمت و رنگ اهمیت دارند. مزیت آن حل مشکل راهاندازی سرد است، اما ریسک ایجاد «حباب» دارد؛ یعنی اگر یک دتکتیو پسندیدید، سیستم ۱۷ دتکتیو دیگر به شما میدهد و شما را در یک حباب محصور میکند.
- سیستمهای ترکیبی (Hybrid Systems): پلتفرمهایی مثل نتفلیکس هر دو روش را ترکیب میکنند تا نقاط ضعف یکدیگر را بپوشانند. نتیجه، پیشنهاداتی است که بهطور ترسناکی دقیقاند، هرچند هزینهی محاسباتی و پیچیدگی معماری بسیار بالاتری دارند.

در مرکز تمام اینها، بردار معنایی (Embedding) قرار دارد. بردار معنایی — مثل کارت معرفی عددی برای هر واژه یا محصول که میگوید این مورد «همسایهی» چه کلمات یا کالاهای دیگری است — روشی است برای تبدیل یک موجودیت پیچیده (فیلم، کاربر یا جمله) به لیستی از اعداد یا یک بردار.
در یک فضای با ابعاد بالا، اقلامی که ویژگیهای مشابه دارند، نزدیک به هم قرار میگیرند. برای تشخیص این شباهت، کامپیوترها از شباهت کسینوسی (Cosine Similarity) استفاده میکنند که زاویه بین دو بردار را میسنجد. در اینجا مقدار طول بردار مهم نیست و فقط جهت بررسی میشود؛ چیزی که برای مقایسهی سلیقهها ایدهآل است. این رویکرد ریاضی، زیربنای تبدیل فرمتهای بصری پیچیده به دادههای متنی در جستوجوی معنایی است تا شباهتهای بصری به اعداد قابل محاسبه تبدیل شوند.
- امتیاز نزدیک به ۱: بردارها در یک جهت هستند (بسیار مشابه).
- امتیاز نزدیک به ۰: بردارها عمود بر هماند (بدون ارتباط).
- امتیاز نزدیک به ۱-: بردارها در جهت مخالفاند (متضاد).
در پیادهسازی عملی با کتابخانه numpy در پایتون، این نزدیکی بهصورت ریاضی محاسبه میشود:
import numpy as np
def cosine_similarity(a, b):
return np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b))
# ابعاد یادگرفته شدهی سلیقه (اکشن، رمانتیک، مستقل و غیره)
movies = {
"Die Hard": np.array([0.9, 0.1, 0.8, 0.2]),
"Mad Max": np.array([0.85, 0.05, 0.9, 0.15]),
"The Notebook": np.array([0.1, 0.95, 0.2, 0.7]),
"Pride & Prejudice": np.array([0.05, 0.9, 0.15, 0.8]),
}
اگر شما «Die Hard» را بپسندید، موتور توصیهگر به سراغ «Mad Max» میرود، نه «The Notebook»، چون بردارها در بُعد «اکشن بودن» نزدیک به هم هستند. در محیط عملیاتی، این بردارها دستی نوشته نمیشوند، بلکه توسط شبکه عصبی (Neural Network) — شبکهای از سلولهای کوچک، شبیه نقشهٔ مترو، که سیگنال را از ورودی به جواب میرساند — یاد گرفته میشوند.
این منطق نمایش معنا بهصورت نزدیکی (Proximity)، همان چیزی است که امروز موتورهای جستوجوی معنایی (Semantic Search)، خوشهبندی و تولید بازیابیافزا (RAG) — مثل دانشآموزی که قبل از جواب دادن، اول کتاب درسی را باز میکند و از آن نقل میآورد — را پیش میبرد. اگر این مفهوم واحد را یاد بگیرید، هسته اصلی اکثر ابزارهای مدرن هوش مصنوعی را درک کردهاید.
اما تبدیل یک دمو به سیستمی برای میلیونها کاربر، چالشهای «نامرئی» دارد:
- مقیاس و سرعت: محاسبه شباهت کسینوسی برای ۴ فیلم ساده است، اما برای ۱۰ میلیون مورد با تأخیر کمتر از ۱۰۰ میلیثانیه، به مهندسی تخصصی مثل «جستوجوی تقریبی نزدیکترین همسایه» نیاز است.
- تلهی متریک غلط: بهینهسازی صرفاً برای کلیک، باعث ایجاد حلقهی بازخوردی میشود که فقط کالاهای محبوب را بالا میآورد و محتواهای خاص (Niche) را دفن میکند.
- سوگیری (Bias): مدلها هر سوگیری موجود در دادههای آموزشی را جذب میکنند. اگر تاریخچه دادهها منحرف باشد، پیشنهادها هم خواهند بود.
- حریم خصوصی: با قوانین جدید، استراتژی «همه چیز را جمع کن» دیگر رایگان یا حتی قانونی نیست.
- هزینه: سیستمهای ترکیبی تشنهی منابع هستند. اغلب، یک رویکرد سادهتر که ۹۰٪ اثر دارد اما ۱۰٪ هزینه میبرد، تصمیم مهندسی درستتری است.
این مکانیسمها اکنون حتی به AIOps رسیده است؛ جایی که موتورهای توصیهگر در لحظات بحرانی، اصلاحات سرور را به تیمهای IT پیشنهاد میدهند. تبدیل «جادو» به هندسه دقیقاً زمانی رخ میدهد که توسعهدهنده بفهمد یک بردار معنایی صرفاً پلی بین معنا و ریاضیات است.
برای کسانی که از کد تولید شده توسط هوش مصنوعی برای ساخت این سیستمها استفاده میکنند، ابزارهایی مثل git-lrc ضروری میشوند. هوش مصنوعی زاینده (Generative AI) امروز مثل ماشین مسابقهای بدون ترمز است؛ بلوکهای بزرگی از کد را فوراً میسازد، اما عاملهای هوش مصنوعی ممکن است بیصدا منطق را حذف کنند یا دسترسیهای حساس را لو دهند. این چالشهای عیبیابی در محیطهای پیچیده است که ابزارهایی نظیر CodeClarify با انتقال پردازشهای 디باگ به مرورگر سعی در تسهیل آن دارند. شما معمولاً این چیزها را در محیط عملیاتی (Production) میفهمید.
git-lrc بهمثابه ترمز شما عمل میکند. این یک بررسیکننده میکرو-هوش مصنوعی است که به git commit متصل شده و هر تغییر (Diff) را قبل از نهایی شدن بررسی میکند. با ۶۰ ثانیه تنظیمات، بیش از ۱۰۰ الگوی شکست را در ۱۰ دستهبندی ریسک ردیابی میکند تا از قطعی سیستم و بدهی فنی جلوگیری کند. این ابزار کاملاً رایگان و در گیتهاب در دسترس است تا اطمینان حاصل شود که خط لولههای پیچیده یک موتور توصیهگر در حین توسعه نمیشکند.
گام بعدی شما
- اگر توسعهدهنده هستید، سعی کنید یک مدل سادهی شباهت کسینوسی را با کتابخانه Scikit-learn پیاده کنید تا مفهوم فضای برداری را لمس کنید.
- برای جلوگیری از خطاهای احتمالی در کدهایی که توسط AI مینویسید، ابزار git-lrc را در گردشکار گیت خود ادغام کنید.
- بررسی کنید که آیا سیستمهای توصیهگر فعلی شما درگیر «حباب محتوایی» هستند یا تعادل بین اکتشاف (Exploration) و بهرهبرداری (Exploitation) را رعایت میکنند.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است؛ برای درک اینکه این محاسبات عظیم چگونه در میلیثانیهها انجام میشوند، به تحلیل ما دربارهی تراشههای Blackwell مراجعه کنید.




گفتگو