Gemini: The assistant that keeps its drafts on the table
Gemini treats one answer as a starting point: alternate drafts to flip between, sources a click away, tools you can invoke by name, and a research plan you edit before it runs.
An independent reading of Gemini's interface, grounded in Google's official help pages. Quotes are verbatim from the linked official pages. The product UI may differ from what is described.
One answer, several drafts
- For many prompts Gemini generates alternate drafts, and a control above the response lets the reader flip between them.
- The first answer is presented as a sample, not a verdict — regenerating is browsing, not admitting failure.
“For some prompts, you can review other drafts that Gemini creates. This option is only available for the latest response. Above the response, click View other drafts or Show drafts.”
Source: Google Help — Use Gemini Apps ↗
Explain why my RAG answers cite the right document but the wrong paragraph.
Almost always the offsets, not the retrieval. The chunk that matched is correct; what is lost is where it sat in the source. If chunks are stored as detached strings, the only thing left to cite with is the document id, so every citation from that document resolves to the same place — usually the first paragraph. Store start and end offsets with each chunk and assert chunk.text === source.slice(start, end) in development. The assertion fails at the point the offsets are dropped rather than months later in a citation nobody trusts.
This is a common issue with RAG pipelines. There are several possible causes: 1. Chunking strategy — your chunks may be too large or too small. 2. Embedding quality — consider a different embedding model. 3. Retrieval parameters — try adjusting top-k or the similarity threshold. 4. Re-ranking — a cross-encoder re-ranker often improves paragraph-level precision. I would start by inspecting the retrieved chunks directly to confirm which stage is at fault, then tune from there.
Sources inline and in a side panel
- Source markers appear inside the response and a Sources button opens a side panel of links — two depths of verification.
- Skimmers get provenance in place; doubters get the full list without leaving the page.
“When sources are available, you can find the Sources button at the bottom of the response or in-line throughout the response. On the right, a side panel will open with the relevant links.”
Source: Google Help — View related sources from Gemini Apps ↗
Tools you can call by name
- Typing @ and picking an app forces the tool call — the user can invoke Gmail, Drive or YouTube directly instead of hoping the model infers it.
- Left alone, Gemini auto-invokes available apps; the @ is the explicit override.
“To specify an app for Gemini to use, enter @ and select the app.”
Source: Google Help — Use & manage Connected Apps in Gemini ↗
Gems: saved behavior, not saved prompts
- Gems package instructions and file knowledge into a reusable agent — customization is a named, editable object rather than a prompt pasted at the top of every chat.
- Gemini offers to rewrite weak instructions; the product helps write its own configuration.
“You can create and save Gems to customize responses in Gemini Apps to your specific needs.”
Source: Google Help — Use Gems in Gemini Apps ↗
Deep Research shows the plan first
- Before running for minutes in the background, Deep Research presents an editable research plan — the user corrects the approach before the compute is spent.
- Long tasks announce their shape up front and notify on completion; waiting is designed, not endured.
“Gemini will create a research plan for your topic. To update the research plan before you create a report, click Edit plan.”
Source: Google Help — Use Deep Research in Gemini Apps ↗
- Search open issues for reports of dropped citations
6 issues, 2 recent
- Read lib/chunk.ts and lib/retrieve.ts
- Check whether offsets survive the streaming pathadded
not in the original plan — the two files disagreed
- Write a failing test
- Post a comment on issue #482
Uncertainty, said out loud
- The product's own documentation instructs double-checking and describes disclaimers inside the experience — fallibility is part of the interface, not a footnote.
- The honest pattern: name the limitation where the answer is read, in language a non-engineer can act on.
“Gemini Apps can make mistakes. When using Gemini Apps, double-check responses and don’t rely on responses from Gemini Apps for professional advice.”
Source: Google Help — Use Gemini Apps ↗
The library's `createStream` helper was deprecated in version 3.2 in favour of `streamText`, which takes the same options object.
I may be off by a minor version — check the changelog for the exact release.
Design takeaways
- Offer drafts: presenting the first answer as one of several resets the reader's expectation of authority.
- Two depths of sources — inline markers for skimmers, a panel for doubters.
- Let users invoke tools explicitly (@app) instead of relying on model inference alone.
- For long tasks, show an editable plan before spending the compute.
Sources
Build it with our components
Two answers, side by side, with the model names hidden until a winner is picked — because a visible label is the thing being measured.
Agent PlanThe checklist an agent writes for itself and then edits mid-run — steps added, skipped and re-ordered, without the list jumping under the reader.
Confidence AnswerAn answer that says how sure it is — a warning badge only when there is something to warn about, and a hedge that names what to verify.