success patterns in amp threads
analysis of 3050 successful threads (RESOLVED + COMMITTED) vs 14 frustrated threads.
key metrics
| status | n | avg turns | avg steering | avg approval |
|---|---|---|---|---|
| COMMITTED | 305 | 57.0 | 0.42 | 1.79 |
| RESOLVED | 2745 | 67.7 | 0.46 | 0.94 |
| FRUSTRATED | 14 | 84.3 | 1.71 | 0.86 |
insight: frustrated threads have 4x the steering rate of successful ones. more corrections = more frustration, not less.
opening message patterns
successful threads
- continuation threads dominate committed: “Continuing work from thread T-xxx…”
- spawned agents with clear file context attached
- pre-defined scope from parent thread
- concrete requests: “Give me a SQL query that shows…”, “Migrate X to Y package”
- well-scoped asks: specific file paths, clear deliverable
- context-heavy: attach relevant files, link prior threads
frustrated threads
- vague openings: “Fix this”, “Run and debug TestService_RegistrationError”
- inherited confusion: continuing from already-problematic parent threads
- external paste-heavy: dumping CI logs, chatgpt advice, error output without context
mid-thread behaviors
successful threads
-
message label distribution (n=18,265):
- NEUTRAL: 60%
- QUESTION: 21%
- APPROVAL: 13%
- STEERING: 6%
-
approval vocabulary: “ok”, “great”, “commit”, “push”, “do it”
-
questions are clarifying, not frustrated: “Aren’t there e2e tests?”, “what about X?“
frustrated threads
- STEERING spikes repeatedly within single thread
- escalating language: “WTF”, “NO DUDE”, “brother I don’t CARE about”
- corrections compound: agent misses context → user corrects → agent misses again
- all-caps emphasis increases over thread lifetime
closing sequences
committed threads
- explicit commit directive: “commit and push”, “great, then commit”
- approval + action: “OK that sounds promising” → “do it”
- short confirmations after work: “Great. Commit with bench numbers.”
resolved threads (non-commit)
- implicit completion: thread ends after agent delivers answer
- single-turn resolution: question asked, answer given, done
- handoff: “continue in new thread” (becomes HANDOFF status)
frustrated threads
- thread abandons mid-steering
- no resolution, just escalating corrections
- ends on user frustration: “YOU WILL ABSOLUTELY NOT”, “WTF ARE YOU DOING!!!!!“
contrasts: success vs frustration
| dimension | success pattern | frustration pattern |
|---|---|---|
| opening | specific + scoped | vague or inherited mess |
| steering rate | 0.42-0.46 per thread | 1.71 per thread |
| approval rate | 0.94-1.79 per thread | 0.86 per thread |
| turn count | 57-68 avg | 84 avg (longer ≠ better) |
| vocabulary | ”do it”, “commit”, “ok" | "WTF”, “NO”, “DUDE” |
| trajectory | question → work → approval | correction → escalation → abandon |
actionable patterns
- spawn with context: successful committed threads often start from parent with attached files
- approve early: even neutral acknowledgment keeps threads on track
- steer once, not repeatedly: repeated steering correlates with failure, not recovery
- explicit close: “commit and push” as clear endpoint
- short turns for simple tasks: single-turn resolved threads avoid compounding errors