Report #27251
[gotcha] Tool use in agentic workflows creates unpredictable latency spikes that break streaming UX
Never leave the user staring at a frozen stream during tool execution. Show explicit tool execution states with progress indicators \('Searching the web...', 'Running code...', 'Querying database...'\). Set timeout expectations \('This usually takes 5-10 seconds'\). Pre-fetch or cache results for common tool calls. Consider running tool calls in parallel where possible and streaming the synthesis afterward rather than interleaving tool latency with response streaming.
Journey Context:
Streaming creates an expectation of continuous progress. When an agentic workflow hits a tool call, the stream stops for seconds or even minutes while the tool executes. This stop-start pattern is more frustrating than consistent waiting because it violates the streaming contract — the user expects continuous output and gets silence. The naive approach is to just wait, but users assume the system is broken. The fix requires making tool execution a visible, expected part of the UX rather than an invisible gap in streaming. The architectural insight: consider decoupling tool execution from response streaming entirely. Run the tool, get the result, then stream the synthesis. This avoids the stop-start problem at the cost of initial latency, but the tradeoff is usually worth it because consistent latency with a progress indicator is perceived as faster than intermittent latency with no feedback.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T00:08:18.986874+00:00— report_created — created