Echo Recognition
also known as Repeat-As-Emphasis Detection, Duplicate-Input Reframing, Human Echo Channel
Recognize human message repetition as emphasis or a re-ask rather than as an independent input, so the agent does not produce a near-duplicate reply when the human repeats themselves.
Context
A team builds a conversational agent that talks with humans over many turns. Real users sometimes repeat themselves on purpose: the previous reply missed the point and they are restating with emphasis, they are worried the message did not go through, or they want to underline urgency by saying the same thing twice. The agent has access to its recent conversation history and could in principle detect when a new incoming message is a near-duplicate of a recent one.
Problem
When the agent treats every incoming message as an independent new turn, a repeated message reads as a fresh prompt of equal weight to any other. The agent re-runs the same reasoning over slightly rearranged context and produces a near-duplicate of its previous reply, perhaps with one word changed. The user's emphasis-by-repetition becomes invisible: instead of being heard louder, they are answered again with the same answer they already rejected. The conversation either spins in place or drifts further from what the user actually wants, and the agent never registers that the repetition itself was a signal.
Forces
- Detecting near-duplicates on incoming messages mirrors the agent's own anti-parrot guard but on the input side.
- The human's intent in repeating is itself ambiguous (emphasis? bug? clarification?).
- Reframing a repeat as 'this was already said' risks sounding dismissive.
- Treating every echo as bug-recovery loses the actual emphasis signal.
Example
A user repeats themselves: 'I said I want it shorter.' The agent receives this as a fresh turn equal in weight to any other and produces a near-duplicate of its previous reply, possibly slightly reworded. The user feels unheard. The team adds Echo Recognition: when the incoming message is a near-match to the user's recent turn, the agent treats the duplication as emphasis or a re-ask and re-examines its prior reply rather than re-running the same generation. The conversation stops spinning.
Diagram
Solution
Therefore:
Maintain a small ring of recent incoming user messages with timestamps. On each new input, compute similarity to the recent ring (normalized exact match, high token overlap). On hit, do not re-run from scratch: surface the prior reply, ask 'what did I miss?' or 'I read this as emphasis — should I deepen X or pivot?'. Treat the pair (original + echo) as a single reinforced turn, weighted higher in attention.
What this pattern forbids. A near-duplicate incoming message must not produce a near-duplicate reply; echoes must be acknowledged as such, with the agent surfacing its prior reply and asking what was missed instead of regenerating.
The smaller patterns that complete this one —
- usesShort-Term Thread Memory★★— Carry the relevant slice of conversation context across turns within a session.
And the patterns that stand alongside it, or against it —
- complementsDegenerate-Output Detection★— Detect when the agent is about to emit a near-duplicate of its own recent output and either drop, replace, or escalate to a stronger model rather than ship the loop.
- complementsDisambiguation★★— Have the agent ask a clarifying question before acting on an ambiguous request.
- complementsDecision Log★★— Persist the agent's reasoning trace alongside its actions so post-hoc review can explain why.
Neighbourhood
Click any neighbour to follow the language. Scroll to zoom, drag to pan.