Implements a clean, reusable architecture for multi-LLM conversations:
- Unified OpenAI SDK interface for GPT, Claude, and Gemini models
- Dynamic role assignment using a dictionary-based configuration
- Three distinct personas: snarky arguer, sharp debater, and mediator
- Conversation context management across all participants
- Interactive display using IPython Markdown rendering
The modular `call_llm()` function handles context building and message
tracking, making it easy to orchestrate complex multi-agent dialogues.
Demonstrates best practices for LLM interaction patterns in the course.