เครื่องมือการใช้คอมพิวเตอร์ช่วยให้คุณสร้างเอเจนต์ควบคุมเบราว์เซอร์ อุปกรณ์เคลื่อนที่ และเดสก์ท็อป ที่โต้ตอบและทำงานโดยอัตโนมัติได้ การใช้ภาพหน้าจอทำให้โมเดล "เห็น" หน้าจอคอมพิวเตอร์ และ "ดำเนินการ" โดยสร้างการดำเนินการ UI ที่เฉพาะเจาะจง เช่น การคลิกเมาส์ และการป้อนข้อมูลด้วยแป้นพิมพ์ คุณจะต้องใช้สภาพแวดล้อมการดำเนินการฝั่งไคลเอ็นต์เพื่อรับและดำเนินการกับการดำเนินการด้านการใช้งานคอมพิวเตอร์ เช่นเดียวกับการเรียกใช้ฟังก์ชัน
Gemini 3.5 Flash เป็นโมเดลที่แนะนำสำหรับการใช้งานคอมพิวเตอร์ และมาพร้อมความสามารถใหม่ๆ หลายอย่าง ดังนี้
- การรองรับหลายสภาพแวดล้อม: สร้างเอเจนต์สำหรับสภาพแวดล้อมของเบราว์เซอร์ อุปกรณ์เคลื่อนที่ และเดสก์ท็อป
- การดำเนินการที่ปรับปรุงแล้วด้วยเจตนา: การดำเนินการมีฟิลด์
intentที่อธิบายการให้เหตุผลของโมเดลในแต่ละขั้นตอน - นโยบายความปลอดภัยที่กำหนดค่าได้: ปรับพฤติกรรมด้านความปลอดภัยให้เหมาะสมด้วยหมวดหมู่นโยบายและการลบล้างที่มีอยู่
- การตรวจหาการแทรกพรอมต์: เลือกใช้การสแกนภาพหน้าจอเพื่อตรวจหาคำสั่งที่เป็นอันตรายที่ซ่อนอยู่
การใช้คอมพิวเตอร์ช่วยให้คุณสร้างเอเจนต์ที่ทำสิ่งต่อไปนี้ได้
- ป้อนข้อมูลซ้ำๆ หรือกรอกแบบฟอร์มในเว็บไซต์โดยอัตโนมัติ
- ทำการทดสอบเว็บแอปพลิเคชันและโฟลว์ของผู้ใช้โดยอัตโนมัติ
- ทําการวิจัยในเว็บไซต์ต่างๆ (เช่น รวบรวมข้อมูลผลิตภัณฑ์ ราคา และรีวิวจากเว็บไซต์อีคอมเมิร์ซเพื่อประกอบการตัดสินใจซื้อ)
ต่อไปนี้คือตัวอย่างการเริ่มต้นไคลเอ็นต์และการส่งพรอมต์ไปยังโมเดลโดยเปิดใช้เครื่องมือ computer_use สำหรับสภาพแวดล้อมของเบราว์เซอร์
Python
from google import genai
client = genai.Client()
interaction = client.interactions.create(
model="gemini-3.6-flash",
input="Search for 'Gemini API' on Google.",
tools=[{"type": "computer_use", "environment": "browser"}]
)
print(interaction)
JavaScript
import { GoogleGenAI } from '@google/genai';
const ai = new GoogleGenAI();
const interaction = await ai.interactions.create({
model: 'gemini-3.6-flash',
input: "Search for 'Gemini API' on Google.",
tools: [{ type: "computer_use", environment: "browser" }]
});
console.log(interaction);
การทำงานของการใช้คอมพิวเตอร์
หากต้องการสร้างเอเจนต์ด้วยโมเดลการใช้คอมพิวเตอร์ คุณต้องตั้งค่า ลูปต่อเนื่องระหว่างแอปพลิเคชันกับ API โค้ดของคุณจะทำสิ่งต่อไปนี้ในแต่ละขั้นตอน
- ส่งคำขอไปยังโมเดล
- แอปพลิเคชันของคุณจะส่งคำขอ API ที่มีเครื่องมือการใช้งานคอมพิวเตอร์ การตั้งค่าการกำหนดค่า (เช่น สภาพแวดล้อมเป้าหมาย) พรอมต์ของผู้ใช้ และภาพหน้าจอของหน้าจอปัจจุบัน
- รับคำตอบของโมเดล
- โมเดลจะวิเคราะห์หน้าจอและพรอมต์ แล้วส่งคำตอบ
ซึ่งมี
function_callที่แนะนำซึ่งแสดงถึงการดำเนินการใน UI (เช่น การคลิก การเลื่อน หรือการกดแป้น) - สำหรับ Gemini 3.5 Flash คำตอบจะมีเหตุผล
intentที่อธิบายว่าเหตุใดโมเดลจึงเลือกการดำเนินการนั้น - การตอบกลับอาจรวมถึง
safety_decisionจากระบบความปลอดภัยภายใน ที่จัดประเภทการดำเนินการเป็นปกติ/อนุญาตrequire_confirmation(ต้องได้รับการอนุมัติจากผู้ใช้) หรือถูกบล็อก
- โมเดลจะวิเคราะห์หน้าจอและพรอมต์ แล้วส่งคำตอบ
ซึ่งมี
- ดำเนินการตามการกระทำที่ได้รับ
- หากได้รับอนุญาตให้ดำเนินการ (หรือผู้ใช้ยืนยัน) โค้ดฝั่งไคลเอ็นต์ จะแยกวิเคราะห์
function_callปรับขนาดพิกัดที่ปรับให้เป็นมาตรฐานให้ตรงกับ วิวพอร์ต และดำเนินการในสภาพแวดล้อมเป้าหมายโดยใช้ เครื่องมือการทำงานอัตโนมัติ (เช่น Playwright) หากการดำเนินการถูกบล็อก ไคลเอ็นต์ควรหยุดการดำเนินการหรือจัดการการหยุดชะงัก
- หากได้รับอนุญาตให้ดำเนินการ (หรือผู้ใช้ยืนยัน) โค้ดฝั่งไคลเอ็นต์ จะแยกวิเคราะห์
- บันทึกสถานะสภาพแวดล้อมใหม่
- หลังจากดำเนินการเสร็จแล้ว แอปพลิเคชันจะจับภาพหน้าจอใหม่
และส่งกลับไปยังโมเดลใน
function_resultเพื่อ ขอขั้นตอนถัดไป
- หลังจากดำเนินการเสร็จแล้ว แอปพลิเคชันจะจับภาพหน้าจอใหม่
และส่งกลับไปยังโมเดลใน
จากนั้นกระบวนการนี้จะทำซ้ำจากขั้นตอนที่ 2 โดยจะขอให้โมเดลดำเนินการต่อไปเรื่อยๆ จนกว่างานจะเสร็จสมบูรณ์หรือสิ้นสุด

วิธีใช้การใช้คอมพิวเตอร์
ก่อนที่จะสร้างด้วยเครื่องมือการใช้งานคอมพิวเตอร์ คุณจะต้องตั้งค่าสิ่งต่อไปนี้
- สภาพแวดล้อมการดำเนินการที่ปลอดภัย: เรียกใช้เอเจนต์ใน VM หรือคอนเทนเนอร์แซนด์บ็อกซ์เพื่อแยกเอเจนต์ออกจากระบบโฮสต์และจำกัดผลกระทบที่อาจเกิดขึ้น การใช้งานอ้างอิง มีแซนด์บ็อกซ์ที่ใช้ Docker พร้อมใช้งานซึ่งคุณใช้เป็นจุดเริ่มต้นได้
- ตัวแฮนเดิลการดำเนินการฝั่งไคลเอ็นต์: ใช้ตรรกะฝั่งไคลเอ็นต์เพื่อดำเนินการกับพิกัด พิมพ์ข้อความ และถ่ายภาพหน้าจอ
ตัวอย่างด้านล่างใช้เว็บเบราว์เซอร์เป็นสภาพแวดล้อมการดำเนินการและ Playwright เป็นตัวแฮนเดิลฝั่งไคลเอ็นต์
0. ตั้งค่า Playwright
ก่อนอื่น ให้ติดตั้งแพ็กเกจที่จำเป็น
pip install google-genai playwright
playwright install chromium
จากนั้นเริ่มต้นอินสแตนซ์เบราว์เซอร์ Playwright เพื่อใช้ในการดำเนินการ
from playwright.sync_api import sync_playwright
# 1. Configure screen dimensions for the target environment
SCREEN_WIDTH = 1440
SCREEN_HEIGHT = 900
# 2. Start the Playwright browser
# In production, utilize a sandboxed environment.
playwright = sync_playwright().start()
# Set headless=False to see the actions performed on your screen
browser = playwright.chromium.launch(headless=False)
# 3. Create a context and page with the specified dimensions
context = browser.new_context(
viewport={"width": SCREEN_WIDTH, "height": SCREEN_HEIGHT}
)
page = context.new_page()
# 4. Navigate to an initial page to start the task
page.goto("https://www.google.com")
# The 'page', 'SCREEN_WIDTH', and 'SCREEN_HEIGHT' variables
# will be used in the steps below.
1. ส่งคำขอไปยังโมเดล
เริ่มต้นไลบรารีของไคลเอ็นต์และกำหนดค่าเครื่องมือการใช้งานคอมพิวเตอร์ โปรดทราบว่าไม่จำเป็นต้องระบุขนาดการแสดงผลเมื่อส่งคำขอ เนื่องจากโมเดลจะคาดการณ์พิกัดพิกเซลที่ปรับขนาดตามความสูงและความกว้างของหน้าจอ
Gemini 3.5 Flash (แนะนำ)
Python
ใช้ google-genai Python SDK (เวอร์ชัน 2.7.0 ขึ้นไป) เพื่อกำหนดค่าคำขอที่กำหนดเป้าหมายไปยังสภาพแวดล้อมของเบราว์เซอร์
from google import genai
client = genai.Client()
interaction = client.interactions.create(
model='gemini-3.6-flash',
input="Find a flight from SF to Hawaii on Jun 30th, coming back on Jul 6th",
tools=[
{
"type": "computer_use",
"environment": "browser",
"enable_prompt_injection_detection": True
}
]
)
print(interaction)
JavaScript
ใช้ @google/genai Node.js SDK เพื่อกำหนดค่าคำขอที่กำหนดเป้าหมายไปยังสภาพแวดล้อมของเบราว์เซอร์
import { GoogleGenAI } from '@google/genai';
const ai = new GoogleGenAI();
const interaction = await ai.interactions.create({
model: 'gemini-3.6-flash',
input: "Find a flight from SF to Hawaii on Jun 30th, coming back on Jul 6th",
tools: [
{
type: "computer_use",
environment: "browser",
enable_prompt_injection_detection: true
}
]
});
console.log(interaction);
REST
ใช้ curl เพื่อส่งคำขอ
curl -X