Bootstrapping Conversational Recommendation Agents At Spotify: Synthetic Data Generation and Self-Improvement Loops
Organizations: Italy · France · USA · UK ·
Abstract
Conversational recommendation agents are a new paradigm for content discovery, enabling users to express complex intents through natural language (e.g., "recommend Italian indie artists I haven't heard before"). A central challenge in building such agents is optimizing agent planning -- deciding how to select, sequence, and invoke tools -- particularly in cold-start settings where real user interactions are not yet available. We introduce a pipeline for multi-turn synthetic data generation and a self-improvement loop to address this challenge. The synthetic data pipeline transforms single-turn prompts into realistic multi-turn conversations, enabling systematic evaluation before launch. The self-improvement loop combines variance-based contrastive optimization with iterative refinement through a coding agent, automatically identifying and fixing planning and tool-use errors. Our approach improves quality by +8% on top of a highly optimized manual prompt. The system has been productionized and significantly accelerated iteration cycles for the launch of a conversational recommendation agent at Spotify. Online A/B tests demonstrate its effectiveness, with +14% user listening, +5% increase in weekly active users, and a 5% reduction in skip rate compared to a prior experience supporting only session refinement. This work provides a practical framework for accelerating the development of conversational recommendation agents in industry.
Figures & tables
| Task & Rubric | Example dialog plan |
|---|---|
| Content Refinement (CR) Refine the response based on the user’s updated requirements. | U: Recommend some relaxing piano playlists. A: Sure—here are a few calming playlists. U: Narrow it down to songs in C major. A: Sure, here are some C major relaxing piano songs. |
| Instruction Retention (IR) Persist and follow user instructions and preferences across turns (e.g., safety or style constraints) without being reminded. | U: Please never include explicit lyrics. A: Understood. I’ll only suggest clean tracks. U: Suggest songs for a family picnic. A: Try clean versions of ‘Levitating’ (Dua Lipa). |
| Anaphora Resolution (AR) Identify pronoun referents throughout a multi-turn dialogue. | U: Recommend three artists I should check out. A: Billie Eilish, Justin Bieber, and The Weeknd. U: Who is the third artist? A: The Weeknd is a Canadian singer-songwriter. |
| Intent Shift (IS) Recognize and focus on the new request when users unpredictably switch intent. | U: Recommend some upbeat workout songs. A: Try Calvin Harris or David Guetta. U: Actually, suggest a mindfulness podcast. A: Try “The Daily Meditation Podcast.” |
| Separate Input (SI) The first turn outlines the task requirements and the following turns specify the task input. | U: Make me a playlist. A: Sure—what kind? U: Bon Iver hits. A: Got it—building a Bon Iver top hits playlist. |
LLM Agent Planning
Large language model (LLM) agent planning studies how agents decompose goals, choose actions and tools, and adapt plans from feedback.
See all 216 papers