ToCode
Ir al canal en Telegram
1 419
Suscriptores
Sin datos24 horas
+17 días
-430 días
Archivo de publicaciones
1 419
📌 המעמד החברתי של המודל
פרומפט-
create a vue component that takes a flat JSON object as "model" (just key/value and value has to be string) and provide an editable form for it
עד vue 3.4 מפתחים היו כותבים קוד מסוים בשביל קומפוננטה כזו. בגרסה 3.4 של ויו נכנסה שיטה חדשה וקצרה יותר. גם ChatGPT, גם קלוד וגם ג'מיני נתנו לי בתשובה הראשונה את הגרסה הישנה ושמחו להחליף לגרסה החדשה והקצרה יותר של ויו 3.4 כשביקשתי מהם. כולם הסכימו שהגרסה החדשה טובה יותר.
וזה מעלה שאלות. האם גישה מסוימת הופכת טובה יותר רק בגלל שהמודל מציע אותה כברירת מחדל? איך אנחנו מרגישים כשאנחנו בוחרים בגרסה הראשונה שהמודל מציע? איך אנחנו מרגישים אם אנחנו מכירים דרך יותר טובה וצריכים לבקש מהמודל שינוי? ומה קורה אם השינוי גורם לקוד להפסיק לעבוד (כי צריך לתקן גם במקומות אחרים שהמודל מפספס)?
אם רופא היה מציע טיפול בניגוד לעצת ה AI והטיפול היה נכשל, האם הייתם כועסים יותר מאשר במצב בו הרופא מציע טיפול שהציע לו ה AI והטיפול נכשל?
מה המעמד החברתי של עצות AI? או יותר מדויק, מה המעמד החברתי של עצת AI שניתנה בפרומפט הראשון? (כי אנחנו יודעים שאפשר להמשיך את השיחה ולגרום ל AI לשנות את תשובתו).
האם לאורך זמן מפתחים שישתמשו בטכניקות ברירת המחדל ש AI מציע יבנו מערכות טובות יותר ומהר יותר מאלה שלא מקשיבים ל AI? או שאולי זה לא משנה ומה שחשוב זה שהמערכת תעבוד "מספיק טוב", על משקל "לא מפטרים אף אחד שבוחר IBM". האם ה AI נותן פטור ממחשבה עצמאית? פטור מאחריות?1 419
📌 סקריפט חדש לכתיבה לטלגרם
בעקבות הערה בקבוצת הדיונים על כך שלא כל הפוסטים מצליחים להגיע במלואם לטלגרם קיבלתי המלצה על ספריה שכותבת מארקדאון לטלגרם. הפוסט הזה הוא הראשון שנשלח עם הספריה החדשה וכולי תקווה שהוא יגיע ליעדו, אבל לפני שאספר לכם איך ה AI שילב את הספריה החדשה בסקריפט בואו נבין למה בכלל צריך ספריה לכתיבת מארקדאון לטלגרם ומה היה עד עכשיו.
✏ המצב הנוכחי
טלגרם קצת נודניקים ויש המון תווים בטקסט רגיל שבשליחה לטלגרם בפורמט מארקדאון דורשים הגנה, כלומר הוספה של
\ לפניהם. זה הקוד שאני כתבתי לטיפול בהמרות אלה:
def escape_text(text):
return (text.
replace('>', '\\>').
replace("+", "\\+").
replace("-", "\\-").
replace("=", "\\=").
replace(".", "\\.").
replace("(", "\$").
replace(")", "$").
replace("!", "\\!"))
בנוסף טלגרם מגבילים את האורך כל כל הודעה לאזור ה 4,000 תווים ולכן כשיש פוסטים ארוכים צריך לפצל אותם בין כמה הודעות. ואם שתלנו בלוק של קוד בתוך פוסט ארוך כזה והפיצול הוא בדיוק באמצע הקוד צריך לסגור את הבלוק של הקוד לפני הפיצול ואז לפתוח בלוק של קוד חדש בהודעה החדשה. וגם החוקים קצת משתנים כשאנחנו בתוך בלוק של קוד וגם בזה הקוד של הסקריפט טיפל.
✏ ספריית telegramify-markdown
ספריה בשם telegramify-markdown עושה בדיוק את כל הכאב ראש עליו סיפרתי קודם והיא בטוח מתוחזקת יותר מהסקריפט שאני כתבתי ובעקבות המלצה בקבוצת הטלגרם נתתי ל minimax לשלב אותה בסקריפט. הפרומפט היה:
read
https://github.com/sudoskys/telegramify-markdown
add the library to requirements.txt and integrate it in the project to ensure messages are always sent correctly to telegram
אגב עבור המשימה הזאת הרצתי את מינימקס בתוך אופןקוד ולא בתוך קלוד קוד, סתם בשביל הגיוון.
מינימקס לא התבלבל, התקין את הספריה, זיהה את המנגנונים שקיימים אצלי בקוד שגם קיימים בספריה והחליף את הקוד שלי בקוד מהספריה. אבל הקוד לא עבד. אחרי כמה הודעות שגיאה שמתי לב שאני משתמש בספריית פייתון בשם telepot לכתיבה לטלגרם ובדוגמאות של telegramify-markdown משתמשים ב telebot. ביקשתי ממינימקס להחליף וזה סידר את השגיאות. בנקודה הזאת הרצתי סקריפט שכותב פוסט לקבוצה בטלגרם וראיתי שהפוסט נכתב (חלקכם אולי שמתם לב להודעות הקופצות בקבוצה - זאת היתה הסיבה).
✏ כשמינימקס התבלבל
הבאג הבא היה שנעלמו לי ירידות השורה מהפוסט. שאלתי את מינימקס והוא זיהה שהבעיה היא ב telegramify-markdown שאוכל את ירידות השורה. הוא התעקש שזה באג בספריה והציע כל מיני מעקפים.
אני לא רציתי את המעקפים ושמתי לב שהגרסה העדכנית של הספריה היא עדיין rc אז ביקשתי להחליף לגרסה היציבה האחרונה של הספריה. מינימקס זיהה שזו גרסה 0.5.4, לא נלחץ כשגילה שה API שלה שונה לגמרי ועדכן את הקוד לעבוד עם הגרסה הקודמת. הפעם הכל עבד כולל ירידות השורה.
✏ לקחים ומחשבות להמשך
עדיין מוקדם לסמן הצלחה כי זה הפוסט הראשון שאני שולח אחרי ההחלפה ואני מקווה שהוא יעבור בשלום. כמה נקודות שאני כן רוצה לציין מהתהליך:
1. הקונטקסט של מינימקס בתוך אופןקוד ממש נוהל בסדר ואוטומטית. עשיתי את כל השינויים בשיחה אחת. ייתכן וכבר או בעתיד הקרוב העצה של לפתוח שיחות חדשות הופכת פחות רלווונטית.
2. מינימקס התנהג כמו טייס אוטומטי וכל הזמן ניסה להתקדם. החלק שלי היה לשים לב כשהוא נתקע ולשנות כיוון (למשל כשהיה צריך לנסות גרסה ישנה יותר או להחליף ספריה אחרת בפרויקט).
3. החיים היו הרבה יותר קלים אם היה לי אוסף בדיקות טוב לסקריפט, אבל אפילו מעט הבדיקות שהיו הספיקו כדי לעזור למינימקס להבין שהוא בכיוון או לא. בתוכנית גדולה יותר הייתי מתאמץ לחבר אותו לטלגרם שיוכל לכתוב לעצמו ולקרוא את מה שהוא כותב.1 419
📌 מדברים AI עונה 3
הי חברים העליתי השבוע תוכנית וובינרים חדשה לחודשים הקרובים ואני כמובן מקווה לראות את כולכם במפגשים בימי חמישי בבוקר. אני רוצה לנצל את הפוסט הזה כדי לפרט קצת על ההגיון בבחירת הנושאים והדברים שחשוב לדעתי למפתחים להכיר בתחום ה AI בתקופה הקרובה.
נושא ראשון שיעסיק אותנו במפגשים הוא פרודוקטיביות, כלומר איך גורמים לסוכן קידוד לכתוב את הקוד הנכון למערכת שלכם. במפגש הראשון בסדרה אציג את גישת שלושת השכבות (קוד, חיבור לעולם ופרומפטים) ואיך היא עוזרת להבין את העבודה עם סוכן הקידוד ואחריה מפגש יותר פרקטי שם נראה איך ליישם את הגישה בקופיילוט. בהמשך מתוכנן גם וובינר על גיט ובפרט אראה את פקודות הגיט המרכזיות שעוזרות לי לעבוד עם סוכני קידוד.
נושא שני שנדבר עליו יהיה כתיבת סוכנים והוא כולל וובינר על OpenAI Agents SDK, על ChatKit של OpenAI שמאפשר להטמיע סוכן באתר שלנו, על dspy ואיך הוא עוזר לנו לארגן פרומפטים בתוך תוכנית וגם נראה איך לכתוב שרת MCP לסוכנים שלנו.
והנושא האחרון הוא התזכורת למגבלות של AI וסוכני קידוד. יהיה וובינר על Vibe Coding ונראה מה המצב שם, מה אפשר לבנות ומה עדיין קצת מסובך, וובינר על פיתוח בדיקות אוטומטיות באמצעות AI ווובינר על אבטחת מידע עם השם "מה כבר יכול להשתבש" שם נדבר על בעיות אבטחת המידע ש AI כבר מכניס לחיים שלנו.
שלושת הנושאים נבחרו בצורה לגמרי שמרנית מתוך הסתכלות היום על התעשייה - רוב מוחלט של חברים ולקוחות שלי בתעשייה כבר בונים סוכנים או שאצלם בחברה בונים סוכנים, רוב מוחלט נעזרים ב AI במהלך הקידוד ובהמון מקומות יש כבר אנשי פרודקט או IT מוכשרים שמתחילים להשתמש בכלי Vibe Coding כדי לקדם דברים שלא אחד לא היה זמן לפתח.
אפשר לראות את התוכנית המלאה עם תאריכים בדף של מדברים AI ושם גם להצטרף לרשימת הדיוור ולקבל קישור לזום. נתראה בוובינרים:
https://www.tocode.co.il/talking_ai
1 419
📌 מדברים AI עונה 3
הי חברים העליתי השבוע תוכנית וובינרים חדשה לחודשים הקרובים ואני כמובן מקווה לראות את כולכם במפגשים בימי חמישי בבוקר. אני רוצה לנצל את הפוסט הזה כדי לפרט קצת על ההגיון בבחירת הנושאים והדברים שחשוב לדעתי למפתחים להכיר בתחום ה AI בתקופה הקרובה.
נושא ראשון שיעסיק אותנו במפגשים הוא פרודוקטיביות, כלומר איך גורמים לסוכן קידוד לכתוב את הקוד הנכון למערכת שלכם. במפגש הראשון בסדרה אציג את גישת שלושת השכבות (קוד, חיבור לעולם ופרומפטים) ואיך היא עוזרת להבין את העבודה עם סוכן הקידוד ואחריה מפגש יותר פרקטי שם נראה איך ליישם את הגישה בקופיילוט. בהמשך מתוכנן גם וובינר על גיט ובפרט אראה את פקודות הגיט המרכזיות שעוזרות לי לעבוד עם סוכני קידוד.
נושא שני שנדבר עליו יהיה כתיבת סוכנים והוא כולל וובינר על OpenAI Agents SDK, על ChatKit של OpenAI שמאפשר להטמיע סוכן באתר שלנו, על dspy ואיך הוא עוזר לנו לארגן פרומפטים בתוך תוכנית וגם נראה איך לכתוב שרת MCP לסוכנים שלנו.
והנושא האחרון הוא התזכורת למגבלות של AI וסוכני קידוד. יהיה וובינר על Vibe Coding ונראה מה המצב שם, מה אפשר לבנות ומה עדיין קצת מסובך, וובינר על פיתוח בדיקות אוטומטיות באמצעות AI ווובינר על אבטחת מידע עם השם "מה כבר יכול להשתבש" שם נדבר על בעיות אבטחת המידע ש AI כבר מכניס לחיים שלנו.
שלושת הנושאים נבחרו בצורה לגמרי שמרנית מתוך הסתכלות היום על התעשייה - רוב מוחלט של חברים ולקוחות שלי בתעשייה כבר בונים סוכנים או שאצלם בחברה בונים סוכנים, רוב מוחלט נעזרים ב AI במהלך הקידוד ובהמון מקומות יש כבר אנשי פרודקט או IT מוכשרים שמתחילים להשתמש בכלי Vibe Coding כדי לקדם דברים שלא אחד לא היה זמן לפתח.
אפשר לראות את התוכנית המלאה עם תאריכים בדף של מדברים AI ושם גם להצטרף לרשימת הדיוור ולקבל קישור לזום. נתראה בוובינרים:
https://www.tocode.co.il/talking_ai
1 419
בעיות פתורות, בעיות חדשות ולמה לשים לב
לקלאודפלייר היתה בעיה - כולם כתבו יישומים ב next.js ואת היישומים האלה אפשר היה להריץ בקלות על השרתים של ורסל. הבעיה? קלאודפלייר היא מתחרה של ורסל ורוצה גם לאפשר לאנשים להריץ יישומי next.js על השרתים שלה. אבל נקסט בנויה עם webpack ואצל קלאודפלייר יש תמיכה רק ב vite.
מה עושים? נותנים לקלוד (דרך אופןקוד) לבנות מחדש את החלקים של next.js שתלויים ב webpack הפעם עבור vite. הפיתוח לקח שבוע. הריפו מתחיל מגרסה בסיסית וכולל 90 קומיטים ואת כל התהליך ניהל מפתח יחיד בעלות 1,100$ בטוקנים של קלוד. סטיב פולקנר, המפתח שעבד על הפרויקט, כתב פוסט מאוד מפורט על התהליך.
בפוסט הוא מונה שלושה מאפיינים של הפרויקט שאפשרו את ההצלחה:
1. תיעוד אינסופי - כולם מכירים את next.js, מודלים מכירים אותו, יש אינסוף חומר ותיעוד רלוונטי.
2. חבילת בדיקות מקיפה - הם לקחו את חבילת הבדיקות של next.js למימוש מחדש וכך היה ברור שבונים את הדבר הנכון.
3. יסודות חזקים באמצעות vite - התשתית של vite כיסתה את החלקים הקשים בפרויקט.
למעשה אלה בדיוק העקרונות של גישת שלושת השכבות לפרויקטים ידידותיים ל AI שגם אני מקדם: שכבת הפרומפטים (תיעוד ואיפיון), שכבת הווריפיקציה (בדיקות ו MCP) ושכבת הקוד (תשתית קוד חזקה שה AI יכול להתבסס עליה להמשך).
מעניין לשים לב גם להפצה של Agent Skills למיגרציה יחד עם הפרויקט. לא יפתיע אותי לראות בעתיד הקרוב פרויקטים שמפיצים בנוסף לתיעוד גם תיקיית Agent Skill כדי לעזור לסוכני קידוד לעבוד עם המערכת.
1 419
ואז הגיע סטאק אוברפלו
עד 2008 כשרצית לכתוב קוד שעושה משהו היה צריך לחפש את התיעוד של הספריה הרלוונטית, לקרוא כמה עשרות עמודים, להבין לעומק איך דברים עובדים ואיך פונקציות שונות עובדות יחד ואז לכתוב את הקוד. אחרי שהגיע סטאק אוברפלו משימות כאלה הפכו טריוויאליות, מספיק היה להכנס לסטאק אופרפלו ולמצוא שם את התשובה.
מפתחים רבים, גם וותיקים וגם בתחילת דרכם אימצו את הכלי החדש בזרועות פתוחות ופשוט העתיקו קטעי קוד למערכות שלהם. באפריל 2021, שנה וקצת לפני השקת ChatGPT, סטאק אוברפלו פרסמו נתונים לפיהם רבע מהמבקרים לאתר מעתיקים משהו תוך 5 דקות מהכניסה. וכן בכל תקופת החיים של סטאק אוברפלו אנשים התלוננו שקוד שמועתק משם עלול לגרום לבעיות אבטחה, למפתחים פחות מקצועיים, מערכות פחות יעילות ופחות יצירתיות.
ובעוד שמפתחים מסוימים העתיקו מסטאק אוברפלו בלי להבין תעשיית התוכנה בכללותה מאוד הרוויחה מהאתר. מפתחים שידעו מה הם עושים יכלו לעבוד יותר מהר ולהבין אפילו טוב יותר. בין הדברים שמפתחים מנוסים עשו:
1. קראו תשובה ודרכה הכירו את הכלים כדי לדעת איזה דפי תיעוד לקרוא.
2. קראו את כל הדיונים בתשובה מסוימת כדי להבין את מקרי הקצה וההשלכות האפשריות.
3. בנו לעצמם מוניטין באמצעות מענה על שאלות של אחרים והשתתפות בדיונים.
מה שלא היה בתשובה בסטאק אוברפלו הוא חדשנות. אם זה היה כתוב בסטאק אוברפלו זה אומר שמישהו עשה את זה קודם וממילא אנחנו שמחים לבנות על עבודות קודמות של אחרים כדי להתקדם.
אני קורא את הפוסט של דן אברמוב שמשווה בין פעילות ברשתות החברתיות למערכת קבצים:
https://overreacted.io/a-social-filesystem/
שום סוכן קידוד לא היה יכול לכתוב אותו או לחשוב הרעיונות שם. זו לא אותה עבודה. העבודה שלנו היא עדיין ותמיד היתה להתבסס על רעיונות ישנים כדי ליצור דברים חדשים. ככל שיותר קל להשתמש באותם רעיונות ישנים כך רק ברור יותר כמה חשוב החלק של יצירת הרעיונות החדשים.
1 419
לפני רגע זה עבד
אחת ההטיות המבלבלות של המוח האנושי היא ההרגשה שאפשר לתקן באותה מהירות שמשהו התקלקל.
לוקח דקה למחוק בסיס נתונים. במקרה הטוב להחזיר אותו מהגיבוי ייקח חצי יום.
לפני עשר דקות המערכת שלך עבדה כמו שצריך ועכשיו כל הנתונים מוצפנים ואתה מסתכל על דרישת כופר.
בגרסה הקודמת של הדפדפן האתר שלי נראה אחלה. עכשיו הוא שבור ואפילו לא בגלל משהו שעשיתי.
לפני רגע הכל היה טוב. עכשיו יש בעיה. אלה שני משפטים נפרדים.
¡Ya disponible! Investigación de Telegram 2025 — los principales insights del año 
