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

סוכן יכול לכתוב קטע קוד שימושי, ואני עדיין יכול להשקיע לא מעט זמן בלהביא את העבודה לשלב הבא.
באיזה פרויקט הוא עובד? מה הוא כבר ניסה? יש עוד משימה שנוגעת באותם קבצים? הבדיקות הסתיימו? אפשר לחזור לעבודה ממכשיר אחר בלי לשחזר את כל השיחה?
כשאני בונה כמה דברים, השאלות האלה מצטברות. כל אחת קטנה, אבל לענות עליהן שוב ושוב לוקח קשב מהעבודה עצמה.
הסטאפ שלי עם T3 Code ו־Kitshn נתן לעבודה שלי האצה משמעותית. יותר עבודה יכולה להמשיך להתקדם בין ההחלטות שלי, וכשאני חוזר אליה יש מספיק הקשר כדי לקבל את ההחלטה הבאה.
אני עדיין מגדיר מה צריך לבנות, בוחר כיוון, עובר על השינויים ומחליט מה לשחרר. הסטאפ עוזר לחבר בין ההחלטות האלה לבין העבודה שמגיעה אחריהן.
לסיור אינטראקטיבי בשבעת התרשימים. בחרו תרשים ועברו בין הצמתים שלו. אפשר גם לפתוח כל תרשים בהמשך בגודל מלא.
מה זה בעצם Harness ואורקסטרציה
כשאני אומר Harness, אני מתכוון לסביבה שמאפשרת לסוכן לעבוד: הקבצים שהוא יכול לגשת אליהם, הכלים שהוא יכול להפעיל, ההוראות, ההרשאות והמצב שהוא יכול לחזור אליו.
אורקסטרציה היא התיאום של העבודה הזאת. משימה יכולה להזדקק למחקר, למימוש, לביקורת נפרדת ולתגובה כשהבדיקות מסתיימות. אני רוצה שלכל חלק תהיה אחריות ברורה ושההעברה בין החלקים תהיה שימושית.
T3 Code מגדיר את עצמו כממשק שליטה ב־agent harness. הוא מספק יישומי דסקטופ, ווב ומובייל לעבודה עם הסוכנים שרצים על מחשב. המודל וסביבת ההרצה שלו ממשיכים להיות חלק מהמערכת שמתחת לממשק. T3 Code ב־GitHub
מבחינתי, הערך הוא היכולת לתכנן את העבודה שסביב הסוכן באותה תשומת לב שאני נותן לפרומפט.
הפרויקטים שעליהם הסטאפ שלי בנוי
T3 Code הוא הבסיס. הקרדיט מגיע לצוות שמאחורי pingdotgg/t3code. אני משתמש בפרויקטים ובשרשורים כדי לחבר משימה לשיחה שלה, לשינויים ולמאגר הקוד שבו היא מתבצעת.
העבודה של ירדן זמיר היא חלק משמעותי ממה שאפשר לי לבנות את זה. הפורק שלו ל־T3 Code מתעד את שילוב Kitshn ואת היכולות לעבודה בין מחשבים שעליהן הפורק שלי נשען. Kitshn הוא הפרויקט הנפרד שלו לפריסת יישומים ולשליטה בגישה למשאבים דרך מפה: כרטיסים מייצגים משאבים, ומעגלים מגדירים למי יש גישה אליהם.
הגרסה שלי ממשיכה משם. ה־README של הפורק שלי ל־T3 Code מציין במפורש על מה הוא בנוי. אני מחזיק גם פורק של Kitshn. כשאני מתאר את הסטאפ שלי, חלק מהיכולות מגיעות מ־T3 המקורי, חלק מהעבודה של ירדן וחלק מההתאמות בפורקים שלי.
זאת אחת הסיבות שאני אוהב לבנות על קוד פתוח. אני יכול להבין את המערכת שאני משתמש בה, להתאים אותה לצורת העבודה שלי ולתת קרדיט לאנשים שבנו את הבסיס.
השרשור נותן לעבודה מקום לחיות בו
אני רוצה שמשימה תהיה יותר מההודעה האחרונה ששלחתי. היא צריכה פרויקט, ענף קוד, את ההחלטות שכבר התקבלו ותוצאה שאפשר לבדוק.
זה משנה את סוג ההוראה שאני יכול לתת. ל״תחקור את הבעיה, תבצע את השינוי ותראה לי איך בדקת שהוא עובד״ יש מקום שבו אפשר לצבור ממצאים ושינויים.
כלי ניהול הקוד של T3 מחברים את השיחה להשוואת השינויים ולבקשות מיזוג. התמיכה ב־worktrees מאפשרת לתת למשימות נפרדות עותקי עבודה נפרדים כשצריך בידוד. תיעוד ניהול הקוד של T3
התועלת מבחינתי היא רציפות. אני יכול להשקיע את הקשב במה שהמשימה גילתה ובמה שאני רוצה לעשות בהמשך.
איך אני מחלק עבודה
ניקח פיצ׳ר שצריך מימוש וביקורת רצינית. זה התהליך שאני רוצה שהמערכת תאפשר:
- לתת לסוכן הראשי תוצאה ואילוצים. להסביר איזו התנהגות אני רוצה, מה ההקשר בפרויקט ומה ייחשב לסיום.
- להאציל משימה מוגדרת כשזה עוזר. למחקר או לביקורת עצמאית יכולה להיות שאלה מסוימת ותוצר ברור. עבודה שמשנה קוד בנפרד מקבלת עותק עבודה מתאים.
- להחזיר את הממצאים. הסוכן הראשי צריך להשתמש בתוצאה, לפתור אי־הסכמות ולהמשיך את המימוש.
- לבדוק את ההתנהגות בפועל. תשובה בטוחה בעצמה עוזרת פחות מהשוואת שינויים, תוצאת בדיקה רלוונטית או ממצא שאפשר לשחזר.
- לטפל בהמתנה. אם בקשת מיזוג מחכה לבדיקות או למשוב, אני רוצה שהאירוע הזה יחזיר את הסוכן לעבודה.
T3 מתעד מעקב אחרי בקשות מיזוג שמעיר את הסוכן בעקבות עדכונים רלוונטיים. גם ההמתנה של תהליך הפיתוח מקבלת כך מקום במערכת. מעקב אחרי בקשות מיזוג
לא כל שינוי צריך צוות סוכנים. משימה קטנה יכולה להישאר אצל סוכן אחד. החלוקה מצדיקה את עצמה כשהיא מקלה על ביצוע העבודה או על בדיקת התוצאה.
Kitshn מחבר את המחשבים ואת ההרשאות
יש משמעות למחשב שעליו המשימה רצה. שם נמצאים עותק הקוד, הכלים המותקנים, המשאבים הזמינים והתהליך שמבצע את העבודה.
בשילוב Kitshn שמתועד בפורק שלי ל־T3, שיתוף כרטיס יישום ה־T3 של מחשב אחר יוצר סביבת עבודה מקושרת. סוכן יכול להאציל אליה עבודה בהתאם להרשאה ולמגבלות השרשור שממנו הוא פועל. כשהמשימה מסתיימת, השרשור הראשי מקבל עדכון. עבודה על מחשבים אחרים
כך יש לי דרך לתאם עבודה בין מחשבים מחוברים, תוך התחשבות בסביבה של כל מחשב ובהרשאות של כל סוכן.
Kitshn נותן גם מסלול לפריסה. המתכון וה־workflow של היישום נשמרים במאגר שלו, ומיקומי הפריסה והגישה נשמרים ב־Kitshn. הפריסה הראשונה של מאגר דורשת אישור. הארכיטקטורה של Kitshn
הפריסה וניהול הגישה נכנסים לאותה סביבה שבה אני כבר מנהל את העבודה.
הסטאפ יכול לעזור לתחזק את עצמו
דוגמה ממשית היא תהליך התחזוקה שמתועד בפורק הציבורי שלי ל־T3. תהליך הסנכרון מכניס אליו שינויים מהפורק של ירדן ומריץ בדיקות. כישלון בחלק מהתהליכים בענף הראשי יכול להפעיל סוכן תיקון דרך משימה שמקבלת webhook. תפעול הפורק
זה לא מבטיח שהתיקון יהיה נכון. זה נותן לתקלה דרך לחזור למשימה שאפשר לחקור, להציע בה תיקון ולהריץ את הבדיקות שוב.
זאת אוטומציה שימושית מבחינתי: אירוע מסוים, מספיק הקשר כדי להבין אותו ותוצאה ממשית שאפשר להעריך.
למה ההאצה מורגשת כל כך
הרווח מופיע ברווחים שבין המשימות. פחות הקשר שצריך לשחזר. פחות העברות ידניות. מקום ברור יותר לראות מה עובד, מה מחכה ואיפה נדרשת החלטה שלי.
אני יכול להקדיש יותר תשומת לב לבחירת העבודה ולשיפוט התוצאה. סוכן יכול להמשיך לבצע משימה שסיכמנו עליה בזמן שאני חושב על חלק אחר של המוצר.
המודלים עדיין חשובים. גם הבריף, מאגר הקוד, הכלים הזמינים וגבולות המשימה. הסטאפ הזה עוזר לחלקים האלה לעבוד יחד בצורה עקבית יותר בשבילי.
אני רוצה להמשיך לשפר אותו דרך המקומות שבהם העבודה עדיין נתקעת. אם אני חוזר על אותה העברה, מאבד הקשר או בודק ידנית שוב ושוב אם משהו הסתיים, זאת נקודה טובה לשיפור המערכת.
T3 Code, העבודה של ירדן על Kitshn ועל T3 והשינויים בפורקים שלי נתנו לי סביבת פיתוח שאפשר להתאים לדרך שבה אני בונה. זה שינה את כמות העבודה שאני יכול לקדם ואת הקשב שנדרש ממני בשביל לעשות זאת.