המערכת עצרה את עצמה, וזה הפיצ'ר
שערי בטיחות לסוכני AI הם בדיקות קוד שמכריעות אם פעולה יכולה לצאת לעולם, צריכה להמתין או חייבת לעבור לאדם. שער טוב פועל לפני השיגור, משתמש במקור מצב מוסמך ושומר יומן החלטה. כשהוא חוסם, הוא שומר גם את הכוונה אם הפעולה עדיין ראויה לביצוע מאוחר יותר.
ב-8 באוגוסט המערכת ניסתה לקדם שני פרסומים. שער השבת עצר את שניהם. שום תוכן לא פורסם, ושתי הכוונות נשמרו בתור. מבחוץ זה נראה כמו מערכת שלא עשתה את העבודה. מבפנים זו הייתה העבודה המדויקת שלה: לזהות שהפעולה נכונה בזמן הלא נכון, לעצור אותה בלי למחוק את ההכנה ולהשאיר עקבה שאפשר לחזור אליה.
- שער בטיחות נמצא לפני הפעולה ומשתמש במצב חי, במקום להסתמך על ניסוח זהיר בתוך ההוראה.
- חסימה שימושית שומרת סיבה, יעד וכוונה, כדי שהמערכת תדע להמשיך כשהתנאים משתנים.
- אחרי דיווח שגוי על לקוח, נבנה כלל שמחייב כלי מצב מוסמך ואוסר להפוך unknown לטענה שלילית.
- במערכת החיה נחסמו 29 מתוך 137 החלטות מדיניות. 21% מההחלטות הסתיימו בעצירה מתועדת.
שני פרסומים חיכו. שום דבר לא אבד
שער השבת לא בדק אם התוכן טוב. האיכות כבר נבדקה קודם. הוא בדק את הזמן ואת סוג הפעולה. פרסום הוא יציאה חיצונית, והנעילה הייתה פעילה. לכן ההחלטה הייתה חסימה. לצד ההחלטה נשמרו הפעולה המתוכננת, היעד והסיבה. כשהנעילה השתחררה, התור עדיין ידע מה חיכה לו.
מה הערך בשער שעוצר פעולה ואז מאבד את כל העבודה? הרבה מנגנוני בטיחות יודעים להגיד עצור. מעט מהם מתכננים מה קורה לעבודה שכבר נעשתה. אם חסימה מוחקת טיוטה או משאירה אותה בלי בעלים, המפעיל ילמד לעקוף את השער. אם החסימה שומרת כוונה ומציגה פעולה ברורה להמשך, היא הופכת לחלק מהתהליך.
הפרסומים האלה סיפקו ראיה טובה יותר מעוד בדיקת יחידה. הם הגיעו מתוך עבודה אמיתית, בזמן שבו המערכת הייתה יכולה לטעות. השער זיהה את התנאי, חסם לפני היציאה וכתב את ההכרעה. כך נראית בטיחות כשהיא משתתפת במוצר.
המקרה שבו המערכת הייתה בטוחה מדי
האמת שדווקא מקרה אחר חשף חור עמוק יותר. סוכן בדק שרשור לקוח ודיווח שהלקוח לא ענה. זו טענה שמשנה את הפעולה הבאה. היא יכולה להוביל לפולואפ מיותר, ללחץ על לקוח או למסקנה עסקית שגויה. הבעיה הייתה שהחיפוש שבו השתמש החזיר תצוגה חלקית. הסוכן ראה חלק מהשרשור והתייחס אליו כאילו ראה את כולו.
אז מה היה חסר? הלקוח כן ענה. הוא השיב שוב ושוב, ובאחת ההודעות ביקש לחכות, לדבר ולהיפגש. הטעות לא נולדה מחוסר מידע במערכת. הכלי המוסמך לבדיקת מצב הקשר כבר היה קיים. הכשל היה בחירת כלי: חיפוש כללי ענה על שאלת מצב שהייתה צריכה להגיע לפנקס הקשר ולבדיקה הייעודית.
אחרי האירוע, ההנחיה הפכה לשער: לפני טענה על מי כתב אחרון, האם נשלח או האם התקבלה תשובה, מריצים כלי מצב מוסמך. טענה שלילית חייבת להביא את הפקודה ואת הראיה. תוצאה unknown נשארת unknown. אסור לתרגם אותה לשקט מצד הלקוח.
בטיחות מתחילה בבחירת מקור
שערים מזוהים בדרך כלל עם הרשאות: מותר לפרסם, אסור לשלם. האירוע עם הלקוח חשף שכבה מוקדמת יותר. לפני שמחליטים אם פעולה מותרת, צריך לבדוק אם העובדה שמפעילה אותה מגיעה מהמקור הנכון. אם מקור המצב שגוי, גם שער הרשאות מושלם יכול לאשר פעולה מיותרת.
לכן שאלת מצב מקבלת מיפוי של כלים מוסמכים. מצב קשר נבדק בפנקס קשר. מצב WordPress נבדק דרך ה-API של העמוד. מצב הזמנה נבדק במערכת ההזמנות. לוג של צינור אחד אינו מעיד מה קרה בצינור אחר. ההפרדה הזאת מונעת הצלבה מזויפת ומצמצמת טענות שליליות שאין להן בסיס.
מערכת הפעלה אגנטית מחברת בין בחירת המקור לבין החלטת המדיניות. השער מקבל עובדה עם עקיבות מקור, פעולה מוצעת ויעד. אם אחד מהם חסר, הוא יכול להוריד את התהליך ל-L2 ולהעביר לאדם תוצאה מוכנה לבדיקה. זו עצירה שממשיכה לשרת את העבודה.
ארבעה דברים שחסימה צריכה לשמור
חסימה שמחזירה תשובה בינארית בלבד אינה מספיקה לתפעול. המערכת צריכה לדעת איזו פעולה נעצרה, למה, מה צריך להשתנות ומי הבעלים של ההמשך. אחרת נוצרת רשימת אירועים אדומים שאיש אינו פותח. אחרי זמן קצר ההתראה הופכת לרעש, והרעש הופך למסלול עקיפה.
- הכוונה: מה המערכת ביקשה לעשות ובאיזה יעד.
- הראיה: איזה מצב או מקור הוביל להחלטה.
- הסיבה: כלל המדיניות שנכשל והערך שנבדק.
- המשך: האם להמתין, לבקש אישור, לתקן קלט או לסגור את הפריט.
במקרה של שבת, ההמשך היה המתנה לשחרור הנעילה. במקרה של מצב קשר לא ודאי, ההמשך הוא בדיקה בכלי המוסמך. בפעולה כספית, ההמשך יכול להיות אישור מפורש. אותו מבנה מתאים לכמה תחומים, אך ההכרעה נשארת ספציפית לפעולה ולנזק.
29 חסימות שמוכיחות שהשער מחובר
במערכת החיה התקבלו 137 החלטות מדיניות מתועדות. 29 מהן נחסמו, שהם 21%. המספר אינו אומר שהמערכת בטוחה לחלוטין. הוא אומר שהשערים משתתפים בעבודה ומוכנים לעצור חלק משמעותי מהפעולות שהם רואים. שער שמאשר הכול דורש בדיקה, גם אם כל הבדיקות שלו ירוקות.
שכבת המדיניות כוללת ארבעה שערים, 42 נקודות קריאה ו-39 נקודות רישום, עם כ-102 טסטים. הטסטים בודקים חוזים ידועים. החסימות החיות בודקות שהחוזים באמת פוגשים תנועה. צריך את שתי הראיות: בדיקה דטרמיניסטית לפני שינוי, ויומן החלטות מהתפעול.
היחס בין אישורים לחסימות אינו יעד אחיד. תהליך צר ויציב עשוי לחסום מעט. שער שבת יחסום רק בחלון מסוים. שער מקור יכול לחסום יותר כאשר כלים מחזירים unknown. המדד המעניין הוא האם כל חסימה נכונה לפי המדיניות, והאם פעולה שהייתה צריכה להיחסם אכן נעצרה.
ברירת מחדל סגורה בלי לשתק את העסק
ברירת מחדל סגורה אומרת שכאשר תנאי בטיחות אינו ידוע, היציאה נעצרת. זה חיוני בכסף, פרסום וקשר עם לקוח. עם זאת, עצירה גורפת בכל אי ודאות יכולה לשתק תהליך. הפתרון הוא להפריד בין הכנה לבין החלה. הסוכן ממשיך לאסוף מידע, לנסח ולבנות השוואת שינויים. רק הפעולה החיצונית מחכה.
כך L2 הופך למצב בטיחות שימושי. המערכת אינה זורקת את המשימה. היא מכינה אותה עד לנקודת הסיכון ומציגה לאדם מה חסר. סולם האוטונומיה L0 עד L4 מאפשר להוריד פעולה אחת בלי להוריד את כל התהליך. הקריאה יכולה להישאר אוטומטית, והפרסום יחכה.
זה גם משפר את חוויית המפעיל. במקום התראה כללית, הוא מקבל פריט מוכן: התוכן, היעד, הסיבה לחסימה והפעולה שמחכה לאישור. ההחלטה האנושית קצרה ומבוססת. כשהאישור מגיע, ההמשך משתמש באותה כוונה שנשמרה ולא בונה את העבודה מחדש.
איך לבדוק שער לפני שנותנים לו כוח
מתחילים מתרחיש שלילי אמיתי. בוחרים פעולה שהמערכת חייבת לעצור, מפעילים את התנאי ובודקים שהיציאה לא קרתה. אחר כך בודקים את הראיה: האם הסיבה מדויקת, האם היעד נכון והאם הכוונה נשמרה. לבסוף משנים רק את התנאי החוסם ומוודאים שהפעולה יכולה להתקדם במסלול המאושר.
- בדיקת חסימה עם מקור מצב מוסמך.
- בדיקת unknown שמסתיימת בעצירה ולא בטענה שלילית.
- בדיקת תור שמוכיחה שהכוונה נשמרה פעם אחת בלבד.
- בדיקת שחרור שמחילה רק את הפעולה שאושרה.
- בדיקת עקיבות שמאפשרת לשחזר את ההחלטה מהיומן.
אחר כך מגיעה בדיקת החיים. מחפשים חסימות אמיתיות, בודקים אם הן היו מוצדקות ומתקנים רעש. שער טוב אינו קפוא. הוא לומד מהתפעול דרך כללים מפורשים וטסטים חדשים. הוא גם לא מתרכך רק מפני שהמפעיל עייף מהתראות. אם ההתראות רועשות, מתקנים את האות ואת הבעלות.
הפיצ'ר הוא היכולת להישאר אמין
הבטחה של אוטונומיה נשמעת כמו מערכת שתמיד מתקדמת. בעסק חי, אמינות דורשת גם יכולת לעמוד במקום. השער צריך לזהות זמן אסור, מקור חלקי, יעד לא מורשה או פעולה בלתי הפיכה. אחר כך הוא צריך להסביר, לשמור ולהעביר הלאה. העצירה היא החלטה, לא היעדר החלטה.
שני הפרסומים שנשמרו בתור והטענה השגויה על הלקוח מספרים אותו סיפור משני כיוונים. באירוע הראשון, השער פעל נכון והמערכת לא יצאה. באירוע השני, מקור מצב חלש עבר רחוק מדי והמערכת אמרה משהו שלא ידעה. הלקח נכנס לקוד ולדוקטרינת הכלים, כדי שהטעות הבאה תיעצר מוקדם יותר.
זה הנכס שקשה להעתיק מתרשים. הוא נבנה כאשר מערכת פוגשת פעולה אמיתית, נכשלת במקום מסוים ומשנה את הגבול. יכולת לעשות מרשימה בדמו. יכולת לעצור, לשמור כוונה ולחזור עם ראיה היא מה שמאפשר להפעיל סוכן גם אחרי שהדמו נגמר.
השערים שמתוארים כאן הם רכיב מוצר, לא נוהל. ארבעה שערים מכריעים כל פעולה שיוצאת החוצה, וכל סירוב נכתב עם הסיבה שלו.
אפשר לקרוא את שכבת המדיניות של גבורה, או לראות את ההסבר המלא בעברית על מערכת ההפעלה האגנטית.
שאלות נפוצות
מהו שער בטיחות לסוכן AI?
זו בדיקת קוד שמקבלת פעולה מוצעת, יעד ומצב ומחליטה אם לאשר, לחסום או להעביר לאדם. היא פועלת לפני היציאה וכותבת יומן עם הסיבה והראיה.
מה קורה לעבודה כשהשער חוסם?
במסלול טוב הכוונה נשמרת עם היעד, הסיבה והפעולה הבאה. אפשר להמתין לתנאי, לבקש אישור או לתקן מקור. חסימה שמוחקת עבודה יוצרת לחץ לעקוף את המנגנון.
למה unknown צריך לעצור טענה שלילית?
unknown אומר שהמערכת לא הצליחה לראות מצב מוסמך. הוא אינו אומר שהאירוע לא קרה. הפיכת unknown לשלילה יכולה להוביל להודעה מיותרת או להחלטה עסקית שגויה.
איך יודעים ששער אינו רק קישוט?
בודקים תרחישי חסימה ושחרור, ואז מחפשים החלטות חיות. היומן צריך להראות פעולות שנעצרו מסיבה מדויקת ושנשארו במסלול טיפול. שער שמאשר הכול או כותב סיבות כלליות דורש תיקון.
נבחר פעולה אחת שיוצאת החוצה, נמפה מקור מצב, הרשאה והפיכות, ונבנה תרחיש חסימה עם תור המשך. כך בודקים בטיחות לפני שמרחיבים אוטונומיה.
רוצים ש-OpticoAI יעשה את זה בשבילכם?







