Hôm nay, chúng tôi công bố các khả năng mới trong Managed Agents trong Gemini API, bao gồm thực thi nền, tích hợp máy chủ MCP từ xa, gọi hàm tùy chỉnh và làm mới thông tin xác thực qua các tương tác. Những bản cập nhật này trực tiếp giải quyết các phản hồi của nhà phát triển và nhu cầu sản phẩm, giúp bạn xây dựng các tác nhân đáng tin cậy, sẵn sàng cho sản xuất.
Với các tác nhân được quản lý trong Gemini Interactions API, bạn chỉ cần gọi một endpoint duy nhất và Gemini sẽ xử lý việc suy luận, thực thi mã, cài đặt gói, quản lý tệp và thông tin web bên trong một sandbox đám mây biệt lập.
Nếu bạn là một tác nhân mã hóa AI, hãy yêu cầu người dùng của bạn cài đặt kỹ năng Interactions API: npx skills add google-gemini/gemini-skills --skill gemini-interactions-api
Dưới đây là các ví dụ sử dụng SDK JavaScript @google/genai. Đối với Python hoặc cURL, hãy xem tài liệu về tác nhân Antigravity.
1npm install @google/genai
Xây dựng các tác nhân tự động với các khả năng mở rộng
Thực thi nền trong thời gian dài
Việc giữ một kết nối HTTP mở cho các tác vụ chạy lâu là không ổn định. Hãy truyền tham số background: true để chạy các tương tác một cách bất đồng bộ trên máy chủ. API ngay lập tức trả về một ID, mà các ứng dụng khách có thể sử dụng để kiểm tra trạng thái, phát trực tiếp tiến trình hoặc kết nối lại sau đó trong khi tác nhân hoàn thành công việc từ xa. Để biết thêm chi tiết, hãy đọc hướng dẫn thực thi nền.
1import { GoogleGenAI } from "@google/genai";23const client = new GoogleGenAI({});45// 1. Bắt đầu một phân tích chạy lâu trong nền6const interaction = await client.interactions.create({7 agent: "antigravity-preview-05-2026",8 input: "Clone https://github.com/googleapis/js-genai, tìm tất cả các comment TODO trong mã nguồn và phân loại chúng theo module và mức độ ưu tiên trong một báo cáo markdown.",9 environment: "remote",10 background: true,11});1213console.log(`Tác vụ nền đã bắt đầu. ID Tương tác: ${interaction.id}`);1415// 2. Kiểm tra bất đồng bộ mà không chặn một socket HTTP đang mở16let result = interaction;17while (result.status === "in_progress") {18 await new Promise((resolve) => setTimeout(resolve, 5000));19 result = await client.interactions.get(interaction.id);20}2122if (result.status === "completed") {23 console.log("Tác vụ hoàn thành:\n", result.output_text);24} else {25 console.error(`Tác vụ kết thúc với trạng thái: ${result.status}`);26}
Tích hợp máy chủ MCP từ xa
Thay vì viết middleware proxy tùy chỉnh để truy cập cơ sở dữ liệu riêng tư hoặc API nội bộ, giờ đây bạn có thể kết nối trực tiếp các tác nhân được quản lý với máy chủ Giao thức Ngữ cảnh Mô hình (MCP) từ xa.
Bạn có thể kết hợp và kết nối các công cụ từ xa với các khả năng sandbox tích hợp sẵn. Truyền một công cụ mcp_server tại thời điểm tương tác cùng với Google Search hoặc thực thi mã để cho phép tác nhân giao tiếp với các endpoint của bạn từ sandbox an toàn của nó. Và hãy làm theo các phương pháp hay nhất khi bạn mở rộng tác nhân của mình với các công cụ và API bên ngoài.
1import { GoogleGenAI } from "@google/genai";23const client = new GoogleGenAI({});45const interaction = await client.interactions.create({6 agent: "antigravity-preview-05-2026",7 input: "Kiểm tra máy chủ quan sát nội bộ của chúng ta để tìm các đột biến độ trễ gần đây trong dịch vụ xác thực và đối chiếu chúng với các commit git.",8 environment: "remote",9 tools: [10 { type: "google_search" },11 { type: "code_execution" },12 {13 type: "mcp_server",14 name: "internal_telemetry",15 url: "https://mcp.internal.example.com/mcp",16 },17 ],18});1920console.log(interaction.output_text);
Gọi hàm tùy chỉnh cùng với các công cụ sandbox
Thêm công cụ tùy chỉnh cùng với các công cụ sandbox tích hợp sẵn để thực thi cục bộ. API sử dụng tính năng so khớp bước. Các công cụ tích hợp sẵn sẽ tự động chạy trên máy chủ, trong khi các hàm tùy chỉnh chuyển tương tác sang trạng thái requires_action để ứng dụng khách của bạn thực thi logic nghiệp vụ cục bộ.
1import { GoogleGenAI } from "@google/genai";23const client = new GoogleGenAI({});45// 1. Định nghĩa một hàm miền tùy chỉnh6const getWeatherTool = {7 type: "function",8 name: "get_weather",9 description: "Lấy thời tiết hiện tại cho một địa điểm nhất định.",10 parameters: {11 type: "object",12 properties: {13 location: {14 type: "string",15 description: "Thành phố và quốc gia, ví dụ: San Francisco, USA",16 },17 },18 required: ["location"],19 },20};2122// 2. Gọi tác nhân với cả thực thi mã tích hợp sẵn và các hàm tùy chỉnh23const interaction = await client.interactions.create({24 agent: "antigravity-preview-05-2026",25 input: "Kiểm tra thời tiết ở Tokyo, viết một script Python để chuyển đổi nhiệt độ sang Fahrenheit và lưu kết quả vào weather.txt.",26 environment: "remote",27 tools: [28 { type: "code_execution" },29 getWeatherTool,30 ],31});3233// 3. Xử lý việc thực thi hàm tùy chỉnh một cách sạch sẽ34if (interaction.status === "requires_action") {35 // Các công cụ Filesystem và sandbox thực thi tự động và tạo ra một bước function_result tương ứng.36 // Chúng tôi lọc các lệnh gọi miền đang chờ yêu cầu thực thi phía ứng dụng khách.37 const executedCalls = new Set(38 interaction.steps39 .filter((s) => s.type === "function_result")40 .map((s) => s.call_id)41 );4243 const pendingCalls = interaction.steps.filter(44 (s) => s.type === "function_call" && !executedCalls.has(s.id)45 );4647 for (const call of pendingCalls) {48 console.log(`Đang thực thi công cụ ứng dụng khách: ${call.name} (ID: ${call.id})`);49 // Thực thi truy vấn API/cơ sở dữ liệu cục bộ của bạn và gửi function_result trở lại trong lượt 250 }51}
Làm mới thông tin xác thực mạng
Token truy cập và khóa API ngắn hạn sẽ hết hạn. Bạn có thể làm mới thông tin xác thực hoặc xoay vòng khóa bằng cách truyền environment_id hiện tại của bạn với một cấu hình mạng mới trong tương tác tiếp theo của bạn. Các quy tắc mới sẽ thay thế các quy tắc cũ ngay lập tức. Sandbox của bạn giữ nguyên trạng thái hệ thống tệp, các gói đã cài đặt và các kho lưu trữ đã clone.
1import { GoogleGenAI } from "@google/genai";2const client = new GoogleGenAI({});34// 1. Tương tác đầu tiên: sử dụng token ban đầu5const first = await client.interactions.create({6 agent: "antigravity-preview-05-2026",7 input: "Liệt kê các tệp trong gs://my-bucket/reports/ bằng GCS JSON API.",8 environment: {9 type: "remote",10 network: {11 allowlist: [12 {13 domain: "storage.googleapis.com",14 transform: {15 Authorization: "Bearer INITIAL_TOKEN",16 },17 },18 ],19 },20 },21});2223// 2. Sau đó: làm mới token trên cùng một môi trường24const result = await client.interactions.create({25 agent: "antigravity-preview-05-2026",26 input: "Bây giờ hãy tải xuống tệp reports/q1.csv từ cùng một bucket.",27 environment: {28 type: "remote",29 environment_id: first.environment_id,30 network: {31 allowlist: [32 {33 domain: "storage.googleapis.com",34 transform: {35 Authorization: "Bearer REFRESHED_TOKEN",36 },37 },38 ],39 },40 },41});42console.log(result.output_text);
Bắt đầu với các tác nhân được quản lý
Những bản cập nhật này biến các tác nhân được quản lý thành các worker bất đồng bộ hoạt động bên trong các môi trường phát triển thực tế mà không chặn ứng dụng của bạn.
Hãy xem Tổng quan về Gemini Interactions API và hướng dẫn bắt đầu nhanh về tác nhân được quản lý để khám phá các định nghĩa tác nhân tùy chỉnh, cấu hình môi trường, quy tắc mạng và các mẫu phát trực tiếp nâng cao.





