TL;DR — After Blink AI moved to a cheaper model, its coach began praising wrong answers. Now it names the gap and asks a guiding question, backed by tone rules, a Turkish-aware word guard and a per-turn rule audit — and it sees what learners watched and answered. Several bugs were in our own prompts.
A coach that praises everything teaches nothing. Over the summer Blink AI‘s coach drifted there, and a better prompt alone did not fix it. This is part 4 of our product notes, following Wallnetic 1.4, SCORM and H5P in Blink AI and pause ownership in Wallnetic.
No praise for wrong answers
It started with a cost cut. On a cheaper model the coach slid into sycophancy, praising every submission: most reflection prompts asked for appreciation and empathy, with no wrong-answer carve-out. Now the rules are explicit:
- Lead with the gap. After a wrong, partial or empty answer the first sentence cannot celebrate, and calling a failed result a “great opportunity” is banned.
- Guide, don’t tell. The coach will not write out the correct answer; it asks a question that steers towards the concept, true to its Socratic style.
- Firmness carries over; praise does not. After an exam, the tone status survives into the follow-up turn, so the coach still knows it was wrong when a learner replies “but we always do it this way”.
A Turkish-safe word guard
The cheaper model ignored the ban, still opening with empty superlatives. Regenerating would mean a second paid call — the cost we had just cut — so the last defence is deterministic:
- Exact words, Turkish rules. Empty superlatives are matched word by word after
toLocaleLowerCase('tr'). A regex stripper failed review: the Turkish capital dotted I defeats default case-mapping, ASCII word boundaries break on Turkish letters, and suffixed words got mangled. - Bail out rather than break. If a removal would leave a dangling conjunction, the guard keeps the original — better a rare superlative than an obviously broken sentence.
- Zero extra model calls. Pure string work. Streamed reflections are buffered and sent once, so no banned word appears mid-stream.
What the coach sees now
Until August the coach knew a video’s title, not what it said. Now it reads what the learner watched and answered from stored records — structured state, not chat history:
- Video narration. Authors can paste a video’s narration into its own field. Each item is capped at 900 characters, and the context budget then takes those capped items whole or skips them. After an exam it stays hidden until a pass or the last attempt.
- Learner history. Earlier answers, most recent first, within a fixed budget. Both blocks are fenced as passive data, tested against a planted instruction.
- “Go back to” from reached content only. With nothing to offer, the coach asks rather than invents.
- Direction, not numbers. Pre/post-test direction shapes the reply in the moment; the coach is forbidden to write the number out.
Auditing every turn
A rule in a prompt is a hope until it is measured, and no single guardrail layer is enough — so every coach turn in the learning flow is checked in production:
- Rule events — five violation types are scanned, normalising a wrong answer as “perfectly natural” among them. Each hit goes to a persistent table, without the message text. It counts; it does not edit.
- Turn trace — every turn records which context blocks entered the prompt, read from the final prompt itself.
What was hard
- The coach invented five module names to revisit: the prompt asked for suggestions but gave no list — fixed by injecting completed content, with an “ask, don’t guess” fallback.
- “Reflect the score briefly” followed “never write raw scores”, and the model obeyed the later one — fixed by making the score line conditional.
- Learners saw old answers on their cards, so we assumed the coach did too; it never got them — fixed by the learner-history block.
- The first violation detector wrote only to log files lost on every redeploy — fixed by moving the events into that table.
What this buys
A coach that names the gap, points at the concept and knows what the learner saw — with no extra model calls and a running count of the rule breaks we can spot. Honest feedback is a pipeline, not a prompt. Product notes continues — next up, the Wallnetic features waiting for the next release.
Frequently asked questions
How do you stop an AI coach from flattering learners?
Blink AI treats sycophancy as a pipeline problem rather than a prompt problem. Reflection prompts carry explicit tone rules for wrong, partial and empty answers, a deterministic word guard removes empty Turkish superlatives without an extra model call, and every coach turn in the learning flow is scanned for five rule-violation types, logged without storing any text.
Does Blink AI’s coach tell learners the correct answer?
Not after a wrong answer. The coach can neither celebrate a wrong answer nor write out the correct one; it names the gap and steers towards the right concept with a question. Revisit suggestions are drawn only from content the learner actually reached.
Working on something similar?
T-Square architects, builds and operates production systems for learning, AI and custom software products. Talk to a senior engineer for a second opinion.
