הסוכן החדש של גיטהאב הוא לא מהעולם הזה

07/07/2025

הפוסט היום הוא קדימון לוובינר שיתקיים ביום חמישי. בוובינר אראה לכם לייב איך להגדיר סוכן אסינכרוני ונבין יותר לעומק באיזה מצבים נשתמש בכאלה סוכנים, כולל דוגמאות למיקבול ועבודה גם על פרויקטים קיימים. השתתפות חינם בזום, לא תהיה הקלטה ובשביל הקישור לזום צריך רק להירשם בעמוד הזה והקישור נשלח אליכם מיידית במייל חוזר: https://tocode.ravpage.co.il/tocodeai

עכשיו בואו נדבר על קופיילוט.

אני יודע, זאת לא הפעם הראשונה היום ששמעתם על איזה AI שהוא "לא מהעולם הזה". ובכל זאת גיטהאב השאירו אותי בהלם ואפילו לא היו צריכים לבנות מודל חדש בשביל זה. הנה מה שהם עשו:

  1. הם לקחו את קלוד הרגיל שרץ בקופיילוט ונתנו לו מחשב בענן.

  2. הם חיברו לו MCP של פליירייט כדי שיוכל להריץ דפדפן ובטח עוד כמה כלים כדי שיוכל לשלוט במחשב שהוא קיבל.

  3. הם בנו סביבו Workflow שלוקח Issue, מפרק אותו למשימות ועוקב אחרי התקדמות.

  4. ואז חיברו את הכל לסוכן אחד שכותב קוד בזמן שאנחנו ישנים.

הנה דוגמה לתוצאה שקיבלתי על פרויקט חדש. זה היה ה Issue שפתחתי:

Create a PR implementing a snake game:

1. Use valtio for state management
2. Use industry best practices React/Next Project with multiple files, client side components, client side storage using context provider pattern.
3. Game mechanics:
  - Snake has to eat apples.
  - Game has 2 types of apples, regular and special (gold) apples. Gold apples are worth more points.
  - As the snake eats more apples it grows.
  - When the snake hits a wall or itself the game is over. User can restart.

4. Pay attention to performance. Use `requestAnimationFrame` for movement and control the FPS. Actual snake speed depends on the user's progress in the game.

5. Do not write tests but write the code using testing best practices so it'll be easy to add tests in the future.

קישור:

https://github.com/ynonp/snake-agent/issues/1

ופה אפשר לראות את ה PR שנוצר:

https://github.com/ynonp/snake-agent/pull/2

וכאן לוג של כל ה Session שקרה ללא מגע יד:

https://github.com/ynonp/snake-agent/actions/runs/16096719029/job/45420480907

ה PR כלל 12 קבצים וכמעט 700 שורות של diff. בזכות החיבור ל playwright קופיילוט באמת הריץ את הפרויקט כדי לוודא שהמשחק עובד. נכון על הארכיטקטורה הוא החליט לבד ואני לא בטוח שאני מסכים עם כל הבחירות שלו, אבל זה בדיוק המשחק שלנו עם AI - אנחנו לא חייבים לקבל את ה PR ואין שום בעיה לזרוק את הקוד, לעדכן את קוד ה Issue בצורה שתגרום להחלטות ארכיטקטורה אחרות ולנסות שוב.

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