◉GEMINI LABJP
●ARGON — gemini-4-argon is generally available as of 10/13, aimed at complex coding, agents, math and science●DEEP RES — deep-research-pro-preview-12-2025 shuts down 10/23, 6 days left. Move to deep-research-preview-04-2026●NANO — gemini-nano-banana-2.1 is GA (10/06). gemini-3.1-flash-image is deprecated with no shutdown date yet●MCP — One write-up cut an 85,000-token tool result to 310 tokens by wrapping it in an ADK FunctionTool●FLASH — gemini-3.7-flash and 3.5-flash now route automatically to newer Flash models (10/08)●NEW — Stop Re-Reading Every Crash Report: Gre…●ARGON — gemini-4-argon is generally available as of 10/13, aimed at complex coding, agents, math and science●DEEP RES — deep-research-pro-preview-12-2025 shuts down 10/23, 6 days left. Move to deep-research-preview-04-2026●NANO — gemini-nano-banana-2.1 is GA (10/06). gemini-3.1-flash-image is deprecated with no shutdown date yet●MCP — One write-up cut an 85,000-token tool result to 310 tokens by wrapping it in an ADK FunctionTool●FLASH — gemini-3.7-flash and 3.5-flash now route automatically to newer Flash models (10/08)●NEW — Stop Re-Reading Every Crash Report: Gre…
⬡ Advanced

Advanced

Advanced Gemini techniques — agent design, multimodal processing, RAG pipelines, production architecture, and cost-aware engineering.

2026-10-14Intermediate

Fine on Desktop, Blank on Safari: Four Things to Gather Before You Ask an AI to Diagnose It

After a shuffle, my lazy-loaded images never loaded again, but only in Safari on iPhone. Here is what to collect by hand before asking Gemini or any other model to diagnose a bug that does not reproduce on desktop, plus a request template you can paste.

2026-10-10Beginner

Keeping Money and Health Questions Out of Your History: Gemini Temporary Chat and the Settings to Check

Before you ask Gemini about household spending or a health worry, here is the order I use to check Temporary Chat and the Activity setting, so you can decide what gets kept and what doesn't.

2026-09-24Intermediate

I Stopped Asking Gemini 'Is This Right?' and Started Hiding My Answer Instead

Ask Gemini to confirm a label you already chose and it tends to agree. Here is why I compared three ways of asking, chose blind re-classification, how my answer still leaked in, and the routing code that sends only disagreements to a human.

2026-09-19Intermediate

Some inputs ignore media_resolution entirely. Count the tokens on your own key first

In Gemini 3, media_resolution behaves differently per input type. Here is why audio never moves, where the official docs disagree with each other, and how to recount input tokens on your own API key.

2026-09-17Intermediate

The color label Gemini returned for the same wallpaper changed — and the model was not the reason

I counted color-label agreement across five ways of exporting the same wallpaper. Stripping the ICC profile was the worst of them. Here is how I pin the color space down before asking, and how I check the answers against a number I compute myself.

2026-09-14Intermediate

When BLOCK_NONE Changes Nothing: Telling Adjustable Gemini Blocks from the Ones You Can't Move

Some safety blocks go away when you loosen a threshold. Others never will. Here is how to read the response and decide which kind you are looking at before you touch a single setting.

2026-09-05Advanced

Two Kinds of Video Questions: Why I Send "Find It" and "Prove It Isn't There" Down Separate Paths

Agentic video understanding lets the model decide which parts of a video to watch. That works beautifully for finding things, and it quietly breaks when you need to prove something never appears. Here is how I split my questions, and the coverage check I now run first.

2026-08-31Advanced

Define What Counts as a Duplicate Before Adding Embedding Search to Your Image Pipeline

My dedup check flagged two prints with identical composition but different colors as one image. Here is how I split duplicate detection into three layers, measured where perceptual hashing ends, and decided what embedding search is actually for.

2026-08-25Advanced

Rebuilding the CTR Denominator After AI Search Fans Out Your Queries

My top five queries by impressions all had zero clicks, and four of them were not phrases a person would type. Here is how I rebuilt the denominator and where I let Gemini make the call.

2026-08-24Advanced

A Provenance Gate That Never Asks Gemini to Name the Country

How I rebuilt the pre-publish provenance check for a ukiyo-e wallpaper app, moving from asking the model to name a country to asking it only to list the marks physically present on the paper. Includes the working code, the decision table that lives on my side, and why an abstain path had to come before accuracy.

2026-08-09Advanced

The Memory Wasn't Lost — It Was Written to a Different Profile

A Memory Bank profile is identified by the pair of schema and scope. When call sites build that scope slightly differently, extra profiles appear with no error at all. Here are the measured numbers for how badly it fragments, and how three candidate fixes actually performed.

2026-08-06Advanced

The Day the Knowledge Cutoff Moved Forward, the Stale Part Was My System Instruction

When a model's knowledge cutoff advances, the thing that goes stale is not the model — it is the dated assertions in your system instruction. Here is why only the lines written between the two cutoffs flip from helpful to contradictory, plus a working audit script and its measured results.

2026-07-31Advanced

After the Vertex AI Rename, I Measured My Search Stack. Ranking Held. Aggregation Did Not.

When Vertex AI became Gemini Enterprise Agent Platform, I benchmarked my own docs search. Ranking barely moved. The exact-match layer quietly lost most of its results without raising a single error.

2026-07-28Advanced

When Version Numbers Stopped Meaning Generations: Rebuilding Cost Attribution That Parsed Model IDs

A regex that derived generation and tier from Gemini model IDs broke quietly once Flash reached 3.6 while the top Pro stayed at 3.5. Here are the runnable probes, the attribution gap between regex-derived and registry-joined rollups, and the redesign that treats model IDs as opaque keys.

2026-07-26Advanced

Wiring a Security-Focused Model Into a Solo Developer's Audit — The Extraction Layer and Fingerprints That Stop Re-Reporting

A three-layer design that extracts outbound-request sinks with the AST, then accepts a model's hypothesis only when the reproduction actually runs. Four fingerprint schemes measured, including the collision that hides a real finding behind a safe twin.

2026-07-17Advanced

A Japanese query won't surface its English twin — when embeddings notice language before meaning

Embed a translation pair with gemini-embedding-2 and the two halves won't be nearest neighbours, because language itself inflates similarity. Here is how I measured cross-lingual recall using translation pairs as ground truth, and what happened when I subtracted the language centroid.

2026-07-16Advanced

What language should your system instruction be in? Measuring three approaches when most prompts arrive in the user's language

Keep the system instruction in English, or translate it into the user's language? I measured input tokens per language with countTokens, then lined up output-language match and schema compliance to find where nine tokens is enough.

2026-07-15Advanced

A near-miss label won't fix itself on retry — a normalization layer for closed-vocabulary classification

When responseSchema enum returns an out-of-set label, retrying tends to return the same near-miss. From a wallpaper app's 30-category batch, here is the distribution of how labels miss, plus a normalization layer built on an alias table and gemini-embedding-2 nearest-neighbor, with measured results.

2026-07-12Advanced

Spend Deep Reasoning Only Where It's Needed: Per-Request thinking_level Routing in Gemini

Running every request at high thinking_level bloats latency and cost; forcing low drops accuracy on hard questions. This walks through a router that picks Gemini 3.x thinking_level per request from an inexpensive difficulty estimate, keeping p95 latency inside a mobile budget while reserving deep reasoning for the questions that need it — with measured numbers and working code.

2026-07-12Advanced

A minimal evolutionary search loop with Gemini: propose, evaluate, select — prompted by AlphaEvolve's GA

With AlphaEvolve reaching GA, I built the smallest possible evolutionary search loop on the Gemini API: generate candidates, score them with a fitness function, and select the best. Sandboxed evaluation, diversity, and budget control — from real solo-dev use.

2026-07-11Advanced

A Risk-Tiered Approval Gate for Gemini Function Calling

Handing full autonomy to an agent is unnerving. This walks through a Gemini function-calling loop that routes tool calls into auto-run and hold-for-approval by risk tier, then feeds the result back to the model after a human signs off.

2026-07-10Advanced

The Day We Went From 30 Categories to 34 — Reclassifying 1,180 Assets Instead of 8,142

Adding categories to a taxonomy does not require reclassifying everything. Here is how embeddings and confidence margins narrowed a backfill from 8,142 assets to 1,180, with the numbers.

2026-07-10Advanced

Images Made With a Retiring Model Can Never Be Made Again — Tracking Regenerability in a Ledger

When Gemini's image generation models shut down on August 17, the assets you made with them can no longer be reproduced the same way. Here is the ledger design and code I use to decide, before the deadline, which assets are regenerable and which must be frozen.

2026-07-10Advanced

My ADK Assistant Quietly Forgot a Deadline — Catching Compaction Memory Loss With a Recall Probe

Compacting conversation history in Google ADK with Gemini lowers cost, but it also erodes what your assistant remembers — silently. Here is how I built a recall probe to measure that loss, compared three compaction strategies against the same ledger, and stopped trading memory for tokens.

2026-07-09Advanced

Setting a Token Budget Per Free User: Balancing AdMob Revenue Against AI Feature Cost

Rate limits protect requests per minute. They do nothing for the invoice that arrives at the end of the month. Here is how I derive a per-user token budget from ad revenue, keep the ledger inside a single call wrapper, degrade gracefully at a soft cap, and detect abuse with one concentration ratio.

2026-07-08Advanced

When Your Knowledge Base Shifts Mid-Run: Pinning File Search to an Execution Epoch for Consistent Agent Grounding

When a File Search store is updated while a Managed Agent is running, a single execution can mix old and new grounding. Borrowing MVCC ideas, pinning an execution epoch keeps one agent run's evidence consistent. Here is the design and implementation.

2026-07-08Advanced

One File Search Store for Many Apps: Splitting Retrieval With customMetadata and Chunk Config

Put several apps' FAQs in a single Gemini File Search store and metadataFilter can silently return empty grounding, or answers get split across chunk boundaries. Here is the customMetadata design, the AIP-160 filter-syntax trap, and measured chunkingConfig tuning.

2026-07-07Advanced

Render Structured Output Field by Field as It Streams: Safe Partial JSON Parsing

With responseSchema streaming, the screen stays blank until the JSON closes. This walks through a partial parser that safely completes unclosed JSON, plus anti-flicker fencing that never lets a field move backward, and shows how time-to-first-field dropped from about 2.4s to 0.4s in practice.

2026-07-07Advanced

Designing So the Next Shutdown Notice Doesn't Cost You an Afternoon: Isolating Gemini Behind a Single Port

The morning an image model shutdown notice landed, I couldn't say where my app touched that model. This is the design I use now: collapse Gemini dependencies into one port, with fallback and a CI deadline guard, shown as working code.

2026-07-06Advanced

Being Able to Say Later Where a User's Data Was Processed — Region-Pinned Gemini (Vertex AI) Clients and a Residency Policy Gate

The default global endpoint is convenient, but it leaves you unable to explain where an EU user's data was processed. Here is a design built from three parts—a region-pinned Vertex AI client, a policy gate that forbids implicit global fallback, and a call ledger—with working code and measured latency.

2026-07-04Advanced

Gemini 3 Multi-Tool Agents: Function Calling + Built-in Tools + Context Circulation in Production

A hands-on look at Gemini 3 multi-tool agents: combining Built-in Tools with Function Calling, Context Circulation, and parallel tool IDs, with measured latency numbers and the pitfalls I hit in production.

2026-07-03Advanced

Your Tool Results Are Quietly Eating the Conversation — Handle Passing to Keep Gemini Function Calling Contexts Lean

Tool results linger in Function Calling history and compound your input tokens every turn. Two implementations — a token-budgeted compactor and handle passing — cut my measured input by roughly 8x, with the pitfalls I hit along the way.

2026-07-03Advanced

Your Night Batch Is Causing the Morning 429s — Priority Admission Control for a Shared Gemini Quota

When bulk jobs and interactive features share one project's RPM/TPM, the bulk lane wins by default. A priority token bucket design with measurements: 429 rate 3.2% down to 0.03%.

2026-07-02Advanced

When the Gemini Review Bot in Your CI Quietly Stops Earning Its Keep — Rebuilding Trust with Coverage and Actioned-Rate Metrics

A Gemini-powered PR review bot in GitHub Actions degrades without ever throwing an error. Field notes on catching diff truncation, model alias drift, and swallowed parse failures with one-line JSON logs and an actioned-rate metric.

2026-07-02Advanced

After You Improve the Prompt, How Far Back Do You Regenerate? — Designing a Budget-Bounded Backfill

A prompt improvement only helps future output — thousands of old artifacts stay on the previous generation. This piece covers a budget-bounded backfill: selection scoring, edit-detection hashes, a pre-replacement gate, and a resumable cursor, with working code.

2026-07-01Advanced

Getting Artifacts Out of a Managed Agents Sandbox Safely — Scoped Credentials and Egress Design

Gemini API Managed Agents run in a Google-hosted isolated sandbox. Here is the short-lived, least-privilege credential and egress-boundary design I use to return generated artifacts to my own repository safely.

2026-06-29Advanced

When Your Gemini Agent Has Three Tool Routes and Quietly Picks the Wrong One

Put Function Calling, Code Execution, and Grounding into one agent and the model will sometimes choose the wrong route, while the output still looks perfectly plausible. Here is how I instrument route selection and correct it with phase separation and verification gates, with working code.

2026-06-27Advanced

Your Gemini Completion Event Will Arrive Twice — An Idempotent Sink That Makes Webhook + Reconciliation Effectively Once-Only

Once you receive Gemini long-running operations over a Webhook and back it up with a reconciliation poller, the same completion arrives twice and publishing or billing runs twice. Build an idempotent sink with a normalized key and a claim-run-commit pattern that keeps side effects effectively once-only.

2026-06-27Advanced

Don't Ingest Gemini Deep Research Reports Blindly — A Citation-Verification Acceptance Gate for MCP-Grounded Research

Now that Deep Research connects to MCP servers and File Search, you can ground research on your own data. This builds an acceptance gate that verifies, before any automated ingest, whether each citation resolves to a trusted source — with an allowlist, a grounding-coverage ratio, and categorized reject reasons, all in working code.

2026-06-27Advanced

When Gemini Computer Use Acts on a Stale Screen and Fails Quietly — Field Notes on Guarding the Loop

A Computer Use agent will click based on a screenshot taken moments ago, miss the real target, and throw no error. These are field notes on measuring those silent misclicks and stopping them with an observe-act-verify loop.

← All Articles