惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
阮一峰的网络日志
阮一峰的网络日志
J
Java Code Geeks
宝玉的分享
宝玉的分享
C
CXSECURITY Database RSS Feed - CXSecurity.com
P
Privacy International News Feed
The Register - Security
The Register - Security
T
Threat Research - Cisco Blogs
Recent Commits to openclaw:main
Recent Commits to openclaw:main
PCI Perspectives
PCI Perspectives
Hugging Face - Blog
Hugging Face - Blog
T
Tailwind CSS Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
N
News | PayPal Newsroom
Google Online Security Blog
Google Online Security Blog
aimingoo的专栏
aimingoo的专栏
F
Full Disclosure
P
Palo Alto Networks Blog
A
About on SuperTechFans
Microsoft Azure Blog
Microsoft Azure Blog
F
Fortinet All Blogs
爱范儿
爱范儿
Recorded Future
Recorded Future
月光博客
月光博客
T
True Tiger Recordings
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tenable Blog
L
Lohrmann on Cybersecurity
博客园 - 聂微东
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
大猫的无限游戏
大猫的无限游戏
S
Security @ Cisco Blogs
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
L
LINUX DO - 热门话题
Hacker News: Ask HN
Hacker News: Ask HN
C
Check Point Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
L
LangChain Blog
The Cloudflare Blog
Malwarebytes
Malwarebytes
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
I
InfoQ
N
Netflix TechBlog - Medium
Recent Announcements
Recent Announcements
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
SecWiki News
SecWiki News
云风的 BLOG
云风的 BLOG
T
ThreatConnect
博客园 - 叶小钗
B
Blog

DEV Community

Zero-Downtime Blue-Green and IP-Based Canary Deployments on ECS Fargate I reproduced a Claude Code RCE. The bug pattern is everywhere. We Replaced Our RAG Pipeline With Persistent KV Cache. Here's What We Found. Jenkins CI/CD Pipeline for a Dockerized Node.js Application: Manual Trigger vs Automatic Trigger Using GitHub Webhooks How to Stream Live Forex Rates to Google Sheets API: A Complete Guide Small Models Will Beat Giant Models (And Most People Haven’t Realized Why Yet) How I Built 5 Linux Automation Scripts on AWS EC2 I built TokenPatch to measure AI coding cost per applied patch I built a Chrome extension to stop squinting at the web Producer audit clean, six tests red Conversa — A Multi-Agent AI Platform Powered by Gemma 4 What I Actually Build: AI Systems That Ship, Not Demos That Impress The Box Ticked While You Read This: LinkedIn, AI Training, and the Switch You Did Not Flip Investasi Masa Depan: Mengintip Fasilitas Laboratorium Komputer Kelas Dunia di Yogyakarta I Cancelled My $20 Claude Cowork Plan After a Week With OpenWork Stop Reviewing Every Line of AI Code - Build the Trust Stack Instead How To Build an Image Cropper in Browser (Simple Steps) I built a macOS disk cleaner for developers and just launched it would love feedback Membangun Kompetensi dan Relasi: Mengapa Ekosistem Kampus Itu Penting I Built an AI That Decides Which AI to Talk To — Running 24/7 From My Living Room Codex Team Usage SOP How to Actually Become a Programmer: The Hard Part Nobody Wants to Explain Building a Production-Style Multi-Tool AI Agent with Python, Flask, React & Gemini AI The Caretaker Sandbox: An Offline-First Visual Playground & Template Engine powered by Gemma 4 # Building Instagram OSINT Projects with HikerAPI Your AI can read. Gemma 4 can see The Battle of the Senior Dev: Why AI Gives You Wings But Only If You're Ready to Pilot HiDream Raw Output Failed Tried Dev-2604 VRAM Math Killed It Won with a Prompt Enhancer Instead I Finally Finished a Project I Abandoned — And GitHub Copilot Helped Me Ship It SafeSMS: On-Device Threat Detection with Gemma 4 E4B, no internet required I Built OpenKap — A Loom Alternative for Small Teams Who Just Want to Ship Gemma 4 is Here: The Dawn of Local Multimodal Reasoning Offline-First Flutter: How We Built a CRM That Manages 100K+ Leads With No Internet Memory for Agents: When Vectors Meet Graphs, Bugs Drop 4 The Rise of Production-Grade AI Infrastructure I ran my idea-validation product through its own validator. The verdict was PIVOT. We Built an Agent Commerce API. Google I/O 2026 Changed Our 3-Month Roadmap in 24 Hours. "My Partner's Memory Was Full. I Didn't Know — Until We Tried to Talk." I’m a Front End Web Developer Learning Machine Learning From Scratch Laravel Waiting Request I Built a Chrome Extension to Track How Long You Actually Spend on Each Tab Why Google Can't See Your React Breadcrumbs (And the 4-Line Fix) AI Travel Assistant Powered by Gemma 4; With Streaming, Image Input, and Visual Recommendation Cards Microsoft tried to kill the printer driver. Healthcare said no. The Blueprint Beneath the Blueprint: Designing Data Model and Choosing Its Database REST APIs vs Webhooks in Telecom Billing - Which One Actually Makes Sense? Accounting Made Simple: AI-Powered Financial Insights of Japanese Companies with Gemma 4 The append-only AST trick that makes Flutter AI chat actually smooth Designing the Future of Payments — Why XML Still Matters in the Age of APIs From Legacy to Live — Reviving XMLPayments with GitHub Copilot Two Weeks Into Learning Solana XMLPayments — The Hidden Backbone of Modern Financial Orchestration AI Agents in Practice — Read from the beginning Reviving My Gemma Agentic Framework: From Prototype to Polished Repo Smart Contracts Demand Better Infrastructure: Building on contract.dev Self-Hosted LLM Tool Calling: Forge and the Build-vs-Buy Decision ORA-00072 오류 원인과 해결 방법 완벽 가이드 OpenWA for CTOs: Self-Hosted WhatsApp Gateway Trade-Offs NotebookLM Automation With notebooklm-py: Useful, But Classify Data First Docker v29.5.x Operator Upgrade Checklist Coding-Agent Instruction Design: The CLAUDE.md File That Prevents Rework When I Finally Realized My Runtime Was Holding Me Back GnokeOps: Host Your Own AI House Party The Death of Static Rate Limiters: Why Your Java Virtual Threads Need BBR-Style Adaptive Concurrency AI Agents in Practice — Part 2: What Makes Something an Agent Stop scattering LLM SDK/API calls across your codebase. Here is the 2-file rule that fixed mine Beyond Prompts: Structuring AI Workflows for Real Frontend Engineering From an Abandoned Hackathon Project to an AI Study Workspace 🚀 Terraform with AI: Build AWS Infra (Cursor + MCP) What If AI Didn’t Need the Internet? 750,000 Chips, 140 Trillion Tokens: The Math Behind DeepSeek's Permanent Price Cut You're Renting Someone Else's Compute — And It's Costing You More Than You Think CSS :has() Selector: The Layout Trick I Wish I Knew 5 Years Ago Five Clusters. Five Lessons. One Production System. Synaptic: A Local-First AI Dev Companion That Remembers How You Think Revolutionizing Edge MedTech: Building a Sovereign Sleep Apnea Companion ("XiHan Snore Coach") with Gemma 4 HDD Eksternal Tiba-Tiba Tidak Bisa Diakses di Windows? Ini Tiga Lapis Fix-nya DMARC p=none vs p=quarantine vs p=reject: what to use and when DSA Application in Real Life: How Git Diff Works: LCS Intuition, Myers Algorithm, and Real Code Changes I solo-built a reputation layer for AI agents on NEAR — and here's what I learned I built an AI faceless video generator in 2 months — here's the stack Diffusion Language Models: How NVIDIA Nemotron-Labs Diffusion Shatters the Autoregressive Speed Ceiling llm-nano-vm v0.8.0 — deterministic FSM runtime for LLM pipelines, now with output validation and per-step timeouts From the Renaissance to the Quantum Dawn: AI, Computation, and the Next Paradigm Shift How I Built a Review Site with 800+ Articles Using AI I Built a Smart Kitchen AI with Gemma 4 That Turns Fridge Photos Into Recipes Why your vulnerability dashboard is lying to you (and how to fix it) From Abandoned Prototype to Smart AI System: Reviving Trafiq AI with GitHub Copilot Why Country/State/City Pickers Are Weirdly Hard Node.js 22 LTS — EOL Date, Support Timeline, and What Comes Next The 7-Layer Memory Architecture Behind Modern AI Agents I Imagined Hermes Agent Running an Entire Smart City — And It Changed How I See AI One backend, four products: why we bet on platform-per-brand AI's tech debt is invisible — even to AI. I solved it at the architecture layer. Why ROAS 300% Can Still Mean Losses — Gross Margin in 5 Ecommerce Verticals You Don’t Need to Try Every AI Tool to Keep Up NovelPilot: A Novel Writing Agent Powered by Gemma 4 BoxAgnts is an Out-Of-The-Box Secure AI Agent ToolBox in a WASM SandBox Gemma 4 deep dive: why a 1.5 GB model scores 37.5% on competition mathematics, how the MoE routing actually works, and which model fits your hardware. Full breakdown inside. BeeLlama v0.2.0: 164 tok/s on a 27B model, one RTX 3090
Build a Real Agent in 15 Minutes with Gemini's New Managed Agents API
Thirupathi V · 2026-05-23 · via DEV Community

Google I/O 2026 just shipped the thing I've wanted for two years: a fully sandboxed, cloud-hosted agent I can spin up with a single function call. No Docker. No orchestration boilerplate. No "provision a VM and wire up tools" weekend project. Just an import and three lines of Python.

This is my hands-on walkthrough of the new Gemini API Managed Agents, announced at Google I/O 2026 — what it is, what it actually does, and how to build something real with it in under 15 minutes.


What Are Managed Agents?

Before Managed Agents, building an AI agent from scratch meant:

  • Provisioning your own compute environment
  • Wiring up tools (web search, code execution, file I/O) manually
  • Writing an agent loop to handle multi-step reasoning
  • Managing state across turns yourself

That's half a day of setup before your agent does anything useful.

Managed Agents collapse all of that into one API call.

You call client.interactions.create(...), and Google's infrastructure:

  1. Spins up an ephemeral Linux sandbox
  2. Loads Gemini 3.5 Flash as the underlying model (the new frontier-speed model announced at I/O)
  3. Equips it with web search, code execution, and file management out of the box
  4. Runs the full agent loop autonomously until the task is done
  5. Returns the result — and tears down nothing you need to clean up

The sandbox is real. The agent actually writes files, runs scripts, browses the web, and installs packages inside it.


Prerequisites

You'll need:

Install the SDK:

pip install google-genai
# or
npm install @google/genai

Enter fullscreen mode Exit fullscreen mode

Export your key:

export GEMINI_API_KEY="your_key_here"

Enter fullscreen mode Exit fullscreen mode


Step 1: Your First Agent Call

Let's start with something dead simple to prove it works — ask the agent to write a script, run it, and return the output.

from google import genai

client = genai.Client()

interaction = client.interactions.create(
    agent="antigravity-preview-05-2026",
    input="Write a Python script that fetches the current Bitcoin price from a public API and prints it with a timestamp.",
    environment="remote",
)

print(interaction.output_text)

Enter fullscreen mode Exit fullscreen mode

That's it. Three parameters:

  • agent: The agent version to use. antigravity-preview-05-2026 is the current general-purpose managed agent.
  • input: Plain English description of the task.
  • environment="remote": Provision a fresh cloud sandbox for this run.

The response object gives you:

  • interaction.output_text — the agent's final answer
  • interaction.id — needed to continue the conversation
  • interaction.environment_id — the sandbox ID (needed to reuse state)
  • interaction.steps — every step the agent took: reasoning, tool calls, code it ran

That last one is underrated. You can see exactly what the agent did, which is great for debugging.


Step 2: Build Something Actually Useful — A Research Digest Agent

Let's build something I'd actually want to use: give the agent a URL, have it read the page, summarize the key points, and save a formatted PDF report.

from google import genai

client = genai.Client()

url = "https://blog.google/innovation-and-ai/technology/developers-tools/google-io-2026-developer-highlights/"

interaction = client.interactions.create(
    agent="antigravity-preview-05-2026",
    input=f"""
    Read the article at {url}.
    Extract the 5 most important announcements for developers.
    For each announcement, write:
      - A one-line summary
      - Why it matters
      - A concrete thing a developer could do with it today
    Save the result as a nicely formatted PDF called 'io26_digest.pdf'.
    """,
    environment="remote",
)

print(interaction.output_text)
print(f"\nEnvironment ID (save this): {interaction.environment_id}")

Enter fullscreen mode Exit fullscreen mode

The agent will browse the URL, read it, reason about the content, write the formatting code, run it, and produce a PDF — all without you managing any of that pipeline.


Step 3: Multi-Turn Conversations (State Persists!)

Here's where it gets genuinely useful: you can continue a conversation in the same sandbox. Files from the previous turn are still there.

# Continue from the previous interaction — same sandbox, same chat history
interaction_2 = client.interactions.create(
    agent="antigravity-preview-05-2026",
    previous_interaction_id=interaction.id,      # resume conversation
    environment=interaction.environment_id,      # reuse the same sandbox
    input="Now add a bar chart comparing the number of new tools announced per product area (Agents, Android, Web, AI Studio). Append it to the PDF.",
)

print(interaction_2.output_text)

Enter fullscreen mode Exit fullscreen mode

Two things are being persisted independently here, which is worth understanding:

  • previous_interaction_id — carries over the conversation history and reasoning context
  • environment — carries over the sandbox state (files, installed packages, everything on disk)

You can mix and match. Pass only the environment ID to get a fresh conversation in the same workspace. Pass only previous_interaction_id to keep the chat history but start with a clean sandbox. This flexibility is genuinely thoughtful API design.


Step 4: Stream the Response for Long-Running Tasks

Some agent tasks take a while — browsing, installing packages, writing and running code. Streaming lets you watch the agent work in real time instead of staring at a blank screen.

from google import genai

client = genai.Client()

stream = client.interactions.create(
    agent="antigravity-preview-05-2026",
    input="Search for the top 5 Python libraries released in the last 3 months for building AI agents. For each, write a paragraph on what it does and install it to verify it works. Save a summary report as agent_libs.md.",
    environment="remote",
    stream=True,
)

for event in stream:
    print(event)

Enter fullscreen mode Exit fullscreen mode

Streaming returns incremental step deltas — reasoning tokens, tool call updates, code output — as they happen. In practice, this transforms a 90-second wait into a live view of your agent actually working, which makes it dramatically easier to understand what's happening and catch problems early.


Step 5: Download the Files Your Agent Created

The agent creates files inside the sandbox. Here's how to pull them out:

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("sandbox_snapshot.tar", "wb") as f:
    f.write(response.content)

with tarfile.open("sandbox_snapshot.tar") as tar:
    tar.extractall(path="./agent_output")

print("Files saved to ./agent_output")

Enter fullscreen mode Exit fullscreen mode

This downloads a .tar snapshot of the entire sandbox workspace. Your io26_digest.pdf, your charts, your scripts — all of it comes back.


Step 6: Register a Custom Agent

Once you've dialed in a useful agent configuration, you can save it as a named agent so you don't repeat the setup every time.

agent = client.agents.create(
    id="research-digest-agent",
    base_agent="antigravity-preview-05-2026",
    system_instruction="""
    You are a technical research assistant for developers.
    When given a URL or topic, you:
    1. Read and synthesize the source material
    2. Extract actionable insights for software developers
    3. Always include concrete code examples or next steps where relevant
    4. Save your output as a well-formatted PDF with a title, sections, and summary
    """,
    base_environment={
        "type": "remote",
        "sources": [
            {
                "type": "inline",
                "target": ".agents/AGENTS.md",
                "content": "Always cite your sources. Use markdown headings in reports. Include a TL;DR section at the top.",
            }
        ],
    },
)

print(f"Agent registered: {agent.id}")

Enter fullscreen mode Exit fullscreen mode

Now invoke it by name — no config needed on each call:

result = client.interactions.create(
    agent="research-digest-agent",
    input="Summarize the key developer announcements from Google I/O 2026 and save a PDF.",
    environment="remote",
)

print(result.output_text)

Enter fullscreen mode Exit fullscreen mode

Each invocation forks the base_environment, so every run starts clean but with your custom instructions and skills baked in.


What's Included in the Sandbox (Out of the Box)

No configuration required for any of this:

Tool What it does
Web search Browses and reads URLs, searches the web
Code execution Writes and runs Python, installs packages with pip
File management Creates, reads, writes, and moves files in the workspace

During preview, Google is not charging for sandbox compute — CPU, memory, and execution time are free. You're billed only for token usage and tool calls at standard Gemini 3.5 Flash rates.


My Honest Take

After spending a few hours with this, a few things stand out.

What's genuinely new: The friction reduction is real, not marketing copy. The comparable DIY setup — container, tool wiring, agent loop, state management — is hours of work. Managed Agents compress that to an import and a function call. For prototyping and internal tooling, the ROI is immediate.

What's still in preview: The API is marked preview, and it shows in places. Only one base agent is supported (antigravity-preview-05-2026). Agent versioning and rollback aren't available yet. Subagent delegation (one agent spawning another) isn't supported. These are real limitations if you're thinking about production use today.

The AGENTS.md pattern: Defining agent behavior in a markdown file mounted into the sandbox is a great design choice. If you've used Claude Code, this pattern is identical — and that convergence is probably intentional. It's slowly becoming a cross-platform standard, and I'm here for it.

The state model: The separation of conversation context and environment state into two independently controllable dimensions (previous_interaction_id vs environment) is subtle but well thought out. Once you grok it, you can build genuinely flexible multi-turn workflows.


Next Steps

The most interesting next step, in my opinion, is building a custom agent backed by a GitHub skills repository — you define reusable capabilities in SKILL.md files, commit them to a repo, and mount the whole repo into the agent's environment on every run. That's a proper engineering workflow for agent development, and I'll be covering it in a follow-up post.


Written for the Google I/O 2026 Writing Challenge on DEV.