רשמקול סלילים מזרים סרט קוד זוהר אל תוך מחשב נייד פתוח תחת מנורת הקלטה אדומה אחת.
Guides & Insights

איך להקליט סשן של Claude Code, וכל סוכן אחר שלא ישתף פעולה: מדריך שטח מעשי

מחבר

Gideon Frost

תאריך פרסום

מודלים אחרונים · 20צפו בכל המודלים
בנצ'מרקים: Artificial Analysis · מתעדכן יומית
חזרה לכל הפוסטים

כן: אפשר להקליט סשן של Claude Code היום, ומה שמקבלים הוא את כל העניין (כל פנייה של מודל, כל קריאת כלי, כל קובץ שהסוכן נגע בו) בפורמט שאפשר להריץ מחדש. זו הגרסה הקצרה, והיא נכונה היום. הגרסה הארוכה היא שיכולת ההקלטה נקבעת לכל רתמה (harness) לפי שתי שאלות: האם אפשר לכוון את הרתמה לפרוקסי, והאם פורמט העברת הנתונים (wire format) מובן ברגע שהתעבורה מגיעה. Claude Code עובר את שתי הבדיקות, וכך גם Codex CLI שנכנס עם API key. סוכן עם כתובת ספק מקודדת בקוד המקור שלו, סוכן שרץ בקונטיינר או על VPS, ורתמה שנכנסת עם מנוי — כל אחד עובר בנתיב שונה, ואחד מהם, היום, לא מגיע.

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

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

מה קובע אם ניתן להקליט רתמה?

כל שאלת "אתה יכול להקליט את זה?" מסתכמת באותן שתי שאלות.

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

משתנה ה-base-URL. המסלול שנבנה לצורך זה: ה-harness קורא משתנה סביבתי של base-URL, ואתה מגדיר אותו.

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

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

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

אם אף אחד מאלה אינו חל, התעבורה לעולם לא מגיעה למקליט ואין על מה לדון.

הנקודה השנייה: ברגע שהתעבורה מגיעה, האם פורמט השידור שלה מובן? לכידת בתים אינה המוצר. על המקליט לזהות את השיחה שהוא ממלא את מקומה, כולל צורות הקריאות לכלים, מסגרות הסטרימינג והניסיונות החוזרים, אחרת ההקלטה היא pcap, לא replay. פורמט שהמקליט מבין מפיק סשן שניתן להריץ אותו מחדש; ניב פרטי מפיק לכידה שאפשר רק לבהות בה.

התשובה משתנה מרתמה לרתמה, והיא משתנה בפרטים שקל לטעות בהם: זהו אותו לקח שעלה מהשוואת האופן שבו רתמת DeepSeek שונה מ-Claude Code. שאר המאמר מראה כיצד נראות שתי השאלות כשמריצים בפועל את הרתמות.

A three-card decision diagram running from "Pointed at a proxy?" through "Wire format known?" to a "Recordable" badge.

Claude Code, Codex CLI, ו-Agents SDK

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

ה-Codex CLI, המחובר עם מפתח API, הוא אותו סיפור דרך OPENAI_BASE_URL. כוון אותו אל המקליט ותקבל את הסשן; שום דבר אחר בדרך שבה אתה משתמש בהרנס לא משתנה.

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

בכל המקרים האלה המקליט הואOrcaReplay. הוא מותקן באמצעות npm i -g orcareplay, דורש Node 20 ומעלה, ואין לו תלויות native: אין מה לקמפל, אין מה לבנות. הוא לוכד את אותה תעבורת סוכנים ש-OrcaRouter מנתב דרך קטלוג המודלים של OrcaRouter.

The OrcaReplay GitHub repository page with its README showing the npm i -g orcareplay installation command.

סוכן שאינו קורא משתנה base-URL

ישנם מנגנונים שמקבעים את כתובת ה-URL של הספק בקוד המקור שלהם. אין משתנה סביבה, אין קובץ תצורה, אין דגל. הגדרת ANTHROPIC_BASE_URL לא עושה כלום, כי שום דבר לא קורא אותו. אם המקליט יכול להפעיל את הסוכן, עדיין קיים מסלול, וזה המסלול שאנשים הכי חוששים ממנו: יירוט TLS.

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

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

The OrcaRouter agent firewall solutions page with its title and introduction visible.

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

סוכן שאינו על מכונה זו

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

בדיוק למקרה הזה יש את orca attach: הוא מתעד סוכן שהמקליט לא יכול להפעיל, למשל כזה שנמצא בקונטיינר או ב-VPS. הכיוון מתהפך: במקום שהמקליט יתחיל את הסוכן וימסור לו סביבה, הוא מתחבר לסוכן שכבר רץ ומתעד אותו.

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

מה משנה התחברות למנוי?

את אותו בינארי אפשר להקליט או לא, תלוי איך הוא התחבר. Codex CLI שהתחבר עם מפתח API מוקלט דרך OPENAI_BASE_URL: כוון אותו למקליט וסיימת. אם אותו CLI מתחבר עם מנוי ChatGPT, הוא מפסיק לדבר עם אותה נקודת קצה לחלוטין; הוא מדבר עם ה-backend שלו, תוך שימוש בזהות שלך, ואין שום origin שאפשר לשכתב. משתנה ה-base-URL עדיין קיים, אבל שום יעד שאליו תכוון אותו לא הופך לשירות שבו ה-harness משתמש בפועל.

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

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

התובנה

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

npm i -g orcareplay

• הפנה את ANTHROPIC_BASE_URL אל המקליט

• הרץ את הסוכן

Codex CLI שמבוסס על מפתח API נמצא באותו מרחק. כתובת URL שנכתבה ישירות בקוד עולה לך בהצטרפות ליירוט TLS שקורא רק מרשימת ההיתרים שלו (אותה משמעת שחומת האש של סוכן OrcaRouter אוכפת) ושוכח את האישורים שלו בסיום הריצה. קונטיינר או VPS עולים לך ב־orca attach. התחברות באמצעות מנוי עולה לך בהקלטה עצמה: הרתמה הזו לא תוקלט, ושום שינויי תצורה שיבוצעו היום לא יוקלטו.

כל ההחלטה במבט חטוף:

• Claude Code — מפתח כניסה ל-API לעומת ניתוב למקליט ANTHROPIC_BASE_URLלעומת ניתן להקלטה היום: כן

• Codex CLI — מפתח API להתחברות לעומת ניתוב למקליט OPENAI_BASE_URL לעומת ניתן להקלטה היום: כן

Harness עם כתובת ה-URL של הספק מקודדת קשיח — התחברות מכל מקום לעומת ניתוב אל המקליט; יירוט TLS בהסכמה, המופעל על ידי המקליט, לעומת ניתן להקלטה היום: כן

• סוכן במכולה או על VPS — התחברות מכל מקום לעומת ניתוב למקליט orca attach לעומת ניתן להקליט כיום — כן, אם פורמט התעבורה ידוע

• Codex CLI — התחברות: מנוי ChatGPT לעומת מסלול למקליט: אין לעומת ניתן להקלטה היום: לא

השורה האחרונה היא הצירוף היחיד ללא מסלול למקליט כלל.

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

הערת מקור: כל התנהגות ונתון במאמר זה (נתיבי הלכידה של `ANTHROPIC_BASE_URL` ו-`OPENAI_BASE_URL`, ארבע התקלות שלאחר הגדרת ה-fixture ותיקוניהן, מחזור החיים של אישור ה-TLS, התנהגות ה-allowlist-and-tunnel, `orca attach`, ודרישות ההתקנה) מקורם בריצות האימות שלנו מול ה-harnesses שצוינו, לאחרונה ב-2026-09-04. איננו מצטטים מבחני השוואה של צד שלישי משום שלא הרצנו כאלה.

© 2026 OrcaRouter

לספקים

מפעילים פלטפורמת הסקה (inference)? הציגו את המודלים שלכם ב-OrcaRouter.

providers@orcarouter.ai

הצטרפו לקהילה שלנו

Discordsupport@orcarouter.aiXGitHubYouTube