פרק 15 · לא מתכנת — מה למדתי כשבניתי עם בינה מלאכותית
לקצר את הדרך
את החלק הזה של הספר אני פותח בשאלה שלא ידעתי שצריך לשאול: איפה בעולם נמצאים המחשבים שמפעילים את האפליקציה שלי? עד אותו ערב לא חשבתי שהמרחק ביניהם קשור לזמן שאני מחכה אחרי לחיצה על כפתור.
גמגום קטן
ב-13 באוקטובר, לקראת ערב, דיברתי עם כל הדמויות ב-Reach & Do, האפליקציה שבה מדברים בקול עם דמויות. הייתי די מרוצה, וביקשתי מ-Claude לבדוק שכל השיחות נרשמו כמו שצריך. הוא כתב שהכול תקין, חוץ מדבר אחד קטן: פעם אחת השרת לא הצליח להגיע למסד הנתונים, אותה תקלה שראינו כבר בבוקר.
כדאי להסביר את שני המושגים. השרת הוא מחשב שמפעיל את האפליקציה מאחורי הקלעים. כשאני לוחץ על הכפתור שמתחיל שיחה, הוא בודק מי אני וכמה דקות נשארו לי. את המידע הזה הוא מבקש ממסד הנתונים, המקום שבו נשמרים פרטי המשתמשים והשיחות. שני המחשבים האלה צריכים לדבר זה עם זה כל הזמן.
לא ידעתי מה לעשות עם הדיווח על התקלה, אז כתבתי את מה שחשבתי:
"אולי הבעיה אצל הספק של מסד הנתונים, ולא אצלנו?"
13.10.2026, 17:58
Claude הלך לבדוק, וחזר עם משהו אחר לגמרי:
"בדקתי עכשיו משהו שלא ידעתי: השרת שלנו ב-Vercel רץ בוושינגטון, ומסד הנתונים נמצא בשטוקהולם."
Claude, 13.10.2026, 17:58
וושינגטון. אף אחד מאיתנו לא בחר בוושינגטון.
שליח שחוצה את האוקיינוס
כמה זמן לוקח לשאלה להגיע מוושינגטון לשטוקהולם ולחזור? בערך עשירית שנייה. זה נשמע כמו כלום. אבל Codex, כלי הבינה המלאכותית השני שעובד איתי, ספר כמה פעמים השרת שואל את מסד הנתונים כשפותחים שיחה אחת. התשובה: 11 עד 15 פעמים, אחת אחרי השנייה.
תחשבו על שליח שצריך להביא חתימה על חמישה עשר מסמכים, אבל יכול לקחת רק מסמך אחד בכל פעם. הוא נוסע, מחתים, חוזר, ורק אז יוצא שוב. גם אם כל סיבוב נמשך רק עשירית שנייה, חמישה עשר סיבובים מצטברים לשנייה וחצי שבה אני מחזיק את הטלפון ומחכה.
שאלתי למה צריך כל כך הרבה פניות. התשובה הפתיעה אותי:
"הסיבה היא הבטיחות של הכסף. כך בנינו את מערכת החיוב בכוונה."
Claude, 13.10.2026, 19:42
כל צעד בחיוב של שיחה נשמר לפני שעוברים לצעד הבא, כדי שאף דקה לא תיגבה פעמיים ואף דקה לא תלך לאיבוד. כתבתי לו:
"הבנתי. על זה באמת עבדנו הרבה."
13.10.2026, 19:43
לא רציתי לוותר על הזהירות הזאת. רציתי לדעת אם אפשר לקצר את ההמתנה בלי לוותר עליה. ואת התקלה שבגללה התחלנו לבדוק, אגב, עוד לא ידענו אם המרחק מסביר.
שאלתי גם למה בכלל מרחק משנה, בעידן שבו הכול עובר באינטרנט. Claude ענה במשפט אחד: "בגלל מהירות האור. פשוטו כמשמעו." את מהירות האור אי אפשר לשפר, הוא הוסיף, אפשר רק לקצר את הדרך. עניתי לו:
"מי יודע, אולי יום אחד מודל של Anthropic ימציא משהו."
13.10.2026, 19:51
איך זה קרה
שאלתי איך בחרנו את המקומות האלה. התשובה הייתה פשוטה ומביכה: לא בחרנו. כל חלק נבחר בזמן אחר. מסד הנתונים נפתח בשטוקהולם, ביום שהקמנו אותו. השרת רץ בוושינגטון, כי זו ברירת המחדל של Vercel, החברה שמריצה לנו אותו. ועוד רכיב קטן ישב בפרנקפורט. אף אחד לא החליט שהם יהיו רחוקים זה מזה. זה פשוט קרה. כתבתי "כמו כל תכנית טובה", ומיד הוספתי "הייתי ציני".
ליד השרת, לא ליד המשתמש
הייתי בטוח שהפתרון הוא להביא הכול לישראל, קרוב אליי ולמשתמשים. Claude אמר את ההפך:
"הכלל הוא שמסד הנתונים צריך לשבת ליד השרת, ולא ליד המשתמש."
Claude, 13.10.2026, 19:48
בפתיחת שיחה, המשתמש שולח בקשה אחת לשרת. משם מתחילה סדרה של פניות למסד הנתונים, אחת אחרי השנייה. לכן את הדרך הארוכה עדיף לעשות פעם אחת, בין המשתמש לשרת, ואת הסדרה הארוכה של הפניות לעשות בדרך קצרה. להעביר רק את מסד הנתונים לתל אביב היה משאיר אותו רחוק מהשרת, וזה דווקא היה מזיק.
ואז הבנתי למה זה חשוב לי יותר מכמה שניות. כתבתי:
"כשאתה אומר שמסד הנתונים צריך לשבת ליד השרת, זה כי ככל שהפרויקט גדל ויש יותר משתמשים, הבעיה רק מחריפה?"
13.10.2026, 19:49
והתשובה הייתה כן. ההמתנה הזאת חוזרת בכל שיחה, ואם יהיו יותר משתמשים, יותר אנשים יחכו בגללה. Claude הוסיף שכשיהיו הרבה משתמשים, המרחק יעלה גם כסף ויציבות. כתבתי:
"אז זו החלטה אסטרטגית, לא רק פרט טכני."
13.10.2026, 19:50
במסמך האסטרטגיה של האפליקציה יש שורה שכתבנו מזמן: המערכת חייבת לתמוך בהרבה משתמשים בו זמנית. פתאום לשורה הזאת היה משמעות מעשית.
משהו ספונטני
התכנית המסודרת הייתה מחקר: Codex ימפה את כל הרכיבים, יציע אפשרויות, יעריך סיכונים. אבל שאלתי אם אפשר פשוט לשנות את המיקום בהגדרות, בלי לגעת בקוד. התברר שאפשר, ושאפשר גם לחזור אחורה בתוך דקה. כתבתי:
"בוא ננסה את זה עכשיו, בלי מחקרים ובלי Codex. נשנה את ההגדרה ב-Vercel, נעשה שיחה אחת ונראה אם זה מהיר יותר. מה אתה אומר? משהו ספונטני."
13.10.2026, 19:55
Claude פתח את ההגדרות בדפדפן במק, סימן את שטוקהולם, הוריד את הסימון מוושינגטון ושמר. שלוש דקות אחר כך השרת רץ ליד מסד הנתונים. דיברתי עם כמה דמויות, וחזרתי עם המספרים. בשיחות שעשיתי, הזמן שהשרת הקדיש לפתיחת השיחה התקצר אצל כל הדמויות. אצל הילה, למשל, הוא ירד משלוש שניות לפחות משנייה וחצי.
אחת השיחות הייתה עם מאיה, דמות שיודעת להכין מסמכי מחקר. ביקשתי ממנה מסמך על השאלה איפה כדאי להציב שרת ומסד נתונים. המשפט הראשון במסמך שלה המליץ להציב אותם באותו אזור. שאלתי את Claude: "נחש מי הכין את המסמך".
התגובה הראשונה שלי למספרים לא הייתה שמחה. היא הייתה שאלה: "לא היה לך כלי למדידה מסודרת?" היו רק שיחה או שתיים לכל דמות, וזה לא מספיק כדי לדעת בוודאות. החלטנו להשאיר את השרת בשטוקהולם, ולהשוות שוב אחרי כמה ימים של שיחות רגילות. ואז הכרזתי על סיום הישיבה.
אותה טעות, פרויקט אחר
עוד באותו ערב שאלתי את Claude איפה יושבים השרתים של שאר הפרויקטים. ב-OurRoute, מתכנן הטיולים, התגלתה אותה תמונה: השרת בוושינגטון, ומסד הנתונים בציריך. גם שם אף אחד לא בחר. כתבתי:
"בינתיים נטפל רק בשרת. Vercel פתוח בדפדפן, תיכנס."
13.10.2026, 20:28
את השמירה האחרונה עשיתי בעצמי, כי שינוי באתר החי שמור לי. חמש דקות אחרי שאישרתי, האתר כבר ענה מפרנקפורט. מה שגילינו באפליקציה אחת נתן לי שאלה לשאול על כל האחרות.
מה למדתי
גם כשלא בחרתי איפה כל חלק יפעל, מישהו כבר בחר בשבילי, בהגדרות שאף אחד לא פתח. ברירת מחדל היא לא החלטה. היא החלטה שאף אחד לא קיבל.
הכלל שאני לוקח איתי: מסד הנתונים יושב ליד השרת, לא ליד המשתמש. את הדרך הארוכה עושים פעם אחת, ואת הדרכים הקצרות הרבה פעמים.
עד אותו ערב שאלתי מה האפליקציה עושה. עכשיו אני יודע לשאול גם איפה.