AICODEAgentic Programming · 67723 · 2026-7

Week 4 · video 6 of 7 · transcript

Claude Code: Intercepting the Harness's Messages

תרגום שנעשה בעזרת בינה מלאכותית.AI translation, not reviewed by a person.

0:01

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

0:18

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

0:32

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

0:48

reverse proxy הוא תוכנית שמקבלת בקשות במקום שרת אחר ומעבירה אותן אליו. את שלנו נציב בין הרתמה לשירות המודל. הרתמה שולחת את הבקשה שלה ל-proxy, וה-proxy מעביר אותה הלאה.

1:03

שירות המודל שולח את התשובה שלו בחזרה דרך ה-proxy, שמחזיר אותה לרתמה. הסוכן יכול להמשיך לעבוד כרגיל, למרות התחנה הנוספת בדרך.

1:13

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

1:36

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

1:50

בטרמינל אחר, הפעילו את Claude Code כשה-base URL מכוון לכתובת המקומית של ה-proxy. משתנה הסביבה הזה מפנה את הבקשות ש-Claude Code שולח למודל אל ה-proxy שלנו.

2:01

שלחו הודעה קצרה לסוכן. בדוגמה המוקלטת שלנו שאלנו מה reverse proxy עושה. בזמן ש-Claude Code מטפל בהודעה, הטרמינל הראשון מדפיס את התעבורה שעוברת דרך ה-proxy. בואו נסתכל על הבקשה שמכילה את השאלה שלנו.

2:16

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

2:32

השדה messages מכיל את השיחה. השדה system מכיל את הוראות המערכת, והשדה tools מתאר את הכלים הזמינים למודל. אלה חלקים מהבקשה האמיתית שה-proxy מאפשר לנו לבחון.

2:47

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

2:56

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

3:08

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

3:42

אותו סקריפט עובד גם עם Codex. ב-Codex יש הגדרה שקובעת את ה-base URL של שירות המודל. כוונו אותה ל-proxy המקומי, ואמרו ל-proxy לאיזה שירות יעד להעביר את הבקשות. פורמט הבקשה שונה, אבל הרעיון זהה.

3:58

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

4:09

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

4:23

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

4:46

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

5:04 of video · 651 words · 19 slides← Back to the video