
4 מיליון שורות קוד ואף לא ייבוא אחד של LangChain. איך בנויים באמת Claude Code, Codex ועוד תשעה סוכנים?
מציגים את זה כהשוואה בין סוכנים, אבל אין בו דירוג. החוקרים קראו את הקוד של 11 סוכנים, מ-Claude Code ועד OpenCode: מה משותף לכולם ואיפה ההבדל.
במאמר הזה7
Harness engineering הוא תכנון המעטפת: כל מה שעוטף את המודל בסוכן קוד, מהלולאה והכלים ועד הזיכרון, ההרשאות וההרחבות. הפרה-פרינט arXiv 2609.00006 (15 ביולי 2026, 83 עמודים) מנתח את קוד המקור של 11 סוכנים: Claude Code, Codex CLI, Gemini CLI, Mistral Vibe, OpenHands, Aider, Mini-SWE-Agent, Hermes, Pi, OpenCode ו-OpenClaw. המחברים מזהים 7 תת-מערכות, 29 דפוסים חוזרים ו-18 המלצות. הממצאים העיקריים: ב-4 מיליון שורות קוד אף סוכן לא משתמש ב-LangChain או בפריימוורק דומה, ואף אחד לא מחפש קוד באמצעות embeddings וקטוריים; סקילים בפורמט SKILL.md קיימים ב-9 מתוך 11 סוכנים, MCP ב-8; ותוך רבעון Codex אימץ את ה-hooks של Claude Code כמעט מילה במילה. אין במחקר דירוג ואין בנצ'מרקים, ו-Claude Code נותח לפי תמונת קוד ממרץ.
בערך 4 מיליון שורות ב-Python, TypeScript ו-Rust. אחד עשר סוכני קוד, ביניהם Claude Code, Codex ו-Gemini CLI. ואפס ייבואים של LangChain, LangGraph, AutoGen או כל פריימוורק סוכנים אחר. Gemini CLI לא משתמש אפילו בפריימוורקים של Google עצמה.
זה אחד משני ה"חורים" שמצאו ארבעה חוקרים מ-Inclusive Brains ומ-Wavestone AI Lab, אחרי שקראו את קוד המקור של הסוכנים מתחילתו ועד סופו. שם הפרה-פרינט הוא "Harness Engineering: Anatomy, Architecture, and Evolution of Coding Agents". יש בו 83 עמודים, והוא המהדורה השנייה של מחקר מאפריל, שעסק אז בשמונה סוכנים.
כותבים עליו עכשיו כעל השוואה: איזה סוכן הכי טוב. זה לא נכון, והמחברים אומרים זאת במפורש: הם לא הריצו שום דבר ולא דירגו, רק תיארו איך הדברים בנויים. מה שכן רואים בו הוא מה יש בתוך הסוכנים האלה. כמה המעטפת עולה בכסף בדקנו בנפרד, כשהשווינו מודל אחד ב-Claude Code, ב-Codex וב-Pi. כאן נבדוק ממה היא עשויה.
מה זה harness engineering ומאילו שבעה חלקים בנוי סוכן
המחקר נפתח בנוסחה: סוכן = מודל + harness. המודל אחראי על האינטליגנציה, וה-harness (המעטפת) על כל השאר: לולאת "חשב, עשה, בדוק", כלים, הקשר, הרשאות והרחבות. המונח harness engineering נכנס לשימוש רק בפברואר 2026, ותוך חמישה חודשים כבר היו לו מדריכים משלו ושורה של מאמרים ב-arXiv.
המחברים מפרקים כל harness לשבע תת-מערכות. כל אחת מהן קיימת אצל כל אחד עשר הסוכנים, ולו כהחלטה מודעת לא לבנות אותה. הכי מעניין הוא הפער: כמה מעט קוד צריך לתת-מערכת, וכמה ממנו יש לפעמים.
| תת-מערכת | הפשוטה ביותר | המורכבת ביותר |
|---|---|---|
| לולאת הסוכן | Mini-SWE-Agent: לולאת while ליניארית עם bash אחד | OpenHands: יומן אירועים ופעולות מקבילות |
| חיבור למודל | Mini-SWE-Agent: קריאה אחת ל-LiteLLM | Hermes: חמישה transports משלו, 29 פרופילי ספקים |
| כלים | Mini-SWE-Agent: רק bash | Claude Code: 43 כלים עם טיפוסים |
| זיכרון והקשר | Mini-SWE-Agent: כל ההיסטוריה ברצף | Codex: זיכרון בין סשנים שהסוכן מנהל בעצמו |
| הרשאות ואבטחה | Mini-SWE-Agent: מגבלת צעדים ועלות | Codex: כללים, סוקר פקודות מבוסס LLM ו-sandbox בשלוש מערכות הפעלה |
| תת-סוכנים | Aider: אין, בכוונה | Claude Code: תת-סוכנים שמפעילים תת-סוכנים |
| הרחבות | Mini-SWE-Agent: פרוטוקולים של Python | Pi: הכול הוא הרחבה; Codex: מרקטפלייס תוספים |
את העמודה השמאלית ממלא כמעט לבד Mini-SWE-Agent: כמאה שורות Python, כלי אחד, ולפי דיווח עצמי של יוצריו 74%+ ב-SWE-bench Verified. מכאן התצפית הראשונה של המחקר: מורכבות הלולאה לא מנבאת את התוצאה. רוב הקוד בסוכנים הגדולים הולך על מה שבנצ'מרק לא מודד. ב-OpenCode בערך שלוש חמישיות מהקוד שאינו בדיקות הן ממשקי לקוח: הטרמינל, הווב, הדסקטופ וה-SDK.
מה אין באף אחד מ-11 הסוכנים
שני חורים שרדו גם את הרחבת המדגם וגם בדיקה חוזרת אחרי שלושה חודשים.
אין פריימוורק סוכנים. כל לולאה כתובה ביד על הפרימיטיבים האסינכרוניים של השפה שלה. המחברים לא מפספסים את האירוניה: המונח harness engineering נטבע ופותח בתוך LangChain, אבל ספריות LangChain לא נמצאות באף אחת מהמעטפות.
אין חיפוש וקטורי בקוד. אין RAG על הריפו. הסוכנים מוצאים קוד עם ripgrep, glob, tree-sitter וקובצי הקשר כמו AGENTS.md ו-CLAUDE.md, שהם מאתרים לבד לאורך עץ התיקיות. embeddings מופיעים רק בזיכרון השיחות (כברירת מחדל ב-OpenClaw), ואף פעם לא על קוד המקור. ההסבר של המחברים פשוט: לקוד יש מבנה מדויק (נתיבים, סמלים, ניתוח תחבירי), והוא משתנה כל דקה, כך שאינדקס embeddings מתיישן מהר.
למי שכותב סוכן משלו, אלה שתי המלצות ישירות מהרשימה: לא לקחת פריימוורק לזמן הריצה, ולא לבנות RAG על הקוד עד שהוכח שהוא עדיף על ripgrep עם tree-sitter במשימות שלכם.
סקילים עקפו את MCP
סוכנים תומכים בסקילים בפורמט SKILL.md. ב-MCP תומכים 8 מתוך 11. באפריל היה תיקו
סקילים חסרים רק ב-Aider וב-Mini-SWE-Agent. את התיקו שבר Pi, שהעמדה שלו מוצהרת: סקילים וכלי שורת פקודה עם README, בלי MCP בכלל. ההמלצה של המחברים: סקילים לתהליכים חוזרים ולידע תחומי, MCP למערכות חיצוניות כמו מסדי נתונים ו-API פנימיים, ובסדר הזה.
סביב הסקילים צמח תוך רבעון מה שבדרך כלל יש לחנות אפליקציות: רישומים בארבעה סוכנים, רמות אמון והסגר ב-Hermes, בדיקת מקור ב-OpenClaw. וגם הסקילים הראשונים שהסוכן כותב לעצמו. אם אתם מתקינים סקילים של אחרים, המחברים ממליצים להתייחס אליהם כמו לחבילות מהאינטרנט, לא כמו לקובצי טקסט. איך לבחור ממה שכבר קיים ל-Claude Code ריכזנו בסקירת האקוסיסטם: מה לקחת ומה לדלג.
תוך שלושה חודשים הסוכנים התחילו להעתיק את Claude Code
זה החלק העדכני ביותר במחקר. את שמונת הסוכנים מאפריל המחברים לא החליפו אלא עדכנו, והשוו את קוד המקור בהפרש של רבעון. באפריל הדמיון בין הסוכנים היה בעיקר גילוי עצמאי של אותם רעיונות. ביולי כבר אפשר לעקוב אחריו בקוד.
- Hooks. באפריל hooks של משתמש היו תכונה של Claude Code. ביולי הם קיימים ב-9 מתוך 11 סוכנים. Codex לקח את אוצר האירועים של Claude Code כמעט מילה במילה: PreToolUse, PermissionRequest, PostToolUse, PreCompact, SessionStart, UserPromptSubmit, SubagentStart, SubagentStop, Stop. משלו הוסיף אירוע אחד, PostCompact.
- מעבר. Codex מוצא סשנים של Claude Code ב-~/.claude/projects, מייבא אותם ומציע להמיר את ~/.claude/settings.json ל-config.toml שלו.
- פורמט. OpenHands קורא את מניפסט התוספים של Claude Code, ו-OpenCode קורא את תיקיית הסקילים שלו.
- קצב. טעינה דחויה של כלים (הסכמות לא יושבות בפרומפט, והסוכן מחפש אותן לפי הצורך) התפשטה תוך רבעון מסוכן אחד לשלושה. מצב תכנון קיים עכשיו בכל ארבעת הסוכנים של ספקי המודלים, לעומת שניים קודם. המחברים כותבים שתכונה מבדלת בתחום הזה מחזיקה שבועות.
התנועה השנייה שקטה יותר, אבל חשובה יותר למי שכותב כללים לסוכן. Codex הסיר מהפרומפטים של המודלים החדשים את הכללים "אל תעשה commit" ו"אל תעשה מעבר למה שביקשו", ו-Mistral Vibe מחק את הכלל הנוקשה Never Commit. ההתנהגות עוברת מטקסט הפרומפט, שהמודל קורא ועלול להתעלם ממנו, להגדרות שה-harness אוכף בעצמו.
למשתמשי Claude Code המסקנה מעשית: ה-hooks והסקילים שאתם כותבים כבר לא קושרים אתכם לסוכן אחד. איך hooks עובדים ובמה שונים מהם ה-mods החדשים, יש במאמר שלנו על ה-mods של Claude Code.
במה סוכני קוד שונים: זיכרון, sandbox, תת-סוכנים
אם בפנים כמעט הכול זהה, איפה הבחירה? לפי המחקר, בשלושה מקומות.
זיכרון. דחיסת ההקשר התכנסה: 7 מתוך 11 סוכנים מסכמים את ההיסטוריה בעזרת המודל כשעוברים סף. Claude Code דוחס כשנשארים 13 אלף טוקנים עד סוף החלון, Gemini CLI בחצי החלון, ושומר את 30% האחרונים כלשונם. ההבדל עכשיו הוא מי כותב את הזיכרון ארוך הטווח. ב-Codex מנהל אותו תת-סוכן נפרד, ב-Gemini CLI תת-סוכן נפרד מניח רשומות בתיבת דואר נכנס ואתם מאשרים אותן בפקודה /memory, וב-Hermes אלה קבצים עם מגבלת תווים נוקשה.
Sandbox. בידוד ברמת מערכת ההפעלה עולה אלפי שורות קוד, וזו בחירה, לא תוצאה של גודל. Codex ו-Gemini CLI מתחזקים sandbox משלהם ל-Linux, macOS ו-Windows. Claude Code מחבר את ה-sandbox של Anthropic כאפשרות. Hermes, מהסוכנים הגדולים ביותר, לא מבודד תהליכים בכלל, אבל מחזיק 12 חסימות נוקשות שפועלות גם במצב --yolo. Pi מוותר על sandbox ומסביר למה: בידוד חלקי בתוך התהליך נראה כמו גבול אבטחה, אבל הוא לא כזה.
תת-סוכנים. הדפוס "מתאם מחלק עבודה למבצעים" הופיע באופן עצמאי כמעט אצל כולם. המטרות שונות: Claude Code חוסך במטמון פרומפט משותף לסוכני הבן, Codex בונה עץ של threads עם מעקב עומק, Mistral Vibe מריץ תת-סוכנים בזה אחר זה למען הפשטות. Pi נשאר בכוונה עם סוכן אחד. המחברים מזכירים, בהסתמך על Anthropic, שמערכות מרובות סוכנים צורכות בערך פי 15 יותר טוקנים מצ'אט רגיל, וממליצים לא לעזוב סוכן יחיד בלי סיבה ברורה. איפה אי אפשר בלי מתאם בדקנו על הדוגמה של Paperclip, שנותן לסוכנים בוס ותקציב.
מה אין במחקר
Claude Code נותח לפי קוד ישן
קוד המקור של Claude Code סגור. המחברים הסתמכו על תמונת קוד ממרץ 2026 שהופצה בפומבי, ולא על גרסה רשמית. ביולי הגרסה הפעילה הייתה 2.1.206, וב-6 באוקטובר זו כבר 2.1.292. המחברים עצמם מכנים את ניתוח Claude Code את החלק החלש ביותר במחקר מבחינת שחזוריות.
הסוכן המדובר ביותר במדגם מתואר לפי הקוד הישן ביותר. זה לא הופך את המסקנות לשגויות: המבנה משתנה לאט יותר מהגרסאות, והמחברים עצמם מחלקים את הטענות שלהם ל"מלאי" (כמה כלים, אילו פונקציות) ול"מבניות" (איך בנויה הלולאה, ממה מורכבת המעטפת). הראשונות, לדבריהם, מתיישנות תוך שבועות, והשניות מחזיקות בינתיים. הנתון "43 כלים" שייך לסוג הראשון.
אין דירוג. במהדורת אפריל הייתה טבלת SWE-bench Verified, ובמהדורת יולי הוציאו אותה: אלה דיווחים עצמיים על מודלים והגדרות שונים. אם ראיתם סיכום בנוסח "המחקר הראה איזה סוכן הכי טוב", אין דבר כזה במחקר.
שום דבר לא הורץ. רק קריאת קוד. כמה מהר וכמה בזול עובד כל סוכן, המחברים לא טוענים.
זו לא חדשה. המספר ב-arXiv הוא מספטמבר, אבל הטקסט הוגש ב-15 ביולי. מאז יצאו ל-Claude Code יותר משמונים מספרי גרסה ונוספו לו mods, כך שחלק מהטבלאות כבר מתארות את העבר.
90 השורות לא נבדקו בבנצ'מרק. שלד הסוכן המינימלי בסוף המחקר מממש 10 מתוך 18 ההמלצות. את ההנחה שעל מודל חזק הוא ישחזר את התוצאה של Mini-SWE-Agent המחברים עצמם מכנים השערה "ללא הוכחה".
מה לקחת לעצמכם
הדעה שלנו, ואפשר להתווכח איתה: לולאת הסוכן כבר לא היא מה שהסוכנים מתחרים עליו. את המשימה פותר המודל: Mini-SWE-Agent, עם מאה שורות מעטפת, מחזיק מעמד (לפי דיווח עצמי) לצד סוכנים גדולים ממנו פי אלף. התחרות היא על כל מה שסביב הלולאה: סקילים, hooks, תוספים, ייבוא סשנים של אחרים. המחברים מגיעים לאותה מסקנה: במחצית הראשונה של 2026 המעטפת הפכה מכלי לפלטפורמה. אנחנו עלולים לטעות אם הדור הבא של המודלים יתחיל להרוויח באופן ניכר מלולאה מורכבת ולא מהסביבה. בינתיים אין נתונים כאלה במחקר.
אם אתם בוחרים סוכן, הסתכלו פחות על מספר הכלים ויותר על שלושה דברים מהפרק הקודם: איך הוא כותב זיכרון ארוך טווח, האם יש לו sandbox ברמת מערכת ההפעלה, והאם הוא קורא את הסקילים וה-hooks שלכם. על השאלה האחרונה התשובה היום היא יותר "כן" מ"לא".
אם אתם כותבים סוכן משלכם, למחברים יש סדר פעולות קצר, ובהרבה נקודות הוא חופף לעצות ההנדסיות של Anthropic:
- התחילו בלולאה ליניארית ובכלי bash אחד. הוסיפו כלים רק בשביל בעיה שנתקלתם בה: קודם קריאה וכתיבה של קובץ, אחר כך חיפוש, ואחר כך החלפה מדויקת של מחרוזת.
- כשיש יותר מחמישה עשר כלים, טענו את הסכמות שלהם לפי הצורך. ב-Claude Code זה מקצר את פרומפט הפתיחה בכ-40%.
- לעריכת קבצים על מודל חזק, השתמשו בהחלפה מדויקת של תת-מחרוזת ייחודית ולא במספרי שורות: מודלים מתבלבלים במספרי שורות יותר מאשר בהקשר.
- חפשו קוד עם ripgrep ו-tree-sitter, שימו את ההקשר בקובצי AGENTS.md לפי תיקיות, ואל תיקחו פריימוורק לזמן הריצה.
- הישארו עם סוכן אחד עד שמופיע שלב שבו חיפוש מקבילי מהיר בבירור מחיפוש סדרתי.
אם אתם לא כותבים סוכנים אלא עובדים ב-Claude Code, החלק השימושי ביותר במחקר הוא הפרק על סקילים: שם מוסבר איך להבדיל בין סקיל ל-MCP ואיך להתייחס לסקילים של אחרים.
גרסאות נכון ל-6 באוקטובר 2026: Claude Code 2.1.292, פרה-פרינט arXiv 2609.00006v1 מ-15 ביולי 2026 עם גרסאות הסוכנים מיולי. הסוכנים מתעדכנים כל שבוע, לפני שבוחרים בדקו את היכולות העדכניות.
מקורות2להרחיב
- Paul Barbaste, Tristan Darrigol, Germain Vu, Tom Wiltberger, "Harness Engineering: Anatomy, Architecture, and Evolution of Coding Agents. A Source-Code Study of Eleven Systems", arXiv 2609.00006v1, 15 ביולי 2026 — https://arxiv.org/abs/2609.00006
- npm, @anthropic-ai/claude-code, היסטוריית גרסאות, נבדק ב-6 באוקטובר 2026 — https://www.npmjs.com/package/@anthropic-ai/claude-code




תגובות