Tính năng mới trong Gemini 3.5 Flash
Gemini 3.5 Flash đã phát hành rộng rãi (GA), ổn định và sẵn sàng để sử dụng trong quy trình sản xuất quy mô lớn. Là mô hình Flash thông minh nhất của chúng tôi, Gemini 2.0 Flash mang lại hiệu suất vượt trội và bền vững trong việc thực thi tác vụ tác nhân, lập trình và các tác vụ dài hạn ở quy mô lớn.
Hướng dẫn này cung cấp thông tin tổng quan về các điểm cải tiến, thay đổi về API và hướng dẫn di chuyển cho Gemini 3.5 Flash.
Mô hình mới
| Mô hình | Mã kiểu máy | Mô tả |
|---|---|---|
| Gemini 3.5 Flash | gemini-3.5-flash |
Mô hình thông minh nhất của chúng tôi, mang lại hiệu suất vượt trội liên tục trong các tác vụ lập trình và tác nhân. |
Gemini 3.5 Flash hỗ trợ cửa sổ ngữ cảnh 1 triệu token, tối đa 65.000 token đầu ra, khả năng tư duy, cũng như cùng một bộ công cụ và tính năng nền tảng như Gemini 3 Flash. Sử dụng máy tính hiện không được hỗ trợ.
Để biết đầy đủ thông số kỹ thuật, hãy xem tổng quan về các mô hình. Để biết giá, hãy xem trang giá.
Bắt đầu nhanh
Tất cả ví dụ trong hướng dẫn này đều sử dụng GenerateContent API. API Tương tác cũng được hỗ trợ; các lựa chọn và đề xuất về cấu hình tương tự cũng được áp dụng.
Python
from google import genai
client = genai.Client()
response = client.models.generate_content(
model="gemini-3.5-flash",
contents="Explain how parallel agentic execution works in three sentences.",
)
print(response.text)
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: "Explain how parallel agentic execution works in three sentences.",
});
console.log(response.text);
}
main();
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 how parallel agentic execution works in three sentences."}]
}]
}'
Tính năng mới
- Hiệu suất vượt trội bền vững: Mô hình Flash thông minh nhất của chúng tôi, được tối ưu hoá cho các tác vụ tác nhân và lập trình ở quy mô lớn.
- Thực thi dựa trên tác nhân: Triển khai tác nhân phụ, giải quyết vấn đề và các vòng lặp dựa trên tác nhân nhanh chóng trên quy mô lớn.
- Lập trình: Các chu kỳ lập trình lặp đi lặp lại, khám phá nhanh và tạo mẫu để kiểm thử các đường dẫn thay thế và khám phá các giải pháp một cách linh hoạt.
- Dài hạn: Quy trình làm việc nhiều bước và sử dụng công cụ ở quy mô lớn.
- Lưu giữ suy nghĩ: Mô hình tự động duy trì suy luận trung gian trong các cuộc trò chuyện nhiều lượt. Không cần thay đổi API.
- Mức độ nỗ lực mặc định mới: Mức độ nỗ lực tư duy mặc định đã thay đổi từ
highthànhmedium. Hãy xem phần Mức độ nỗ lực mặc định mới để biết thông tin chi tiết. - Cải thiện khả năng tư duy
low: Giờ đây,lowđã được cải thiện đáng kể cho mã và các tác vụ dựa trên tác nhân đòi hỏi ít bước hơn, mang lại chất lượng cao với độ trễ và chi phí thấp hơn. - Bản phát hành GA: Mô hình ổn định để sử dụng trong sản xuất trên quy mô lớn.
Thay đổi về hành vi
Mức độ nỗ lực mặc định mới: medium
Giờ đây, mức độ tư duy mặc định là medium, thay đổi từ high trong Gemini 3 Flash Preview. medium mang lại kết quả rất tốt trong nhiều loại nhiệm vụ, đồng thời nhanh hơn và tiết kiệm chi phí hơn. Đối với các vấn đề phức tạp, high khuyến khích mô hình suy nghĩ sâu sắc hơn.
| Mức độ nỗ lực | Trường hợp sử dụng |
|---|---|
minimal |
Tối ưu hoá để tăng tốc độ phản hồi. Các trường hợp sử dụng tương tự như trò chuyện, câu trả lời nhanh về thông tin thực tế, lệnh gọi công cụ đơn giản hơn. |
low |
Mã và các tác vụ dựa trên tác nhân đòi hỏi độ trễ thấp hơn và ít bước hơn. Cũng phù hợp với các nhiệm vụ phân tích và viết lách đòi hỏi bạn phải suy nghĩ. |
medium (mặc định) |
Chất lượng tốt nhất cho hầu hết các tác vụ. Được đề xuất cho các trường hợp sử dụng phức tạp về mã và tác nhân. |
high |
Tối đa hoá khả năng suy nghĩ và sử dụng các công cụ của mô hình. Phù hợp nhất cho các nhiệm vụ suy luận phức tạp, giải toán khó và các nhiệm vụ khó nhất về mã hoặc tác nhân. Cho phép mở rộng suy nghĩ và gọi hàm. |
Để ghi đè giá trị mặc định, hãy đặt thinking_level trong cấu hình của bạn:
Python
from google import genai
from google.genai import types
client = genai.Client()
response = client.models.generate_content(
model="gemini-3.5-flash",
contents="Prove that the square root of 2 is irrational.",
config=types.GenerateContentConfig(
thinking_config=types.ThinkingConfig(thinking_level="high")
),
)
print(response.text)
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: "Prove that the square root of 2 is irrational.",
config: {
thinkingConfig: {
thinkingLevel: "HIGH",
},
},
});
console.log(response.text);
}
main();
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": "Prove that the square root of 2 is irrational."}]
}],
"generationConfig": {
"thinkingConfig": {
"thinkingLevel": "HIGH"
}
}
}'
Bảo tồn ý tưởng
Mô hình này tự động duy trì suy luận trung gian trong các cuộc trò chuyện nhiều lượt. Khi có trong nhật ký trò chuyện, ngữ cảnh suy luận sẽ được chuyển tiếp, giúp cải thiện hiệu suất đối với các tác vụ phức tạp gồm nhiều bước như gỡ lỗi lặp đi lặp lại và tái cấu trúc mã. Không cần thay đổi API:
- Interactions API: Suy nghĩ đã được lưu tự động. Không có thay đổi nào về hành vi.
- GenerateContent API: Bắt đầu từ Gemini 3.5 Flash, mô hình này sẽ sử dụng ngữ cảnh suy luận từ tất cả các lượt trước đó khi chữ ký ý tưởng xuất hiện trong nhật ký trò chuyện. Để bật tính năng này, hãy truyền toàn bộ nhật ký cuộc trò chuyện chưa được sửa đổi (bao gồm cả chữ ký suy nghĩ) trong
contents. Các SDK sẽ tự động xử lý việc này.
Thông tin cập nhật về tham số và các phương pháp hay nhất trong Gemini 3.x
Những điều sau đây áp dụng cho tất cả các mô hình Gemini 3.x, bao gồm cả Gemini 3.5 Flash.
temperature,top_p,top_k: bạn không nên thay đổi các giá trị mặc định. Khả năng suy luận của Gemini 3 được tối ưu hoá cho các chế độ cài đặt mặc định.- Sử dụng
thinking_levelthay vìthinking_budget. - So khớp phản hồi gọi hàm:
id,namevà số lượng phản hồi phải khớp với các lệnh gọi trước đó. - Phản hồi bằng hàm đa phương thức: bao gồm nội dung đa phương thức bên trong phản hồi bằng hàm, chứ không phải bên ngoài.
- Hướng dẫn nội tuyến trong câu trả lời của hàm: thêm vào văn bản câu trả lời của hàm, chứ không phải là các phần riêng biệt.
- Giảm số lượng lệnh gọi công cụ không cần thiết: Sử dụng các cấp độ tư duy thấp hơn hoặc thử nghiệm với các chỉ dẫn hệ thống để giảm số lượng lệnh gọi công cụ trong quy trình làm việc dựa trên tác nhân.
Hãy xem các phần bên dưới để biết cách cập nhật mã.
Tham số lấy mẫu (không còn được đề xuất)
temperature, top_p và top_k không còn được đề xuất cho tất cả các mô hình Gemini 3.x nữa. Khả năng suy luận của Gemini 3 được tối ưu hoá cho các chế độ cài đặt mặc định. Xoá các thông số này khỏi tất cả yêu cầu.
# ⚠️ Remove these parameters (not recommended)
config = types.GenerateContentConfig(
temperature=0.7,
top_p=0.9,
top_k=40
)
Để đảm bảo tính xác định, bạn nên xác định một chỉ dẫn hệ thống có các quy tắc rõ ràng cho trường hợp sử dụng cụ thể của mình.
thinking_budget (không nên dùng nữa)
Bạn không nên dùng thông số thinking_budget bằng số thô trên tất cả các mô hình Gemini 3.x. Thay vào đó, hãy dùng enum chuỗi thinking_level.
# ⚠️ Before (not recommended)
config = types.GenerateContentConfig(
thinking_config=types.ThinkingConfig(thinking_budget=7500)
)
# ✅ After
config = types.GenerateContentConfig(
thinking_config=types.ThinkingConfig(thinking_level="medium")
)
Các giá trị có thể là: minimal, low, medium (mặc định) và high.
Gọi hàm: so khớp phản hồi nghiêm ngặt
API Tương tác đã báo lỗi về các phản hồi hàm không khớp. API GenerateContent hiện chưa báo lỗi, nhưng các phản hồi không khớp sẽ khiến mô hình trả về các phản hồi trống có finish_reason: STOP trong hầu hết các trường hợp. Luôn tuân thủ các quy ước sau:
| Yêu cầu | Thông tin chi tiết |
|---|---|
Đã tính id |
Mỗi FunctionResponse phải bao gồm id từ FunctionCall tương ứng |
Ván name |
name trong phản hồi phải khớp với name trong lệnh gọi |
| Số lượng trùng khớp | Trả về đúng một FunctionResponse cho mỗi FunctionCall nhận được |
Python
# ✅ Include matching id and name in the function response
final_response = client.models.generate_content(
model="gemini-3.5-flash",
config=config,
contents=[
*previous_contents,
response.candidates[0].content,
types.Content(role="user", parts=[
types.Part.from_function_response(
name=tool_call.name,
response={"result": result},
id=tool_call.id,
)
]),
],
)
JavaScript
// ✅ Include matching id and name in the function response
const functionResponsePart = {
functionResponse: {
name: toolCall.name,
response: { result: result },
id: toolCall.id,
},
};
const finalResponse = await ai.models.generateContent({
model: "gemini-3.5-flash",
contents: [
...previousContents,
{ role: "model", parts: [{ functionCall: toolCall }] },
{ role: "user", parts: [functionResponsePart] },
],
config: config,
});
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": [
{"role": "user", "parts": [{"text": "..."}]},
{"role": "model", "parts": [{"functionCall": {"name": "my_function", "args": {...}}}]},
{"role": "user", "parts": [{"functionResponse": {"name": "my_function", "id": "call_id", "response": {"result": "..."}}}]}
]
}'
Phản hồi của hàm đa phương thức
Chúng tôi thường thấy các ứng dụng cung cấp hình ảnh bên ngoài phản hồi của hàm. Điều này có thể dẫn đến hành vi không mong muốn của mô hình (ví dụ: rò rỉ suy nghĩ) và dẫn đến kết quả đầu ra có chất lượng thấp hơn. Thay vào đó, hãy làm theo đề xuất trong tài liệu về Multimodal Function Responses API và đưa nội dung đa phương thức vào các phần phản hồi của hàm mà bạn gửi đến mô hình. Mô hình có thể xử lý nội dung đa phương thức này trong lượt tiếp theo để đưa ra câu trả lời có nhiều thông tin hơn.
Python
# ✅ Include multimodal content in the function response
final_response = client.models.generate_content(
model="gemini-3.5-flash",
config=config,
contents=[
*previous_contents,
response.candidates[0].content,
types.Content(role="user", parts=[
types.Part.from_function_response(
name=tool_call.name,
response={
"result": "instrument.jpg",
"image": base64_image_data,
},
id=tool_call.id,
)
]),
],
)
JavaScript
// ✅ Include multimodal content in the function response
const finalResponse = await ai.models.generateContent({
model: "gemini-3.5-flash",
contents: [
...previousContents,
{ role: "model", parts: [{ functionCall: toolCall }] },
{
role: "user",
parts: [{
functionResponse: {
name: toolCall.name,
id: toolCall.id,
response: {
result: "instrument.jpg",
image: base64ImageData,
},
},
}],
},
],
config: config,
});
Hướng dẫn cùng dòng trong câu trả lời của hàm
Chúng ta thường thấy các ứng dụng cung cấp thêm hướng dẫn cùng với các phản hồi của hàm dưới dạng Parts tiếp theo. Điều này có thể dẫn đến hành vi không mong muốn của mô hình (ví dụ: rò rỉ suy nghĩ) và dẫn đến kết quả đầu ra có chất lượng thấp hơn. Thay vào đó, hãy thêm mọi hướng dẫn bổ sung vào cuối văn bản phản hồi của hàm, cách nhau bằng hai dòng mới.
Python
# ✅ Append inline instructions to the end of the function response separated by two newlines
result_text = f"{json.dumps(result)}\n\n<your inline instructions>"
final_response = client.models.generate_content(
model="gemini-3.5-flash",
config=config,
contents=[
*previous_contents,
response.candidates[0].content,
types.Content(role="user", parts=[
types.Part.from_function_response(
name=tool_call.name,
response={"result": result_text},
id=tool_call.id,
)
]),
],
)
JavaScript
// ✅ Append inline instructions to the end of the function response separated by two newlines
const resultText = `${JSON.stringify(result)}\n\n<your inline instructions>`;
const finalResponse = await ai.models.generateContent({
model: "gemini-3.5-flash",
contents: [
...previousContents,
{ role: "model", parts: [{ functionCall: toolCall }] },
{
role: "user",
parts: [{
functionResponse: {
name: toolCall.name,
id: toolCall.id,
response: { result: resultText },
},
}],
},
],
config: config,
});
Giảm các lệnh gọi công cụ không cần thiết
Nếu bạn gặp phải tình trạng sử dụng quá nhiều lệnh gọi công cụ, thì có 2 kỹ thuật giúp giảm thiểu tình trạng này:
Bắt đầu bằng cách giảm cấp độ tư duy (
medium,lowhoặcminimal): Cấp độ tư duy càng cao thì mô hình càng được khuyến khích sử dụng nhiều công cụ hơn để khám phá và xác minh, vì vậy, việc giảm cấp độ có thể giảm số lượng lệnh gọi công cụ.Thêm chỉ dẫn hệ thống: Nếu tình trạng sử dụng quá mức vẫn tiếp diễn sau khi điều chỉnh mức độ tư duy, hãy cân nhắc một câu lệnh hạn chế việc sử dụng công cụ. Ví dụ:
You have a limited action budget of <n> tool calls. Use them efficiently.
Danh sách kiểm tra cho quy trình di chuyển
Di chuyển từ Gemini 3 Flash (Bản xem trước)
- Cập nhật tên mô hình:
gemini-3-flash-preview→gemini-3.5-flash - Xem lại giá. Gemini 3.5 Flash đắt hơn Gemini 3 Flash Preview. Hãy xem trang giá để biết thông tin chi tiết.
- Xoá
temperature,top_p,top_kkhỏi cấu hình (không còn được đề xuất nữa). - Thay thế
thinking_budgetvớithinking_level. - Thêm
idvànametương ứng vào tất cả các phầnFunctionResponse. - Kiểm thử câu lệnh. Đã thay đổi mức độ nỗ lực mặc định từ
high→medium; xác minh chất lượng, tốc độ và chi phí. - Tính năng lưu giữ suy nghĩ hiện đang bật theo mặc định. Ngữ cảnh suy luận được chuyển tiếp qua các lượt, giúp cải thiện hiệu suất nhưng có thể làm tăng mức sử dụng token.
- Giảm số lượng lệnh gọi công cụ không cần thiết: bắt đầu bằng cách giảm mức độ suy nghĩ (
medium,lowhoặcminimal); thêm một chỉ dẫn hệ thống để hạn chế việc sử dụng công cụ nếu tình trạng sử dụng quá mức vẫn tiếp diễn. - Sử dụng máy tính hiện không được hỗ trợ trong Gemini 3.5 Flash. Đối với khối lượng công việc Sử dụng máy tính, hãy tiếp tục sử dụng Gemini 3 Flash Preview.
Di chuyển từ Gemini 2.5
Tất cả các phương án trên, cộng thêm:
- Đơn giản hoá câu lệnh. Nếu bạn đã sử dụng kỹ thuật thiết kế câu lệnh theo chuỗi suy luận để buộc suy luận, hãy thử
thinking_level: "medium"hoặc"high"với câu lệnh đơn giản hơn. - Kiểm thử khối lượng công việc liên quan đến tệp PDF và nội dung nghe nhìn. Nếu bạn dựa vào hành vi cụ thể để phân tích cú pháp tài liệu dày đặc, hãy kiểm tra chế độ cài đặt
media_resolution_highđể đảm bảo độ chính xác liên tục. Việc di chuyển sang chế độ mặc định Gemini 3 cũng có thể làm tăng mức sử dụng mã thông báo cho tệp PDF nhưng giảm mức sử dụng mã thông báo cho video; nếu các yêu cầu vượt quá cửa sổ ngữ cảnh, hãy giảm rõ ràngmedia_resolution. Hãy xem tài liệu về độ phân giải của nội dung nghe nhìn để biết thông tin chi tiết. - Tận dụng việc sử dụng kết hợp các công cụ. Bạn có thể sử dụng Google Tìm kiếm, ngữ cảnh URL, hoạt động thực thi mã và các hàm tuỳ chỉnh trong cùng một yêu cầu.
- Nếu sử dụng câu trả lời đa phương thức cho hàm, hãy di chuyển nội dung đa phương thức vào bên trong các phần câu trả lời cho hàm, chứ không phải bên cạnh các phần đó.
- Nếu sử dụng hướng dẫn nội tuyến với các phản hồi của hàm, hãy thêm hướng dẫn đó vào văn bản phản hồi của hàm, cách nhau bằng hai dòng mới, chứ không phải là các phần riêng biệt.
- Gemini 3.x không hỗ trợ tính năng phân đoạn hình ảnh. Đối với các khối lượng công việc phân đoạn, hãy tiếp tục sử dụng Gemini 2.5 Flash khi tắt chế độ tư duy hoặc Gemini Robotics-ER 1.6.
Các tính năng dành cho gia đình của Gemini 3
Gemini 3.5 Flash có tất cả các chức năng của nhóm mô hình Gemini 3, ngoại trừ chức năng Sử dụng máy tính. Các tính năng được giới thiệu trong Gemini 3 và vẫn được duy trì:
- Tư duy: Bối cảnh suy luận được mã hoá vẫn được giữ nguyên trong các lệnh gọi API. Tự động trong Interactions API; ngầm trong GenerateContent.
- Đầu ra có cấu trúc bằng các công cụ: Kết hợp chế độ JSON với các công cụ tích hợp (Tìm kiếm, bối cảnh URL, thực thi mã, gọi hàm).
- Phản hồi bằng hàm đa phương thức: Trả về hình ảnh, âm thanh và nội dung nghe nhìn khác trong kết quả lệnh gọi hàm.
- Thực thi mã bằng hình ảnh: Thực thi mã xử lý và tạo hình ảnh.
- Kết hợp sử dụng công cụ: Sử dụng các công cụ tích hợp và lệnh gọi hàm tuỳ chỉnh trong cùng một yêu cầu.
Các bước tiếp theo
- Đọc thêm về dòng Gemini 3 trong hướng dẫn dành cho nhà phát triển Gemini 3
- Tìm hiểu thêm về các chiến lược thiết kế câu lệnh trong hướng dẫn kỹ thuật tạo câu lệnh.
- Làm quen với Gemini 3 Cookbook
- Tìm hiểu về hoạt động tối ưu hoá và suy luận của Gemini API