הנדסת harness: מה זה ואיך זה עובד

מדריך בשפה פשוטה שמסביר מה זה harness ב-AI ואיך הנדסת harness מעצבת את מה שסוכני AI יכולים לעשות.

Diagram of an AI harness: an AI model that reads and writes text sits at the center, connected to six parts: agent loop, context management, tools, memory, permissions, and verification.

מה פירוש הנדסת harness

הנדסת harness היא העבודה על בניית ה-harness של כלי AI, כלומר כל חלקי הכלי מלבד מודל ה-AI.

המודל הוא מערכת ה-AI, שאומנה על כמויות גדולות של טקסט כדי שתוכל לקרוא ולכתוב שפה. דוגמאות למודלי AI הן GPT של OpenAI, ‏Claude של Anthropic ו-Gemini של Google.

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

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

הנדסת harness היא אחת הסיבות לכך ששני כלים שבנויים על אותו מודל יכולים לתפקד בצורה כל כך שונה. לדוגמה, במבחן עצמאי אחד החוקרים השאירו את המודל (GPT5) ללא שינוי ושינו רק את ה-harness, והציון של המודל במבחן קידוד השתנה בשיעור של עד 11%.

מפתחי מודלי AI כמו Anthropic ו-OpenAI בונים harness למוצרי ה-AI שלהם, כמו Claude Code ו-Codex. וחברות שבונות מוצרי AI מתכננות harness עבור המודלים שעליהם הן בוחרות להתבסס. גם אנשים שמשתמשים בכלי AI מעצבים חלק מה-harness. כלים רבים מאפשרים להם להוסיף הוראות קבועות, לחבר אפליקציות ולבחור אילו פעולות דורשות את אישורם לפני שהכלי ממשיך.

הנדסת harness לסוכני AI

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

ברוב מערכות ה-harness של סוכנים יש שישה חלקים עיקריים:

1. לולאת הסוכן

לולאת הסוכן היא קוד בתוך ה-harness שמקדם את המשימה, שלב אחר שלב.

מודל ה-AI מחליט מהו השלב הבא שנדרש להשלמת המשימה, וכותב קריאה לכלי: בקשה קצרה שמציינת כלי ב-harness, כמו חיפוש באינטרנט, ומה הכלי צריך לעשות.

ה-harness מזהה את הבקשה, מריץ את החיפוש ומוסיף את התוצאות למה שהמודל יכול לראות. המודל קורא אותן ומחליט מה לעשות בהמשך.

2. ניהול הקשר

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

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

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

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

3. כלים

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

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

4. זיכרון

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

5. הרשאות

הרשאות הן כללים שקובעים למה סוכן יכול לגשת ומה הוא יכול לעשות. כללי גישה קובעים אילו קבצים, אפליקציות או אתרים הוא יכול לפתוח. כללי אישור קובעים אילו פעולות צריכות להמתין לאישור של אדם, כמו שליחת הודעה או ביצוע רכישה.

החברה שמייצרת את הסוכן מגדירה חלק מהכללים האלה בקוד של ה-harness. לאחר מכן מנהלי המערכת בארגון יכולים להוסיף כללים משלהם, ומשתמשים בודדים יכולים לבחור דברים כמו אילו חשבונות לחבר.

6. אימות

אימות הוא קוד שבודק את העבודה של הסוכן לפני שהיא מגיעה לאדם. הוא משתמש בשני סוגים של בדיקות:

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

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

דוגמאות להנדסת harness

הכנה לפגישה עם לקוח

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

מה ה-harness עושה:

  • באמצעות מחבר אימייל, הסוכן מחפש בתיבת הדואר הנכנס של המנהל הודעות שהוחלפו עם הלקוח.
  • ההרשאות מאפשרות לו לקרוא אימיילים, אבל לא לשלוח אותם.
  • ניהול ההקשר מעביר למודל רק את ההודעות עם אותו לקוח משלושת החודשים האחרונים, ולא את כל תיבת הדואר.
  • לולאת הסוכן מריצה כמה סבבים של חיפוש וקריאה, והמודל מקבץ את מה שהוא מוצא לנושאים פתוחים.
  • לאחר מכן האימות בודק שכל נושא בתדריך מקושר לאימייל אמיתי.

תוצאה אפשרית: המנהל מקבל תדריך בן עמוד אחד, שבו אפשר להתחקות אחר כל נקודה עד לאימייל המקורי שלה.

עדכון דוח מכירות חודשי

משימה: מנהל תפעול מבקש מסוכן לעדכן את דוח המכירות החודשי עם הנתונים של החודש.

מה ה-harness עושה:

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

תוצאה אפשרית: הדוח מגיע באותו פורמט כמו בחודש שעבר, בלי שהמשתמש יצטרך להסביר אותו שוב.

מיון תיבת דואר משותפת

משימה: צוות תמיכה מבקש מסוכן למיין לפי נושא את הפניות שהתקבלו בבוקר ולנסח טיוטות תשובה לפניות הנפוצות.

מה ה-harness עושה:

  • לולאת הסוכן עוברת על תיבת הדואר הודעה אחר הודעה.
  • לכל הודעה המודל בוחר תווית נושא, וה-harness מחיל אותה באמצעות מחבר האימייל.
  • בתחילת המשימה, ה-harness מוסיף את תבניות התשובה המאושרות של הצוות לחלון ההקשר כהנחיות, כך שהמודל מבסס כל טיוטה על תבנית.
  • כלל אישור משאיר כל תשובה כטיוטה עד שמישהו בצוות בודק אותה ושולח אותה.

תוצאה אפשרית: הצוות מתחיל את היום עם פניות ממוינות ותשובות שממתינות לבדיקה.

תיקון באג באתר אינטרנט

משימה: מפתח מבקש מסוכן קידוד לתקן באג שבגללו כפתור התשלום לא עובד.

מה ה-harness עושה:

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

תוצאה אפשרית: הסוכן ממשיך לשפר את התיקון עד שהבדיקות עוברות. לאחר מכן המפתח בודק את השינוי לפני שהוא עולה לאוויר.

הנדסת harness לעומת הנדסת פרומפטים לעומת הנדסת הקשר

הנדסת פרומפטים היא העבודה על בנייה ושיפור של שאילתה בודדת. הנדסת הקשר היא העבודה על ניהול כל מה שהמודל רואה. הנדסת harness היא התהליך של תכנון ושיפור המערכת כולה שבתוכה המודל פועל.

מונח

מי עושה את זה בדרך כלל

דוגמה ממשימת מחקר על מתחרים

הנדסת פרומפטים

כל מי שכותב שאילתה

בקשה ל"שורה אחת לכל מתחרה, עמודה אחת לכל רמת תמחור"

הנדסת הקשר

האנשים שבונים את ה-harness, וגם משתמשים שמצרפים קבצים או תבניות

העברת דף התמחור של כל מתחרה ותבנית הגיליון של הצוות למודל

הנדסת harness

חברות שמייצרות מוצרי AI, וגם צוותים ומשתמשים שבוחרים הגדרות והעדפות ומעלים מידע

קביעה באילו כלים הסוכן יכול להשתמש, אילו פעולות דורשות אישור ואיך העבודה שלו נבדקת

איך משתמשים יכולים להשפיע על harness של AI

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

משתמשים יכולים לעצב את ה-harness של סוכן, ולשפר את התוצאות שלו, בארבע דרכים:

1. הוראות קבועות

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

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

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

איך לכתוב הוראות קבועות אפקטיביות

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

2. אפליקציות מחוברות

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

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

איך לחבר אפליקציות בבטחה

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

3. הגדרות אישור

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

איך לקבוע כללי אישור

  • דרשו אישור לפעולות שאי אפשר לבטל, כמו שליחת הודעה, ביצוע רכישה או מחיקת קובץ.
  • הקפידו שרשימת האישורים תהיה קצרה. אם סוכן מבקש אישור על כל צעד קטן, אנשים מתחילים לאשר בלי לקרוא.

4. סטנדרטים ובדיקות

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

איך לקבוע סטנדרטים לעבודה של AI

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

איך Perplexity ניגשת ל-harness של סוכנים

Perplexity Computer פועל על harness שאינו תלוי במודל מסוים, אשר מאחד יותר מ-20 מודלים מתקדמים במערכת אחת. הוא מפרק כל משימה לתת-משימות, מעביר אותן לסוכני משנה (סוכנים נפרדים שכל אחד מהם מטפל בחלק אחד), ומנתב כל חלק בעבודה למודל שמתאים לו.

גלו איך להגדיר הנחיות, קבצים ומחברים במדריך לפרויקטים ב-Perplexity.

שאלות נפוצות

מיהו מהנדס harness?

מהנדס harness מתכנן ומתחזק את המערכת שמאפשרת למודל AI לבצע עבודה אמינה. המשמעות יכולה להיות הוספת כלי חדש שהסוכן ישתמש בו, איתור הסיבה לכך שסוכן חוזר שוב ושוב על אותה טעות, או הידוק הבדיקות שהוא מריץ לפני שהוא מסיים משימה. זה לא תואר תפקיד מקובל, אם כי זה עשוי להשתנות. את העבודה הזו עושים בדרך כלל מהנדסי תוכנה בחברות AI או בצוותים שבונים סוכנים. בתעשיית הייצור, אותו תואר מתייחס למי שמתכנן רתמות חיווט (wire harnesses), צרורות הכבלים שבתוך מכוניות ומכונות.

מהו harness של סוכן?

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

האם לכל כלי AI יש harness?

כן. אפילו עוזר צ׳אט בסיסי מסתמך על harness כדי לעקוב אחר השיחה, כי המודל עצמו לא זוכר הודעות קודמות.

מפתחים יכולים גם להשתמש במודל על ידי שליחת בקשות אליו מהתוכנה שלהם דרך API (חיבור שמאפשר לתוכנה אחת לשלוח בקשות לתוכנה אחרת). במקרה כזה, הקוד של המפתח עצמו עושה את העבודה של ה-harness.

האם מודלים טובים יותר ייתרו את הצורך ב-harness?

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