وقتی مردم درباره مقیاسبندی تجارت الکترونیک صحبت میکنند، بر چالشهای مهندسی بزرگ تمرکز میکنند: جستجوی توزیعشده، موجودی در زمان واقعی، موتورهای توصیه و بهینهسازی تسویهحساب. اما در زیر همه اینها، یک مسئله ساکتتر و پایدارتر وجود دارد که تقریباً هر خردهفروشی با آن دست و پنجه نرم میکند: مقادیر ویژگی.
ویژگیها ستون فقرات کشف محصول هستند. آنها فیلترها، مقایسهها، رتبهبندی جستجو و منطق توصیه را تامین میکنند. اما در کاتالوگهای واقعی، مقادیر ویژگی به ندرت تمیز هستند. آنها ناسازگار، تکراری، نامنظم یا از نظر معنایی مبهم هستند.
چیزی به سادگی سایز را در نظر بگیرید. ممکن است ببینید:
کد
["XL", "Small", "12cm", "Large", "M", "S"]
یا رنگ:
کد
["RAL 3020", "Crimson", "Red", "Dark Red"]
به صورت جداگانه، این ناسازگاریها بیضرر به نظر میرسند. اما آنها را در بیش از 3 میلیون SKU ضرب کنید، که هر کدام دارای دهها ویژگی هستند، و مشکل سیستمیک میشود. فیلترها به طور غیرقابل پیشبینی رفتار میکنند، موتورهای جستجو ارتباط خود را از دست میدهند، فروشندگان در پاکسازی دستی غرق میشوند و کشف محصول برای مشتریان کندتر و ناامیدکنندهتر میشود.
این چالشی بود که من به عنوان یک مهندس نرمافزار فول استک در Zoro با آن روبرو شدم، مشکلی که به راحتی نادیده گرفته میشد اما بر هر صفحه محصول تأثیر میگذاشت.
من یک هوش مصنوعی جعبه سیاه مرموز نمیخواستم که فقط چیزها را مرتب کند. چنین سیستمهایی برای اعتماد، اشکالزدایی یا مقیاسبندی دشوار هستند. در عوض، من هدفم یک خط لوله بود که:
نتیجه یک خط لوله هوش مصنوعی ترکیبی بود که استدلال متنی از LLMها را با قوانین واضح و کنترلهای فروشنده ترکیب میکند. زمانی که نیاز است هوشمندانه عمل میکند، اما همیشه قابل پیشبینی باقی میماند. این هوش مصنوعی با محافظ است، نه هوش مصنوعی خارج از کنترل.
تمام پردازش ویژگی در وظایف پسزمینه آفلاین اتفاق میافتد، نه در زمان واقعی. این یک مصالحه نبود؛ این یک انتخاب معماری استراتژیک بود.
خطوط لوله در زمان واقعی جذاب به نظر میرسند، اما در مقیاس تجارت الکترونیک، آنها معرفی میکنند:
از سوی دیگر، وظایف آفلاین به ما داد:
نگه داشتن سیستمهای روبهمشتری جدا از خطوط لوله پردازش داده هنگام کار با میلیونها SKU ضروری است.
قبل از استفاده از هوش مصنوعی بر روی دادهها، من یک مرحله پیشپردازش واضح را برای حذف نویز و سردرگمی اجرا کردم. این مرحله ممکن است ساده به نظر برسد، اما استدلال LLM را به طور قابل توجهی بهبود بخشید.
خط لوله پاکسازی شامل موارد زیر بود:
این تضمین کرد که LLM ورودی تمیز و واضحی دریافت میکند، که کلید نتایج سازگار است. زباله وارد، زباله خارج. در این مقیاس، حتی خطاهای کوچک میتوانند منجر به مشکلات بزرگتری بعداً شوند.
LLM فقط مقادیر را به ترتیب الفبا مرتب نمیکرد. در مورد آنها استدلال میکرد.
سرویس دریافت کرد:
با این متن، مدل میتوانست درک کند:
مدل بازگرداند:
این به خط لوله اجازه میدهد انواع مختلف ویژگی را بدون کدگذاری سخت قوانین برای هر دسته مدیریت کند.
هر ویژگی به هوش مصنوعی نیاز ندارد.
در واقع، بسیاری از ویژگیها با منطق قطعی بهتر مدیریت میشوند.
محدودههای عددی، مقادیر مبتنی بر واحد و مجموعههای ساده اغلب از موارد زیر بهره میبرند:
خط لوله به طور خودکار این موارد را تشخیص داد و از منطق قطعی برای آنها استفاده کرد. این سیستم را کارآمد نگه داشت و از تماسهای غیرضروری LLM جلوگیری کرد.
فروشندگان هنوز به کنترل نیاز داشتند، به ویژه برای ویژگیهای حساس تجاری.
بنابراین هر دسته میتوانست به صورت زیر برچسبگذاری شود:
این سیستم برچسب دوگانه به مردم اجازه میدهد تصمیمات نهایی را بگیرند در حالی که هوش مصنوعی بیشتر کارها را انجام میداد. همچنین اعتماد ایجاد کرد، زیرا فروشندگان میتوانستند در صورت نیاز مدل را بدون شکستن خط لوله لغو کنند.
تمام نتایج مستقیماً در یک پایگاه داده Product MongoDB ذخیره شدند، که معماری را ساده و متمرکز نگه میداشت.
MongoDB به فروشگاه عملیاتی واحد تبدیل شد برای:
این بررسی تغییرات، لغو مقادیر، پردازش مجدد دستهبندیها و همگامسازی با سیستمهای دیگر را آسان کرد.
پس از مرتبسازی، مقادیر جریان یافتند به:
این تضمین کرد که:
جستجو جایی است که مرتبسازی ویژگی بیشترین نمایان است، و جایی که سازگاری بیشترین اهمیت را دارد.
برای اینکه این کار در میلیونها SKU کار کند، من یک خط لوله ماژولار طراحی کردم که حول وظایف پسزمینه، استدلال هوش مصنوعی و یکپارچهسازی جستجو ساخته شده است. نمودار معماری زیر جریان کامل را نشان میدهد:
این جریان اطمینان میدهد که هر مقدار ویژگی، چه توسط هوش مصنوعی مرتب شده یا به صورت دستی تنظیم شده، در جستجو، فروش و تجربه مشتری منعکس میشود.
در اینجا نحوه تبدیل مقادیر نامرتب آمده است:
| ویژگی | مقادیر خام | خروجی مرتبشده | |----|----|----| | سایز | XL, Small, 12cm, Large, M, S | Small, M, Large, XL, 12cm | | رنگ | RAL 3020, Crimson, Red, Dark Red | Red, Dark Red, Crimson, Red (RAL 3020) | | مواد | Steel, Carbon Steel, Stainless, Stainless Steel | Steel, Stainless Steel, Carbon Steel | | عددی | 5cm, 12cm, 2cm, 20cm | 2cm, 5cm, 12cm, 20cm |
این مثالها نشان میدهند که چگونه خط لوله استدلال متنی را با قوانین واضح ترکیب میکند تا توالیهای تمیز و آسان برای درک ایجاد کند.
پردازش در زمان واقعی معرفی میکرد:
وظایف آفلاین به ما داد:
مبادله یک تاخیر کوچک بین دریافت داده و نمایش بود، اما مزیت سازگاری در مقیاس بود، که مشتریان بسیار بیشتر ارزش میدهند.
نتایج قابل توجه بودند:
این فقط یک برد فنی نبود؛ همچنین یک برد برای تجربه کاربر و درآمد بود.
مرتبسازی مقادیر ویژگی ساده به نظر میرسد، اما زمانی که باید آن را برای میلیونها محصول انجام دهید، به یک چالش واقعی تبدیل میشود.
با ترکیب هوش LLM با قوانین واضح و کنترل فروشنده، من یک مسئله پیچیده و پنهان را به یک سیستم تمیز و مقیاسپذیر تبدیل کردم.
این یادآوری است که برخی از بزرگترین برندها از حل مشکلات خستهکننده میآیند، مشکلاتی که به راحتی نادیده گرفته میشوند اما در هر صفحه محصول نمایش داده میشوند.
\n \n \n


