חזרה
נגישות משחקים עבור סוכני LLM
SiTech AI Team3 דק׳ קריאה

נגישות משחקים עבור סוכני LLM

מפתחים נתקלים לעיתים קרובות בכשלון של LLM-ים בפיתוח משחקים. גישה חדשה מציעה להפוך משחקים לנגישים ל-AI באמצעות דטרמיניזם, דיפינג של תמונות ואובייקט מסוג אחד, כדי שסוכנים יוכלו לנווט במצבי המשחק.

מפתחים שמשתמשים ב-LLM-ים בפיתוח משחקים אמיתיים נתקלים לעיתים קרובות בקיר. בעוד LLM-ים עובדים מצוין במחסנים מבוססי אינטרנט, השימוש שלהם בפיתוח משחקים מסורתי מניב תוצאות גרועות. משחקים כוללים אלמנטים שאינם שקופים עבור LLM-ים, מה שאומר שמודלים ברירת מחדל לא מצליחים לקרוא ולשנות אותם ביעילות. כדי לתקן זאת, על המפתחים להטמיע מעקופים שהופכים משחקים לנגישים עבור סוכני AI.

למה LLM-ים מתקשים עם משחקים

LLM-ים קוראים משחקים בצורה גרועה במצבם הבסיסי. בניגוד לאפליקציות אינטרנט שיש להן כמות עצומה של קוד פתוח, למשחקים חסרים כלים מתוקננים ויש בהם אלמנטים רבים שקשה לשחזר בקוד. כשמפתחים מסתמכים על LLM-ים להתמודדות עם אלמנטים אלו שאינם שקופים, המודלים נכשלים. הבעיה העיקרית היא בעיית ההקשר. מכיוון שמשחקים אינם רק קוד, המעקופים הקיימים שעובדים עם קוד אינם מספיקים. על המפתחים לפתוח את קופסת השחור של המשחק ולהפוך חלק גדול יותר ממנו לנגיש ישירות עבור LLM.

דטרמיניזם ומצבים שניתן לשחזר

כדי שמשחק יהיה נגיש לסוכן, דטרמיניזם הוא קריטי. המשחק חייב לאפשר שחזור פשוט ומדויק של מצב ספציפי. זה דורש קיומו מלכתחילה של מקור seed אחיד לאקראיות, מה שמבטיח שכל קריאה לפונקציות לא דטרמיניסטיות תשתמש במקור זה. אם הקוד קורא לפונקציית float אקראית במקום 30, הקריאה ה-30 חייבת להיות זהה בכל פעם. מצבים שניתן לשחזר מאפשרים לסוכנים להגיע שוב לאותה נקודה מאפס כדי לבדוק שינויים. מומלץ גם להשתמש ב-screenshot API מובנה. הפעלה וכיבוי של שכבות UI ו-gameplay מפחיתים רעש ויזואלי ומאפשרים ל-LLM להתמקד בשכבה ספציפית שבה העבודה מתבצעת.

הפיכת משחקים לנגישים עבור AI

הערכה ויזואלית באמצעות צילומי מסך עלולה לגרום לאובדן הקשר. אפילו מודלים מולטימודליים מתקשים להבין שינויים מצילום מסך מלא, מה שדומה לזיהום הקשר. במקום להציג תמונות אקראית, על המפתחים להשתמש בדיפינג של תמונות. כלים כמו odiff יכולים להשוות שתי תמונות ולחשוף הבדלים כמותיים, למשל דמיון של 85 אחוז. זה מעניק ל-LLM קו בסיס יציב להערכת התקדמות בכל מחזור, בזמן שהוא מנסה לצמצם את ההבדל בין המצב הנוכחי לבין תמונת היעד.

ארכיטקטורה לסוכנים: Thing Driven Development

גם בחירה ארכיטקטונית חשובה. שמירה על היררכיות תכנות מונחה אובייקטים עמוקות בסוכני AI גורמת לבלבול כשהם מנסים לקבוע היכן לבצע שינויים. במקום זה, על המפתחים להטמיע Thing Driven Development. זה אומר שהכל הוא אובייקט מסוג אחד, דהיינו Thing, עם ערכי stat ו-type enum. AI אוהב את זה כי יש מקור אמת אחד. אין אי ודאות אם להרחיב מחלקה או ליצור אחת חדשה. שמירה וטעינה הופכים גם לטריוויאליים. המשחק פשוט הופך לרשימה ענקית של Thing-ים שמסודרים בדרך אחת. ניתן לתעד שינויים באובייקטים אלו באמצעות Command Pattern, על ידי שמירת שינויים כאובייקטי command סידוריים.

מקורות: kylekukshtel.com

SSiTech

SiTech — פיתוח אתרים בכוח ה-AI

אנחנו בונים אתרים מהירים ומודרניים ומשלבים AI בתהליכי עבודה אמיתיים. יש לכם פרויקט או שאלה? נשמח לעזור.