כיצד להשתמש ב-ChatGPT כדי לכתוב קוד

image1.pngאחת התגליות היותר מסקרנות לגבי ChatGPT היא שהוא יכול לכתוב קוד די טוב. בדקתי את זה בפברואר כשביקשתי ממנו לכתוב תוסף וורדפרס שאשתי יכולה להשתמש באתר שלה. זה עשה עבודה טובה, אבל זה היה פרויקט מאוד פשוט.

איך להשתמש ב-ChatGPT כדי לכתוב: קורות חיים| נוסחאות אקסל | מאמרים | מכתבי כיסוי

איך אתה יכול להשתמש ב-ChatGPT כדי לכתוב קוד כחלק מהתרגול היומי שלך בקידוד? זה מה שאנחנו הולכים לחקור כאן.

אילו סוגי קידוד יכולים ChatGPT לעשות טוב?

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

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

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

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

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

כמו כן: כיצד להשתמש ב-ChatGPT כדי ליצור אפליקציה

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

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

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

כיצד ChatGPT יכול לעזור לך לכתוב קוד

1. צמצם וחדד את בקשתך

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

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

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

2. השתמש ב-ChatGPT כדי לחקור ספריות ומשאבים

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

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

OpenAI (יצרנית ChatGPT) מוכרת גישת API למנועי GPT-3 ו- GPT-4 שיעשו בדיוק מה שאנחנו רוצים. אבל במקרה של הדוגמה הזו, נניח שאנחנו לא רוצים לשלם עמלות עסקה.

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

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

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

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

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

האם כל אלה בחינם?

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

לאילו מהספריות הללו אין מגבלות שימוש ואינן דורשות תשלום נוסף או רישוי?

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

מתוך 8 הספריות האלה, האם אני יכול להשתמש בכל אחת עם PHP?

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

מה ההבדל בין Sumy, Gensim ו-NLTK?

עדיין לא הייתי בטוח, אז הבהרתי את תוכנית השימוש שלי ואז שאלתי:

אם אני רוצה ליצור סיכומים של מאמרי חדשות בדף אינטרנט, איזו ספרייה תעבוד טוב יותר?

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

אתה יכול להסביר איך משתמשים ב-Sumy מ-PHP?

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

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

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

הקידוד הוא הבא.

3. בקש מ-ChatGPT לכתוב קוד לדוגמה

אוקיי, בוא נעצור כאן הפסקה. מאמר זה נושא את הכותרת "כיצד להשתמש ב-ChatGPT לכתיבת קוד." וזה יהיה! אבל אנחנו באמת מבקשים מ-ChatGPT לכתוב קוד לדוגמה . לַחֲכוֹת. מה?

כמו כן: מהו GPT-4? הנה כל מה שאתה צריך לדעת

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

אז, בשורה התחתונה: ChatGPT לא יכול לשמור על הקוד שלך, או אפילו לצבוט אותו.

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

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

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

עם פונקציית PHP בשם summarize_article.

כקלט, summarize_article יועבר כתובת URL למאמר באתר הקשור לחדשות כמו ZDNET.com או Reuters.com.

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

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

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

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

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

הקוד המתקבל הוא די פשוט. ChatGPT אכן התקשר לספרייה אחרת (אווז) כדי לאחזר את תוכן המאמר. לאחר מכן הוא העביר את זה לסומי עם מגבלה של 50 מילים, ואז החזיר את התוצאה. זהו זה. אבל ברגע שהיסודות נכתבים, זה רק עניין של תכנות כדי לחזור ולהוסיף שינויים, להתאים אישית את מה שמועבר לשתי הספריות ולספק את התוצאות.image2.png

נקודה מעניינת אחת. ChatGPT יצרה קריאה לדוגמה לשגרה שהיא כתבה, תוך שימוש בכתובת URL שלאחר 2021 (כאשר מערך הנתונים של ChatGPT מסתיים).

בדקתי את ה-URL הזה גם מול האתר של רויטרס וגם מול ה-Wayback Machine, והיא לא קיימת. ChatGPT בדיוק המציא את זה.

שאלות נפוצות

האם ChatGPT מחליף מתכנתים?

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

כיצד אוכל לקבל תשובות קידוד ב-ChatGPT?

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

אם אני משתמש ב-ChatGPT כדי לכתוב את הקוד שלי, מי הבעלים שלו?

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

  • מי הבעלים של הקוד? אם ה-AI של ChatGPT עוזר לכתוב את האפליקציה שלך, האם היא עדיין שייכת לך?
  • אם אתה משתמש בקוד שנוצר בינה מלאכותית, מהי החשיפה שלך לאחריות?
  • שאלה קוצנית: מי הבעלים של קוד, תמונות ונרטיבים שנוצרו על ידי AI?

אילו שפות תכנות יודע ChatGPT?

רובם. השתוללתי מאוד כשניסיתי את זה. בדקתי שפות מודרניות נפוצות, כמו PHP, Python, Java, Kotlin, Swift, C# ועוד. אבל אז היה לי לכתוב קוד בשפות חשוכות של עידן אפל כמו COBOL, Fortran, Forth, LISP, ALGOL, RPG (מחולל תוכניות הדוחות, לא משחק התפקידים), ואפילו שפת ההרכבה של IBM/360.

כדובדבן שבקצפת, נתתי לה את ההנחיה הזו:

כתוב רצף המציג את 'Hello, world' באורות מהבהבים ascii בפאנל הקדמי של PDP 8/e

ה-PDP 8/e היה המחשב הראשון שלי, ו-ChatGPT למעשה נתן לי הוראות להחלפת תוכנית באמצעות מתגים בלוח הקדמי. התרשמתי, שמחתי ופחדתי מעט.

מה השורה התחתונה? ChatGPT יכול להיות כלי מאוד מועיל. רק אל תיחס לזה כוחות על. עדיין.

כתבות קשורות

הצג עוד >>

פתח את הכוח של AI עם HIX.AI!