Fillimi i shpejtë i agjentëve të menaxhuar

Ky udhëzues ju udhëzon në krijimin dhe përdorimin e Agjentëve të Menaxhuar në API-në Gemini, duke përdorur agjentin Antigravity . Do të bëni thirrjen tuaj të parë të agjentit, do të vazhdoni një bisedë me shumë kthesa, do të transmetoni përgjigjen, do të shkarkoni skedarë nga sandbox dhe do të punoni me agjentin e menaxhuar Antigravity.

Kryeni ndërveprimin tuaj të parë me agjentin

Një thirrje e vetme në Interactions API përgatit një sandbox Linux, ekzekuton ciklin e agjentit dhe kthen rezultatin. Do të përcaktoni tre parametra:

  • Kaloni agent si "antigravity-preview-05-2026", që është versioni aktual i agjentit tonë të paracaktuar dhe të menaxhuar për qëllime të përgjithshme.
  • Përcaktoni environment="remote" , për të siguruar një mjedis të ri dhe të freskët sandbox.
  • Krijo një të dhënë hyrëse, duke përcaktuar se çfarë dëshiron të bëjë agjenti.

Python

from google import genai

client = genai.Client()

interaction = client.interactions.create(
    agent="antigravity-preview-05-2026",
    input="Write a Python script that generates the first 20 Fibonacci numbers and saves them to fibonacci.txt. Then read the file and print its contents.",
    environment="remote",
)

# Print the agent's final output
print(f"Interaction ID: {interaction.id}")
print(f"Environment ID: {interaction.environment_id}")
print(f"Output: {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: "Write a Python script that generates the first 20 Fibonacci numbers and saves them to fibonacci.txt. Then read the file and print its contents.",
    environment: "remote",
});

console.log(`Interaction ID: ${interaction.id}`);
console.log(`Environment ID: ${interaction.environment_id}`);

console.log(`Output: ${interaction.output_text}`);

PUSHTIM

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": "Write a Python script that generates the first 20 Fibonacci numbers and saves them to fibonacci.txt. Then read the file and print its contents."}],
    "environment": {"type": "remote"}
}'

Përgjigja kthen një objekt Interaction . Ruani interaction.id dhe interaction.environment_id për të vazhduar bisedën në të njëjtën sandbox. Përdorni interaction.output_text për të aksesuar përgjigjen përfundimtare të agjentit. interaction.steps rendit çdo hap që ndërmori agjenti (arsyetimin, thirrjet e mjeteve, ekzekutimin e kodit).

Vazhdoni bisedën (me shumë kthesa)

API gjurmon dy dimensione të pavarura të gjendjes:

  • Konteksti i bisedës: historiku i bisedës, gjurmimi i arsyetimit, përdorimi i mjetit, përdorimi i previous_interaction_id .
  • Gjendja e mjedisit: skedarët, paketat e instaluara dhe gjendja e sandbox-it, duke përdorur environment .

Kaloni të dyja në vendin e tyre përkatës për të rifilluar:

Python

interaction_2 = client.interactions.create(
    agent="antigravity-preview-05-2026",
    previous_interaction_id=interaction.id,
    environment=interaction.environment_id,
    input="Now plot the Fibonacci sequence as a line chart and save it as chart.png.",
)

print(interaction_2.output_text)

JavaScript

const interaction2 = await client.interactions.create({
    agent: "antigravity-preview-05-2026",
    previous_interaction_id: interaction.id,
    environment: interaction.environment_id,
    input: "Now plot the Fibonacci sequence as a line chart and save it as chart.png.",
}, { timeout: 300_000 });

console.log(interaction2.output_text);

PUSHTIM

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_from_step_1",
    "environment": "environment_id_from_step_1",
    "input": [{"type": "text", "text": "Now plot the Fibonacci sequence as a line chart and save it as chart.png."}]
}'

Skedarët nga raundi 1 ( fibonacci.txt ) mbeten në raundin 2. Agjenti gjithashtu ruan kontekstin e bisedës.

Ju mund t'i kombinoni dhe kombinoni këto në mënyrë të pavarur:

  • Fshi bisedën, mbaj skedarët: Hiq previous_interaction_id , kalo ID-në e mjedisit duke përdorur environment vetëm për një bisedë të re në të njëjtin hapësirë ​​pune.
  • Mbaj bisedën, hapësirë ​​pune e re: Kaloni previous_interaction_id , vendosni environment="remote" për një sandbox të ri.

Kompaktimi automatik i kontekstit

Në biseda të gjata dhe me shumë kthesa, historia e papërpunuar e hapave të arsyetimit, thirrjeve të mjeteve dhe përmbajtjes së skedarëve të mëdhenj mund të rritet shpejt dhe të konsumojë hapësirë ​​të konsiderueshme kontekstuale. Për të parandaluar gabimet e limitit të tokenëve dhe për të ruajtur fokusin e agjentit (duke parandaluar "kalbjen e kontekstit"), API-ja e Agjentëve të Menaxhuar paraqet një hap të ngjeshjes së kontekstit vendas në rreth 135 mijë tokena. Kjo ndodh automatikisht.

Transmetoni përgjigjen

Për detyra që ekzekutohen për një kohë të gjatë, mund ta transmetoni përgjigjen për të parë agjentin të funksionojë në kohë reale:

Python

from google import genai

client = genai.Client()

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

for event in stream:
    print(event)

JavaScript

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

const client = new GoogleGenAI({});

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

for await (const event of stream) {
    console.log(event);
}

PUSHTIM

curl -N -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": "Read Hacker News, summarize the top 5 stories, and save the results as a PDF.",
    "environment": "remote",
    "stream": true
}'

Transmetimi kthen një iterabil të deltave të hapave, të cilat janë tekst inkremental, tokena arsyetimi dhe përditësime të thirrjeve të mjeteve. Mësoni më shumë rreth mënyrës së transmetimit të përgjigjeve në udhëzuesin e Transmetimit .

Shkarkoni skedarët nga mjedisi

Kur agjenti krijon skedarë brenda sandbox-it. Shkarkojini ato duke përdorur API-n e Skedarëve me një kërkesë të drejtpërdrejtë HTTP (ende nuk ka metodë SDK):

Python

import os
import requests
import tarfile

env_id = interaction.environment_id
api_key = os.environ["GEMINI_API_KEY"]

response = requests.get(
    f"https://generativelanguage.googleapis.com/v1beta/files/environment-{env_id}:download",
    params={"alt": "media"},
    headers={"x-goog-api-key": api_key},
    allow_redirects=True,
)

with open("snapshot.tar", "wb") as f:
    f.write(response.content)

with tarfile.open("snapshot.tar") as tar:
    tar.extractall(path="extracted_snapshot")

JavaScript

import fs from "fs";
import { execSync } from "child_process";

const envId = interaction.environment_id;
const apiKey = process.env.GEMINI_API_KEY || "";

const url = `https://generativelanguage.googleapis.com/v1beta/files/environment-${envId}:download?alt=media`;
const response = await fetch(url, {
    headers: {
        "x-goog-api-key": apiKey,
    },
});

if (!response.ok) {
    throw new Error(`Failed to download file: ${response.statusText}`);
}

const buffer = Buffer.from(await response.arrayBuffer());
fs.writeFileSync("snapshot.tar", buffer);

if (!fs.existsSync("extracted_snapshot")) {
    fs.mkdirSync("extracted_snapshot");
}
execSync("tar -xf snapshot.tar -C extracted_snapshot");

console.log(fs.readdirSync("extracted_snapshot"));

PUSHTIM

curl -L -X GET "https://generativelanguage.googleapis.com/v1beta/files/environment-$ENV_ID:download?alt=media" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-o snapshot.tar

tar -xf snapshot.tar -C extracted_snapshot

Ruaj një agjent të menaxhuar

Në hapat e mëparshëm, përdorëm agjentin parazgjedhur Antigravity dhe e personalizuam atë brenda linjës. Pasi të keni përsëritur konfigurimin tuaj (udhëzime, aftësi dhe mjedis), mund ta ruani atë si një agjent të menaxhuar. Kjo ju lejon ta thirrni atë me ID pa përsëritur konfigurimin.

Kur ruani një agjent, ju përcaktoni një base_environment (ose nga burimet ose duke u ndarë në dy pjesë nga një mjedis ekzistues). Agjenti do ta përdorë këtë mjedis për çdo ndërveprim të ri.

Nga burimet: Përcaktoni burimet brenda rreshtit ose nga burime të tjera si GitHub ose Cloud Storage.

Python

agent = client.agents.create(
    id="fibonacci-analyst",
    base_agent="antigravity-preview-05-2026",
    system_instruction="You are a math analysis agent. Generate sequences, visualize them, and export results as PDF reports.",
    base_environment={
        "type": "remote",
        "sources": [
            {
                "type": "inline",
                "target": ".agents/AGENTS.md",
                "content": "Always include a chart and a summary table in your reports.",
            },
            {
                "type": "repository",
                "source": "https://github.com/your-org/skills",
                "target": ".agents/skills"
            }
        ],
    },
)

print(f"Saved agent: {agent.id}")

JavaScript

const agent = await client.agents.create({
    id: "fibonacci-analyst",
    base_agent: "antigravity-preview-05-2026",
    system_instruction: "You are a math analysis agent. Generate sequences, visualize them, and export results as PDF reports.",
    base_environment: {
        type: "remote",
        sources: [
            {
                type: "inline",
                target: ".agents/AGENTS.md",
                content: "Always include a chart and a summary table in your reports.",
            },
            {
                type: "repository",
                source: "https://github.com/your-org/skills",
                target: ".agents/skills"
            }
        ],
    },
});

console.log(`Saved agent: ${agent.id}`);

PUSHTIM

curl -X POST "https://generativelanguage.googleapis.com/v1beta/agents" \
-H "Content-Type: application/json" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Api-Revision: 2026-05-20" \
-d '{
    "id": "fibonacci-analyst",
    "base_agent": "antigravity-preview-05-2026",
    "system_instruction": "You are a math analysis agent. Generate sequences, visualize them, and export results as PDF reports.",
    "base_environment": {
        "type": "remote",
        "sources": [
            {
                "type": "inline",
                "target": ".agents/AGENTS.md",
                "content": "Always include a chart and a summary table in your reports."
            },
            {
                "type": "repository",
                "source": "https://github.com/your-org/skills",
                "target": ".agents/skills"
            }
        ]
    }
}'

Thirrni agjentin e menaxhuar

Pasi të keni ruajtur një agjent të menaxhuar, mund ta thirrni atë me anë të ID-së. Çdo thirrje përplaset me mjedisin bazë, kështu që çdo ekzekutim fillon i pastër:

Python

result = client.interactions.create(
    agent="fibonacci-analyst",
    input="Generate the first 50 prime numbers, plot their distribution, and save a PDF report.",
    environment="remote",
)

print(result.output_text)

JavaScript

const result = await client.interactions.create({
    agent: "fibonacci-analyst",
    input: "Generate the first 50 prime numbers, plot their distribution, and save a PDF report.",
    environment: "remote",
}, {
    timeout: 300_000,
});

console.log(result.output_text);

PUSHTIM

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": "fibonacci-analyst",
    "environment": "remote",
    "input": "Generate the first 50 prime numbers, plot their distribution, and save a PDF report."
}'

Çfarë vjen më pas