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" , i cili ë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 .

Kalojini të dyja në vendet e tyre përkatëse për të rifilluar bisedën:

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 përputhni këto gjendje 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"), agjenti i menaxhuar paraqet një hap të ngjeshjes së kontekstit vendas në rreth 135 mijë tokena. Nuk keni nevojë të bëni asgjë që kjo të ndodhë.

Transmetoni përgjigjen

Për detyra që ekzekutohen për një kohë të gjatë, mund ta transmetoni përgjigjen duke vendosur stream: true , 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

Agjenti mund të krijojë skedarë brenda sandbox-it. Për t'i shkarkuar ato, mund të përdorni API-n e Skedarëve me një kërkesë të drejtpërdrejtë HTTP:

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

Ndërtoni një agjent të personalizuar

Në hapat e mëparshëm, përdorëm agjentin parazgjedhur: Agjent Antigravity. Në vend të kësaj, mund të krijoni një agjent të personalizuar duke bashkuar udhëzimet, mjetet dhe burimet e mjedisit në një agjent të emëruar. Thirreni atë me ID në vend që të përsërisni konfigurimin.

Pasi të përcaktoni mjedisin bazë, qoftë nga burimi ose nga një mjedis ekzistues, agjenti do ta përdorë atë për çdo ndërveprim të ri në vend të sandbox-it të ri të parazgjedhur. Për më shumë informacion mbi mjediset, shihni Mjediset .

Nga burimet: Ju mund të përcaktoni burimet brenda rreshtit ose nga burime të tjera si GitHub ose Cloud Storage. Ky shembull përcakton një skedar AGENTS.md dhe një direktori Skills nga GitHub:

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"Created 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(`Created 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"
            }
        ]
    }
}'

Nga një mjedis ekzistues: Iteroni në një mjedis përmes ndërveprimeve dhe më pas vendoseni atë si bazë për agjentin tuaj duke iu referuar ID-së së tij:

Python

agent = client.agents.create(
    id="fibonacci-analyst",
    base_agent="antigravity-preview-05-2026",
    system_instruction="You are a math analysis agent.",
    base_environment=interaction.environment_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.",
    base_environment: interaction.environment_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.",
    "base_environment": "environment_id_from_previous_interaction"
}'

Agjenti ngarkon automatikisht skedarët .agents/AGENTS.md si udhëzime sistemi dhe çdo skedar SKILL.md nën .agents/skills/ si aftësi. Shih Ndërtimi i Agjentëve të Personalizuar për formatin e plotë të përkufizimit të agjentit, aftësitë dhe konfigurimin e avancuar.

Thirrni agjentin e personalizuar

Pasi të keni krijuar një agjent të personalizuar, mund ta thirrni atë me emër në vend që të përsërisni konfigurimin. Çdo thirrje ndan 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."
}'

Përdor degëzimet e përcaktuara më parë të system_instruction , tools dhe environment nga base_environment . Çdo gjë mund të mbivendoset gjithashtu për çdo ndërveprim.

Çfarë vjen më pas