Creazione di agenti gestiti

Gli agenti gestiti nell'API Gemini ti consentono di estendere l'agente Antigravity con istruzioni, competenze e dati personalizzati. Puoi personalizzare l'agente in linea al momento dell'interazione o salvare la configurazione come agente gestito che richiami per ID.

Personalizzare l'agente Antigravity

Il modo più rapido per creare un agente personalizzato è passare la configurazione in linea durante la creazione di una nuova interazione senza dover eseguire un passaggio di registrazione. Puoi estendere l'agente in diversi modi principali:

  • Selezione del modello: scegli il modello Gemini sottostante tramite agent_config (per impostazione predefinita è Gemini 3.8 Flash).
  • Istruzioni di sistema: passa il testo in linea tramite system_instruction per definire il comportamento.
  • Strumenti: esegui l'override degli strumenti predefiniti (esecuzione del codice, ricerca, contesto URL), registra i server MCP remoti o definisci funzioni personalizzate (chiamata di funzioni).
  • File e competenze: monta file come AGENTS.md e SKILL.md nell'ambiente.

Ecco un esempio di passaggio di tutti e tre in linea:

Python

from google import genai

client = genai.Client()

interaction = client.interactions.create(
    agent="antigravity-preview-05-2026",
    input="Analyze the Q1 revenue data and create a slide deck.",
    system_instruction="You are a data analyst. Always include visualizations and export results as PDF.",
    environment={
        "type": "remote",
        "sources": [
            {
                "type": "inline",
                "target": ".agents/AGENTS.md",
                "content": "Always use matplotlib for charts. Include a summary table in every report.",
            },
            {
                "type": "inline",
                "target": ".agents/skills/slide-maker/SKILL.md",
                "content": "---\nname: slide-maker\n---\n# Slide Maker\nCreate HTML slide decks from data analysis results.",
            },
        ],
    },
)

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: "Analyze the Q1 revenue data and create a slide deck.",
    system_instruction: "You are a data analyst. Always include visualizations and export results as PDF.",
    environment: {
        type: "remote",
        sources: [
            {
                type: "inline",
                target: ".agents/AGENTS.md",
                content: "Always use matplotlib for charts. Include a summary table in every report.",
            },
            {
                type: "inline",
                target: ".agents/skills/slide-maker/SKILL.md",
                content: "---\nname: slide-maker\n---\n# Slide Maker\nCreate HTML slide decks from data analysis results.",
            },
        ],
    },
}, { timeout: 300000 });

console.log(interaction.output_text);

Java

import com.google.genai.Client;
import com.google.genai.gaos.models.interactions.AgentOption;
import com.google.genai.gaos.models.interactions.CreateAgentInteraction;
import com.google.genai.gaos.models.interactions.Interaction;
import com.google.genai.gaos.models.interactions.InteractionsInput;
import com.google.genai.gaos.models.operations.CreateInteractionRequestBody;

Client client = new Client();

CreateAgentInteraction params =
    CreateAgentInteraction.builder()
        .agent(AgentOption.of("antigravity-preview-05-2026"))
        .input(InteractionsInput.of("Build a simple REST API server in Node.js."))
        .build();

Interaction interaction =
    client.interactions.create(CreateInteractionRequestBody.of(params)).interaction().get();

System.out.println(interaction.outputText().orElse(""));

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": "Analyze the Q1 revenue data and create a slide deck.",
    "system_instruction": "You are a data analyst. Always include visualizations and export results as PDF.",
    "environment": {
        "type": "remote",
        "sources": [
            {
                "type": "inline",
                "target": ".agents/AGENTS.md",
                "content": "Always use matplotlib for charts. Include a summary table in every report."
            },
            {
                "type": "inline",
                "target": ".agents/skills/slide-maker/SKILL.md",
                "content": "---\nname: slide-maker\n---\n# Slide Maker\nCreate HTML slide decks from data analysis results."
            }
        ]
    }
}'

Tutto è definito al momento dell'interazione. Non è necessario registrare nulla in anticipo. L'infrastruttura agentica Antigravity fornisce il runtime (esecuzione del codice, gestione dei file, accesso web) e i livelli di configurazione.

Strumenti e istruzioni di sistema

Puoi personalizzare il comportamento e le funzionalità dell'agente per un'interazione specifica utilizzando i parametri system_instruction e tools.

  • Istruzioni di sistema: utilizza il parametro system_instruction per passare il testo in linea che definisce il comportamento dell'agente. Questa opzione è ideale per le modifiche rapide che vuoi apportare per ogni chiamata. system_instruction e AGENTS.md sono additivi; entrambi si applicano quando sono presenti.
  • Strumenti: per impostazione predefinita, l'agente Antigravity ha accesso a code_execution, google_search e url_context. Puoi eseguire l'override di questo elenco passando il parametro tools al momento dell'interazione. Puoi anche registrare server MCP remoti o definire funzioni personalizzate (chiamata di funzioni) per connettere l'agente alle tue API e ai tuoi database. Per informazioni dettagliate sugli strumenti disponibili, vedi Agente Antigravity: strumenti supportati.

Personalizzazione basata su file

Struttura della directory dell'agente

Anche se puoi passare la configurazione in linea, ti consigliamo di organizzare i file dell'agente in una directory strutturata. In questo modo è più facile gestire, controllare la versione e montare i file nell'ambiente dell'agente.

Una tipica directory di progetto dell'agente ha questo aspetto:

my-agent/
├── AGENTS.md        # Instructions on how the agent should operate
├── skills/          # Custom skills (subfolders and SKILL.md files)
│   └── slide-maker/
│       └── SKILL.md
└── workspace/       # Initial data files and knowledge

Il runtime di Antigravity esegue la scansione di .agents/ (e della root dell'ambiente) per questi file.

AGENTS.md

L'agente carica automaticamente .agents/AGENTS.md (o /.agents/AGENTS.md) dall'ambiente come istruzioni di sistema all'avvio. Utilizza AGENTS.md per le definizioni di persona in formato lungo, le linee guida dettagliate e le istruzioni di cui vuoi controllare le versioni insieme al codice.

Monta un file AGENTS.md utilizzando un'origine in linea:

Python

from google import genai

client = genai.Client()

interaction = client.interactions.create(
    agent="antigravity-preview-05-2026",
    input="Analyze the Q1 revenue data and create a report.",
    system_instruction="You are a data analyst. Always include visualizations and export results as PDF.",
    environment={
        "type": "remote",
        "sources": [
            {
                "type": "inline",
                "target": ".agents/AGENTS.md",
                "content": "Always use matplotlib for charts. Include a summary table in every report.",
            },
        ],
    },
)

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: "Analyze the Q1 revenue data and create a report."