Antigravity Agent

وكيل Antigravity هو وكيل مُدار متعدد الأغراض على Gemini API. يمنحك طلب بيانات من واجهة برمجة التطبيقات واحد وكيلاً يستنتج وينفّذ الرموز البرمجية ويدير الملفات ويتصفّح الويب داخل وضع الحماية الآمن الخاص بك على Linux الذي تستضيفه Google.

يعتمد هذا الوكيل على نموذج Gemini 3.5 Flash ويستخدم نفس أداة الاختبار التي تستخدمها بيئة Antigravity IDE. يمكنك الوصول إليه من خلال Interactions API وGoogle AI Studio.

Python

from google import genai

client = genai.Client()

interaction = client.interactions.create(
    agent="antigravity-preview-05-2026",
    input="Read Hacker News, summarize the top 10 stories, and save the results as a PDF.",
    environment="remote",
)

print(interaction.output_text)

JavaScript

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

const client = new GoogleGenAI({});

const interaction = await client.interactions.create({
    agent: "antigravity-preview-05-2026",
    input: "Read Hacker News, summarize the top 10 stories, and save the results as a PDF.",
    environment: "remote",
}, { timeout: 300000 });

console.log(interaction.output_text);

REST

curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "Content-Type: application/json" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-d '{
    "agent": "antigravity-preview-05-2026",
    "input": "Read Hacker News, summarize the top 10 stories, and save the results as a PDF.",
    "environment": "remote"
}'

الإمكانات

يمكن لكل طلب توفير وضع حماية على Linux وبدء حلقة استخدام الأدوات. يخطّط الوكيل ويتخذ إجراءً ويراقب النتائج ويكرّر العملية إلى أن تكتمل المهمة.

  • تنفيذ الرموز البرمجية: يمكنك تشغيل أوامر Bash وPython وNode.js. وتثبيت الحِزم وتشغيل الاختبارات وإنشاء التطبيقات.
  • إدارة الملفات: يمكنك قراءة الملفات وكتابتها وتعديلها والبحث عنها وإدراجها في وضع الحماية. وتظل الملفات محفوظة بين التفاعلات.
  • الوصول إلى الويب: يمكنك استخدام "بحث Google" وجلب عناوين URL للبيانات.
  • ضغط السياق: يتم ضغط السياق تلقائيًا (عند بلوغ ~135 ألف رمز مميّز) لدعم الجلسات الطويلة للمحادثات المترابطة بدون فقدان السياق أو بلوغ الحدود القصوى للرموز المميّزة.

يمكنك الاطّلاع على دليل البدء السريع لمعرفة كيفية استخدام المحادثات المترابطة والبث.

الأدوات المتوافقة

يتمكّن الوكيل تلقائيًا من الوصول إلى code_execution وgoogle_search وurl_context. ويتم تفعيل أدوات نظام الملفات تلقائيًا عند تحديد المَعلمة environment. يمكنك أيضًا تحديد وظائف مخصّصة لربط الوكيل بواجهات برمجة التطبيقات والأدوات الخاصة بك. عليك تحديد المَعلمة tools فقط عند تخصيص المجموعة التلقائية أو تقييدها، أو عند إضافة وظائف مخصّصة.

الأداة قيمة النوع الوصف
تنفيذ الرموز البرمجية code_execution يمكنك تشغيل أوامر shell (مثل bash وPython وNode) مع تسجيل الإخراج العادي والأخطاء.
بحث Google google_search يمكنك البحث في شبكة الويب المتاحة للجميع.
سياق عنوان URL url_context يمكنك جلب صفحات الويب وقراءتها.
نظام الملفات (يتم تفعيله من خلال environment) يمكنك قراءة الملفات وكتابتها وتعديلها والبحث عنها وإدراجها في وضع الحماية. لا يوجد نوع أداة منفصل، ويتم تفعيلها تلقائيًا عند ضبط environment.
الوظائف المخصصة function يمكنك تحديد وظائف مخصّصة يمكن للوكيل طلب تنفيذها. يُرجى الاطّلاع على استدعاء الدالة.
خادم MCP بعيد mcp_server يمكنك تسجيل خوادم بروتوكول سياق النموذج (MCP) الخارجية كأدوات. يُرجى الاطّلاع على خوادم MCP.

لتقييد الوكيل بأدوات معيّنة، مرِّر الأدوات التي تحتاج إليها فقط:

Python

from google import genai

client = genai.Client()

interaction = client.interactions.create(
    agent="antigravity-preview-05-2026",
    input="Search for the latest AI research papers on reasoning and summarize them.",
    environment="remote",
    tools=[
        {"type": "google_search"},
        {"type": "url_context"},
    ],
)

print(interaction.output_text)

JavaScript

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

const client = new GoogleGenAI({});

const interaction = await client.interactions.create({
    agent: "antigravity-preview-05-2026",
    input: "Search for the latest AI research papers on reasoning and summarize them.",
    environment: "remote",
    tools: [
        { type: "google_search" },
        { type: "url_context" },
    ],
}, { timeout: 300000 });

console.log(interaction.output_text);

REST

curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "Content-Type: application/json" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-d '{
    "agent": "antigravity-preview-05-2026",
    "input": "Search for the latest AI research papers on reasoning and summarize them.",
    "environment": "remote",
    "tools": [
        {"type": "google_search"},
        {"type": "url_context"}
    ]
}'

الإدخال المتعدد الوسائط

يتوافق وكيل Antigravity مع الإدخالات المتعددة الوسائط. لا تتوافق حاليًا سوى إدخالات text وimage. يجب تقديم الصور كسلاسل مضمّنة مشفّرة بترميز base64 (data).

Python

import base64
from google import genai

client = genai.Client()

with open("path/to/chart.png", "rb") as f:
    image_bytes = f.read()

interaction_inline = client.interactions.create(
    agent="antigravity-preview-05-2026",
    input=[
        {"type": "text", "text": "Analyze this chart and summarize the trends."},
        {
            "type": "image",
            "data": base64.b64encode(image_bytes).decode("utf-8"),
            "mime_type": "image/png",
        },
    ],
    environment="remote",
)

JavaScript


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

import * as fs from "node:fs";

const client = new GoogleGenAI({});
const base64Image = fs.readFileSync("path/to/chart.png", { encoding: "base64" });

const interactionInline = await client.interactions.create({
    agent: "antigravity-preview-05-2026",
    input: [
        { type: "text", text: "Analyze this chart and summarize the trends." },
        {
            type: "image",
            data: base64Image,
            mime_type: "image/png",
        },
    ],
    environment: "remote",
}, { timeout: 300000 });

REST

BASE64_IMAGE=$(base64 -w0 /path/to/chart.png)

curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "Content-Type: application/json" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-d "{
    \"agent\": \"antigravity-preview-05-2026\",
    \"input\": [
        {\"type\": \"text\", \"text\": \"Analyze this chart and summarize the trends.\"},
        {
            \"type\": \"image\",
            \"mime_type\": \"image/png\",
            \"data\": \"$BASE64_IMAGE\"
        }
    ],
    \"environment\": \"remote\"
}"

استدعاء الدالة

تتيح لك ميزة استدعاء الدوال ربط وكيل Antigravity بواجهات برمجة التطبيقات وقواعد البيانات الخارجية من خلال تحديد أدوات مخصّصة يمكن للوكيل استدعاؤها. للاطّلاع على المفاهيم العامة، يُرجى قراءة مقالة استدعاء الدوال باستخدام Gemini API.

يوضّح المثال التالي تفاعلاً من دورَين. يطلب الوكيل أولاً استدعاء دالة get_weather مخصّصة، وينفّذها العميل ويعرض النتيجة في الدور الثاني.

Python

from google import genai

client = genai.Client()

# 1. Define the custom function
get_weather_tool = {
    "type": "function",
    "name": "get_weather",
    "description": "Gets the current weather for a given location.",
    "parameters": {
        "type": "object",
        "properties": {
            "location": {
                "type": "string",
                "description": "The city and country, e.g. San Francisco, USA",
            }
        },
        "required": ["location"],
    },
}

# 2. Call the agent with the custom tool (Turn 1)
interaction = client.interactions.create(
    agent="antigravity-preview-05-2026",
    input="What is the weather in Tokyo?",
    environment="remote",
    tools=[
        {"type": "code_execution"},  # Enable default code execution
        get_weather_tool,            # Add custom function
    ],
)

# Check if the agent requested a function call
if interaction.status == "requires_action":
    # Find function calls that do not have a matching function result.
    # Filesystem tools (like write_file) are also represented as function calls
    # but are executed automatically by the environment.
    executed_calls = {step.call_id for step in interaction.steps if step.type == "function_result"}
    pending_calls = [step for step in interaction.steps if step.type == "function_call" and step.id not in executed_calls]

    if pending_calls:
        fc_step = pending_calls[0]
        print(f"Function to call: {fc_step.name} (ID: {fc_step.id})")
        print(f"Arguments: {fc_step.arguments}")

        # 3. Execute the function locally (simulated get_weather()) and send the result back (Turn 2)
        function_result = {
            "temperature": 23,
            "unit": "celsius"
        }

        final_interaction = client.interactions.create(
            agent="antigravity-preview-05-2026",
            previous_interaction_id=interaction.id,  # Reference the interaction ID
            environment=interaction.environment_id,
            input=[
                {
                    "type": "function_result",
                    "name": fc_step.name,
                    "call_id": fc_step.id,
                    "result": function_result,
                }
            ],
        )

        print(final_interaction.output_text)
        # Output: The current weather in Tokyo, Japan is 23°C (Celsius).
    else:
        print("No pending function calls.")
else:
    print(f"Interaction completed with status: {interaction.status}")

JavaScript

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

const client = new GoogleGenAI({});

// 1. Define the custom function
const get_weather_tool = {
  type: "function",
  name: "get_weather",
  description: "Gets the current weather for a given location.",
  parameters: {
    type: "object",
    properties: {
      location: {
        type: "string",
        description: "The city and country, e.g. San Francisco, USA",
      },
    },
    required: ["location"],
  },
};

// 2. Call the agent with the custom tool (Turn 1)
const interaction = await client.interactions.create({
  agent: "antigravity-preview-05-2026",
  input: "What is the weather in Tokyo?",
  environment: "remote",
  tools: [
    { type: "code_execution" },
    get_weather_tool,
  ],
}, { timeout: 300000 });

if (interaction.status === "requires_action") {
  // Find function calls that do not have a matching function result.
  // Filesystem tools (like write_file) are also represented as function calls
  // but are executed automatically by the environment.
  const executedCalls = new Set(
    interaction.steps
      .filter(s => s.type === "function_result")
      .map(s => s.call_id)
  );
  const pendingCalls = interaction.steps.filter(
    s => s.type === "function_call" && !executedCalls.has(s.id)
  );

  if (pendingCalls.length > 0) {
    const fcStep = pendingCalls[0];
    console.log(`Function to call: ${fcStep.name} (ID: ${fcStep.id})`);

    // 3. Execute the function locally (simulated get_weather()) and send the result back (Turn 2)
    const functionResult = {
      temperature: 23,
      unit: "celsius"
    };

    const finalInteraction = await client.interactions.create({
      agent: "antigravity-preview-05-2026",
      previous_interaction_id: interaction.id, // Reference the interaction ID
      environment: interaction.environment_id,
      input: [
        {
          type: "function_result",
          name: fcStep.name,
          call_id: fcStep.id,
          result: functionResult,
        }
      ],
    }, { timeout: 300000 });

    console.log(finalInteraction.output_text);
  } else {
    console.log("No pending function calls.");
  }
} else {
  console.log(`Interaction completed with status: ${interaction.status}`);
}

REST

# 1. Turn 1: Request function call
RESPONSE=$(curl -s -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "Content-Type: application/json" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -d '{
      "agent": "antigravity-preview-05-2026",
      "input": "What is the weather in Tokyo?",
      "environment": "remote",
      "tools": [
          {"type": "code_execution"},
          {
              "type": "function",
              "name": "get_weather",
              "description": "Gets the current weather for a given location.",
              "parameters": {
                  "type": "object",
                  "properties": {
                      "location": {"type": "string"}
                  },
                  "required": ["location"]
              }
          }
      ]
  }')

# Extract interaction ID, environment ID, and call ID (requires jq)
INTERACTION_ID=$(echo $RESPONSE | jq -r '.id')
ENVIRONMENT_ID=$(echo $RESPONSE | jq -r '.environment_id')
CALL_ID=$(echo $RESPONSE | jq -r '.steps[] | select(.type=="function_call") | .id')

# 2. Turn 2: Send function result back using variables
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "Content-Type: application/json" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -d "{
      \"agent\": \"antigravity-preview-05-2026\",
      \"previous_interaction_id\": \"$INTERACTION_ID\",
      \"environment\": \"$ENVIRONMENT_ID\",
      \"input\": [
          {
              \"type\": \"function_result\",
              \"name\": \"get_weather\",
              \"call_id\": \"$CALL_ID\",
              \"result\": {
                  \"temperature\": 23,
                  \"unit\": \"celsius\"
              }
          }
      ]
  }"

خوادم MCP

يمكنك ربط وكيل Antigravity بأدوات خارجية من خلال تسجيل خوادم بروتوكول سياق النموذج (MCP) البعيدة. يتوافق الوكيل مع خوادم MCP البعيدة عبر بروتوكول HTTP القابل للبث.

عند تسجيل خادم MCP، عليك تحديد الحقول التالية في صفيف tools:

الحقل النوع مطلوب الوصف
type سلسلة نعم يجب أن تكون القيمة "mcp_server".
name سلسلة نعم معرّف فريد للخادم يجب أن يكون اسم الخادم بأحرف صغيرة وأرقام فقط (مطابقًا للتعبير العادي ^[a-z0-9_-]+$).
url سلسلة نعم عنوان URL لنقطة نهاية خادم MCP البعيد
headers عنصر لا رؤوس مخصّصة (مثل المصادقة) يتم إرسالها مع الطلبات
allowed_tools صفيف لا قائمة بأسماء الأدوات المسموح بتنفيذها إذا تم حذف هذا الحقل، يُسمح بجميع الأدوات.

Python

from google import genai

client = genai.Client()

# Register a remote HTTP MCP server
interaction = client.interactions.create(
    agent="antigravity-preview-05-2026",
    input="What is the weather in Tokyo?",
    environment="remote",
    tools=[{
        "type": "mcp_server",
        "name": "weather", # Must be lowercase
        "url": "https://gemini-api-demos.uc.r.appspot.com/mcp"
    }]
)

print(interaction.output_text)

JavaScript

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

const client = new GoogleGenAI({});

const interaction = await client.interactions.create({
    agent: "antigravity-preview-05-2026",
    input: "What is the weather in Tokyo?",
    environment: "remote",
    tools: [{
        type: "mcp_server",
        name: "weather", // Must be lowercase
        url: "https://gemini-api-demos.uc.r.appspot.com/mcp"
    }]
}, { timeout: 300000 });

console.log(interaction.output_text);

REST

curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "Content-Type: application/json" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -d '{
      "agent": "antigravity-preview-05-2026",
      "input": "What is the weather in Tokyo?",
      "environment": "remote",
      "tools": [{
          "type": "mcp_server",
          "name": "weather",
          "url": "https://gemini-api-demos.uc.r.appspot.com/mcp"
      }]
  }'

تخصيص الوكيل

يمكنك توسيع وكيل Antigravity من خلال تخصيص التعليمات والأدوات والبيئة. يتوافق الوكيل مع طريقة التخصيص الأصلية لنظام الملفات: يمكنك ربط ملفات مثل AGENTS.md للتعليمات والمهارات ضمن .agents/skills/ مباشرةً بوضع الحماية، أو تمرير الإعدادات المضمّنة في وقت التفاعل. يمكنك تكرار الإعدادات المضمّنة ثم حفظها كوكيل مُدار عندما تكون جاهزًا.

لمعرفة التفاصيل الكاملة حول كيفية إنشاء وكلاء مخصّصين، يُرجى الاطّلاع على مقالة إنشاء وكلاء مُدارين.

التنفيذ في الخلفية

يمكن أن تستغرق مهام الوكيل التي تتضمّن الاستنتاج المتعدد الخطوات أو تنفيذ الرموز البرمجية أو عمليات الملفات دقائق لإكمالها. استخدِم background=True لتشغيل التفاعل بشكل غير متزامن. تعرض واجهة برمجة التطبيقات على الفور معرّف تفاعل يمكنك طلبه إلى أن تصبح الحالة completed أو failed.

Python

import time
from google import genai

client = genai.Client()

# 1. Start the interaction in the background
interaction = client.interactions.create(
    agent="antigravity-preview-05-2026",
    input="Run a complex analysis on the repository.",
    environment="remote",
    background=True,
)

print(f"Interaction started in background: {interaction.id}")

# 2. Poll for completion
while interaction.status == "in_progress":
    time.sleep(5)
    interaction = client.interactions.get(id=interaction.id)

if interaction.status == "completed":
    print(interaction.output_text)
else:
    print(f"Finished with status: {interaction.status}")

JavaScript

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

const client = new GoogleGenAI({});

const interaction = await client.interactions.create({
    agent: "antigravity-preview-05-2026",
    input: "Run a complex analysis on the repository.",
    environment: "remote",
    background: true,
});

console.log(`Interaction started in background: ${interaction.id}`);

let result = interaction;
while (result.status === "in_progress") {
    await new Promise(resolve => setTimeout(resolve, 5000));
    result = await client.interactions.get(interaction.id);
}

if (result.status === "completed") {
    console.log(result.output_text);
} else {
    console.log(`Finished with status: ${result.status}`);
}

REST

# 1. Start the interaction in the background
RESPONSE=$(curl -s -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "Content-Type: application/json" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Api-Revision: 2026-05-20" \
  -d '{
      "agent": "antigravity-preview-05-2026",
      "input": "Run a complex analysis on the repository.",
      "environment": "remote",
      "background": true
  }')

INTERACTION_ID=$(echo $RESPONSE | jq -r '.id')

# 2. Poll for results (repeat until status is "completed")
curl -s -X GET "https://generativelanguage.googleapis.com/v1beta/interactions/$INTERACTION_ID" \
  -H "x-goog-api-key: $GEMINI_API_KEY"

يتطلّب التنفيذ في الخلفية store=True، وهو الإعداد التلقائي. للاطّلاع على آخر المعلومات عن التقدّم في الوقت الفعلي أثناء التنفيذ في الخلفية، يُرجى قراءة مقالة بث التفاعلات في الخلفية.

يمكنك إلغاء تفاعل قيد التشغيل في الخلفية باستخدام طريقة cancel.

Python

client.interactions.cancel(id="INTERACTION_ID")

JavaScript

await client.interactions.cancel({ id: "INTERACTION_ID" });

REST

curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions/INTERACTION_ID:cancel" \
  -H "x-goog-api-key: $GEMINI_API_KEY"

محادثة مترابطة مع التنفيذ في الخلفية

عندما يتضمّن تفاعل في الخلفية أدوات تحتفظ بالحالة (مثل تنفيذ الرموز البرمجية في وضع الحماية)، استخدِم environment_id من التفاعل المكتمل لمواصلة العمل في البيئة نفسها. يضمن ذلك أن يستأنف الوكيل العمل من حيث توقّف مع الاحتفاظ بجميع الملفات والحالة.

Python

import time
from google import genai

client = genai.Client()

# First turn: run a task in the background
interaction = client.interactions.create(
    agent="antigravity-preview-05-2026",
    input="Clone https://github.com/google/generative-ai-python and run its tests.",
    environment="remote",
    background=True,
)

while interaction.status == "in_progress":
    time.sleep(5)
    interaction = client.interactions.get(id=interaction.id)

# Second turn: continue in the same environment
followup = client.interactions.create(
    agent="antigravity-preview-05-2026",
    input="Fix any failing tests and re-run them.",
    previous_interaction_id=interaction.id,
    environment=interaction.environment_id,
    background=True,
)

while followup.status == "in_progress":
    time.sleep(5)
    followup = client.interactions.get(id=followup.id)

print(followup.output_text)

JavaScript

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

const client = new GoogleGenAI({});

// First turn: run a task in the background
let interaction = await client.interactions.create({
    agent: "antigravity-preview-05-2026",
    input: "Clone https://github.com/google/generative-ai-python and run its tests.",
    environment: "remote",
    background: true,
});

while (interaction.status === "in_progress") {
    await new Promise(resolve => setTimeout(resolve, 5000));
    interaction = await client.interactions.get(interaction.id);
}

// Second turn: continue in the same environment
let followup = await client.interactions.create({
    agent: "antigravity-preview-05-2026",
    input: "Fix any failing tests and re-run them.",
    previous_interaction_id: interaction.id,
    environment: interaction.environment_id,
    background: true,
});

while (followup.status === "in_progress") {
    await new Promise(resolve => setTimeout(resolve, 5000));
    followup = await client.interactions.get(followup.id);
}

console.log(followup.output_text);

REST

# 1. Start first interaction in the background
RESPONSE=$(curl -s -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "Content-Type: application/json" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Api-Revision: 2026-05-20" \
  -d '{
      "agent": "antigravity-preview-05-2026",
      "input": "Clone https://github.com/google/generative-ai-python and run its tests.",
      "environment": "remote",
      "background": true
  }')

INTERACTION_ID=$(echo $RESPONSE | jq -r '.id')

# 2. Poll until completed (repeat until status is "completed")
RESULT=$(curl -s -X GET "https://generativelanguage.googleapis.com/v1beta/interactions/$INTERACTION_ID" \
  -H "x-goog-api-key: $GEMINI_API_KEY")

ENVIRONMENT_ID=$(echo $RESULT | jq -r '.environment_id')

# 3. Continue in the same environment
curl -s -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "Content-Type: application/json" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Api-Revision: 2026-05-20" \
  -d "{
      \"agent\": \"antigravity-preview-05-2026\",
      \"input\": \"Fix any failing tests and re-run them.\",
      \"previous_interaction_id\": \"$INTERACTION_ID\",
      \"environment\": \"$ENVIRONMENT_ID\",
      \"background\": true
  }"

البيئات

ينشئ كل طلب وضع حماية على Linux أو يعيد استخدامه. تتخذ المَعلمة environment ثلاثة أشكال:

النموذج الوصف
"remote" يمكنك توفير وضع حماية جديد بالإعدادات التلقائية.
"env_abc123" يمكنك إعادة استخدام بيئة حالية حسب المعرّف، مع الاحتفاظ بجميع الملفات والحالة.
{...} يمكنك استخدام EnvironmentConfig كاملة مع مصادر مخصّصة وقواعد شبكة.

يُرجى الاطّلاع على البيئات لمعرفة التفاصيل حول المصادر (Git وGCS والمضمّنة) والشبكات ودورة الحياة والحدود القصوى للموارد.

التوفّر والأسعار

يتوفّر وكيل Antigravity في المعاينة من خلال Interactions API في Google AI Studio وGemini API.

تستند الأسعار إلى نموذج الدفع حسب الاستخدام استنادًا إلى الرموز المميّزة لنموذج Gemini الأساسي والأدوات التي يستخدمها الوكيل. على عكس طلب الدردشة العادي الذي ينتج عنه ناتج واحد، فإنّ تفاعل Antigravity هو سير عمل وكيل. يؤدي طلب واحد إلى تشغيل حلقة مستقلة من الاستنتاج وتنفيذ الأدوات وتشغيل الرموز البرمجية وإدارة الملفات.

التكاليف المقدَّرة

تختلف التكاليف حسب مدى تعقيد المهمة. يحدّد الوكيل بشكل مستقل عدد استدعاءات الأدوات وعمليات تنفيذ الرموز البرمجية وعمليات الملفات المطلوبة. تستند التقديرات التالية إلى عمليات التشغيل.

فئة المهمة الرموز المميّزة المدخَلة الرموز المميّزة الناتجة التكلفة النموذجية
البحث وتجميع المعلومات 100 ألف - 500 ألف 10 آلاف - 40 ألف 0.30–1.00 دولار أمريكي
إنشاء المستندات والمحتوى 100 ألف - 500 ألف 15 ألف - 50 ألف 0.30–1.30 دولار أمريكي
تصميم العمليات والأنظمة 100 ألف - 400 ألف 10 آلاف - 30 ألف 0.25–0.80 دولار أمريكي
معالجة البيانات وتحليلها 300 ألف - 3 ملايين 30 ألف - 150 ألف 0.70–3.25 دولار أمريكي

عادةً ما يتم تخزين 50 إلى 70% من الرموز المميّزة المدخَلة مؤقتًا. يمكن أن تجمع عمليات سير عمل الوكلاء المعقّدة التي تتضمّن العديد من استدعاءات الأدوات ما بين 3 و5 ملايين رمز مميّز في تفاعل واحد، مع تكاليف تصل إلى 5 دولارات أمريكية تقريبًا.

لا تتم فوترة حوسبة البيئة (وحدة المعالجة المركزية والذاكرة وتنفيذ وضع الحماية) خلال فترة المعاينة.

القيود

  • حالة المعاينة: وكيل Antigravity وInteractions API قد تتغيّر الميزات والمخططات.
  • إعدادات الإنشاء غير المتوافقة: لا تتوافق المَعلمات التالية وتعرض خطأ 400: temperature وtop_p وtop_k وstop_sequences وmax_output_tokens.
  • ناتج منظَّم: لا يتوافق وكيل Antigravity مع النواتج المنظَّمة.
  • الأدوات غير المتاحة: لا تتوافق حاليًا file_search وcomputer_use وgoogle_maps.
  • قيود خادم MCP البعيد: لا يتوافق نقل أحداث Server-Sent Events (استخدِم بروتوكول HTTP القابل للبث). بالإضافة إلى ذلك، يجب أن يكون name الخادم بأحرف صغيرة وأرقام فقط (يؤدي استخدام الأحرف الكبيرة إلى ظهور خطأ عام 400 Bad Request).
  • أداة نظام الملفات: لا تتوفّر حاليًا أداة نظام الملفات. وهي جزء من environment.
  • متطلبات التخزين: يتطلّب تنفيذ الوكيل باستخدام background=True أن تكون قيمة store=True.
  • استدعاء الدوال التي تحتفظ بالحالة فقط: لا تتوافق ميزة استدعاء الدوال إلا في الوضع الذي يحتفظ بالحالة. عليك استخدام previous_interaction_id لمواصلة الدور، ولا تتوافق إعادة إنشاء السجلّ يدويًا (الوضع الذي لا يحتفظ بالحالة).
  • الأنواع المتعددة الوسائط غير المتوافقة لا تتوافق حاليًا إدخالات الصوت والفيديو والمستندات. يُسمح فقط بالنص والصورة.

الخطوات التالية