لینک کوتاه مطلب : https://hsgar.com/?p=5042

Markov Chat Bot Dister Story · GitHub

بین سال‌های 2012 و 2014 در Etsy روی تیم آزمایشی و از راه دور “Seller Economics” کار کردم. Etsy در آن زمان به دو چیز معروف بود: Chat Ops و Hack Weeks. این داستان در مورد چگونگی برخورد آن دو سنگ محک فرهنگی برای ایجاد یک فاجعه است.

عملیات چت این ایده بود که سرویس چت شما منبع حقیقت برای کنترل عملیات باشد. بنابراین اگر می‌خواهید یک سرور جدید بچرخانید، یک دستور عرفانی را در سرویس چت شرکت خود نوشتید و یک ربات می‌رود و آن فرمان را اجرا می‌کند. این ایده فرهنگی به افراد کمک کرد تا نحوه اجرای دستورات عملیات را در معرض دید قرار دهند و به افراد آموزش دهند و تیم را مجبور به ساخت ابزارهای ارگونومیک برای عملیات کرد. در Etsy سرویس چت IRC بود و یک برنامه irccat وجود داشت که دستورات را اجرا می کرد. افزودن دستورات به irccat آسان بود و برای همه چیز از پیگیری ستایش های کوچک کارما از تیم شما تا تعادل مجدد سرورهای پایگاه داده استفاده می شد.

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

درست قبل از پیوستن به Etsy، من با اسکالا بازی می کردم و از ترکیب برنامه نویسی کاربردی و شی گرا آن لذت می بردم. وقتی زبان را یاد گرفتم در اسکالا اسباب بازی های کوچک می نوشتم. یکی از اسباب بازی های اولیه ای که نوشتم یک زنجیر مارکوف بود [1]. به یاد نمی‌آورم که چه چیزی به من الهام شد یا چرا، یادم می‌آید که از نوشتن یک مولد نام سیاره پیشتازان فضا لذت بردم. بعداً وقتی در Etsy بودم فکر کردم ساختن ابزارهایی برای من برای نوشتن ربات‌های IRC در Scala سرگرم‌کننده است.[2] تا بتوانم به سرور IRC شرکت ها متصل شوم و “کارها” را انجام دهم.

در سال 2013 دوست من آوی برایانت Etsy را ترک کرد و جدایی او با هفته هک سال 2013 مصادف شد. من در آن زمان هیچ ایده بزرگی برای ساختن چیزها نداشتم و بنابراین تصمیم گرفتم لاگ های چت IRC را بخزم و همه چیزهایی را که او گفته بود به مجموعه ای برای زنجیره مارکوف تبدیل کنم. این به خودی خود سرگرم کننده بود، اما به دلایلی که به خاطر ندارم، تصمیم گرفتم آن زنجیره را با ابزار IRC که برای ساختن یک “avibot” نوشته بودم ترکیب کنم. (من تمام جزئیات را به خاطر ندارم، اما به یاد دارم که راب هال و من روی بسیاری از این ایده ها همکاری داشتیم، و می توانم ببینم که او در همین زمان برای رفع برخی باگ ها تعهداتی به ابزار مارکوف انجام داد.) ربات این کار را انجام داد. هر چند وقت یکبار با یک عبارت تولید شده پست کنید و اگر نام avi را ذکر کردید پاسخ دهید. این سرگرم کننده بود اما کمی عجیب بود و خیلی زود ایده ساخت ربات های بیشتری برای همکاران قبلی خود به ذهنمان رسید. به زودی mhedulundbots و mwalkerbots، samerbots و gfodorbots وجود داشت. همه این ربات‌ها کمی کانال تیم را به هم ریختند، بنابراین مردم از من خواستند ربات را جابجا کنم، بدون اینکه هیچ جای دیگری مشخص نباشد، یک کانال #برزخ درست کردم و ربات را به آنجا ملحق کردم.

من فکر کردم که این یک سرگرمی عالی است و آن را به پروژه هفته هک خود تبدیل کردم. من ارائه کوتاهی در هفته هک انجام دادم که در آن یک ربات کوچک دیگر irc نوشتم که نام همه شرکت کنندگان را در یک کانال هش می کرد و آنها را برای صدا در کانال ترسیم می کرد. say دستور دهید و سپس از همه آنها بخواهید با صدای بلند با یکدیگر صحبت کنند. این پایان داستان بود، به جز یک روز، همکار ما مویشه از خواب بیدار شد و دید که در طول شب 30000 “plusses” (امتیاز کارما اتی) به دست آورده است. Moishe باورنکردنی است، و بنابراین تعجب آور نبود که او امتیازات زیادی کسب کرده باشد، اما 30000 حتی برای Moishe نیز بسیار بود. و مویشه تنها کسی نبود که موارد عجیب و غریب را گزارش می کرد. مطمئنم که نگاه کردن به گذشته بدیهی است، اما در نقطه‌ای یکی از ربات‌ها دستوری صادر کرده بود تا ربات چتاپ را به #برزخ دعوت کند، و ربات‌ها با خوشحالی بارها و بارها با همکاران «++» تماس می‌گرفتند.

این طوفان ++ خیلی خطرناک نبود و مطمئناً بحث های جالبی در مورد چگونگی نتایج سوگیری زنجیره ای مارکوف ایجاد کرد. درک وحشتناک این بود که اگر ربات ها می توانستند دستور ?++ را اجرا کنند، می توانستند تمام دستورات chatops دیگر را نیز اجرا کنند، آنهایی که سرورها را خراب می کنند، آنهایی که فرآیندها را نابود می کنند، همه احتمالات ترسناک چتاپ ها به نوعی مارکف تبدیل می شوند. میمون آشوب یادآوری من در بررسی این بود که ما هیچ فرمان موفق دیگری را اجرا نکرده بودیم (روایت های متفاوتی در این مورد وجود دارد)، اما نیازی به گفتن نیست که برای ایمنی Etsy از من خواسته شد که #برزخ را از کار خارج کنم.

[1] https://github.com/aconbere/scala-markov

[2] https://github.com/aconbere/Scala-IRC

لینک منبع

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.