חשיבה של Gemini

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

במדריך הזה מוסבר איך לעבוד עם יכולות החשיבה של Gemini באמצעות Gemini API.

שימוש במודלים של חשיבה

מודלים עם יכולות חשיבה זמינים ב-Google AI Studio וב-Gemini API. התכונה 'חשיבה' מופעלת כברירת מחדל גם ב-API וגם ב-AI Studio, כי למודלים מסדרה 2.5 יש יכולת להחליט באופן אוטומטי מתי וכמה לחשוב על סמך ההנחיה. ברוב תרחישי השימוש, עדיף להמשיך לחשוב. עם זאת, אם רוצים להשבית את החשיבה, אפשר להגדיר את הפרמטר thinkingBudget לערך 0.

שליחת בקשה בסיסית

from google import genai

client = genai.Client(api_key="GOOGLE_API_KEY")
prompt = "Explain the concept of Occam's Razor and provide a simple, everyday example."
response = client.models.generate_content(
    model="gemini-2.5-flash-preview-04-17",
    contents=prompt
)

print(response.text)
import { GoogleGenAI } from "@google/genai";

const ai = new GoogleGenAI({ apiKey: "GOOGLE_API_KEY" });

async function main() {
  const prompt = "Explain the concept of Occam's Razor and provide a simple, everyday example.";

  const response = await ai.models.generateContent({
    model: "gemini-2.5-flash-preview-04-17",
    contents: prompt,
  });

  console.log(response.text);
}

main();
// import packages here

func main() {
  ctx := context.Background()
  client, err := genai.NewClient(ctx, option.WithAPIKey(os.Getenv("GOOGLE_API_KEY")))
  if err != nil {
    log.Fatal(err)
  }
  defer client.Close()

  model := client.GenerativeModel("gemini-2.5-flash-preview-04-17")
  resp, err := model.GenerateContent(ctx, genai.Text("Explain the concept of Occam's Razor and provide a simple, everyday example."))
  if err != nil {
    log.Fatal(err)
  }
  fmt.Println(resp.Text())
}
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-preview-04-17:generateContent?key=$GOOGLE_API_KEY" \
 -H 'Content-Type: application/json' \
 -X POST \
 -d '{
   "contents": [
     {
       "parts": [
         {
           "text": "Explain the concept of Occam\''s Razor and provide a simple, everyday example."
         }
       ]
     }
   ]
 }'
 ```

הגדרת תקציב למודלים של חשיבה

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

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

from google import genai
from google.genai import types

client = genai.Client()

response = client.models.generate_content(
    model="gemini-2.5-flash-preview-04-17",
    contents="Explain the Occam's Razor concept and provide everyday examples of it",
    config=types.GenerateContentConfig(
        thinking_config=types.ThinkingConfig(thinking_budget=1024)
    ),
)

print(response.text)
import { GoogleGenAI } from "@google/genai";

const ai = new GoogleGenAI({ apiKey: "GOOGLE_API_KEY" });

async function main() {
  const response = await ai.models.generateContent({
    model: "gemini-2.5-flash-preview-04-17",
    contents: "Explain the Occam's Razor concept and provide everyday examples of it",
    config: {
      thinkingConfig: {
        thinkingBudget: 1024,
      },
    },
  });

  console.log(response.text);
}

main();
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-preview-04-17:generateContent?key=$GOOGLE_API_KEY" \
-H 'Content-Type: application/json' \
-X POST \
-d '{
  "contents": [
    {
      "parts": [
        {
          "text": "Explain the Occam\''s Razor concept and provide everyday examples of it"
        }
      ]
    }
  ],
  "generationConfig": {
    "thinkingConfig": {
          "thinkingBudget": 1024
    }
  }
}'

שימוש בכלים עם מודלים של חשיבה

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

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

  • הכלי להפעלת קוד מאפשר למודל ליצור ולהריץ קוד Python כדי לבצע חישובים, לשנות נתונים או לפתור בעיות שמטופלות בצורה הטובה ביותר באמצעות אלגוריתם. המודל מקבל את הפלט של הקוד ויכול להשתמש בו בתשובה שלו.

  • בעזרת פלט מובנה, תוכלו לאלץ את Gemini להשיב ב-JSON, פורמט פלט מובנה שמתאים לעיבוד אוטומטי. האפשרות הזו שימושית במיוחד לשילוב הפלט של המודל באפליקציות.

  • קריאה לפונקציות מחברת את מודל החשיבה לכלים חיצוניים ולממשקי API חיצוניים, וכך אפשר להחליט מתי לקרוא לפונקציה הנכונה ואילו פרמטרים לספק.

שיטות מומלצות

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

ניפוי באגים והיגוי

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

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

סיבוכיות המשימה

  • משימות פשוטות (Thinking יכול להיות מושבת): לבקשות פשוטות, לא נדרש חשיבה מורכבת, כמו אחזור פשוט של עובדות או סיווג פשוט. לדוגמה:
    • "?Where was DeepMind. "
    • "האם האימייל הזה הוא בקשה לפגישה או שהוא רק מספק מידע?"
  • משימות בינוניות (ברירת מחדל/חשיבה מסוימת): בקשות נפוצות רבות מקבלות מידה מסוימת של עיבוד שלב אחר שלב או הבנה עמוקה יותר. ‫Gemini יכול להשתמש באופן גמיש ביכולת החשיבה במשימות כמו:
    • אפשר להשוות בין פוטוסינתזה לבין התבגרות.
    • השוואה וניגוד בין רכבים חשמליים לבין רכבים היברידיים.
  • משימות קשות (יכולת חשיבה מקסימלית): כדי להתמודד עם אתגרים מורכבים באמת, ה-AI צריך להפעיל את מלוא יכולות התכנון והשיקול הדעת שלו, ולעיתים קרובות הוא צריך לבצע הרבה שלבים פנימיים לפני שהוא מספק תשובה. לדוגמה:
    • פתרון בעיה 1 ב-AIME 2025: מוצאים את הסכום של כל הבסיסים השלמים b > 9, שעבורם 17b הוא המחלק של 97b.
    • כתיבה של קוד Python לאפליקציית אינטרנט שמציגה נתונים של שוק המניות בזמן אמת, כולל אימות משתמשים. רצוי שהיא תהיה יעילה ככל האפשר.

מה השלב הבא?