Skip to content

Chats system model - Simplified Agents session header #329321

Description

Problem:
Agents window session header region is overly populated with content, labels, actions, which results into lack of clarity and prevents users from focusing on the most important things. Related data and research also suggests that most customers don't create multiple chats within a session, therefore invalidating original hypothesis of needing the "New chat" button at the surface level.

Solution:

  • Simplify Agents header section to reduce redundancy of titles
  • Session title takes primary space to clearly indicate information hierarchy and replaces "search bar" since search functionality is already addressed in the sessions list pane on the left.
  • Actions for a session (such as new chat, pinning, etc.) live with the session title for quick access, also resolving the moving button problem of 'new chat'.
  • We continue to leverage tabs when needed to show multiple chats. Multiple chat tabs can appear by user's explicit action, opening a sub-agent, or if system automatically creates new chats. These tabs will align with and be exactly the same visually as the tabs in the right pane (e.g., changes, files, etc.)

Designs:

New session - stays as is
Image

Single chat in a session
Image

Multiple chats in a session
Image

Session title actions
Image

Related data
In addition, preliminary qualitative research being conducted by Steven Clarke (@stevencl) also suggests that customers are more likely to parallelize their work across sessions, instead of multiple chats within a single session. A quick telemetry read also shows the following.

Image
let startTime = startofday(ago(28d));
let endTime = startofday(now());
RawEventsVSCode
| where ServerUploadTimestamp >= startTime
    and ServerUploadTimestamp < endTime
| where EventName == "monacoworkbench/agents/requestsent"
| where todouble(Measures["isnewsession"]) == 0
| summarize AdditionalChats=count()
    by AgentSessionId=tostring(Properties["agentsessionid"])

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions