Newer features are available with AgentControlThis tutorial was published in September 2025, before LaunchDarkly shipped several features that supersede or complement the patterns shown below. The walkthrough still works, but for new builds you may want to use:
- Agent graphs: Agent graphs let you externalize the multi-agent topology into a visual graph with per-node monitoring
- Online evaluations and custom judges: Built-in and user-defined LLM-as-a-judge scoring on live traffic
- Playgrounds: Compare variations side-by-side before promoting
- Offline evaluations and Datasets: Regression test variations against a saved reference set
What This Series Covers
- Part 1 (this post): Build a working multi-agent system with dynamic configuration in 20 minutes
- Part 2: Add advanced features like segment targeting, MCP tool integration, and cost optimization
- Part 3: Run production A/B experiments to prove what actually works
What You’ll Build Today
In the next 20 minutes, you’ll have a LangGraph multi-agent system with:- Supervisor Agent: Orchestrates workflow between specialized agents
- Security Agent: Detects PII and sensitive information
- Support Agent: Answers questions using your business documents
- Dynamic Control: Change models, tools, and behavior through LaunchDarkly without code changes
Prerequisites
You’ll need:- Python 3.9+ with
uvpackage manager (install uv) - LaunchDarkly account (sign up for free)
- OpenAI API key (required for RAG architecture embeddings)
- Anthropic API key (required for Claude models) or OpenAI API key (for GPT models)
Step 1: Clone and Configure (2 minutes)
First, let’s get everything running locally. We’ll explain what each piece does as we build.- Sign up for LaunchDarkly at app.launchdarkly.com (free account).
If you’re a brand new user, after signing up for an account, you’ll need to verify your email address. You can skip through the new user onboarding flow after that.
- Find projects on the side bar:

Projects sidebar in the LaunchDarkly app UI.
- Create a new project called “multi-agent-chatbot”
- Project:
multi-agent-chatbot - AgentControl:
supervisor-agent,security-agent,support-agent - Tools:
search_v2,reranking - Variations:
supervisor-basic,pii-detector,rag-search-enhanced

Creating a new project in LaunchDarkly.
-
Get your SDK key:
⚙️ (bottom of sidebar) → Projects → multi-agent-chatbot → ⚙️ (to the right)
→ Environments → Production → SDK key
this is your
LD_SDK_KEY

Location of the SDK key in LaunchDarkly project settings.
.env with your keys:
.env into your source control. Keep those secrets safe!
Step 2: Add Your Business Knowledge (2 minutes)
The system includes a sample reinforcement learning textbook. Replace it with your own documents for your specific domain.- Legal: Contracts, case law, compliance guidelines
- Healthcare: Protocols, research papers, care guidelines
- SaaS: API docs, user guides, troubleshooting manuals
- E-commerce: Product catalogs, policies, FAQs
Step 3: Initialize Your Knowledge Base (2 minutes)
Turn your documents into searchable RAG knowledge:Step 4: Define Your Tools (3 minutes)
Define the search tools your agents will use. In the LaunchDarkly app sidebar, click Library in the AI section. On the following screen, click the Tools tab, then Create tool.
AI Library section in the LaunchDarkly dashboard sidebar.
Create the RAG vector search tool:
Note: we will be creating a simple search_v1 during part 3 when we learn about experimentation. Create a tool using the following configuration:Key:When you’re done, click Save.Description:Schema:
Create the reranking tool:
Back on the Tools section, click Add tool to create a new tool. Add the following properties:Key:When you’re done, click Save. TheDescription:Schema:
reranking tool takes search results from search_v2 and reorders them using the BM25 algorithm to improve relevance. This hybrid approach combines semantic search (vector embeddings) with lexical matching (keyword-based scoring), making it especially useful for technical terms, product names, and error codes where exact term matching matters more than conceptual similarity.
🔍 How Your RAG Architecture Works Your RAG system works in two stages:search_v2performs semantic similarity search using FAISS by converting queries into the same vector space as your documents (via OpenAI embeddings), whilererankingreorders results for maximum relevance. This RAG approach significantly outperforms keyword search by understanding context, so asking “My app is broken” can find troubleshooting guides that mention “application errors” or “system failures.”
Step 5: Create Your AI Agents in LaunchDarkly (5 minutes)
Now that you’ve created the tools your agents will use, it’s time to configure the agents themselves. Each agent will have its own config that defines its behavior, model selection, and specific instructions. Create AgentControl to control your LangGraph multi-agent system dynamically. LangGraph is LangChain’s framework for building stateful, multi-agent applications that maintain conversation state across agent interactions. Your LangGraph architecture enables sophisticated workflows where agents collaborate and pass context between each other.Create the Supervisor Agent
- In the LaunchDarkly dashboard sidebar, navigate to AgentControl and click Create AgentControl config
- Select
🤖 Agent-based

Selecting the Agent-based configuration type.
- Name your config
supervisor-agent. This will be the key you reference in your code. - Configure the following fields in the config form:
variation:Click Review and save. Now enable your config by switching to the Targeting tab and editing the default rule to serve the variation you just created:Model configuration:Goal or task:

Targeting tab showing the default rule configuration for AI agents.
supervisor-basic variation, and save with a note like “Enabling new agent config”. Then type “Production” to confirm.
The supervisor agent demonstrates LangGraph orchestration by routing requests based on content analysis rather than rigid rules. LangGraph enables this agent to maintain conversation context and make intelligent routing decisions that adapt to user needs and config parameters.
Create the Security Agent
Similarly, create another config calledsecurity-agent
variation:This agent detects PII and provides detailed redaction information, showing exactly what sensitive data was found and how it would be handled for compliance and transparency. Remember to switch to the Targeting tab and enable this agent the same way we did for the supervisor - edit the default rule to serve yourModel configuration:Goal or task:
pii-detector variation and save it.
Create the Support Agent
Finally, createsupport-agent
variation:This agent combines LangGraph workflow management with your RAG tools. LangGraph enables the agent to chain multiple tool calls together: first using RAG for document retrieval, then semantic reranking, all while maintaining conversation state and handling error recovery gracefully. Remember to switch to the Targeting tab and enable this agent the same way - edit the default rule to serve yourModel configuration:→ Add parameters → Click Custom parametersClick Attach tools. select: ✅ reranking ✅ search_v2 Goal or task:
rag-search-enhanced variation and save it.
When you are done, you should have three enabled config Agents as shown below.

Overview of all three configured AI agents in LaunchDarkly.
Step 6: Launch Your System (2 minutes)
Start the system:Note: If prompted for authentication, you can leave the email field blank and simply click “Continue” to proceed to the chat interface.
Step 7: Test Your Multi-Agent System (2 minutes)
Test with these queries: Basic Knowledge Test: “What is reinforcement learning?” (if using sample docs) Or ask about your specific domain: “What’s our refund policy?” PII Detection Test: “My email is john.doe@example.com and I need help” Workflow Details show:- Which agents are activated
- What models and tools are being used
- Text after redaction

Chat interface showing the multi-agent workflow in action.
Step 8: Try New Features
Experience the power of dynamic configuration by making real-time changes to your agents without touching any code:Feature 1: Switch Models Instantly
- Navigate to AgentControl in the LaunchDarkly sidebar
- Click on
support-agent - In the Model configuration section, change from:
- Current: Anthropic → claude-sonnet-4-6
- New: OpenAI → gpt-4-turbo
- Click Save changes
- Return to your chat interface at http://localhost:8501
- Ask the same question again - you’ll see the response now comes from GPT-4
- What you’ll notice: Different response style, potentially different tool usage patterns, and the model name displayed in the workflow details
Feature 2: Adjust Tool Usage
Limit how many times your agent can call tools in a single interaction:- While still in the
support-agentconfig - Find the Custom parameters section
- Update the JSON from:
To:
- Click Save changes
- In your chat, ask a complex question that would normally trigger multiple searches
- What you’ll notice: The agent now makes at most 2 tool calls, forcing it to be more selective about its searches
Feature 3: Change Agent Behavior
Transform your support agent into a research specialist:- In the
support-agentconfig, locate the Goal or task field - Replace the existing instructions with:
- Click Save changes
- Test with a question like “What are the best practices for feature flags?”
- What you’ll notice: The agent now performs multiple searches, explains its search strategy, and provides more thorough, research-oriented responses
Understanding What You Built
Your LangGraph multi-agent system with RAG includes: 1. LangGraph Orchestration The supervisor agent uses LangGraph state management to route requests intelligently based on content analysis. 2. Privacy Protection The supervisor agent uses LangGraph state management to route requests intelligently. This separation allows you to assign a trusted model to the security and supervisor agents and consider on a less-trusted model for the more expensive support agent at a reduced risk of PII exposure. 3. RAG Knowledge System The support agent combines LangGraph tool chaining with your RAG system for semantic document search and reranking. 4. Runtime Control LaunchDarkly controls both LangGraph behavior and RAG parameters without code changes.What’s Next?
Your multi-agent system is running with dynamic control and ready for optimization. In Part 2, we’ll add:- Geographic-based privacy rules (strict for EU, standard for other)
- MCP tools for external data
- Business tier configurations (free, paid)
- Cost optimization strategies
Try This Now
Experiment with:- Different Instructions: Make agents more helpful, more cautious, or more thorough
- Tool Combinations: Add/remove tools to see impact on quality
- Model Comparisons: Try different models for different agents
- Cost Limits: Find the sweet spot between quality and cost
Key Takeaways
- Multi-agent systems work best when each agent has a specific role
- Dynamic configuration handles changing requirements better than hardcoding
- AgentControl control and change AI behavior without requiring deployments
- Start simple and add complexity as you learn what works
Related Resources
Explore the LaunchDarkly MCP Server - enable AI agents to access feature flag configurations, user segments, and experimentation data directly through the Model Context Protocol. More from this series and related tutorials:- Beyond n8n for Workflow Automation: Agent Graphs - The newer take on this pattern: externalize the topology itself into a visual graph with per-node monitoring
- Building Framework-Agnostic AI Swarms - Compare LangGraph against Strands and OpenAI Swarm running the same agent definitions
- Build AgentControl configs with Agent Skills - Generate the AgentControl configs in this tutorial from natural-language prompts
- Offline Evaluation of RAG-Grounded Answers - Add regression tests on the RAG outputs from this system
- Proving ROI with data-driven AI agent experiments - Part 3: A/B test the variations you built here
Questions? Issues? Reach out at
aiproduct@launchdarkly.com or open an issue in the GitHub repo.