Automating Customer Support with JSM Virtual Agent

This post details the evolution of the JSM Chat architecture, introducing a unified orchestrator service and channel categorization (streaming vs. non-streaming) to address inconsistencies in bot responses across different channels. It describes the routing strategy for the Virtual Agent (VA), which prioritizes intent matches for premium customers or falls back to AI-generated answers. The AI deep dive covers personalization, Retrieval-Augmented Generation (RAG) with multiple search sources (Jira tickets, knowledge bases), and safeguards against hallucinations. The search and ranking mechanism is explained, detailing the use of similarity scores, cross-encoder scores, and Reciprocal Rank Fusion (RRF) to extract relevant passages. The impact of the JSM Virtual Agent is quantified with metrics on resolution rate and CSAT scores. Further improvements like query variation, vague query detection, and a Chain-of-Thought (COT) based hallucination detector are also discussed.
More from the AI-Native Software Development Capabilities in Jira trail
- A simpler way to run AI agents in Bitbucket Pipelines
- We’re bringing governed agent loops to the AI-Native SDLC
- How we made vulnerability fixes review-ready with Agentic Pipelines
- Agentic automation in practice: putting standard engineering work on autopilot
- Opening the door to agent autonomy: The architecture behind Rovo’s agent harness