Talking to Nova, Naturally
Part of the free Generative AI course on LogicWiz, module: Nova Finds Her Voice.
Episode 29: Talking to Nova, Naturally
"Arjun asks Nova for a poem 'with a line in Telugu.' She writes a lovely poem — entirely in English. He didn't misspeak — Nova slid back into English, her default, and quietly dropped the one non-English line (we'll see exactly why English wins by default further down). Getting a model to reliably do what you asked is its own skill, and it's the difference between a demo and a product."
When Nova Doesn't Listen
Nova can see, hear, and speak now. But a fluent voice is worthless if she doesn't actually do what you asked. This episode is about the human side of AI: how to steer a model reliably, why it sometimes ignores you, and how it "remembers" a conversation.
None of this is about fancy code. It's about understanding a few quirks — and a couple of simple habits that fix most of them.
Instruction Drift
Here's the most common frustration. You give a prompt with several requirements, and the model quietly drops one — usually one buried in the middle of a long request. Ask for "a short poem about unity in India — and keep it to exactly four lines," and you often get a lovely poem… of six lines. The length rule, tucked in the middle, got under-served.
{{visual:instruction-drift}}
This is instruction drift — and here's the important part: it's not that the model forgets. Every word of your prompt is still right there in front of it (remember from Episode 26, the whole prompt stays in the model's memory). The real issue is weighting: models attend most reliably to the start and the very end of a prompt, so an instruction buried in the middle is the easiest to under-follow. Researchers call this the "lost in the middle" effect.
There are two root causes, and both are on you as much as the model:
- Drift — the model under-weights an instruction buried in the middle of a long prompt.
- Lack of specificity — you were vague. "Keep it short" is fuzzy; "exactly four lines" is not.
The Fix: Be Specific, Then Follow Up
Two simple habits fix the vast majority of drift.
1. Be specific up front. Don't say "keep it short" — name the number: "exactly four lines." Turn vague wishes into an explicit checklist and there's nothing to guess or under-weight.
2. Use a follow-up prompt. If the model still misses something, don't rewrite everything — send a short, pointed follow-up that names exactly what was dropped: "Redo it in exactly four lines." Continue the conversation instead of starting over. Walk through the pattern, then run it:
{{visual:followup-walkthrough}}
{{cell:l29-followup}}
The cell shows this same continue-the-thread loop on a friendlier example — it lists three festivals, then a follow-up asks to add a fun fact to each — so you can watch a follow-up build directly on turn 1 without depending on the model to drift on cue. Notice it keeps the conversation and adds a second turn: that continuation is what makes the follow-up work. It's the everyday loop of real AI use: ask, check, refine.
Why She Defaults to English
Here's a specific flavor of drift worth calling out: ask for output in another language and models often slip back into English. Why?
Because most large models are pre-trained predominantly on English text. English is their comfort zone, their default. It's a form of pre-training data bias — the data a model learned from shapes what it does when you don't pin it down. This is exactly what happened to Arjun's poem in the cold open: the lone Telugu line lost out to Nova's English default. The fix is the same: be explicit and follow up. "Respond entirely in Hindi. Do not use any English."
Memory Is Just Context
People assume Nova "remembers" your chat like a person would. She doesn't. A model is stateless — between two API calls it forgets everything. So how does multi-turn chat work?
{{visual:context-memory}}
The trick: you resend the entire conversation every turn. Each request includes the system prompt, all previous messages, and the new one. The model re-reads the whole thread and responds. So a model's memory is simply the context you send it — nothing more.
That has a real consequence: context is finite (the "context window"). A very long conversation eventually won't fit — and the model only ever sees what you send. Once you exceed the window you either get an error or you (the developer) have to drop or summarize the oldest turns to make room; there's no free, automatic memory. Managing what stays in that window is a big part of building serious agents (it's exactly why Chapter VII split work across specialized agents, each with a tighter context).
When Nova Should Ask You
Sometimes the right move isn't to answer — it's to hand control back to a human. If a customer says "where's my order?" but never gives an order number, Nova simply can't proceed. A well-built agent recognizes the missing piece and pauses to ask for it: "Could you share your order ID?" — then continues once you answer.
This is a simple form of human-in-the-loop: the agent pauses and hands control back instead of guessing. The same pattern guards consequential actions — before Nova cancels an order or issues a refund, she can stop and let a human approve first ("about to refund ₹4,000 — okay?"). Either way the point is identical: a human checkpoint inside an otherwise automated loop, the difference between an agent that hallucinates a guess and one that gets the real answer. You'll see exactly this in the finale — Nova pauses, asks, and resumes from a saved checkpoint.
What Nova Learns Next
Nova can now be steered, corrected, and kept on-topic across a conversation. It's time to put everything together. Next episode is the capstone: a voice-enabled, multi-agent shopping assistant for an e-commerce company that routes questions to specialists, asks for missing details, and synthesizes one clean answer. Everything from Chapters VII and VIII, in one system.