Amirali Yaghoutiمهندس ارشد نرم‌افزار

مطالعه موردی مهندسی

مشخصات محصول با هوش مصنوعی سیستم

کاتالوگی به این اندازه را نمی‌شود با دست توصیف کرد، و همچنین نمی‌شود بدون نظارت به یک مدل زبانی سپرد. این همان گردش کار میانه است: عنوان، ویژگی و توضیح تولیدشده که برای تأیید یک آدم صف می‌کشند، با کنترل‌هایی که اجرایش روی یک فروشگاه زنده را قابل دفاع می‌کنند.

مسئله تجاری

کاتالوگ عنوان‌های ناهماهنگ، توضیحات نازک و داده‌ی ویژگی داشت که بسته به اینکه چه کسی واردش کرده فرق می‌کرد. تولید متن بهتر بخش آسان است. بخش سخت هرچیزی است که دورش می‌چرخد: خرج‌نکردن مبلغ بی‌کران روی فراخوان API، اجرا نکردن دوباره‌ی یک جاب، ننوشتن روی یک صفحه‌ی محصول زنده بدون اینکه آدمی خوانده باشدش، و توانایی توضیح بعدی اینکه چه چیزی و توسط چه کسی تغییر کرده.

آنچه تحویل دادم

  • a2-seo-ai، یک افزونه‌ی ماژولار وردپرس با یک دروازه‌ی بازبینی انسانی صریح بین تولید و انتشار.
  • دو نقش اختصاصی، مدیر سئو و بازبین، با چهار دسترسی جدا برای تنظیمات، تأیید، دسترسی به لاگ و اجرای جاب، تا تولید و تأیید هیچ‌وقت یک دسترسی نباشند.
  • یک گارد بودجه که خرج API را کران‌دار می‌کند، چون یک حلقه‌ی بی‌کران روی یک API پولی مهم‌ترین حالت شکست اینجاست.
  • یک قفل جاب و یک لایه‌ی idempotency، تا یک اجرای تکرارشده یا هم‌پوشان نتواند یک محصول را دوبار پردازش کند.
  • ذخیره‌سازی رمزنگاری‌شده برای کلید API، که وقتی ثابتی تعریف شده باشد از آن خوانده می‌شود نه از دیتابیس.
  • یک ابزار یکپارچه‌سازی رنک‌مث، تا متادیتای تولیدشده در همان فیلدهایی بنشیند که افزونه‌ی سئوی سایت واقعاً می‌خواند.
  • یک مجموعه تست که بخش‌هایی را پوشش می‌دهد که درستی‌شان با بازرسی معلوم نمی‌شود: قفل جاب، زمان‌بندی، گردش کار بازبینی، idempotency و فعال‌سازی.

رویکرد فنی

  • هیچ‌چیز بدون عبور از دروازه‌ی بازبینی روی یک محصول نمی‌نویسد. این محدودیت اول آمد و معماری دورش ساخته شد نه اینکه بعداً اضافه شود.
  • جداکردن دسترسی تأیید از دسترسی تولید یعنی کسی که می‌تواند یک دسته را اجرا کند نمی‌تواند منتشرش هم بکند، و همین کنترلی است که کل ماجرا را قابل واگذاری می‌کند.
  • گارد بودجه و قفل جاب وجود دارند چون دو فاجعه‌ی واقع‌بینانه یک خرج فراری و یک دسته‌ی تکراری‌اند. جلوگیری از هر دو ارزان است و کشفشان گران.
  • جاب‌ها و وضعیتشان در جدول‌های خود افزونه زندگی می‌کنند، تا یک اجرا به‌جای یک تسک زمان‌بندی‌شده‌ی شلیک‌کن‌و‌فراموش‌کن، قابل بازرسی و ازسرگیری باشد.
  • تست‌ها به‌طور خاص منطق هم‌زمانی و idempotency را هدف می‌گیرند، چون همان مسیرهایی هستند که در بازبینی درست به‌نظر می‌رسند و زیر زمان‌بندی واقعی شکست می‌خورند.

نتیجه و شواهد

کاتالوگ می‌تواند با نرخی بهبود پیدا کند که یک تیم کوچک واقعاً بتواند بازبینی‌اش کند، همراه با سابقه‌ای از اینکه چه چیزی تولید شده، چه چیزی تأیید شده و توسط چه کسی. دروازه به‌اندازه‌ی خود تولید بخشی از تحویل است.

اهمیت برای کارفرما

بیشتر ابزارهای محتوای هوش مصنوعی برای توان عملیاتی بهینه شده‌اند. روی یک کاتالوگ تجاری محدودیت اعتماد است، و گردش کاری که صاحب فروشگاه حاضر باشد روشن نگهش دارد از گردش کاری که سریع‌تر متن بیشتری تولید می‌کند ارزشمندتر است.

خلاصه-اجرایی-پروژه

خلاصه اجرایی خوانا

خلاصه_اجرایی {
  پروژه: "Product Specification Workflow"
  افزونه: "a2-seo-ai (ماژولار، ووکامرس + رنک‌مث)"
  دروازه: "تولید هیچ‌وقت نمی‌نویسد؛ یک بازبین تأیید می‌کند"
  نقش‌ها: "مدیر سئو، بازبین"
  دسترسی‌ها: "مدیریت تنظیمات، تأیید محتوا، دیدن لاگ، اجرای جاب"
  گاردها: "گارد بودجه، قفل جاب، لایه‌ی idempotency"
  رازها: "رمزنگاری‌شده در حالت سکون؛ ثابت بر دیتابیس اولویت دارد"
  تست‌ها: "قفل جاب، زمان‌بند، گردش بازبینی، idempotency"
}

ارزش حرفه‌ای این پروژه

بازبین را به‌جای مهندسی پرامپت، به تفکیک دسترسی‌ها و گارد بودجه ارجاع می‌دهم. همان‌ها هستند که تعیین می‌کنند این می‌تواند روی یک فروشگاه زنده اجرا شود یا نه.

نوشتن تست برای قفل جاب و idempotency به‌جای متن تولیدشده انتخابی عمدی درباره‌ی این بود که ریسک واقعی کجاست.