GPT
S

SWE-agent-trajectories

קוד פתוח

nebiuscc-by-4.02024-12-08

  • code
  • synthetic
  • tools
  • agents
  • software

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

  • 7,363הורדות בחודש
  • 95לייקים

מה זה

במאגר יש 80,036 רשומות שמתעדות ריצות מלאות של סוכנים מבוססי SWE-agent. הסוכנים ניסו לפתור תקלות אמיתיות שנלקחו ממאגר SWE-bench-extra ומחלק ה־dev של SWE-bench המקורי, תוך שימוש במודלים שונים ליצירת הפעולות. כל פתרון קוד נבדק אוטומטית מול הטסטים של ה־Pull Request המקורי כדי לקבוע אם המשימה הושלמה.

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

מתאים ל

  • אימון סוכני קוד בסיסי

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

  • למידה מחיזוקים ומשגיאות

    שימוש בעשרות אלפי הריצות שנכשלו כדוגמאות שליליות לבניית מודלי תגמול או אימון DPO.

  • ניתוח כשלונות של סוכנים

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

איפה זה נופל

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

שאלות
נפוצות

האם מותר להשתמש במאגר לפיתוח מוצר מסחרי?

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

האם הדאטהסט כולל קוד או בעיות בעברית?

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

איך הנתונים נאספו ונבדקו בפועל?

החוקרים הריצו את שלד התוכנה SWE-agent על תקלות מ־SWE-bench ו־SWE-bench-extra עם מודלים שונים. בסיום כל ריצה, הטלאי שהסוכן יצר עבר הרצה אוטומטית מול בדיקות התוכנה המקוריות של ה־Pull Request כדי לראות אם הוא פותר את הבעיה.

באיזה פורמט המידע שמור ואיך ניגשים אליו?

המידע שמור ב־12 קובצי Parquet שזמינים להורדה ישירה דרך ה־API של Hugging Face. בתוך כל רשומה, המסלול המלא של פעולות הסוכן והקלט מהסביבה נשמר כמחרוזת JSON מובנית.

איך טוענים

הדאטהסט פתוח להורדה ישירה דרך ספריית datasets באמצעות הנתיב nebius/swe-agent-trajectories, ללא צורך באישור גישה מוקדם. הנתונים מחולקים ל־12 קובצי Parquet שונים תחת ספריית data. השדות המרכזיים שצריך לעבוד איתם הם trajectory שמכיל את היסטוריית הפעולות בפורמט JSON, השדה הבוליאני target שמעיד על הצלחה, ו־generated_patch שמחזיק את הקוד הסופי.

from datasets import load_dataset

ds = load_dataset("nebius/SWE-agent-trajectories")

הרישיון

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

  • שימוש מסחרי
  • שינוי הקוד
  • חובת ייחוס

הרישיון המלא ב־Hugging Face ↗