Der Antigravity-Agent ist ein verwalteter Mehrzweck-Agent in der Gemini API. Mit einem einzigen API-Aufruf erhalten Sie einen Agenten, der in Ihrer eigenen sicheren Linux-Sandbox, die von Google gehostet wird, Schlussfolgerungen zieht, Code ausführt, Dateien verwaltet und im Web surft.
Es basiert auf Gemini 3.5 Flash und verwendet dieselbe Harness wie die Antigravity IDE. Über die Interactions API und Google AI Studio verfügbar.
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" \
-H "Api-Revision: 2026-05-20" \
-d '{
"agent": "antigravity-preview-05-2026",
"input": "Read Hacker News, summarize the top 10 stories, and save the results as a PDF.",
"environment": "remote"
}'
Leistungsspektrum
Bei jedem Aufruf kann eine Linux-Sandbox bereitgestellt und ein Tool-Nutzungszyklus gestartet werden. Der Agent plant, handelt, beobachtet die Ergebnisse und wiederholt den Vorgang, bis die Aufgabe erledigt ist.
- Codeausführung:Bash-, Python- und Node.js-Befehle ausführen. Pakete installieren, Tests ausführen, Apps erstellen
- Dateiverwaltung:Dateien in der Sandbox lesen, schreiben, bearbeiten, suchen und auflisten. Dateien bleiben über Interaktionen hinweg erhalten.
- Webzugriff:Google Suche und Abrufen von URLs für Daten.
- Kontextverdichtung:Die automatische Kontextverdichtung wird bei etwa 135.000 Tokens ausgelöst, um lange Sitzungen mit mehreren Turns zu unterstützen, ohne dass der Kontext verloren geht oder Tokenlimits erreicht werden.
Informationen zur Verwendung in mehreren Durchgängen und zum Streaming finden Sie in der Kurzanleitung.
Unterstützte Tools
Standardmäßig hat der Agent Zugriff auf code_execution, google_search und url_context. Dateisystemtools werden automatisch aktiviert, wenn Sie den Parameter environment angeben. Sie können auch benutzerdefinierte Funktionen definieren, um den Agent mit Ihren eigenen APIs und Tools zu verbinden. Sie müssen den Parameter tools nur angeben, wenn Sie den Standardsatz anpassen oder einschränken oder benutzerdefinierte Funktionen hinzufügen möchten.
| Tool | Typwert | Beschreibung |
|---|---|---|
| Codeausführung | code_execution |
Shell-Befehle (Bash, Python, Node) mit stdout/stderr-Erfassung ausführen. |
| Google Suche | google_search |
Im öffentlichen Web suchen |
| URL-Kontext | url_context |
Webseiten abrufen und lesen |
| Dateisystem | (über environment aktiviert) |
Dateien in der Sandbox lesen, schreiben, bearbeiten, suchen und auflisten Kein separater Tooltyp. Wird automatisch aktiviert, wenn environment festgelegt ist. |
| Benutzerdefinierte Funktionen | function |
Definieren Sie benutzerdefinierte Funktionen, die der Agent ausführen kann. Weitere Informationen |
Wenn Sie den Agent auf bestimmte Tools beschränken möchten, übergeben Sie nur die benötigten Tools:
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" \
-H "Api-Revision: 2026-05-20" \
-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"}
]
}'
Multimodale Eingabe
Der Antigravity-Agent unterstützt multimodale Eingaben. Derzeit werden nur text- und image-Eingaben unterstützt. Bilder müssen als Inline-Base64-codierte Strings (data) angegeben werden.
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" \
-H "Api-Revision: 2026-05-20" \
-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\"
}"
Funktionsaufrufe
Mit Funktionsaufrufen können Sie den Antigravity-Agenten mit externen APIs und Datenbanken verbinden, indem Sie benutzerdefinierte Tools definieren, die der Agent aufrufen kann. Allgemeine Konzepte finden Sie unter Funktionsaufrufe mit der Gemini API.
Das folgende Beispiel zeigt eine Interaktion mit zwei Zügen. Der Agent fordert zuerst einen benutzerdefinierten get_weather-Funktionsaufruf an. Der Client führt ihn aus und gibt das Ergebnis im zweiten Zug zurück.
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" \
-H "Api-Revision: 2026-05-20" \
-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" \
-H "Api-Revision: 2026-05-20" \
-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\"
}
}
]
}"
Agent anpassen
Sie können den Antigravity-Agent erweitern, indem Sie seine Anweisungen, Tools und Umgebung anpassen. Der Agent unterstützt einen dateisystemnativen Ansatz für die Anpassung: Sie können Dateien wie AGENTS.md für Anweisungen und Skills unter .agents/skills/ direkt in die Sandbox einbinden oder die Konfiguration zur Interaktionszeit inline übergeben. Sie können die Konfiguration direkt bearbeiten und sie dann als verwalteten Agent speichern, wenn Sie fertig sind.
Weitere Informationen zum Erstellen benutzerdefinierter KI-Agenten
Umgebungen
Bei jedem Aufruf wird eine Linux-Sandbox erstellt oder wiederverwendet. Der Parameter environment kann drei Formen annehmen:
| Formular | Beschreibung |
|---|---|
"remote" |
Stellen Sie eine neue Sandbox mit Standardeinstellungen bereit. |
"env_abc123" |
Eine vorhandene Umgebung anhand der ID wiederverwenden, wobei alle Dateien und der Status beibehalten werden. |
{...} |
Vollständige EnvironmentConfig mit benutzerdefinierten Quellen und Netzwerkregeln. |
Weitere Informationen zu Quellen (Git, GCS, Inline), Netzwerken, Lebenszyklus und Ressourcenlimits finden Sie unter Umgebungen.
Verfügbarkeit und Preisgestaltung
Der Antigravity-Agent ist in der Vorabversion über die Interactions API in Google AI Studio und die Gemini API verfügbar.
Die Preise basieren auf einem Pay-as-you-go-Modell, das auf den zugrunde liegenden Gemini-Modelltokens und den vom Agent verwendeten Tools basiert. Im Gegensatz zu einer Standard-Chatanfrage, die eine einzelne Ausgabe erzeugt, ist eine Antigravity-Interaktion ein Agenten-Workflow. Eine einzelne Anfrage löst einen autonomen Zyklus aus, der aus Schlussfolgerungen, Ausführung von Tools, Ausführung von Code und Dateiverwaltung besteht.
Geschätzte Kosten
Die Kosten variieren je nach Komplexität der Aufgabe. Der Agent bestimmt autonom, wie viele Tool-Aufrufe, Codeausführungen und Dateivorgänge erforderlich sind. Die folgenden Schätzungen basieren auf Läufen.
| Aufgabenkategorie | Eingabetokens | Ausgabetokens | Normalpreis |
|---|---|---|---|
| Recherche und Informationssynthese | 100.000–500.000 | 10.000–40.000 | 0,30 $ bis 1,00 $ |
| Dokument- und Inhaltserstellung | 100.000–500.000 | 15.000–50.000 | 0,30 $ bis 1,30 $ |
| Prozess- und Systemdesign | 100.000–400.000 | 10.000–30.000 | 0,25 $ bis 0,80 $ |
| Datenverarbeitung und -analyse | 300.000–3 Mio. | 30.000–150.000 | 0,70 $ bis 3,25 $ |
In der Regel werden 50–70% der Eingabetokens im Cache gespeichert. Bei komplexen Agenten-Workflows mit vielen Tool-Aufrufen können in einer einzigen Interaktion 3 bis 5 Millionen Tokens anfallen, was Kosten von bis zu 5 $ entspricht.
Umgebungsberechnung (CPU, Arbeitsspeicher, Sandbox-Ausführung) wird während des Vorschauzeitraums nicht in Rechnung gestellt.
Beschränkungen
- Vorschau-Status:Der Antigravity-Agent und die Interactions API sind in der Vorschauphase. Funktionen und Schemas können sich ändern.
- Nicht unterstützte Generierungskonfiguration:Die folgenden Parameter werden nicht unterstützt und geben einen 400-Fehler zurück:
temperature,top_p,top_k,stop_sequences,max_output_tokens. - Strukturierte Ausgabe:Der Antigravity-Agent unterstützt keine strukturierte Ausgabe.
- Nicht verfügbare Tools:
file_search,computer_use,google_mapsundmcpwerden noch nicht unterstützt. - Dateisystemtool:Derzeit ist kein Dateisystemtool verfügbar. Sie ist Teil der
environment. - Hintergrund:Der Agent unterstützt die Verwendung von
background=Truenicht und erfordertstore=True. - Funktionsaufrufe nur im zustandsbehafteten Modus:Funktionsaufrufe werden nur im zustandsbehafteten Modus unterstützt. Sie müssen
previous_interaction_idverwenden, um den Zug fortzusetzen. Das manuelle Rekonstruieren des Verlaufs (statusloser Modus) wird nicht unterstützt. - Nicht unterstützte multimodale Typen: Audio-, Video- und Dokumenteingaben werden derzeit nicht unterstützt. Es sind nur Text und Bild zulässig.
Nächste Schritte
- Kurzanleitung: Multi-Turn-Unterhaltungen und Streaming.
- Benutzerdefinierte KI-Agenten erstellen: benutzerdefinierte Anweisungen, Skills und das Speichern von KI-Agenten.
- Umgebungen: Sandbox-Konfiguration, Quellen, Netzwerk.
- Deep Research-Agent: für umfangreiche Rechercheaufgaben.
- Interactions API: die zugrunde liegende API.