כשישבתי בחדר התה של באת' זה עתה ניגבתי את הלימון מאצבעותיי, הוטל עלי לחקור רובוט על רצח. סצנת החקירה הייתה ההדגמה של GDC עבור Spirit AI [אתר רשמי] – תוכנת ביניים שנועדה להביא דמויות אקספרסיביות יותר למשחקים וכן לבנות סביבות מקוונות בטוחות ומכילות יותר. שניהם תלויים סביב אותה סט של טכנולוגיות. כל אחד מהם מסתכל על השפה כדי להבין אינטראקציות אבל אחד משתמש בהבנה הזו כדי לבנות מפגשים משמעותיים עם דמויות AI והשני משתמש בה כדי לפקוח עין על איך שחקנים מתנהגים זה כלפי זה.
ישבתי עם Mitu Khandaker, מנהל קריאייטיב ב-Spirit AI. אתה אולי זוכר את עבודתה כמפתחת,הכריש הקטן ביותר, על המשחקחולצה אדומהאו, אם אתה באקדמיה, היא עוזרת פרופסור לאמנויות במרכז המשחקים של NYU ובעלת דוקטורט במשחקים ובאסתטיקה של אינטראקטיביות. היא התבוננה בי משחק בהדגמה, תוך שימוש בשפה טבעית כדי לנסות להבין איך אדם בשם מרטין מת והאם הרובוט אשם. ההדגמה הייתה על ידי אולפני Bossa, יצרני Surgeon Simulator, והיא נתנה לי פרק זמן מוגבל לשוחח עם הרובוט - אני מקליד והרובוט מדבר לתוך חדר התה עם קול נשי במבטא סקוטי - לפני שביקשתי את פסק הדין שלי על אשמתה.
עד כה גרמתי לרובוט להתבייש בכך ששאלתי אם היא משקרת על כך שהיא לא מסוגלת להרוג בני אדם והיא חזרה על ההנחיה הראשית. בזמן שחיפשתי מידע, דמות הבינה המלאכותית צעדה על חבל דק קשה, מנסה להסתיר כמה דברים כדי להישאר נאמנה לדמות שלה אבל לנדב אחרים כדי שכשחקן לא אתאכזב או אסיים בלי חוטים גוֹרֶרֶת.
כדוגמה, שאלתי מי כן הרג את מרטין ולא היה לה את המידע הזה ולכן לא יכלה לענות. במקום רק להגיד "אני לא יודעת" היא אמרה לי שהיא חושבת שהרצח היה קשור לעבודתו וכמעט בוודאות הייתה פעולה אנושית. זה נותן לי כיוון להתקדם.
המערכת לא מושלמת בשלב זה אבל היא מסקרנת וניואנסית. שאלתי מה עושה אישה בשם אלישיה לאחר שהרובוט מזכיר אותה בשמה, כלומר מה היא עושה למחייתה והרובוט עונה עם מה שאלישיה עשתה לאחרונה מבחינת פעולותיה בתרחיש הזה. זה גם נראה מבולבל מחלק מהביטויים שלי, כמו "למה X מתעצבן עם Y?" יש גם רגע שבו אני מנסה לאתר את המניע והרובוט נראה כאילו אני מפלרטט.
אבל יש גם תחושה אמיתית של מידע שנפרש בצורה שאני לא רגיל אליה עם משחקים. הרובוט היה מסוגל בדרך כלל להבין למי התכוונתי כשהתחלתי להשתמש במילים דייקטיות כמו "היא" או "הם" או "שם". ה-AI בדרך כלל מסוגל לעקוב למי אני מתכוון בתרחישים האלה, וזה מרשים בעיני. אתה יכול גם, בגלל כמה שגיאות צורניות כמו אותיות גדולות חסרות בתחילת המשפטים, לראות שה-AI אינו עוקב אחר סקריפט אלא מצייר רכיבי שיחה יחד כדי ליצור אינטראקציה שלנו בהתבסס על מה שנראה רלוונטי והאם הפעלתי פעימות מסוימות.
בסוף ההצגה הראשונה של ההדגמה אני מודה שלא הייתי חכם יותר באשר לרצח, אבל היה לי עוד סיבוב וגיליתי הרבה דברים נסיבתיים מועילים. סרגיי היה חזק מספיק כדי להכות את מרטין חזק ככל שהיה צריך כדי להרוג אותו ואלישיה לא הייתה, וסרגיי לא הצליח לגשת לחדר בו נמצא מרטין. לאליסיה הייתה גישה לחדר הזה והרובוט היה מכוסה בדם. אה, ונשיאת גופה לא תפריע להנחיה הראשית.
החלטתי שאליסיה וסרגיי כנראה קשרו קשר להרוג את מרטין כשסרגיי עשה את ההרג בפועל ואלישיה מספקת גישה למקום שסרגיי לא יכול היה להגיע אליו. לאחר מכן הביאו השניים את הרובוט לשאת את הגופה מהמקום שבו אירע הרצח למקום בו היא נמצאה.
אני מרגיש כאילו אכזבתי את אנג'לה לנסברי והרקול פוארו וקולומבו. הם היו פותרים את כל העניין ולא מסתמכים רק על ראיות נסיבתיות למסקנות שלהם. הצלחתי גם לנסח את התשובות שלי לרובוט בסוף ההדגמה בצורה לא ברורה מספיק שהיא חשבה שאני מאשימה אותה ברצח בכל מקרה. האשמתי אותה בהיותה אביזר לאחר מעשה מי נמחק לה את הזיכרון! צדק זה קשה.
יש לנו רק פרק זמן קצר להסתכל על מה שקורה מתחת למכסה המנוע עבור התרחיש הספציפי הזה, אבל לפי מה שאני רואה ולפי מה שמיטו מציינת, זה מגדיר מסגרת שבתוכה הבינה המלאכותית יכולה לאלתר, לפעול ולהגיב בצורה דינמית במקום זאת. של מעקב אחר אחד מאותם עצי שיחה שבהם כל ענף חייב להיות כתוב בסקריפט.
באמצעות המערכת סופר או מעצב נרטיב יוכל להדגיש פיסות מידע חשובות שהדמות תעביר, מה להמשיך ולדחוף את האינטראקציה לעברו, פעימות סיפור להכות וכן הלאה במקום ללכת בדרך ספציפית. שם תתחיל להיווצר גם האישיות של בינה מלאכותית - דרך האופן שבו הדמות מגיבה ומתעדפת, המניעים שלה והאג'נדה שלה.
"אנחנו לא מנסים לשחזר בני אדם או משהו", אומר מיטו. "למעשה, בקצרה, עם מנוע הדמויות מה שאנחנו עושים הוא לאפשר לך, אם אתה מעצב נרטיבי או סופר, להיות יצירתי וליצור סיפורים מאוד ספציפיים אבל לאפשר לדמויות להתנהג בצורה דינמית בתוך הסיפורים האלה."
ברור שיש היבטים נוספים לדמות - שפת הגוף שלה, ההליכה שלה, אוצר המילים הספציפי שלה, ההבנה שלה במרחב האישי וכן הלאה, אבל אלה יהיו נחלתם של המפתחים כרגיל. מבחינת אילו מהמרכיבים הללו משפיעים על האינטראקציות, זה גם ישתנה ממשחק למשחק. בתוך המערכת אתה יכול גם לעשות דברים כמו להגדיר עד כמה דמות אסרטיבית כשהיא מדברת. "אנחנו יכולים לחבר כל כמות של מידע על מצב המשחק למערכת שלנו", אומר מיטו. "אנחנו כבר עושים קרבה ואנחנו עומדים לעשות מחוות ב-VR."
כאן אתה יכול להתחיל לראות איך המשחק עובד עם ציר זמן של אירועים כדי לבסס סט אחד של ידע עבור ה-AI.
למעשה, בשלב מסוים רכנתי לעבר הרובוט במהלך סצנת החקירה שלי באמצעות פקודת מקלדת והיא קראה את זה כפעולה אגרסיבית. מיטו מספרת לי שבגרסת ה-VR בקנה מידה חדר אתה יכול לעמוד מאחורי הרובוט ולהתנשא מעליה שהיא תופסת כמאיימת.
אני מתחיל לדאוג מההשפעה שיכולה להיות למודעות החדשה הזו על ההרגל שלי לדחוף את דרכי דרך דיאלוג של אקספוזיציה או לנסות לטפס על רהיטים כשאיש סמכות כלשהו מספר לי על משימה. תאר לעצמך אMass Effectשבו במקום לבהות למרחק הבינוני ולדפוק על איזה דבר משפחתי, ה-NPC עוצר לפתע ואומר "סליחה, זו המיטה שלי! תפסיק לקפוץ עליה עם המגפיים המלוכלכים שלך כשאני מספר לך סיפור מחריד."
גם זה מתעניין במיטו: "אחד הדברים שאני ממש מתרגש מהם כשהדבר הזה יוצא לטבע הוא שחקנים שעושים את הדברים שהם תמיד עשו ומשחקים עם גבולות אבל שדמויות מבינות פתאום!"
ההבנה היא השורש של כל מה שהמפתחים של Spirit AI עובדים עליו. כפי שאמר Mitu, המטרה היא לא ליצור בני אדם אמינים באמצעות AI, אלא ששחקנים יוכלו לבטא את עצמם בצורה נטורליסטית ושמערכות המשחק יבינו אותם, ובכך לעזור ליצור אינטראקציות משמעותיות יותר. לגבי האופי הספציפי של האינטראקציות הללו, Mitu אומר שהכל ניתן להתאמה אישית:
"לדמויות יש מרחב סקריפט ומודל ידע שהוא מאגר מידע שיש להם על העולם והדברים שהם יודעים. אנחנו לא מניחים כלום. יש הרבה ברירות מחדל שאנחנו נותנים רק כדי שתדע איך להשתמש ב- כלי אבל אתה יכול להתאים הכל."
יש עדיין הרבה כתיבה מעורבת אבל ערכת הכלים אמורה להפוך את זה לקצת יותר לניהול וזה יכול גם ליצור קווי דיאלוג דומים כדי להקל על התהליך. אתה גם צריך להגדיר את מודלי הידע עבור הישויות השונות בעולם.
עמודת המילים הנרדפות כאן מראה לך כיצד הישויות מתחילות להתעגל כך שה-AI יוכל לנתח משמעות בצורה טבעית וגמישה יותר.
לדוגמה, אתה יכול להיות חברה כישות ולחברה יכולים להיות עובדים שזה סוג אחר של ישות. אדם יהיה ישות שלישית אבל הוא יכול להיות גם עובד - כל הדברים שאתה יכול להגדיר ולקשר. כך אתה יכול ליצור רעיון של חברה עם עובדים או שאתה יכול ליצור את הרעיון של קן של נמלים רעבות על עולם זר עשוי גלידה. (לא, אתה הפלת גלידה על המדרכה קודם לכן ועכשיו אתה עסוק בנמלים שמגיעות לגבהים בזמן שאתה כותב תכונה).
אבל לצד המסגרת ליצירת בינה מלאכותית כדמויות משחק, צוות Spirit מעסיק את הטכנולוגיה הזו כדי לעזור למפתחים לגדל קהילות לא רעילות. במהלך שיחתה הראשונה עם סטיב אנדרה (מנכ"ל ומייסד Spirit AI ובעבר של IBM שם עבד לצד הצוות שפיתח את ווטסון, מערכת המחשב שזכתה במהדורה ייעודית של תוכנית המשחקים האמריקאית Jeopardy) שאלה מיטו, אם מערכת ה-Spirit AI יכלו להבין שפה למה לא להשתמש בה כדי לנסות להתמודד עם הטרדה? לפיכך, הפן העיקרי האחר של העבודה ב-Spirit AI יושב אלי.
Ally הוא כלי אחר ואני אצטט מהאתר הרשמי כדי לסכם מה המטרות של החברה איתו:
"אלי עומדת בבסיס חובת הטיפול של משחקי האולפנים והפלטפורמות החברתיות כלפי הקהילות שלהם, ועוזרת להגן מפני התנהגות פוגענית, טיפוח ופעילויות לא רצויות אחרות - הכל על בסיס הקשבה לשחקן על מה שגורם להם להרגיש בטוחים".
כדי להתחיל להתמודד עם התעללות המערכת צריכה להיות מסוגלת לזהות מתי זה קורה. אחת השיטות המסורתיות היא סריקה אחר מילות מפתח או ביטויים - השמצות הן בדרך כלל בראש הרשימה, עם מונחים והתנהגויות אחרים, ספציפיים יותר. אחד הניסיונות היותר בלתי נשכחים להתמודד עם התעללות לאחרונה היהOverwatchשבו "GG EZ" (מעט עיניים של נימוסים רעים המצביעים על כך שהאופוזיציה לא מציעה הרבה אתגר) מוחלף בצ'אט בשורות של בחירה של בליזארד כמו "אני נאבק עם כמה בעיות חוסר ביטחון בחיי אבל תודה כולכם על ששיחקת איתי."
המשחק שבתמונה כאן הוא MMO מדף - הניסוי נועד לראות אם ניתן לחבר אליו את הצ'אטבוט של Ally ולא לתוכן המשחק עצמו.
אלי לא מחפש לעשות את זה. ראשית, טרולים ישימו לב אילו מילים אסורות ואז יעקבו אותן. במקום זאת הוא מחפש דפוסי התנהגות. זה לא אומר שהוא לא מסתכל על השפה שבה משתמשים אבל הוא מנסה לראות את זה בהקשר. בכך אני מתכוון שזה גם מסתכל אם אדם אחר בצ'אט מביע אי נוחות. זה יכול להיות משהו כמו הקלדת "עזוב אותי בשקט", אבל זה יכול גם לראות מתי האינטראקציות הן ברובן חד-כיווניות. אז אם שחקן שולח דואר זבל למישהו אחר עם הזמנות קבוצתיות או תשומת לב לא רצויה והנמען מנסה להתעלם מזה, המערכת יכולה לרשום זאת. לאחר מכן היא יכולה לשלב את אי הנוחות הזו עם מקרים של שפה מינית או גזעית (או כל דבר אחר שקרה.
משהו שמפתחים יכולים לעשות עם המידע הזה הוא להשתמש בו כדי להפעיל אינטראקציה של NPC. אז אולי דמות מהמשחק או סתם בוט לניהול קהילה ישלחו הודעה - "שמתי לב ש-X קורה, אתה בסדר?" מכאן השחקן יכול היה לציין האם ברצונו לחסום את השחקן השני אך גם האם המערכת קראה לא נכון את המצב. אולי בהקשר הזה השפה וחוסר התגובה היו הקנטות ידידותיות אז אתה יכול לציין שבמקרה הזה או עם השחקן המסוים הזה זה היה בסדר. או אפילו שזה פשוט לא הפריע לך. לאחר מכן, המערכת תוכל ללמוד מתגובות אלו וליישם את ההעדפות שלך בעתיד.
המפתח יכול גם להגדיר את Ally כך שהוא ידבר עם השחקן שמעורר את ההטרדה כדי להבין מה קורה בצד הזה של האינטראקציה.
הדבר הגדול כאן הוא ההבנה שהגבולות לא קבועים ושמה שבסדר בתרחיש אחד אולי לא יהיה בתרחיש אחר. התערבות היא השיטה המועדפת כאן (לפי מחקר שמיטו מתייחסת מ-Data and Society) מבחינת יעילותה בהתמודדות עם הטרדה מקוונת, אך היא מסתמכת בדרך כלל על צוות מתינות וניהול קהילתי חזק כדי לגרום להתערבויות הללו לקרות.
Spirit עובדים כרגע עם כמה משחקים חיים כדי להזין נתונים למערכת ולבצע שיפורים על סמך מה שמפתחים ושחקנים באמת צריכים. Mitu אומר לי שאחד מהמשחקים האלה עוסק ב-1,400 כרטיסי תמיכה ביום. זה דורש תערובת של כוח עיבוד ועבודה רגשית בהתאם לתרחיש. מה ש-Aly יעזור לעשות הוא לקחת על עצמו חלק מהעבודה הזו - יותר ממה שנלקח על ידי כפתור השתקה או בעיטה של שחקנים לתור בעדיפות נמוכה לנטישת משחקים.
המערכת משתמשת בניתוח חזוי כך שהיא גם תוכל לסמן בעיות פוטנציאליות גם אם היא לא מבינה אותן. לדוגמה, אם הוא קולט דפוס של שחקנים שמראים אי נוחות הוא יכול לסמן מה גורם לזה כדי שמנחה אנושי יוכל לתייג ולהבין מה קורה. כך, באופן תיאורטי, הוא יוכל לקלוט את הדרכים לעקיפת הבעיה שטרולים עשויים להשתמש בהם או לראות מתי התלקחו ממים פוגעניים, גם אם הוא לא יודע מה התוכן בעצם אומר.
זה לא יחליף פטיש איסור, וגם לא מיועד, אבל הוא יציע ערכת כלים רחבה וניואנסית יותר כאשר מתמודדים עם בעיות בקהילות שחקנים.
מצד שני, אפשר גם להגדיר את זה כדי לבחור מתי שחקנים היו מועילים, אולי ללמד חדשים איך לשחק או לשמור על המורל של הקבוצה. במקום עונשים אפשר להגדיר אותו כדי לחלק פרסים.
דבר אחד שהייתי רוצה לפקוח עליו עין הוא הפיתוי למגור שחקנים בבריכות רעילות שבהן הם יכולים לשחק רק אחד עם השני. זה עשוי לעבוד עבור משחקים מסוימים, או לפחות להכיל את הבעיה שם, אבל אני מעדיף שההגדרות יתמקדו בשילוב קבוצות של שחקנים ותמריץ את התגובות החיוביות האלה בתקווה שזה יקדם חיוביות (או לפחות הפחתת הטרדה) במקומות אחרים באינטרנט. אני גם מתעניין בפוטנציאל לחבר את ערכת הכלים של Ally לדברים כמו קטעי הערות באינטרנט.
Mitu נגע בזה בראיון שלנו וציין מעט את היכולת של Ally לעזור למפתחים לתת את הטון לקהילה שלהם.
מבחינת הדגמת הוכחת תעלומת הרצח ששיחקתי, יש שם מספיק והאינטראקציות עבדו מספיק טוב כדי שאני נרגש לראות מה יקרה אחר כך, במיוחד כשנוספים עוד אלמנטים - אנימציה, אמנות מפורטת, תרחישים שונים ו משחקים. אבל אלי הוא הכלי שאני באמת מקווה לראות מתפתח. אני מקיים אינטראקציה קבועה עם משחקים שנחשבים על ידי רבים כרעילים ביותר במשחקי מחשב (למרות שהם גם אחראים לכך שאני פוגש חברים לכל החיים). הסיכוי של מערכות שהוגדרו טוב יותר להתמודד עם הניואנסים של הטרדה מקוונת ובניית קהילה נראה כמו משהו מיוחד.