"ענן של מחשבות": איך לבנות זיכרון של המשתמש שמפגיש אנשים ולא מאבד את הפרטיות
בקצרה על העיקר (BLUF)
לזכור את המשתמש היא משימה בעלת תחתית כפולה: חיבור אנשים עם המחשבות שלהם הוא שימושי, אבל דליפה אחת הורגת את האמון במוצר לנצח. אנו מראים כיצד השכבות של "ענן המחשבות" מסודרות, מדוע כשל-סגור חשוב יותר ממה שזה נראה, ואילו ערוצי גילוי מחמירים יותר מאחרים.
על המוצר עצמו - "ענן של מחשבות" ב-NeuralSpace - כבר אמרנו לכם: המערכת אוספת את מה שהיא יודעת עליכם, ובאמצעות הסכמה הדדית מפגישה את אלה שיש להם את אותם תחומי עניין ("אני מחפש מעצב תלת מימד" ↔ "אני עושה תלת מימד"). כאן - בערך הצד ההנדסי: כיצד למנוע מזיכרון משתמש שימושי להפוך לדליפה. זה התברר כמעניין יותר מהפיצ'ר עצמו.
בעיה בתחתית כפולה
אני רוצה שני דברים בו זמנית, והם סותרים זה את זה:
- פרופיל עשיר. כדי לקרב אנשים, אתה צריך לדעת את העובדות: מה הוא עושה, מה הוא מחפש, מה הוא מציע.
- פרטיות כברירת מחדל. איש לא הסכים שהתכתבות שלו תהפוך לגלויה. דליפה = אובדן אמון והפרה של 152-FZ.
יישום נאיבי ("בוא נאסוף הכל ונתחיל התאמה") שובר את נקודה 2 באופן מיידי. ארכיטקטורה טובה בנויה מסביב כשל-סגור: סגור כברירת מחדל, נחשף רק בהסכמה מפורשת, ומאומת ברמת הקוד, לא "אנחנו מבטיחים".
שכבות

1. איסוף עובדות. שני מקורות: עובדות מבניות (סוגי דור, פעילות - לא אישיות) וחילוץ מהתכתבויות בצ'אט. השני הוא הרגיש ביותר, ולכן הוא סגור מתג זיכרון צ'אט נפרד אצל המשתמש. כיבה את זה - חילוץ מהתכתבויות לא מתרחש כלל. חשוב: השער הזה לֹא קשור למנוי לתכונות בתשלום - אסור למכור פרטיות.
2. קטגוריות אסורות. בקשה לאיסוף מערכת אינו כולל קטגוריות רגישות במסגרת 152-FZ (בריאות, דעות פוליטיות ודתיות וכו') - הן אינן נופלות לענן, גם אם הן עולות בשיחה. זה לא מסנן פוסטים, אלא כלל בשלב החילוץ.
3. התאמת הסכמה כפולה. לשני אנשים יש את אותם תחומי עניין - מערכת לֹא מציג אנשי קשר באופן אוטומטי. היא מציעה היכרות עם שני הצדדים; איש הקשר נפתח רק כאשר שְׁנֵיהֶם מוּסכָּם. זה מגן מפני תרחיש "בקשת הצ'אט שלי צצה על זר יחד עם מספר הטלפון שלי".
4. חריג להצהרות מפורשות. נקודה עדינה. אם אדם עצמו, בפומבי, בצ'אט אומר "אני מוכר שירות, מי שצריך, כתוב @nick" - לבקש הסכמה פעם שנייה זה אבסורדי, הוא כבר נתן אותה. מגע מותר בציבור כזה מוכר בנפרד ומיחשף מיד לצד המעוניין. איש הקשר מוכר באופן נרחב (טלגרם עם ובלי @, טלפון בכל פורמט, קישורים), אבל תנאי גילוי - רשות פומבית מפורשת במדויק, ולא רק נוכחות של מגע בטקסט.
מדוע כשל-סגור חשוב יותר ממה שזה נראה
הפיתוי הוא לבצע הגנה עם דגל "הצג/אל תראה" ברמת הממשק. זה שקר: כל באג בלוגיקה של ממשק המשתמש = דליפה. עשינו את זה אחרת - עובדות שאין להן הסכמה אינן נכללות פיזית בפרופיל בשלב ההרכבה שלו. אין הסכמה - טקסטים של בקשות והפניות במכתב והתאמה לא להכות בכלל, ולא "הם מגיעים לשם, אבל אנחנו מסתירים אותם." ההבדל מהותי: במקרה הראשון, בדיקה נשכחת = דליפה, במקרה השני - פשוט חוסר נתונים.
הכלל שהיינו נותנים לכל מי שבונה מערכת כזו הוא: ברירת מחדל - סגורה, גילוי נאות - פעולת משתמש חיובית, אימות - כמה שיותר קרוב למקור הנתונים, לא למסך.
ערוצי גילוי - בחומרה משתנה
- בצ'אט, לבקשת המשתמש עצמו - עובדות לא אישיות וכבר לידים ציבוריים נגישים יותר בקלות: האדם עצמו שאל.
- דואר יזום (המערכת עצמה כותבת "יש התאמה") - מחמיר, רק על ידי מנוי והסכמה כפולה.
ההיגיון פשוט: ככל שהמשתמש מצפה פחות לחשיפה, כך רף ההסכמה גבוה יותר.
שורה תחתונה
הדבר הקשה ביותר כאן הוא לא למידת מכונה, אלא משמעת זרימת נתונים. אם אתה נותן המלצות או התאמה על נתוני משתמשים, מעניין לדון היכן אתה מציב את בדיקת ההסכמה. אתה יכול לראות מה המערכת יודעת עליך במדור פְּרָטִיוּת.

שאלות נפוצות (שאלות נפוצות)
שאלה: איך להשיג את התוצאה הטובה ביותר מרשת נוירונים?
תשובה: השתמש בהנחיות מפורטות (תיאורים) באנגלית, קבע את הסגנון והפרטים של הסצנה.
שאלה: האם ניתן להשתמש בחומרים אלו למטרות מסחריות?
תשובה: כן, התוכן שנוצר הוא לגמרי שלך.