Bootstrapping Conversational Recommendation Agents At Spotify: Synthetic Data Generation and Self-Improvement Loops
Authors: Enrico Palumbo, Alexandre Tamborrino, Victor Ode, Ben Lacker, Adrià Casas Escoda, Jeremy Hopple, Marcus Better, James Leoni, Hugo Galvão, Hugues Bouchard, Mounia Lalmas, José Luis Redondo García, Abenezer Abebe, Ann Clifton, Anton Blomberg, Henrik Lindström, Dani Doro, Christine Doig Cardet
Organizations: Italy · France · USA · UK · Spain · Sweden
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
Figure 1. Conversational Recommendation Agents enable users to actively ask for recommendations and continue the dialog using natural language
Figure 2. Multi-turn Synthetic Data Generation Pipeline. a) We generalize single-turn prompts into multi-turn synthetic user-agent dialogs. b) The dialogs are then evaluated through LLM-as-a-judge with an instance-level rubric.
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.
Table 1. The five multi-turn tasks in our taxonomy. Each task is defined by a natural-language rubric used by the LLM-as-a-judge and illustrated by a representative dialog plan. U: and A: denote user and assistant turns.
Figure 3. Agent Self-Improvement Loop. We setup a process that leverages the variance in agent planning and the ability of coding agents to diagnose issues and propose improvements to self-improve the agent prompt and tools.
Figure 4. Quality of synthetic multi-turn conversations judged by human annotators
Figure 5. Multi-Turn capabilities vary by task. Relative pass@1 with respect to the best task Intent Shift. See definition of each task in Tab. 1 .
Figure 6. Multi-Turn capabilities vary by conversation length. Relative pass@1 with respect to 2-turns conversations.
Training conversational recommender systems (CRS) requires extensive dialogue data, which is challenging to collect at scale. To address this, researchers have used simulated user-recommender conversations. Traditional simulation approaches often utilize a single large language model (LLM) that generates entire conversations with prior knowledge of the target items, leading to scripted and artificial dialogues. We propose a reference-free simulation framework that trains two independent LLMs, one as the user and one as the conversational recommender. These models interact in real-time without access to predetermined target items, but preference summaries and target attributes, enabling the recommender to genuinely infer user preferences through dialogue. This approach produces more realistic and diverse conversations that closely mirror authentic human-AI interactions. Our reference-free simulators match or exceed existing methods in quality, while offering a scalable solution for generating high-quality conversational recommendation data without constraining conversations to pre-defined target items. We conduct both quantitative and human evaluations to confirm the effectiveness of our reference-free approach.
Jerome Ramos, Feng Xia, Xi Wang +4
University College London, London, UK · University of Sheffield, Sheffield, UK · Missouri University of Science and Technology, Rolla, USA
Large-scale conversational recommendation datasets typically require manual dialogue construction or annotation. We propose SearCl, which automatically generates conversational recommendation dialogues grounded in user search and click behaviors. SearCl segments user interactions into query sessions and derives each recommendation target from content selected after a search query. A configurable probabilistic state machine controls the dialogue flow, while two LLM agents acting as the seeker and recommender generate utterances according to turn-level constraints. To support recommendation, the recommender is provided with knowledge graphs constructed from metadata about the content items used in each dialogue, capturing their attributes and relationships. Using SearCl, we generate 3,538 dialogues from content search and click interaction data, covering 1,731 unique target items. Under an LLM-as-a-judge protocol, the resulting dialogues achieve higher quality scores than dialogues from existing benchmarks. These results demonstrate that SearCl enables controllable and knowledge-grounded dataset construction without human annotations.
Minsung Hwang, Donggyu Yoon, Gowoon Hwang +2
School of Computing, KAIST Daejeon, Republic of Korea · LG Electronics Seoul, Republic of Korea · Department of AI Computing, KAIST Daejeon, Republic of Korea
Recommendation algorithm iteration is moving from an artisanal, engineer-bound process toward an industrialized research loop, but this transition remains blocked by a structural execution bottleneck: the idea-to-launch cycle still depends on human engineers to generate hypotheses, modify production code, launch A/B experiments, and attribute online results. Innovation therefore scales linearly with headcount rather than compounding with evidence, compute, and accumulated experimental knowledge. We present AgentX, a production-deployed multi-agent system that fundamentally restructures this production function. AgentX operates as a self-evolving development engine: it autonomously generates, implements, evaluates, and learns from recommendation experiments at a scale and pace that no manual workflow can sustain. The system orchestrates four tightly coupled stages in a closed loop. A Brainstorm Agent synthesizes evidence from historical experiments, system architecture, data analysis, and external research into ranked, executable proposals. A Developing Agent translates each proposal into production-ready code through repository-grounded generation and multi-dimensional reliability verification. An Evaluation Agent conducts safe online rollout with guardrail-vetoed A/B judgment, converting both successes and failures into structured knowledge assets. A Harness Evolution layer (SGPO) then distills execution trajectories into semantic-gradient updates that continuously sharpen the agents themselves -- making the system not merely automated, but self-improving.