هر ابزار هوش مصنوعی میتواند اعلان بیشتری بسازد. ما یک سال وقت گذاشتیم تا Nudge کمتر بفرستد. فیلتر دومرحلهای، وقفه 15 دقیقهای، و چیزهایی که حذف کردیم.
یک سال پیش، نسخه اولیه Nudge برای یک کاربر پرمشغله روزی انبوهی اعلان میفرستاد. امروز تعداد کمی میفرستد، در لحظههایی که احتمال اقدامتان بیشتر است. هیچچیز محصول کمجاهطلبتر نشد. سیستم کارها بزرگتر شد، قابلیتهای هوش مصنوعی بهتر شدند، تعداد کاربرها بیشتر شد. چیزی که عوض شد این بود که دست از اندازهگیری چیز اشتباه برداشتیم.
چیز اشتباه این است که یک هوش مصنوعی چند پیام مفید میتواند بسازد. چیز درست این است که یک آدم واقعی چند پیام را میتواند جذب کند پیش از آنکه شروع کند به نادیده گرفتن اپ. این دو عدد به هم نزدیک نیستند.
هر هوش مصنوعیای که بتواند درباره کارهای شما استدلال کند، میتواند تعداد چشمگیری چیز «مفید» برای گفتن بسازد. میتواند مهلتها را یادآوری کند. زیرکار پیشنهاد دهد. تداخلها را نشان دهد. پیشنهاد جابهجایی زمان بدهد. عبارت بهتری پیشنهاد کند. بگوید سه هفته است این یک کار را عقب میاندازید. زنجیره روزهای پیاپی را جشن بگیرد.
هرکدام از اینها بهتنهایی قابلدفاع است. روی هم که جمع شوند، گوشیای میسازند که هر 40 دقیقه میلرزد. همان چیزی که کاربرها پاکش میکنند.
پیادهسازی سادهلوحانه یک دستیار بهرهوری هوش مصنوعی چیزی شبیه این است: هر بار که کاری اضافه میشود، هوش مصنوعی ارزیابیاش میکند، برنامهای پیشنهاد میدهد، برای ایستهای مهم یادآور میگذارد، و با رسیدن هر ایست یک تلنگر میفرستد. در یک هفته 10 کار اضافه کنید و دهها تلنگر در صف دارید، پخششده در طول هفته. هفته اول باهوش به نظر میرسد. هفته دوم خفقانآور. هفته سوم دیگر کسی نشان اعلان را نمیخواند.
این را میدانیم چون اول تقریباً همان نسخه را ساختیم.
بخش سخت این بود که بفهمیم چطور تصمیم بگیریم چه چیزی را نفرستیم. یک LLM در ساختن تلنگرهای نامزد عالی است و در رتبهبندیشان نسبت به هم متوسط. هر چیزی جدا از بقیه موجه به نظر میرسد، همان مشکلی که آدمها هنگام نوشتن فهرست کارهای خودشان دارند.
رویکردی که به آن رسیدیم یک فیلتر دومرحلهای است. مرحله اول یک امتیازدهنده سریع است که روی هر تلنگر نامزد اجرا میشود. چهار سؤال میپرسد:
آیا این تلنگر تکراری است؟ اگر در 90 دقیقه گذشته چیز مشابهی فرستادهایم، بیندازش دور. اگر کاربر تازگی کار مرتبطی را تمام کرده، بیندازش دور.
آیا کاربر همین حالا بودجه ذهنی دارد؟ اینجاست که یادآورهای آگاه از موقعیت اسمشان را به دست میآورند: ساعات سکوت، تقویم کاربر، و اینکه قبلاً واقعاً در چه زمانهایی به اعلانها عمل کرده، همه به این ورودی میدهند. اگر در بازه کمدسترسی باشیم، تأخیر بینداز یا بیندازش دور.
آیا کار واقعاً به لحظه اقدامش نزدیک است؟ مهلتی که چهار روز دیگر است و ساعت مشخصی ندارد، امروز تلنگر نمیخواهد. مهلت فردا ساعت 5 بعدازظهر شاید بخواهد.
آیا تلنگر دیگری برای همان کار، اولی را بیاثر میکند؟ برای هر کار یک سقف روزانه داریم. پیشفرض دوتاست. بالاتر از آن، زمانبند از اضافه کردن سر باز میزند، هرچقدر هم مسیر استدلال باهوش باشد.
مرحله دوم یک وقفه سراسری است. حتی اگر مرحله اول تأیید کند، اگر کاربر در 15 دقیقه گذشته هر تلنگر دیگری گرفته باشد، تلنگر شلیک نمیشود. همین یک قانون، بین هر چیزی که منتشر کردیم، بیشترین افت را در تعداد تلنگرهای روزانه ایجاد کرد. ما را هم مجبور کرد درباره اینکه کدام تلنگرها از فیلتر رد میشوند باهوشتر شویم، چون دیگر نمیتوانستیم یادآورهای کمارزش را رگباری بفرستیم و به حجم تکیه کنیم.
مشکل فرهنگی درون هر تیمی که با LLM میسازد این است که تولید خروجی ارزان است و مهار خروجی گران. یک مهندس تازهکار میتواند در یک بعدازظهر «LLM سه بهبود برای کار شما پیشنهاد میدهد» را سیمکشی کند. تصمیم گرفتن درباره اینکه کِی آن پیشنهادها را نشان ندهیم به دادههای سنجش، پژوهش کاربر، مدلهای رتبهبندی و آمادگی برای منتشر کردن قابلیتهای کمتر نیاز دارد. آن کار قابل نمایش نیست. در یک اسکرینشات شبیه پیشرفت به نظر نمیرسد.
کار خویشتنداری را بهخاطر یک سنجش مشخص منتشر کردیم. هر تلنگری که میفرستیم ظرف 24 ساعت یک نشانه پیگیری میگیرد: کاربر به آن عمل کرد، نادیدهاش گرفت، یا تلنگر بعدی برای همان کار هم شکست خورد. سیستم تحویل باکیفیت سیستمی است که در آن بیشتر تلنگرها به اقدام میرسند و بیشتر بقیه به هیچ (که اشکالی ندارد). سیستم بد سیستمی است که در آن بیشتر تلنگرها رد میشوند، چون رد شدن هزینه اعتماد دارد. بیشترِ آنچه این دو را از هم جدا میکند این است: یادآوری در زمان درست.
وقتی آن را در برابر حجم اعلانها رسم کردیم، شکلش روشن بود. اعلان بیشتر در روز یعنی رد کردن بیشتر. کمتر یعنی پیگیری بهتر، تا جایی که حجم آنقدر پایین میآمد که مهلتهای واقعی از دست میرفتند. تعداد کمی در روز نقطه درست از آب درآمد.
چند چیز مشخص که در این مسیر از سیستم بیرون کشیدیم.
خلاصههای صبحگاهی. نسخه اولیه هر صبح یک اعلان «این هم روز شما» میفرستاد. مفید به نظر میرسید. در عمل آدمها اعلانها را نادیده میگرفتند. قابلیت را نگه داشتیم اما بهجای اعلان، به صفحه خانه داخل اپ منتقلش کردیم. همان اطلاعات. بدون هیچ هزینه اعلان.
یادآورهای زنجیره روزهای پیاپی. «5 کار پشت سر هم تمام کردی!» از آن اعلانهایی است که حدود سه روز حس جشن دارد و بعد تا ابد آزاردهنده است. حذف.
اعلانهای پیشنهاد. «دیدیم که این کار را مدام عقب میاندازید. میخواهید به زیرکار خردش کنیم؟» نیت خوب، زمان بد. اینها حالا به شکل یک کارت ملایم در صفحه جزئیات کار هستند. کاربر وقتی میبیندشان که همین حالا دارد به آن کار نگاه میکند؛ موقعیتی که در آن پیشنهاد پذیرفتنی است.
پیامهای خودکار جابهجایی زمان. اگر برنامهریز Nudge کاری را به روز تازهای میبرد، قبلاً یک اعلان میفرستاد. کاربرها این را گیجکننده و کمی نگرانکننده میدیدند. حالا برنامهریز فقط بیصدا کارش را میکند و تغییر را در صفحه خانه نشان میدهد.
الگوی همه اینها یکی است. اطلاعات هنوز در دسترس کاربر است، اما از حالت فرستادن به حالت برداشتن رفته. یک اعلان، ادعایی است روی توجه کاربر. باید برای چیزهایی نگه داشته شود که مشخصاً لازم است کاربر همین حالا کاری بکند.
چند نکته پیادهسازی، اگر چیز مشابهی میسازید.
زمانبند تلنگر ما از Celery با کارهای مبتنی بر ETA برای زمانبندی دقیق استفاده میکند، با پشتیبانی یک صف Redis و یک ردّ ممیزی در Postgres. هر تلنگر یک فیلد منشأ دارد (AI_INFERRED در برابر USER_EXPLICIT) که تعیین میکند چقدر مجازیم آن را لغو یا جابهجا کنیم. یادآوری را که کاربر صریحاً خواسته، هرگز بهخاطر حجم لغو نمیکنیم. همین قانون است که اعتماد را نگه میدارد. اگر برای تولد مادرتان یادآور بگذارید، هرچه مدل فکر کند، تحویلش میدهیم. همین تضمین پشتِ یادآورهایی که تا انجامشان ندهید نمیروند.
منطق رتبهبندی و لغو در یک برنامهریز روزانه است که روزی یک بار برای هر کاربر اجرا میشود. اجازه دارد تلنگرهای کهنهای را که هوش مصنوعی ساخته لغو کند (تا 50 مورد در هر اجرا) و تازهها را در صف بگذارد. اجازه ندارد به چیزی که کاربر خواسته دست بزند. آن مرز از مدل رتبهبندی مهمتر است.
وقتی Nudge را برای آدمها توصیف میکنیم، رایجترین واکنش تعجب از این است که هوش مصنوعی بیشتر کار نمیکند. مربیگری روزانه کجاست. چرا بهرهوری من را تحلیل نمیکند. نمیتواند برایم دلگرمی بفرستد.
جواب کوتاه این است که میتواند، و وقتی میکند محصول بدتر میشود. توجه بودجهای محدود است. هر اعلان یک برداشت از آن است. خیلی از ابزارهای بهرهوری هوش مصنوعی به حجم تکیه میکنند، به این امید که کاربر چندتای اول را سپردهای بداند برای آیندهای که اپ در آن ضروری است. در عمل کاربرها آنها را دلیلی میدانند برای ساکت کردن اپ.
ساختن هوش مصنوعیای که میداند کِی ساکت شود کمتر از ساختن هوش مصنوعیای که حرف زیاد دارد هیجانانگیز است. به تجربه ما، همین است که آدمها را بعد از هفته دوم پای محصول نگه میدارد، بهخصوص آدمهایی که آمدهاند دنبالِ اپ مدیریت کار برای آدمهایی که از اپ مدیریت کار بدشان میآید.
Nudge بر این فرض ساخته شده که تلنگرهای کمتر و خوشزمانتر از تلنگرهای بیشتر و کمی نابهجا بهتر عمل میکنند. رایگان روی iPhone و وب.
Nudge تقویمت را میخواند و عادتهایت را میآموزد، و بعد هر یادآوری را برای وقت مناسب نگه میدارد.