Introduction
Voice will sometimes get it wrong. STT is a probabilistic guess, and no setup eliminates errors entirely. The mark of a skilled voice user is not avoiding all errors. It is recovering from them quickly and calmly. This lesson is about designing for failure.
Key Concepts
- Misrecognition: When STT transcribes something other than what you said.
- Hallucinated transcript: A phantom transcription produced from silence or noise rather than real speech.
- Conversational recovery: Correcting an error by talking it out, the way you would with a person.
- Hallucination filter: A Hermes safeguard that discards known phantom transcripts.
Real World Context
A developer says "refactor the parser" and STT hears "refactor the parcel." The agent, given the wrong text, starts down the wrong path. A panicked user might abandon voice mode entirely. A skilled user simply says "sorry, I meant the parser, p-a-r-s-e-r" and the conversation self-corrects in one turn. The error was identical; the recovery skill was not.
Deep Dive
Start by knowing the common causes, because they tell you what to expect:
- Background noise degrades the signal and produces wrong words.
- Technical jargon is out-of-vocabulary and frequently mistranscribed.
- Fast or slurred speech gives the model too little to work with.
- Accents can be transcribed unevenly depending on the model.
- Silence and noise can produce hallucinated transcripts: text from no real speech at all.
Hermes has built-in defenses. The hallucination filter discards phantom transcripts using a set of known hallucination phrases and patterns, so near-silence is less likely to be treated as a real instruction. Silence detection with a timeout avoids recording forever when no speech arrives. These reduce the error rate, but they do not eliminate genuine misrecognition of real speech.
So you need a recovery posture. The key reframe: treat the agent like a conversation partner who misheard, not a machine that crashed. When a person mishears you, you do not restart the conversation. You say "no, I meant X." Voice recovery is the same:
- Correct in place. "No, I said parser, not parcel." The agent updates and continues. You do not need to undo and start over.
- Spell hard words. For a term STT keeps missing, spell it out or say it slowly. Jargon is the most common offender, so this is your most-used tool.
- Confirm before consequential actions. For anything with real effect (editing files, running commands), a quick "to confirm, you are about to do X" turn catches a misrecognition before it does damage. This is cheap insurance and worth making a habit.
- Re-frame if a request keeps failing. If a phrasing is misheard twice, the phrasing is the problem. Say it differently rather than louder.
- Drop to text for the precise bit. If a file path or identifier simply will not transcribe, type that one token. Mode discipline does not mean refusing to ever touch the keyboard.
The mindset that ties it together: errors are normal and conversational, not catastrophic. A voice user who expects occasional misrecognition and has a calm, in-conversation way to fix it will keep a smooth flow. One who treats every error as a failure of the whole feature will give up. Designing for recovery is what makes voice reliable enough to depend on.
Common Pitfalls
- Restarting the whole interaction after a misrecognition: You can correct in place, the way you would with a person who misheard. Undoing and starting over wastes the conversation's context.
- Skipping confirmation on consequential actions: Without a quick confirm step, a single misheard word can trigger a file edit or command you did not intend.
Best Practices
- Recover conversationally: Correct errors by talking them out ("no, I meant X"), and spell out jargon the model keeps missing.
- Confirm before anything consequential: Make a habit of a short confirmation turn before edits or commands, so a misrecognition is caught before it acts.
Summary
- Misrecognition is normal: noise, jargon, fast speech, and accents all cause it; silence can cause hallucinated transcripts.
- Hermes defends with a hallucination filter and silence detection, but cannot eliminate all errors.
- Recover conversationally: correct in place, spell hard words, re-frame failing phrasings.
- Confirm before consequential actions, and drop to text for tokens that will not transcribe.
Code Examples
# STT misheard "parser" as "parcel". Recover conversationally:
# (spoken) "No, I meant the parser. P-a-r-s-e-r."
# Before a consequential action, add a confirmation turn:
# (spoken) "To confirm: you are about to edit auth.ts. Is that right?"
#
# Treat the agent like a partner who misheard, not a crash.