תחשוב בעצמך אם אתה רוצה שבינה מלאכותית ילמד אותך איך לקוד

תחשוב בעצמך אם אתה רוצה שבינה מלאכותית ילמד אותך איך לקוד

צומת המקור: 3087147

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

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

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

הבנתי את זה כשהתאבקתי ביישום של פונקציה מסוימת, וכיביתי את תכונת ההשלמה האוטומטית של GitHub Copilot ב-Visual Studio Code כדי למנוע מעצמי לרמות.

לא רק להעתיק ולהדביק

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

כדי להניא תלמידים מלהשתמש בכלים כמו ChatGPT של OpenAI או בארד של גוגל כדי להשלים את המטלות שלהם, המורים הציעו להם חלופה: ברווז גומי וירטואלי. הברווז CS50 הוא בוט צ'אט קידוד המופעל על ידי GPT-4 אך יש לו מעקות בטיחות כדי למנוע מתלמידים רמאות.

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

CS50 duck debugger הוא הומאז' לכך: הבוט תוכנן להיות ידידותי ותומך, הוא מגיב רק לשאילתות הקשורות לקורס, ואינו מספק תשובות לבעיות שיעורי בית, אמר מלאן הקופה

"המדיניות שלנו בתחילת הקורס היא שסטודנטים אינם רשאים להשתמש בתוכנות צד שלישי כמו ChatGPT ו-Copilot; הם פשוט נוטים להיות מועילים מדי, מוכנים מדי לספק לתלמידים פתרונות ישר במקום להנחות אותם לקראתם, כפי שמורה טוב עשוי. אבל לסטודנטים מותר ומעודדים להשתמש בתוכנה המבוססת על בינה מלאכותית של CS50, עם מעקות הבטיחות הפדגוגיים האלה", אמר.

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

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

חיסכון בזמן עם פחות חיפושים בגוגל

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

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

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

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

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

"הנח תמיד ש-ChatGPT הוא מתכנת פחות מיומן ממך. הדרך הבטוחה היחידה להשתמש בכלי AI היא כשאתה בטוח שהפתרון שהוא מייצר נכון", הוסיף. 

אתה צריך לדעת מה אתה עושה

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

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

שפות התכנות שבהן אנו משתמשים הפכו יותר מיושרות עם השפה האנושית; כלי צ'אט הם רק השלב הבא באבולוציה הזו

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

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

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

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

בול זמן:

עוד מ הקופה