Spaces:
Running
Running
| # 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 | |
| 1. **Examples table**: 2 columns (Query + Mode) - clean, one example now shows "advanced" β | |
| 2. **One example shows "advanced"**: Improves discoverability of Advanced mode β | |
| 3. **Accordion collapsed by default**: Still collapsed, but with more inviting label β | |
| 4. **Placeholder mentions Anthropic**: Correct, but now clearly tied to Simple mode only via info text β | |
| 5. **"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.Radio` info 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) | |
| ```python | |
| # 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. | |