Антигравитационный агент

Агент Antigravity — это универсальный управляемый агент, работающий через API Gemini. Один вызов API предоставляет вам агента, который выполняет логические рассуждения, код, управляет файлами и просматривает веб-страницы внутри вашей собственной защищенной песочницы Linux, размещенной Google.

Она работает на флэш-памяти Gemini 3.5 и использует ту же инфраструктуру, что и 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);

ОТДЫХ

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 . Вы также можете определить пользовательские функции для подключения агента к вашим собственным API и инструментам. Параметр tools необходимо указывать только при настройке или ограничении набора по умолчанию, а также при добавлении пользовательских функций.

Инструмент Тип значения Описание
Выполнение кода code_execution Выполнение команд оболочки (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);

ОТДЫХ

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 });

ОТДЫХ

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 к внешним API и базам данных, определяя пользовательские инструменты, которые агент может вызывать. Общие сведения см. в разделе «Вызов функций с помощью API Gemini» .

Следующий пример демонстрирует взаимодействие в два этапа. Сначала агент запрашивает вызов пользовательской функции 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}`);
}

ОТДЫХ

# 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);

ОТДЫХ

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 для асинхронного выполнения взаимодействия. API немедленно возвращает идентификатор взаимодействия, который вы будете опрашивать до тех пор, пока статус не будет 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}`);
}

ОТДЫХ

# 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" });

ОТДЫХ

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);

ОТДЫХ

# 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 Agent доступна в режиме предварительного просмотра через API Interactions в Google AI Studio и API Gemini.

Ценообразование основано на модели оплаты по мере использования, зависящей от базовых токенов модели Gemini и инструментов, используемых агентом. В отличие от стандартного запроса в чате, который выдает один результат, взаимодействие в Antigravity представляет собой агентский рабочий процесс. Один запрос запускает автономный цикл рассуждений, выполнения инструментов, запуска кода и управления файлами.

Ориентировочные затраты

Затраты варьируются в зависимости от сложности задачи. Агент самостоятельно определяет необходимое количество вызовов инструментов, выполнений кода и операций с файлами. Приведенные ниже оценки основаны на результатах выполнения.

Категория задач Входные токены Выходные токены Типичная стоимость
Исследования и обобщение информации 100 тыс.–500 тыс. 10k–40k 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 долларов.

В течение периода предварительного просмотра плата за вычислительные ресурсы среды (процессор, память, выполнение в песочнице) не взимается .

Ограничения

  • Статус предварительного просмотра: Агент антигравитации и API взаимодействий. Функции и схемы могут изменяться.
  • Неподдерживаемая конфигурация генерации: следующие параметры не поддерживаются и возвращают ошибку 400: temperature , top_p , top_k , stop_sequences , max_output_tokens .
  • Структурированный вывод: Агент Antigravity не поддерживает структурированный вывод.
  • Недоступные инструменты: file_search , computer_use и google_maps пока не поддерживаются.
  • Ограничения удаленного MCP: транспорт Server-Sent Events (SSE) не поддерживается (используйте Streamable HTTP). Кроме того, name сервера должно быть строго в нижнем регистре и состоять из букв и цифр (использование заглавных букв приводит к стандартной ошибке 400 Bad Request ).
  • Инструмент для работы с файловой системой: В настоящий момент такого инструмента нет. Он является частью environment .
  • Требование к хранилищу: Для выполнения агента с background=True требуется store=True .
  • Вызов функций только в режиме сохранения состояния: Вызов функций поддерживается только в режиме сохранения состояния. Для продолжения хода необходимо использовать previous_interaction_id ; восстановление истории вручную (режим без сохранения состояния) не поддерживается.
  • Неподдерживаемые типы мультимодальных данных. В настоящее время не поддерживаются аудио-, видео- и документные входные данные. Допускаются только текст и изображения.

Что дальше?