UI/UX Brainstorm: Mode Selection & API Key Experience
Date: 2025-11-28 Status: IMPLEMENTED (2025-11-28) Related: Issues #52, #53, PR #58
CRITICAL FINDING: Anthropic Key is Nearly Useless
Code verification (2025-11-28):
grep -r "AnthropicChatClient" src/ β NO RESULTS
grep -r "OpenAIChatClient" src/ β 22 RESULTS (all Magentic agents)
The agent-framework package (Microsoft's Magentic) ONLY has OpenAIChatClient.
There is no AnthropicChatClient. This means:
| Feature | OpenAI Key | Anthropic Key |
|---|---|---|
| Simple mode (Judge LLM) | β GPT-5.1 | β Claude Sonnet 4.5 |
| Advanced mode (Multi-agent) | β Full orchestration | β DOES NOT WORK |
| Value proposition | Full access | Simple mode only |
Decision: Keep Anthropic support for Simple mode, but ensure UX clearly differentiates capabilities.
Current State (After PR #58)
What Users See (Screenshot 2025-11-28)
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β‘ Examples β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββ€
β β Orchestrator Mode β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββΌβββββββββββββββββββββββ€
β What drugs improve female libido post-menopause? β simple β
β Clinical trials for erectile dysfunction altern... β advanced β
β Evidence for testosterone therapy in women with... β simple β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β βοΈ Mode & API Key (Free tier works!) [βΌ] β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β Orchestrator Mode β
β β‘ Simple: Fast (Free/Any Key) | π¬ Advanced: Deep Multi-Agent (OpenAI Key Only) β
β [β simple] [β advanced] β
β β
β π API Key (Optional) β
β Leave empty for free tier. Auto-detects provider from key prefix. β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β sk-... (OpenAI) or sk-ant-... (Anthropic) β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Observations from Screenshot
- Examples table: 2 columns (Query + Mode) - clean, one example now shows "advanced" β
- One example shows "advanced": Improves discoverability of Advanced mode β
- Accordion collapsed by default: Still collapsed, but with more inviting label β
- Placeholder mentions Anthropic: Correct, but now clearly tied to Simple mode only via info text β
- "Advanced: Requires OpenAI key": Now more prominent with emojis and clearer phrasing in info text β
The Two Modes
| Mode | Backend | Capabilities | Requirements |
|---|---|---|---|
| Simple | Linear orchestrator | Search β Judge β Report (single pass) | None (free tier) or any API key |
| Advanced | Magentic multi-agent | SearchAgent, JudgeAgent, HypothesisAgent, ReportAgent working together with iterative refinement | OpenAI API key only |
Problems Identified (Addressed)
P1: Advanced Mode is Hidden β ADDRESSED
- Fix: One example now shows "advanced" mode.
- Fix: Accordion label is more descriptive.
P2: Mode/Key Relationship is Unclear β ADDRESSED
- Fix:
gr.Radioinfo text clearly states "OpenAI Key Only" for Advanced mode, using emojis for emphasis.
P3: No Incentive to Try Advanced β PARTIALLY ADDRESSED
- Fix: Emojis and "Deep Multi-Agent" hint at the value. Further marketing/documentation still needed for full "wow" moment.
P4: Anthropic Users Left Out β ADDRESSED (Clarified)
- Fix: Anthropic keys still work for Simple mode, and the info text clarifies the limitation for Advanced mode.
Options to Consider (Decision Made)
The recommendation of Modified Option A (Better Education + Examples) with slight modification to accordion label was implemented.
Implementation Notes (Completed)
# From src/app.py
examples=[
["What drugs improve female libido post-menopause?", "simple"],
["Clinical trials for erectile dysfunction alternatives to PDE5 inhibitors?", "advanced"], # Changed
["Evidence for testosterone therapy in women with HSDD?", "simple"],
],
additional_inputs_accordion=gr.Accordion(
label="βοΈ Mode & API Key (Free tier works!)", # Changed
open=False
),
gr.Radio(
choices=["simple", "advanced"],
value="simple",
label="Orchestrator Mode",
info=( # Changed
"β‘ Simple: Fast (Free/Any Key) | "
"π¬ Advanced: Deep Multi-Agent (OpenAI Key Only)"
),
),
Decision Log
| Date | Decision | Rationale |
|---|---|---|
| 2025-11-28 | Implemented Modified Option A | Minimal changes, high impact on discoverability, graceful fallback, user-approved accordion label. |