กำลังคิด

โมเดล Gemini 3 และ 2.5 ใช้ "กระบวนการคิด" ภายในที่ช่วยปรับปรุงความสามารถในการให้เหตุผลและการวางแผนแบบหลายขั้นตอนได้อย่างมาก ทำให้โมเดลเหล่านี้มีประสิทธิภาพสูงสำหรับงานที่ซับซ้อน เช่น การเขียนโค้ด คณิตศาสตร์ขั้นสูง และการวิเคราะห์ข้อมูล

คู่มือนี้จะแสดงวิธีใช้ความสามารถในการคิดของ Gemini โดยใช้ Gemini API

การสร้างเนื้อหาด้วยการคิด

การเริ่มส่งคำขอด้วยโมเดลการคิดจะคล้ายกับการส่งคำขอสร้างเนื้อหาอื่นๆ ความแตกต่างที่สำคัญคือการระบุโมเดลที่รองรับการคิดอย่างใดอย่างหนึ่งในฟิลด์ model ดังที่แสดงในตัวอย่างการสร้างข้อความต่อไปนี้

Python

from google import genai

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

print(response.text)

JavaScript

import { GoogleGenAI } from "@google/genai";

const ai = new GoogleGenAI({});

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-3.5-flash",
    contents: prompt,
  });

  console.log(response.text);
}

main();

Go

package main

import (
  "context"
  "fmt"
  "log"
  "os"
  "google.golang.org/genai"
)

func main() {
  ctx := context.Background()
  client, err := genai.NewClient(ctx, nil)
  if err != nil {
      log.Fatal(err)
  }

  prompt := "Explain the concept of Occam's Razor and provide a simple, everyday example."
  model := "gemini-3.5-flash"

  resp, _ := client.Models.GenerateContent(ctx, model, genai.Text(prompt), nil)

  fmt.Println(resp.Text())
}

REST

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.5-flash:generateContent" \
 -H "x-goog-api-key: $GEMINI_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."
         }
       ]
     }
   ]
 }'
 ```

สรุปความคิด

สรุปความคิดคือเวอร์ชันสรุปของความคิดดิบของโมเดล และให้ข้อมูลเชิงลึกเกี่ยวกับกระบวนการให้เหตุผลภายในของโมเดล โปรดทราบว่า ระดับความคิดและงบประมาณมีผลกับความคิดดิบของโมเดล ไม่ใช่สรุปความคิด

คุณเปิดใช้สรุปความคิดได้โดยตั้งค่า includeThoughts เป็น true ในการกำหนดค่าคำขอ จากนั้นคุณจะเข้าถึงข้อมูลสรุปได้โดยการวนซ้ำผ่าน response ของพารามิเตอร์ parts และตรวจสอบบูลีน thought

ตัวอย่างต่อไปนี้แสดงวิธีเปิดใช้และดึงข้อมูลสรุปความคิด โดยไม่ต้องสตรีม ซึ่งจะแสดงผลสรุปความคิดสุดท้ายรายการเดียวพร้อมกับ การตอบกลับ

Python

from google import genai
from google.genai import types

client = genai.Client()
prompt = "What is the sum of the first 50 prime numbers?"
response = client.models.generate_content(
  model="gemini-3.5-flash",
  contents=prompt,
  config=types.GenerateContentConfig(
    thinking_config=types.ThinkingConfig(
      include_thoughts=True
    )
  )
)

for part in response.candidates[0].content.parts:
  if not part.text:
    continue
  if part.thought:
    print("Thought summary:")
    print(part.text)
    print()
  else:
    print("Answer:")
    print(part.text)
    print()

JavaScript

import { GoogleGenAI } from "@google/genai";

const ai = new GoogleGenAI({});

async function main() {
  const response = await ai.models.generateContent({
    model: "gemini-3.5-flash",
    contents: "What is the sum of the first 50 prime numbers?",
    config: {
      thinkingConfig: {
        includeThoughts: true,
      },
    },
  });

  for (const part of response.candidates[0].content.parts) {
    if (!part.text) {
      continue;
    }
    else if (part.thought) {
      console.log("Thoughts summary:");
      console.log(part.text);
    }
    else {
      console.log("Answer:");
      console.log(part.text);
    }
  }
}

main();

Go

package main

import (
  "context"
  "fmt"
  "google.golang.org/genai"
  "os"
)

func main() {
  ctx := context.Background()
  client, err := genai.NewClient(ctx, nil)
  if err != nil {
      log.Fatal(err)
  }

  contents := genai.Text("What is the sum of the first 50 prime numbers?")
  model := "gemini-3.5-flash"
  resp, _ := client.Models.GenerateContent(ctx, model, contents, &genai.GenerateContentConfig{
    ThinkingConfig: &genai.ThinkingConfig{
      IncludeThoughts: true,
    },
  })

  for _, part := range resp.Candidates[0].Content.Parts {
    if part.Text != "" {
      if part.Thought {
        fmt.Println("Thoughts Summary:")
        fmt.Println(part.Text)
      } else {
        fmt.Println("Answer:")
        fmt.Println(part.Text)
      }
    }
  }
}

และนี่คือตัวอย่างการใช้การคิดด้วยการสตรีม ซึ่งจะแสดงผลสรุปแบบต่อเนื่อง แบบเพิ่มทีละรายการในระหว่างการสร้าง

Python

from google import genai
from google.genai import types

client = genai.Client()

prompt = """
Alice, Bob, and Carol each live in a different house on the same street: red, green, and blue.
The person who lives in the red house owns a cat.
Bob does not live in the green house.
Carol owns a dog.
The green house is to the left of the red house.
Alice does not own a cat.
Who lives in each house, and what pet do they own?
"""

thoughts = ""
answer = ""

for chunk in client.models.generate_content_stream(
    model="gemini-3.5-flash",
    contents=prompt,
    config=types.GenerateContentConfig(
      thinking_config=types.ThinkingConfig(
        include_thoughts=True
      )
    )
):
  for part in chunk.candidates[0].content.parts:
    if not part.text:
      continue
    elif part.thought:
      if not thoughts:
        print("Thoughts summary:")
      print(part.text)
      thoughts += part.text
    else:
      if not answer:
        print("Answer:")
      print(part.text)
      answer += part.text

JavaScript

import { GoogleGenAI } from "@google/genai";

const ai = new GoogleGenAI({});

const prompt = `Alice, Bob, and Carol each live in a different house on the same
street: red, green, and blue. The person who lives in the red house owns a cat.
Bob does not live in the green house. Carol owns a dog. The green house is to
the left of the red house. Alice does not own a cat. Who lives in each house,
and what pet do they own?`;

let thoughts = "";
let answer = "";

async function main() {
  const response = await ai.models.generateContentStream({
    model: "gemini-3.5-flash",
    contents: prompt,
    config: {
      thinkingConfig: {
        includeThoughts: true,
      },
    },
  });

  for await (const chunk of response) {
    for (const part of chunk.candidates[0].content.parts) {
      if (!part.text) {
        continue;
      } else if (part.thought) {
        if (!thoughts) {
          console.log("Thoughts summary:");
        }
        console.log(part.text);
        thoughts = thoughts + part.text;
      } else {
        if (!answer) {
          console.log("Answer:");
        }
        console.log(part.text);
        answer = answer + part.text;
      }
    }
  }
}

await main();

Go

package main

import (
  "context"
  "fmt"
  "log"
  "os"
  "google.golang.org/genai"
)

const prompt = `
Alice, Bob, and Carol each live in a different house on the same street: red, green, and blue.
The person who lives in the red house owns a cat.
Bob does not live in the green house.
Carol owns a dog.
The green house is to the left of the red house.
Alice does not own a cat.
Who lives in each house, and what pet do they own?
`

func main() {
  ctx := context.Background()
  client, err := genai.NewClient(ctx, nil)
  if err != nil {
      log.Fatal(err)
  }

  contents := genai.Text(prompt)
  model := "gemini-3.5-flash"

  resp := client.Models.GenerateContentStream(ctx, model, contents, &genai.GenerateContentConfig{
    ThinkingConfig: &genai.ThinkingConfig{
      IncludeThoughts: true,
    },
  })

  for chunk := range resp {
    for _, part := range chunk.Candidates[0].Content.Parts {
      if len(part.Text) == 0 {
        continue
      }

      if part.Thought {
        fmt.Printf("Thought: %s\n", part.Text)
      } else {
        fmt.Printf("Answer: %s\n", part.Text)
      }
    }
  }
}

การควบคุมความคิด

โมเดล Gemini จะมีส่วนร่วมในการคิดแบบไดนามิกโดยค่าเริ่มต้น ซึ่งจะปรับ ความพยายามในการให้เหตุผลโดยอัตโนมัติตามความซับซ้อนของคำขอของผู้ใช้ อย่างไรก็ตาม หากมีข้อจำกัดด้านเวลาในการตอบสนองที่เฉพาะเจาะจง หรือต้องการให้โมเดลมีส่วนร่วม ในการให้เหตุผลที่ลึกซึ้งกว่าปกติ คุณสามารถใช้พารามิเตอร์เพื่อควบคุม ลักษณะการคิดได้

ระดับการคิด (Gemini 3)

พารามิเตอร์ thinkingLevel ซึ่งเราขอแนะนำให้ใช้กับโมเดล Gemini 3 ขึ้นไป ช่วยให้คุณควบคุมลักษณะการให้เหตุผลได้

ตารางต่อไปนี้แสดงรายละเอียดthinkingLevelการตั้งค่าสำหรับโมเดลแต่ละประเภท

ระดับการคิด Gemini 3.5 Flash Gemini 3.1 Pro Gemini 3.1 Flash-Lite รูปภาพ Gemini 3.1 Flash-Lite Gemini 3 Flash คำอธิบาย
minimal สิ่งที่ทำได้ สิ่งที่ทำไม่ได้ รองรับ (ค่าเริ่มต้น) รองรับ (ค่าเริ่มต้น) สิ่งที่ทำได้ ตรงกับการตั้งค่า "ไม่ต้องคิด" สำหรับคำค้นหาส่วนใหญ่ โปรดทราบว่า minimal ไม่รับประกันว่าการคิดจะปิดอยู่ โมเดลอาจให้เหตุผลน้อยมากสำหรับงานที่ซับซ้อน
low สิ่งที่ทำได้ สิ่งที่ทำได้ สิ่งที่ทำได้ ไม่รองรับ สิ่งที่ทำได้ ลดเวลาในการตอบสนองและค่าใช้จ่าย
medium รองรับ (ค่าเริ่มต้น) สิ่งที่ทำได้ สิ่งที่ทำได้ สิ่งที่ทำไม่ได้ สิ่งที่ทำได้ การคิดแบบสมดุลสำหรับงานส่วนใหญ่
high รองรับ (ไดนามิก) รองรับ (ค่าเริ่มต้น, ไดนามิก) รองรับ (ไดนามิก) รองรับ (ไดนามิก) รองรับ (ค่าเริ่มต้น, ไดนามิก) เพิ่มความลึกในการให้เหตุผลสูงสุด โมเดลอาจใช้เวลานานขึ้นอย่างมากในการ สร้างโทเค็นเอาต์พุตแรก (ไม่ใช่โทเค็นการคิด) แต่เอาต์พุตจะได้รับการพิจารณาอย่างรอบคอบมากขึ้น

ตัวอย่างต่อไปนี้แสดงวิธีตั้งค่าระดับการคิด

Python

from google import genai
from google.genai import types

client = genai.Client()

response = client.models.generate_content(
    model="gemini-3.5-flash",
    contents="Provide a list of 3 famous physicists and their key contributions",
    config=types.GenerateContentConfig(
        thinking_config=types.ThinkingConfig(thinking_level="low")
    ),
)

print(response.text)

JavaScript

import { GoogleGenAI, ThinkingLevel } from "@google/genai";

const ai = new GoogleGenAI({});

async function main() {
  const response = await ai.models.generateContent({
    model: "gemini-3.5-flash",
    contents: "Provide a list of 3 famous physicists and their key contributions",
    config: {
      thinkingConfig: {
        thinkingLevel: ThinkingLevel.LOW,
      },
    },
  });

  console.log(response.text);
}

main();

Go

package main

import (
  "context"
  "fmt"
  "google.golang.org/genai"
  "os"
)

func main() {
  ctx := context.Background()
  client, err := genai.NewClient(ctx, nil)
  if err != nil {
      log.Fatal(err)
  }

  thinkingLevelVal := "low"

  contents := genai.Text("Provide a list of 3 famous physicists and their key contributions")
  model := "gemini-3.5-flash"
  resp, _ := client.Models.GenerateContent(ctx, model, contents, &genai.GenerateContentConfig{
    ThinkingConfig: &genai.ThinkingConfig{
      ThinkingLevel: &thinkingLevelVal,
    },
  })

fmt.Println(resp.Text())
}

REST

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.5-flash:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-X POST \
-d '{
  "contents": [
    {
      "parts": [
        {
          "text": "Provide a list of 3 famous physicists and their key contributions"
        }
      ]
    }
  ],
  "generationConfig": {
    "thinkingConfig": {
          "thinkingLevel": "low"
    }
  }
}'

คุณปิดใช้การคิดสำหรับ Gemini 3.1 Pro ไม่ได้ Gemini 3 Flash และ Flash-Lite ก็ไม่รองรับการปิดการคิดเต็มรูปแบบเช่นกัน หากคุณไม่ได้ระบุระดับการคิด Gemini จะใช้ระดับการคิดเริ่มต้นของโมเดล Gemini 3 (เช่น "high" สำหรับ Gemini 3.1 Pro และ "medium" สำหรับ Gemini 3.5 Flash)

โมเดลซีรีส์ Gemini 2.5 ไม่รองรับ thinkingLevel โปรดใช้ thinkingBudget แทน

งบประมาณการคิด

พารามิเตอร์ thinkingBudget ซึ่งเปิดตัวพร้อมกับซีรีส์ Gemini 2.5 จะแนะนํา โมเดลเกี่ยวกับจํานวนโทเค็นการคิดที่เฉพาะเจาะจงเพื่อใช้ในการให้เหตุผล

thinkingBudgetรายละเอียดการกำหนดค่าสำหรับโมเดลแต่ละประเภทมีดังนี้ คุณปิดใช้การคิดได้โดยตั้งค่า thinkingBudget เป็น 0 การตั้งค่า thinkingBudget เป็น -1 จะเปิดการคิดแบบไดนามิก ซึ่งหมายความว่าโมเดลจะปรับงบประมาณตามความซับซ้อนของคำขอ

รุ่น การตั้งค่าเริ่มต้น
(คิดว่าไม่ได้ตั้งงบประมาณ)
ช่วง ปิดใช้การคิด เปิดใช้การคิดแบบไดนามิก
2.5 Pro การคิดแบบไดนามิก 128 ถึง 32768 ไม่มี: ปิดการคิดไม่ได้ thinkingBudget = -1 (ค่าเริ่มต้น)
2.5 Flash การคิดแบบไดนามิก 0 ถึง 24576 thinkingBudget = 0 thinkingBudget = -1 (ค่าเริ่มต้น)
2.5 Flash Preview การคิดแบบไดนามิก 0 ถึง 24576 thinkingBudget = 0 thinkingBudget = -1 (ค่าเริ่มต้น)
2.5 Flash Lite โมเดลไม่คิด 512 ถึง 24576 thinkingBudget = 0 thinkingBudget = -1
2.5 ตัวอย่าง Flash Lite โมเดลไม่คิด 512 ถึง 24576 thinkingBudget = 0 thinkingBudget = -1
Robotics-ER 1.6 เวอร์ชันตัวอย่าง การคิดแบบไดนามิก 0 ถึง 24576 thinkingBudget = 0 thinkingBudget = -1 (ค่าเริ่มต้น)
2.5 Flash Live ตัวอย่างเสียงเนทีฟ (09-2025) การคิดแบบไดนามิก 0 ถึง 24576 thinkingBudget = 0 thinkingBudget = -1 (ค่าเริ่มต้น)

Python

from google import genai
from google.genai import types

client = genai.Client()

response = client.models.generate_content(
    model="gemini-2.5-flash",
    contents="Provide a list of 3 famous physicists and their key contributions",
    config=types.GenerateContentConfig(
        thinking_config=types.ThinkingConfig(thinking_budget=1024)
        # Turn off thinking:
        # thinking_config=types.ThinkingConfig(thinking_budget=0)
        # Turn on dynamic thinking:
        # thinking_config=types.ThinkingConfig(thinking_budget=-1)
    ),
)

print(response.text)

JavaScript

import { GoogleGenAI } from "@google/genai";

const ai = new GoogleGenAI({});

async function main() {
  const response = await ai.models.generateContent({
    model: "gemini-2.5-flash",
    contents: "Provide a list of 3 famous physicists and their key contributions",
    config: {
      thinkingConfig: {
        thinkingBudget: 1024,
        // Turn off thinking:
        // thinkingBudget: 0
        // Turn on dynamic thinking:
        // thinkingBudget: -1
      },
    },
  });

  console.log(response.text);
}

main();

Go

package main

import (
  "context"
  "fmt"
  "google.golang.org/genai"
  "os"
)

func main() {
  ctx := context.Background()
  client, err := genai.NewClient(ctx, nil)
  if err != nil {
      log.Fatal(err)
  }

  thinkingBudgetVal := int32(1024)

  contents := genai.Text("Provide a list of 3 famous physicists and their key contributions")
  model := "gemini-2.5-flash"
  resp, _ := client.Models.GenerateContent(ctx, model, contents, &genai.GenerateContentConfig{
    ThinkingConfig: &genai.ThinkingConfig{
      ThinkingBudget: &thinkingBudgetVal,
      // Turn off thinking:
      // ThinkingBudget: int32(0),
      // Turn on dynamic thinking:
      // ThinkingBudget: int32(-1),
    },
  })

fmt.Println(resp.Text())
}

REST

curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-X POST \
-d '{
  "contents": [
    {
      "parts": [
        {
          "text": "Provide a list of 3 famous physicists and their key contributions"
        }
      ]
    }
  ],
  "generationConfig": {
    "thinkingConfig": {
          "thinkingBudget": 1024
    }
  }
}'

โมเดลอาจใช้โทเค็นเกินหรืองบประมาณโทเค็นไม่เพียงพอ ทั้งนี้ขึ้นอยู่กับพรอมต์

ลายเซ็นความคิด

Gemini API เป็นแบบไม่เก็บสถานะ ดังนั้นโมเดลจะถือว่าคำขอ API ทุกรายการเป็นอิสระ และไม่มีสิทธิ์เข้าถึงบริบทความคิดจากเทิร์นก่อนหน้าในการสนทนาไปมา

Gemini จะแสดงลายเซ็นความคิด ซึ่งเป็นการแสดงที่เข้ารหัสของกระบวนการคิดภายในของโมเดล เพื่อให้สามารถรักษาบริบทความคิดในการสนทนาไปมาได้

  • โมเดล Gemini 2.5 จะแสดงลายเซ็นความคิดเมื่อเปิดใช้การคิดและ คำขอมีการเรียกใช้ฟังก์ชัน โดยเฉพาะการประกาศฟังก์ชัน
  • โมเดล Gemini 3 อาจแสดงลายเซ็นความคิดสำหรับพาร์ตทุกประเภท เราขอแนะนำให้คุณส่งต่อลายเซ็นทั้งหมดกลับมาตามที่ได้รับเสมอ แต่ต้องส่งต่อลายเซ็นการเรียกใช้ฟังก์ชัน อ่านหน้าลายเซ็นความคิดเพื่อดูข้อมูลเพิ่มเติม

ข้อจำกัดในการใช้งานอื่นๆ ที่ควรพิจารณาเมื่อใช้การเรียกใช้ฟังก์ชันมีดังนี้

  • ลายเซ็นจะแสดงจากโมเดลภายในส่วนอื่นๆ ในการตอบกลับ เช่น การเรียกใช้ฟังก์ชันหรือข้อความ ส่งคืนคำตอบทั้งหมด พร้อมกับทุกส่วนกลับไปยังโมเดลในรอบถัดไป
  • อย่าต่อชิ้นส่วนที่มีลายเซ็นเข้าด้วยกัน
  • อย่าผสานข้อความส่วนหนึ่งที่มีลายเซ็นกับข้อความอีกส่วนที่ไม่มีลายเซ็น

ราคา

เมื่อเปิดใช้การคิด ราคาการตอบกลับจะเป็นผลรวมของโทเค็นเอาต์พุตและโทเค็นการคิด คุณดูจำนวนโทเค็นความคิดที่สร้างขึ้นทั้งหมดได้จากฟิลด์ thoughtsTokenCount

Python

# ...
print("Thoughts tokens:", response.usage_metadata.thoughts_token_count)
print("Output tokens:", response.usage_metadata.candidates_token_count)

JavaScript

// ...
console.log(`Thoughts tokens: ${response.usageMetadata.thoughtsTokenCount}`);
console.log(`Output tokens: ${response.usageMetadata.candidatesTokenCount}`);

Go

// ...
fmt.Println("Thoughts tokens:", response.UsageMetadata.ThoughtsTokenCount)
fmt.Println("Output tokens:", response.UsageMetadata.CandidatesTokenCount)

โมเดลการคิดจะสร้างความคิดที่สมบูรณ์เพื่อปรับปรุงคุณภาพของคำตอบสุดท้าย จากนั้นจะแสดงข้อมูลสรุปเพื่อให้ข้อมูลเชิงลึกเกี่ยวกับ กระบวนการคิด ดังนั้น ราคาจึงอิงตามโทเค็นความคิดทั้งหมดที่โมเดลต้องสร้างเพื่อสร้างข้อมูลสรุป แม้ว่าจะมีเพียงข้อมูลสรุปเท่านั้นที่ส่งออกจาก API

ดูข้อมูลเพิ่มเติมเกี่ยวกับโทเค็นได้ในคำแนะนำการนับโทเค็น

แนวทางปฏิบัติแนะนำ

ส่วนนี้มีคำแนะนำบางอย่างสำหรับการใช้โมเดลการคิดอย่างมีประสิทธิภาพ เช่นเคย การทำตามคำแนะนำในการเขียนพรอมต์และแนวทางปฏิบัติแนะนำจะช่วยให้คุณได้รับผลลัพธ์ที่ดีที่สุด

การแก้ไขข้อบกพร่องและการควบคุม

  • ตรวจสอบการให้เหตุผล: เมื่อคุณไม่ได้รับคำตอบที่คาดหวังจากโมเดลการคิด การวิเคราะห์สรุปความคิดของ Gemini อย่างละเอียดจะช่วยได้ คุณสามารถดูวิธีที่โมเดลแบ่งงานและสรุปผล รวมถึงใช้ข้อมูลดังกล่าวเพื่อแก้ไขให้ได้ผลลัพธ์ที่ถูกต้อง

  • ให้คำแนะนำในการให้เหตุผล: หากต้องการผลลัพธ์ที่ยาวเป็นพิเศษ คุณอาจต้องให้คำแนะนำในพรอมต์เพื่อจำกัดปริมาณการคิดที่โมเดลใช้ ซึ่งช่วยให้คุณสงวนโทเค็นเอาต์พุตไว้สำหรับการตอบกลับได้มากขึ้น

ความซับซ้อนของงาน

  • งานง่ายๆ (อาจปิดการคิด): สำหรับคำขอที่ตรงไปตรงมาซึ่งไม่จำเป็นต้องใช้การให้เหตุผลที่ซับซ้อน เช่น การดึงข้อมูลข้อเท็จจริงหรือการจัดประเภท ระบบจะไม่จำเป็นต้องใช้การคิด ตัวอย่างเช่น
    • "DeepMind ก่อตั้งขึ้นที่ไหน"
    • "อีเมลนี้ขอให้มีการประชุมหรือเพียงให้ข้อมูล"
  • งานระดับปานกลาง (ค่าเริ่มต้น/ต้องใช้ความคิด): คำขอทั่วไปจำนวนมากจะได้รับประโยชน์จาก การประมวลผลแบบทีละขั้นตอนหรือความเข้าใจที่ลึกซึ้งยิ่งขึ้น Gemini สามารถใช้ความสามารถในการคิดได้อย่างยืดหยุ่น สำหรับงานต่างๆ เช่น
    • เปรียบเทียบการสังเคราะห์ด้วยแสงกับการเติบโต
    • เปรียบเทียบความเหมือนและความแตกต่างของรถยนต์ไฟฟ้าและรถยนต์ไฮบริด
  • งานที่ยาก (ความสามารถในการคิดสูงสุด): สำหรับความท้าทายที่ซับซ้อนอย่างแท้จริง เช่น การแก้โจทย์คณิตศาสตร์ที่ซับซ้อนหรืองานเขียนโค้ด เราขอแนะนำให้ตั้งค่า งบประมาณการคิดไว้สูง งานประเภทนี้กำหนดให้โมเดลต้องใช้ ความสามารถในการให้เหตุผลและการวางแผนอย่างเต็มที่ ซึ่งมัก เกี่ยวข้องกับขั้นตอนภายในหลายขั้นตอนก่อนที่จะให้คำตอบ ตัวอย่างเช่น
    • แก้โจทย์ข้อ 1 ใน AIME 2025: หาผลรวมของฐานที่เป็นจำนวนเต็มทั้งหมด b > 9 ซึ่ง 17b เป็นตัวหารของ 97b
    • เขียนโค้ด Python สำหรับเว็บแอปพลิเคชันที่แสดงข้อมูลตลาดหุ้นแบบเรียลไทม์ รวมถึงการตรวจสอบสิทธิ์ของผู้ใช้ ทำให้มีประสิทธิภาพมากที่สุด เท่าที่จะเป็นไปได้

โมเดล เครื่องมือ และความสามารถที่รองรับ

ฟีเจอร์การคิดใช้ได้ในโมเดลซีรีส์ 3 และ 2.5 ทั้งหมด คุณดูความสามารถทั้งหมดของโมเดลได้ในหน้าภาพรวมของโมเดล

โมเดลการคิดจะทำงานร่วมกับเครื่องมือและความสามารถทั้งหมดของ Gemini ซึ่งช่วยให้โมเดลโต้ตอบกับระบบภายนอก รันโค้ด หรือเข้าถึงข้อมูลแบบเรียลไทม์ได้ โดยรวมผลลัพธ์ไว้ในการให้เหตุผลและคำตอบสุดท้าย

คุณลองดูตัวอย่างการใช้เครื่องมือกับโมเดลการคิดได้ใน[ตำราการคิด][Colab]

ขั้นตอนต่อไปคืออะไร

[Colab]: https://colab.sandbox.google.com/github/google-gemini/cookbook/blob/main/quickstarts/Get_started_thinking.ipynb