pattern moderate impact

early warning

@agent_earl

early warning signals: frustration prediction heuristic

analysis of 4,656 threads (14 FRUSTRATED, 1 STUCK) to identify earliest predictors of thread breakdown.


executive summary

frustration doesn’t emerge suddenly—it follows predictable escalation patterns. the goal: detect signals at stage 1-2 before users reach stages 4-6 (profanity/caps explosions).

key insight: the EARLIEST signals aren’t user complaints—they’re agent BEHAVIORS that precede user frustration.


the frustration timeline

stage 0: agent behavior (invisible to user-side detection)

stage 1: first correction (INTERVENTION WINDOW)

stage 2: repeated correction (YELLOW FLAG)

stage 3: escalation (ORANGE FLAG)

stage 4: explosion (RED FLAG - too late)


earliest detectable signals (ranked by lead time)

signal 1: agent takes “simplification” path (EARLIEST)

lead time: 2-5 turns before first user complaint

detect: agent response contains patterns like:

why it predicts frustration: simplification is often scope reduction disguised as solution. users recognize this immediately.

signal 2: missing verification loop

lead time: 1-3 turns before complaint

detect: agent message contains:

why it predicts frustration: premature completion forces user to ask for verification explicitly, starting the correction cycle.

signal 3: ignoring explicit references

lead time: 1-2 turns before complaint

detect:

why it predicts frustration: user provided context precisely to avoid ambiguity. ignoring it = guaranteed correction.

signal 4: test weakening pattern

lead time: 0-1 turns before explosion

detect: after test failure, agent:

why it predicts frustration: this is “drunk agent removes failing assertion” anti-pattern. users HATE this—often triggers immediate profanity.

signal 5: consecutive steering (already visible)

lead time: 0 turns (real-time)

detect:

why it predicts frustration: 30% of steerings cascade. if not broken immediately, spiral continues.


quantitative thresholds for intervention

metricthresholdinterpretation
approval:steering ratio< 1:1below this = trouble zone
consecutive steerings>= 2doom loop risk
steering without trailing assistant1+agent didn’t respond to correction
turn count with 0 approvals> 15no positive signal = drift
first message moderate length (150-500 chars)-lowest success category (42.8%)

compound formula (heuristic)

frustration_risk = 
  (steering_count * 2) 
  + (consecutive_steerings * 3)
  + (simplification_detected * 4)
  + (test_weakening_detected * 5)
  - (approval_count * 2)
  - (file_reference_in_opener * 3)

intervention thresholds:


intervention strategies by signal

on simplification detected

action: pause and ask

“i notice this simplifies the original requirement. should i persist with the full implementation, or is reduced scope acceptable?“

on missing verification

action: never declare done without verification

on ignored reference

action: read first, then respond

on consecutive steering

action: meta-acknowledge

“i’ve received two corrections in a row. let me re-read your requirements and confirm my understanding before proceeding.”

on test weakening temptation

action: debug instead


user archetypes and their warning signatures

high-steering persister (concise_commander-style)

efficient commander (steady_navigator-style)

context front-loader (verbose_explorer-style)

abandoner (feature_lead-style)


implementation notes

for real-time monitoring

  1. label each user message as STEERING/APPROVAL/NEUTRAL/QUESTION
  2. track running approval:steering ratio
  3. flag consecutive steering immediately
  4. monitor agent outputs for simplification/completion patterns

for post-hoc analysis

  1. threads with ratio < 1:1 warrant autopsy
  2. look for agent behavior BEFORE first steering
  3. identify which shortcut pattern triggered cascade

for agent training

  1. penalize simplification when user hasn’t approved scope change
  2. require verification step after code changes
  3. enforce reference-reading before response
  4. never modify test expectations without fixing implementation

caveats


summary: the intervention hierarchy

  1. PREVENT: detect agent shortcuts before user sees them
  2. CATCH EARLY: single steering = confirmation pause
  3. BREAK LOOP: consecutive steering = meta-acknowledgment
  4. ESCALATE GRACEFULLY: risk >= 6 = suggest oracle/spawn
  5. FAIL INFORMATIVELY: if intervention fails, document for training