• בלוג
  • שלושה פיצ'רים של בינג החדש שמשאירים את ChatGPT מאחור

שלושה פיצ'רים של בינג החדש שמשאירים את ChatGPT מאחור

11/03/2023

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

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

1. איפה לקרוא עוד

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

לדוגמה שאלתי את שני המנועים את השאלה:

create a React component that shows 5 input fields and synchronizes the text between them, so that every time you write something in one field it's copied to all others

כל אחד מהם יצר קוד שונה. בינג נתן לי את:

import React, { useState } from "react";

function SyncInput() {
  const [text, setText] = useState(""); // single state variable for text value

  const handleChange = (e) => {
    setText(e.target.value); // update state on change
  };

  return (
    <div>
      <h1>Sync Input Component</h1>
      <p>Type something in any of the input fields below and see how it's copied to all others.</p>
      <input type="text" value={text} onChange={handleChange} /> {/* pass text and onChange as props */}
      <input type="text" value={text} onChange={handleChange} />
      <input type="text" value={text} onChange={handleChange} />
      <input type="text" value={text} onChange={handleChange} />
      <input type="text" value={text} onChange={handleChange} />
    </div>
  );
}

export default SyncInput;

ו ChatGPT נתן לי את:

import React, { useState } from 'react';

function SyncedInputs() {
  const [inputValues, setInputValues] = useState(['', '', '', '', '']);

  const handleInputChange = (event) => {
    const { value } = event.target;
    setInputValues([value, value, value, value, value]);
  };

  return (
    <div>
      {inputValues.map((value, index) => (
        <input key={index} value={value} onChange={handleInputChange} />
      ))}
    </div>
  );
}

export default SyncedInputs;

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

  1. https://reactjs.org/docs/forms.html

  2. https://stackoverflow.com/questions/75374331/how-to-correctly-synchronize-the-internal-state-of-the-input-field-with-the-reac

  3. https://stackoverflow.com/questions/51457843/how-to-dynamically-generate-pair-of-input-fields-using-reactjs

  4. https://www.pluralsight.com/guides/how-to-use-react-to-set-the-value-of-an-input

  5. https://stackoverflow.com/questions/51457843/how-to-dynamically-generate-pair-of-input-fields-using-reactjs

  6. https://stackoverflow.com/questions/36235923/how-can-i-create-input-text-fields-dynamically-in-react-js-jsx

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

2. בינג מציע שאלות המשך

בסיום השאלה בינג הציע לי שתי שאלות המשך:

  1. איך אוכל להוסיף עוד שדות טקסט בצורה דינמית?

  2. איך אוכל לעשות וולידציה על המידע בשדות?

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

3. בינג יודע לחפש באינטרנט

כשביקשתי מ ChatGPT למצוא לי טיסה זולה למדריד בפסח לשבעה לילות הוא התנצל ואמר שהוא רק מודל שפתי ושעדיף לחפש טיסה באתרי טיסות. בינג קודם כל הלך לבדוק מתי פסח ואז הציע לי שלושה תאריכים לחופשה - מה 4 עד ה 14 באפריל, מה 6 עד ה 12 ומה 5 עד ה 13. לא תמיד שבעה לילות אבל חייבים להעריך את המאמץ. אחרי שבחרתי אופציה הוא המשך לחפש ב Bing Travel ומצא לי כמה אופציות לטיסה עם המחירים ולינקים לאתרי הטיסות הרלוונטים.

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