{
  "video": {
    "id": "oWTEiYpxl80",
    "title": "Why AI Agents Should Have Their Own Sandbox — Philipp Schmid, Google DeepMind",
    "duration": 1242,
    "upload_date": null,
    "channel": "AI Engineer",
    "source": "AI Engineer",
    "event_format": ""
  },
  "analysis": {
    "video_id": "oWTEiYpxl80",
    "title": "Why AI Agents Should Have Their Own Sandbox — Philipp Schmid, Google DeepMind",
    "one_liner": "Google's Interactions API adds an `environment: remote` field that gives each Antigravity agent call its own managed cloud sandbox (Ubuntu, 8 vCPU, 16 GB). The agent loop runs server-side, so a single API call can run code, install dependencies and write files, and environments persist and can be shared between agents.",
    "summary": "Philipp Schmid introduces the Gemini Interactions API, Google's answer to OpenAI's Responses API. It offers one interface for models and agents, server-side state, async long-running operations, and a 'steps' timeline that replaces the user/model turn format. He argues agents should each get their own sandbox. The Antigravity remote agent, which runs on the same harness as the Antigravity IDE/CLI, starts a managed, persistent cloud environment per request. The environment is loaded from sources, skills and AGENTS.md, and a new Agents API can save it as a reusable agent. Demos show AI Studio's AI Talk Radio applet, which is just an AGENTS.md file plus skills, and the agent probing its own sandbox.",
    "key_points": [
      "The Interactions API uses the same interface to call a model (e.g. Gemini) or an agent (e.g. Antigravity). It offers server-side state via the previous interaction ID, long-running async operations with polling or streaming, and built-in tools (Google Search, URL context) combined with custom function calling.",
      "Google dropped the user/model turn convention in favour of a timeline of typed steps. A function result comes back as its own type rather than in a 'user' turn, because 'the new input is coming from the environment and not from the user'.",
      "The Antigravity remote agent in the Gemini API runs on the same harness as the Antigravity IDE, 2.0 and CLI. Tools and system instructions can differ between products, but improvements to Gemini on that harness benefit all of them.",
      "With `environment: remote`, the backend starts a managed cloud sandbox where the agent can run code, read and write files, install dependencies and tools, and call your APIs. Environments persist across turns and can be shared, so several agents or sub-agents can pass context through the file system.",
      "Sources (GCS buckets, GitHub repos, inline files) load context into the environment. Skills in the skills directory and an AGENTS.md file are added to the system instruction automatically.",
      "The Agents API defines a reusable agent: base model, instructions and environment. An agent can build its own environment (e.g. install the GitHub CLI, add skills, run sanity checks), and the returned environment ID becomes the starting point for a new shareable agent. No Terraform, Kubernetes or Firecracker is needed.",
      "Demo: AI Talk Radio in AI Studio's gallery is a one-shot multi-voice talk show generator. Its agent is just an AGENTS.md file plus skills, such as a TTS skill with a Python script that calls other Gemini models through the Interactions API.",
      "Demo: the first request's sandbox starts in about 7–10 seconds. Asked to explore its environment, the agent reports Ubuntu, 8 vCPU, 16 GB memory, with Python and pip installed. Environments can be downloaded from the UI or via an API, and remote or local MCP servers can run inside them.",
      "Launch news: Nano Banana Light, an image model at about 4 cents per image, and Omni Flash on the Interactions API for programmatic video generation and editing."
    ],
    "takeaways": [
      "Treat an agent as files: write an AGENTS.md and a skills directory, then reuse those same files to move an agent from a UI prototype to a backend agent.",
      "Let an agent build and configure its own environment once, then save that environment ID as the base for a shareable agent instead of hand-writing infrastructure.",
      "Use a shared persistent environment so multiple agents or sub-agents can hand off work through the file system.",
      "Use the async long-running operations (send a request, get an ID, then poll or stream) for slow jobs like video generation, rather than keeping HTTP connections open.",
      "Install the Gemini API CLI and the Interactions/Agents API skills so coding agents can create, iterate on and call Gemini agents and models."
    ],
    "topics": [
      "agents",
      "sandboxes",
      "agent-harness",
      "apis",
      "skills",
      "multimodal",
      "tool-use",
      "state-management"
    ],
    "tools": [
      "Google DeepMind",
      "Gemini",
      "Gemma",
      "Gemini API",
      "Google AI Studio",
      "Interactions API",
      "Agents API",
      "Antigravity",
      "Antigravity agent",
      "Gemini CLI",
      "Gemini API CLI",
      "Nano Banana",
      "Nano Banana Light",
      "Omni Flash",
      "Gemini TTS",
      "Deep Research",
      "Google Search",
      "URL context",
      "Google Cloud",
      "GCS",
      "GitHub",
      "GitHub CLI",
      "OpenAI Responses API",
      "ChatGPT",
      "BERT",
      "GPT",
      "MCP",
      "Terraform",
      "Kubernetes",
      "Firecracker",
      "Ubuntu",
      "Python",
      "pip",
      "Node",
      "React",
      "Claude Code",
      "Codex",
      "AGENTS.md"
    ],
    "quotes": [
      {
        "text": "we call it interactions because we just not get a response anymore. We interact with models and agents.",
        "at": "05:05",
        "url": "https://www.youtube.com/watch?v=oWTEiYpxl80&t=305s"
      },
      {
        "text": "which for me always felt a little bit weird because the output or the new input is coming from the environment and not from the user.",
        "at": "07:33",
        "url": "https://www.youtube.com/watch?v=oWTEiYpxl80&t=453s"
      },
      {
        "text": "And our agent is just files.",
        "at": "16:48",
        "url": "https://www.youtube.com/watch?v=oWTEiYpxl80&t=1008s"
      },
      {
        "text": "with the managed agents it's really just a single API call and everything runs inside that remote sandbox",
        "at": "19:47",
        "url": "https://www.youtube.com/watch?v=oWTEiYpxl80&t=1187s"
      }
    ],
    "words": 4115
  },
  "summary_url": "/#oWTEiYpxl80",
  "transcript": {
    "html": "/transcripts/oWTEiYpxl80.html",
    "txt": "/transcripts/oWTEiYpxl80.txt",
    "vtt": "/transcripts/oWTEiYpxl80.vtt"
  }
}