Qwen 3.7 Plus đạt 79.0 điểm trên ScreenSpot Pro, một tiêu chuẩn để xem ảnh chụp màn hình và trả về tọa độ pixel chính xác để nhấp. Kỹ năng đơn lẻ đó là điều biến một mô hình trò chuyện thành một tác nhân sử dụng máy tính: phần mềm nhìn thấy màn hình, quyết định phải làm gì và thực hiện điều đó. Hướng dẫn này sẽ xây dựng một tác nhân hoạt động hoàn chỉnh bằng Python.
Chúng ta sẽ tìm hiểu về vòng lặp tác nhân, lời nhắc tạo ra các hành động đáng tin cậy từ mô hình, một ví dụ trình duyệt có thể chạy được với Playwright, cùng với các biện pháp bảo vệ về chi phí và an toàn mà bạn cần trước khi áp dụng nó vào bất kỳ tác vụ thực tế nào. Nếu bạn muốn tìm hiểu về nền tảng mô hình trước, hãy xem Tổng quan về Qwen 3.7 Plus của chúng tôi; đối với định dạng yêu cầu thô, hướng dẫn API Qwen 3.7 Plus bao gồm các tải trọng đa phương thức. Bạn sẽ kiểm tra các lệnh gọi của tác nhân trong Apidog trong quá trình thực hiện.
Tóm tắt
Một tác nhân sử dụng máy tính chạy một vòng lặp: chụp ảnh màn hình, gửi nó đến Qwen 3.7 Plus với một mục tiêu, nhận lại một hành động có cấu trúc như click (x, y), thực thi hành động đó bằng một trình điều khiển như Playwright, sau đó lặp lại cho đến khi mục tiêu được hoàn thành. Plus rất phù hợp vì khả năng định vị GUI và giá đa phương thức thấp. Các phần khó không phải là mô hình; mà là giới hạn vòng lặp, điều chỉnh tọa độ, kiểm soát chi phí token và tạo vùng an toàn cho các hành động để một cú nhấp chuột sai không thể gây hại.
Một tác nhân sử dụng máy tính thực sự làm gì
Bỏ qua những lời quảng cáo thổi phồng, nó thực hiện bốn bước lặp đi lặp lại:
- Nhận diện: chụp ảnh màn hình hoặc trang hiện tại.
- Quyết định: gửi ảnh chụp màn hình và mục tiêu đến mô hình, và nhận hành động tiếp theo.
- Thực hiện: thực thi hành động đó (nhấp, gõ, cuộn) thông qua trình điều khiển tự động hóa.
- Kiểm tra: chụp ảnh màn hình mới và quyết định xem mục tiêu đã hoàn thành chưa.
Mô hình là bước “quyết định”. Mọi thứ khác là công việc phụ trợ bạn kiểm soát.
Tại sao Qwen 3.7 Plus phù hợp
Có ba lý do. Khả năng định vị GUI của nó thuộc hàng tiên phong, vì vậy nó trả về tọa độ có thể sử dụng được thay vì các mô tả mơ hồ. Nó xử lý các quy trình làm việc kết hợp GUI và CLI, do đó cùng một tác nhân có thể nhấp vào một nút và chạy lệnh shell. Và với giá 0.40 USD cho mỗi triệu token đầu vào, nó đủ rẻ để thực hiện nhiều lệnh gọi thị giác mà một vòng lặp tác nhân yêu cầu. Để biết cách nó so sánh với phiên bản chỉ văn bản hàng đầu, hãy xem so sánh Qwen 3.7 Plus và Max của chúng tôi.

Bước quyết định: nhận một hành động rõ ràng
Bí quyết là giới hạn mô hình trong một bộ từ vựng hành động nhỏ và buộc xuất ra JSON. Văn xuôi lỏng lẻo khó thực hiện; một lược đồ chặt chẽ thì không.
import os, json, base64
from openai import OpenAI
client = OpenAI(
api_key=os.environ["DASHSCOPE_API_KEY"],
base_url="https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
)
SYSTEM = """You are a GUI agent. You see a screenshot and a goal.
Reply with ONE JSON action and nothing else:
{"action": "click", "x": <int>, "y": <int>}
{"action": "type", "text": "<string>"}
{"action": "scroll", "dy": <int>}
{"action": "done", "reason": "<string>"}
Coordinates are pixels in the screenshot you were given."""
def next_action(goal, png_bytes):
b64 = base64.b64encode(png_bytes).decode()
resp = client.chat.completions.create(
model="qwen3.7-plus",
messages=[
{"role": "system", "content": SYSTEM},
{"role": "user", "content": [
{"type": "text", "text": f"Goal: {goal}"},
{"type": "image_url",
"image_url": {"url": f"data:image/png;base64,{b64}"}},
]},
],
)
return json.loads(resp.choices[0].message.content)
Xác nhận ID mô hình chính xác trong tài liệu Model Studio trước khi triển khai, vì các định danh có thể thay đổi.
Vòng lặp hoàn chỉnh với Playwright
Playwright điều khiển một trình duyệt thực, vì vậy tác nhân hoạt động trên các trang thực tế. Một chi tiết sẽ giúp bạn tiết kiệm rất nhiều rắc rối: hãy làm cho độ phân giải ảnh chụp màn hình khớp với khung nhìn, để các tọa độ mà mô hình trả về tương ứng một đối một và bạn không cần phải tính toán tỷ lệ.
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch(headless=False)
page = browser.new_page(viewport={"width": 1280, "height": 800})
page.goto("https://example.com")
goal = "Open the pricing page and find the cheapest plan"
for step in range(15): # hard cap on steps
shot = page.screenshot() # 1280x800 PNG, matches viewport
action = next_action(goal, shot)
print(step, action)
if action["action"] == "done":
break
if action["action"] == "click":
page.mouse.click(action["x"], action["y"])
elif action["action"] == "type":
page.keyboard.type(action["text"])
elif action["action"] == "scroll":
page.mouse.wheel(0, action["dy"])
page.wait_for_timeout(800) # let the UI settle
browser.close()
Đó là một tác nhân thực sự. Nó sẽ điều hướng một trang web hướng tới một mục tiêu, từng hành động cụ thể một. Mô hình tương tự cũng hoạt động với các ứng dụng máy tính để bàn nếu bạn thay thế Playwright bằng một trình điều khiển máy tính để bàn và chụp ảnh màn hình cửa sổ hệ điều hành.
Chi phí và độ tin cậy
Ảnh chụp màn hình là phần tốn kém nhất. Mỗi ảnh được chuyển đổi thành token, và một hình ảnh rộng 1280 pixel có thể tốn vài nghìn token, do đó một vòng lặp 15 bước sẽ tiêu tốn tiền thực thông qua API. Hãy giảm thiểu nó bằng cách:
- Thu nhỏ và cắt. Gửi ảnh nhỏ nhất mà mô hình vẫn có thể đọc được. Cắt đến bảng điều khiển liên quan khi có thể.
- Giới hạn vòng lặp. Luôn giới hạn số bước, như ví dụ đã làm, để một tác nhân bị nhầm lẫn không thể chạy mãi mãi.
- Xác minh sau khi hành động. Coi mỗi hành động như một giả thuyết. Ảnh chụp màn hình tiếp theo xác nhận liệu nó có hoạt động hay không, và vòng lặp tự điều chỉnh.
Hướng dẫn của chúng tôi về giảm chi phí token tác nhân sẽ đi sâu hơn, và các ghi chú của chúng tôi về kết nối quy trình làm việc của tác nhân sẽ đề cập đến những điểm mà các vòng lặp này có thể bị hỏng trong thực tế.
Khi tác nhân bị kẹt
Ba lỗi thường xuyên xuất hiện, và mỗi lỗi đều có cách khắc phục đơn giản:
- Mô hình trả về văn xuôi thay vì JSON. Nhắc lại với một lời nhắc ngắn gọn “chỉ trả lời bằng JSON” và thử lại một lần trước khi từ bỏ. Một lược đồ chặt chẽ cộng với một bước sửa chữa sẽ khắc phục gần như tất cả các trường hợp này.
- Một cú nhấp chuột trượt mục tiêu. Ảnh chụp màn hình tiếp theo cho thấy không có gì thay đổi, vì vậy hãy thêm một quy tắc thử lại với ảnh chụp màn hình mới thay vì lặp lại cùng một tọa độ một cách mù quáng.
- Vòng lặp quay mà không có tiến triển. Theo dõi một vài hành động gần đây; nếu chúng lặp lại, hãy dừng lại và hiển thị ảnh chụp màn hình cho con người. Giới hạn bước là biện pháp dự phòng của bạn.
An toàn
Một tác nhân sử dụng máy tính thực sự nhấp vào các thứ. Trước khi nó chạm vào bất cứ thứ gì quan trọng:
- Chạy nó trong môi trường thử nghiệm (sandbox) hoặc hồ sơ trình duyệt dùng một lần, không bao giờ chạy trong phiên làm việc sản xuất đã đăng nhập của bạn.
- Yêu cầu xác nhận từ con người đối với các hành động phá hủy như xóa, gửi hoặc thanh toán.
- Ghi nhật ký mọi hành động kèm theo ảnh chụp màn hình để bạn có thể kiểm tra những gì tác nhân đã làm và tại sao.
Kiểm tra các lệnh gọi của tác nhân bằng Apidog
Hầu hết các lỗi của tác nhân đều xuất phát từ một câu hỏi: liệu mô hình có trả về một hành động hợp lệ không? Trước khi bạn kết nối Playwright, hãy làm rõ điều đó. Sử dụng Apidog để gửi một ảnh chụp màn hình mẫu đến Qwen 3.7 Plus, kiểm tra JSON thô mà nó trả về và điều chỉnh lời nhắc hệ thống của bạn cho đến khi lược đồ hành động luôn trả về rõ ràng. Lưu khóa Model Studio của bạn cho mỗi môi trường và giả lập điểm cuối để bạn có thể xây dựng vòng lặp mà không tốn token trong mỗi lần chạy thử nghiệm. Khi vòng lặp hoàn chỉnh đang nối chuỗi các lệnh gọi, trình gỡ lỗi tác nhân AI của Apidog sẽ hiển thị chuỗi để bạn có thể tìm thấy bước nào đã bị lỗi.

Để tạo mã giao diện người dùng từ một thiết kế thay vì điều khiển một cái, hãy xem hướng dẫn đi kèm của chúng tôi về chuyển đổi ảnh chụp màn hình sang mã với Qwen 3.7 Plus.
Tải xuống Apidog để kiểm tra và gỡ lỗi các lệnh gọi mô hình phía sau tác nhân của bạn.
Câu hỏi thường gặp
Tác nhân sử dụng máy tính là gì? Phần mềm nhận diện màn hình thông qua ảnh chụp màn hình, quyết định hành động bằng một mô hình và thực thi hành động đó thông qua trình điều khiển tự động hóa, lặp lại cho đến khi đạt được mục tiêu.
Qwen 3.7 Plus có thể điều khiển máy tính để bàn của tôi không? Mô hình chỉ trả về các hành động. Bạn thực thi chúng bằng một trình điều khiển. Kết hợp nó với Playwright cho trình duyệt hoặc thư viện tự động hóa máy tính để bàn cho các ứng dụng gốc.
Mỗi bước tốn bao nhiêu? Chủ yếu là ảnh chụp màn hình. Một hình ảnh màn hình có thể tốn vài nghìn token đầu vào với giá 0.40 USD/triệu, vì vậy việc giảm tỷ lệ và giới hạn vòng lặp là các yếu tố chính để kiểm soát chi phí.
Nó có đủ độ tin cậy để sử dụng trong sản xuất không? Đối với các tác vụ có giới hạn, được xác định rõ ràng với xác minh sau mỗi bước, thì có. Đối với việc kiểm soát các hệ thống quan trọng một cách mở, hãy luôn có con người giám sát và tạo vùng an toàn cho mọi thứ.
Tôi có cần điều chỉnh tỷ lệ tọa độ không? Không nếu độ phân giải ảnh chụp màn hình của bạn khớp với khung nhìn của bạn. Nếu chúng khác nhau, hãy điều chỉnh tỷ lệ tọa độ trả về theo tỷ lệ giữa chúng.
Kết luận
Một tác nhân sử dụng máy tính là một vòng lặp ngắn xoay quanh một mô hình có khả năng, và Qwen 3.7 Plus cung cấp cho bạn nền tảng và chi phí để chạy nó. Hãy xây dựng vòng lặp, giới hạn nó, tạo vùng an toàn cho nó và xác minh từng bước. Sau đó, kiểm tra các lệnh gọi mô hình trong Apidog để bước “quyết định” được vững chắc trước khi tác nhân bắt đầu nhấp chuột.
