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

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

 

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

ה- ChatGPT שהוא מודל שפה, כבר יצר הרבה באז בקהילות הטכנולוגיות וגם אנחנו כבר כתבנו עליו פוסטים במאמרי בדיקות ואפילו הרמנו מיטאפ מאוד מוצלח על הבינה המלאכותית לפני כמה שבועות. השאלה העומדת בראשם של אנשים רבים היא: האם AI יכול להחליף לחלוטין אותנו אנשי ה-QA והאוטומציה? כמובן שלא. במאמר זה, נבחן את הפוטנציאל של AI Coding Tools ונבדוק כיצד כלים אלו יכולים להקל על מפתחי האוטומציה בהווה ובעתיד.

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

כלי השלמה אוטומטית של קוד

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

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

ציפייה לשגיאות ומניעתם

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

מעבר וניתוח קוד קיים

ניתן להזין קוד שכתבנו אל תוך כלי האנליזה והבינה המלאכותית שתעבור ותיתן לנו פידבק על עבודתנו, בערך כמו לבקש ממפתח בכיר לעשות לנו Code Review

המרת קוד 

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

יצירת קוד

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


 

ה-AI Coding Powered Tools צצים להם בימים אלו כפטריות אחרי הגשם, זה עוזר לעולם הפיתוח בכלל ועוזר גם לנו מפתחי האוטומציה בפרט, להלן סקירה קצרה של כמה מן הכלים הפופולריים בעולם זה עימם נוכל לשפר את עבודתנו פלאים, כל הכלים המוצגים כאן (טוב, אולי רוב הכלים) מכסים את חמשת הקטגוריות הרשומות לעיל (ניתן ללחוץ על שם הכלי כדי להגיע אל אתר הבית שלו):

GitHub CoPilot:

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

הכלי עצמו תומך במגוון רחב מאוד של שפות ושל IDEs כמו Visual Studio, VS Code, המוצרים של JetBrain ועוד.

 

Amazon CodeWhisperer:

כלי זה הוא מחולל קוד שפותח על ידי למידת מכונה (Machine learning), הוא נועד לסייע למפתחים על ידי הצעת המלצות קוד בזמן אמת ישירות אל תוך ה-IDE שלכם. הוא מאומן על מערך נתונים עצום של קוד פתוח ויכול להציע כל דבר, החל מקטעי טקסט ועד לפונקציות מלאות על סמך הערות וקוד קיים. הכלי תומך בשפות תכנות שונות ותואם למספר IDEs, כולל JetBrains Visual Studio Code, AWS Cloud9 ועוד.

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

 

Replit:

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

 

Tabnine:

ה-Tabnine הינו כלי העוזר לנו לקדוד, הוא מונע ע"י בינה מלאכותית שמגבירה את הפרודוקטיביות בכך שהוא מאפשר למפתחים לכתוב קוד במהירות וביעילות. הוא  תואם לשפות תכנות רבות כמו Python, Java, JavaScript, PHP, Go ועוד. הכלי יכול ללמוד ממערך נתונים עצום של קוד פתוח, מה שמאפשר השלמות קוד מדויקות אפילו במצבי קידוד מורכבים. כמו כן, הכלי מסייע להגביר את הפרודוקטיביות ומשפר את איכות הקוד על ידי הצעת הצעות השלמה חכמות וזיהוי שגיאות פוטנציאליות. זהו כלי חיוני למפתחים המעוניינים לחסוך זמן, לשפר את איכות הקוד ולהפחית עלויות..

 

Cody:

כלי נוסף אשר משפר את זמני העבודה בצורה מופלאה ויכול להעשיר את ההבנה שלנו ב-Code Base של הפרוייקט עליו אנו עובדים. התוצר העיקרי של Cody הוא לעזור לנו לחפש בכל הפרוייקט כדי לגלות היכן הקוד מתעדכן ומי מעדכן אותו – והוא עושה זאת על פני Repos, Branches ושרתים שונים. הכלי יכול ליצור קוד מדויק או להסביר את המורכבויות של הקוד הקיים שלנו בפרוייקט. בין אם אנו מפתחים ותיקים או מתחילים, Cody יכול להפוך לכלי שלא יסולא בפז בערכת כלי הפיתוח שלנו, מה שהופך את הקידוד ליעיל יותר ופחות מאיים.

השאר הערה\הודעה