GEMINI LABJP
0918 — The Gemini API changelog has no entries after September 18. For new projects the recommendation is still 3.5 Flash-Lite or 3.8 Flash09/30 — gemini-omni-flash-preview shuts down on September 30, six days away. Its successor is gemini-omni-1.1-flashENTCLI — An open question asks why Gemini 3.5 and 3.6 Flash have not reached Gemini CLI on Enterprise accounts, and the gap with personal accounts is still unexplainedNEW — The day I first removed a connected MCP server, and how I now pick the tools that stay onCONFIG — Since Antigravity 2.17.0, repository settings load from .gemini/config.json, the same .gemini/ folder Gemini CLI already usesPICKER — When a familiar model disappears, check what your own model picker actually lists first. It keeps an access limit from being mistaken for an outage0918 — The Gemini API changelog has no entries after September 18. For new projects the recommendation is still 3.5 Flash-Lite or 3.8 Flash09/30 — gemini-omni-flash-preview shuts down on September 30, six days away. Its successor is gemini-omni-1.1-flashENTCLI — An open question asks why Gemini 3.5 and 3.6 Flash have not reached Gemini CLI on Enterprise accounts, and the gap with personal accounts is still unexplainedNEW — The day I first removed a connected MCP server, and how I now pick the tools that stay onCONFIG — Since Antigravity 2.17.0, repository settings load from .gemini/config.json, the same .gemini/ folder Gemini CLI already usesPICKER — When a familiar model disappears, check what your own model picker actually lists first. It keeps an access limit from being mistaken for an outage
Articles/Advanced
Advanced/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.

Gemini API242Structured Output11Prompt Design4Image Classification5Python49

Premium Article

The night I finished tagging a new batch of ukiyo-e wallpapers by subject, I asked Gemini to double-check my work. I attached each image and asked, "Is this a landscape print?" Almost every reply came back as a polite yes with a plausible reason.

Then I noticed one print I had tagged by mistake: a close-up actor portrait still carrying the landscape tag. Gemini had agreed with that one too, pointing to the painted scenery behind the actor.

I thought I was getting a second opinion. I was getting my own opinion read back to me. This is the record of how I changed the question.

The confirmation question was handing over the answer

Looking back, the problem started in my prompt, not in the model. "Is this a landscape print?" already contains the answer. The model reads the image starting from that word and goes looking for evidence that fits.

I don't think this is unique to Gemini. The gemini-cli repository has a long-running issue (#4556) about responses leaning too far toward agreement, and the comments are split between "fix it with instructions" and "change how you ask."

The line I drew is simple:

When you ask for a judgment, don't let your own answer into the room.

Instead of showing my label and asking whether it's right, I ask the model to solve the task from scratch, and I compare the two answers myself.

Three ways to ask, side by side

Before rebuilding anything, I tried three prompt shapes on the same batch. As an indie developer running a small pipeline, the evaluation was my own eyes, nothing fancier.

ApproachPrompt shapeWhat happenedWhere it fits
Confirm"Is this X?"Near-universal agreement, including on wrong tagsReviewing prose where there is no single right answer (see below)
Object"Find what's wrong with this tag"Invents objections to correct tags; the bias just flips directionPure hunting for oversights
BlindGive only the options, compare with my tag locallyAgreement and disagreement separate cleanly; slightly longer outputClassification with a fixed set of options and one right answer

The surprise was the "object" approach. Once finding a flaw becomes the assignment, the model finds one, even on correct tags ("if you weight the background, it could also be a landscape"). I had traded agreement bias for disagreement bias.

The blind approach costs a little more output per call because the model classifies from scratch. But the items I need to look at shrink to the disagreements, so the total effort went down. I kept blind classification for tagging and saved the confirmation style for something else.

Thank you for reading this far.

Continue Reading

What follows includes implementation code, benchmarks, and practical content we hope you'll find useful. This site runs without ads — server and development costs are supported entirely by members like you. If it's been helpful, we'd be truly grateful for your support.

WHAT YOU'LL LEARN
You will be able to have Gemini re-classify your data without ever seeing your labels, and review only the items where the two answers disagree
You will be able to close the paths through which your answer leaks back in (file names, option order, a helpful preamble) before they quietly inflate your agreement rate
You will be able to choose between asking for confirmation, asking for objections, and hiding your answer, based on the kind of task in front of you
Secure payment via Stripe · Cancel anytime

Unlock This Article

Get full access to the rest of this article. Buy once, read anytime. This site is ad-free — your support goes directly toward keeping it running.

or
Unlock all articles with Membership →
Share

Thank You for Reading

Gemini Lab is ad-free, supported entirely by members like you. We publish practical guides daily with implementation code, benchmarks, and production-ready patterns. If you've found it useful, we'd love to have you on board.

  • Copy-paste ready implementation code
  • New advanced guides published daily
  • $5/mo or $15 for lifetime access
View Membership →

Related Articles

Advanced2026-07-15
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.
Advanced2026-07-10
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.
Advanced2026-03-31
Build a Personal AI Secretary with Gemini API — Task Automation, Email Summaries & Schedule Optimization for Solopreneurs
A complete guide to building a production-grade AI secretary system for freelancers and solopreneurs using Gemini API. Covers Function Calling implementation for task automation, email summarization, and schedule optimization, all the way through Cloud Run deployment.
📚RECOMMENDED BOOKS
Build a Large Language Model (From Scratch)
Sebastian Raschka
LLM Dev
Prompt Engineering for LLMs
Berryman & Ziegler
Prompting
AI Engineering
Chip Huyen
AI Eng
* Contains affiliate links