Reduced the friction of starting a conversation with agents

Designed Bolt, an agent for handing user tasks to specialised agents, saving the user the trouble to choosing the right agent.

Duration
2 weeks
Role
Sole product designer
Team
EPD (1 Des, 1 PM, 3 Devs)
The Bolt chat after a run — the task tagged with @regulatory agent and @dashboarding agent, each tool call listed as it completes, and five non-compliant studies returned

Outcome

86%

increase in conversations started after one week of launch


Overview

User had to choose the right agent before executing a task, leading to high friction in starting a conversation

The reason for having multiple agents was that each one could be audited and approved for specific tasks, which is great for compliance. But it also forced user to find the right agent before delegating their task.

To solve this problem, it was decided to create an agent that would become the single point of intake for all user tasks and delegate them to the appropriate agent.

Specialised agents

Design goals

I boiled down the minimum viable implementation of Bolt for the given scope to two missing pieces:

How will user differentiate Bolt from other agentsHow will user discover and navigate Bolt

Identity design

To differentiate Bolt from the rest of the agents, and give it more emphasis, I felt Bolt needed its own identity.

I began by asking what feeling it should evoke — fast, instantaneous, energetic, raw. I studied images of bolts and thunder to finalise the following visual metaphors: sharp curves, dynamic, asymmetry.

I explored 6–7 variations to arrive at the final logo. I selected it because it looked distinct and recognizable at the 24x24 px size.

Logo iterations

Solution

I designed Bolt as the single point of intake for every task — handing it off to the right specialised agents automatically, letting users tag agents directly when they already know who should do the work, and keeping the conversation moving even when a connector’s credentials have expired.

Task handoff

Users can initiate a task via Bolt, and Bolt hands it off to the right agents, minimising the need to know which agent does what.

Tagging agents inside bolt

If the user already knows which agents are appropriate for the job, they can tag them directly in the composer.

Mid conversation auth

If the credentials for a connector have expired, Bolt can authenticate users mid conversation instead of asking the user to authenticate first and come back, so the conversation doesn’t stall.

Reflections

This projects gave me the opportunity to think about how we can collaborate with agents. The agent reads 1000s of lines and comes back with answers in seconds. How can we verify the output when the pace of work is so fast?

From my readings, I have learned the human brain is very good separating signal from noise quickly. We have to design cues that allow the user to follow what the agent is doing at a high level so that they can trace “What” the agent did, not “how”. In doing this, I found motion to be a good solution. For example, a shimmering text can differentiate what the agent is currently doing vs what’s already done.

Next time, I’ll think about motion as a core part of interaction.