🟢 LabGPT (AAA Lab)
LabGPT (AAA Lab)
| Field | Value |
|---|---|
| Status | 🟢 Active |
| Category | Research |
| Lead | Reuben Thiessen |
| Collaborator | Cathy Chase |
| URL | labgpt.gse.stanford.edu |
| Platform | Firebase |
| Started | Feb 2026 |
| Previous iteration | FeedbackGPT (Vercel) |
Summary
AI chatbot for Cathy Chase’s AAA Lab research. This is the next iteration of FeedbackGPT — rebuilt from scratch on Firebase with an updated model, custom Stanford domain, and data download capabilities. The original FeedbackGPT was hosted on Vercel; LabGPT replaces it entirely.
History
- Pre-Feb 2026: Original “FeedbackGPT” app hosted on Vercel for Cathy’s lab.
- Feb 2026: Rebuilt as a new app on Firebase. Renamed to LabGPT. Live at labgpt.web.app.
- Feb 27, 2026: Model updated. Custom domain active at labgpt.gse.stanford.edu. Cathy has tested it. Showed her the data download page.
Active Issue: Condition Bleed (Mar 1, 2026)
Cathy is pilot testing two conditions:
- AI as Critic — LabGPT gives feedback on student’s experimental design, but should NOT generate designs itself
- AI as Co-designer — LabGPT collaboratively helps build the experimental design
Problem: In Critic condition, when a student asks a vague follow-up (“how would that look?”), LabGPT responds with a full experimental design — making Critic look like Co-design. The conditions are blurring.
Cathy’s question: Can we add a system prompt constraint that persists across the whole conversation, telling LabGPT to NEVER give an experimental design in Critic mode? Will it hold across the context window?
Reuben’s initial response: We could program it to reinforce the constraint every turn of conversation.
Cathy’s detailed specs (Mar 2 Slack):
Two new versions (keep current as fallback):
Critic condition — system prompt must:
- Never propose new experimental ideas, alternative designs, or modifications
- Never suggest specific changes, additions, or improvements
- No prescriptive recommendations (“you should,” “consider adding,” “it would be better to”)
- No follow-up questions or offers of additional info at end of responses (user-driven, not AI-driven)
Co-designer condition — system prompt must:
- Not give explicit feedback on learner’s experimental questions or designs
- No follow-up questions or offers of additional info at end of responses (same as Critic)
Shared constraint: Both conditions must suppress trailing follow-up prompts like “if you share your goal…” or “if you tell me…” — Cathy wants conversations to be user-driven.
Known issue: Cathy tried adding guardrail language before — it worked initially but drifted after a few turns. Per-turn reinforcement may be needed.
Next steps:
- Build condition-specific system prompts with hard guardrails — Done Mar 3
- Per-turn reinforcement to prevent drift
- Test with vague follow-up scenarios (“how would that look?”) — Done Mar 3
- Deploy as separate versions (keep current as fallback) — Done Mar 3 (URL-based routing)
Updates — Mar 3, 2026
Shipped URL-based condition routing and study-ready UI hardening:
URL-based condition routing:
/fb→ auto-assigns “critic” condition (AI as feedback/critic)/cd→ auto-assigns “codesign” condition (AI as codesigner)- No condition picker dialog — participants go straight to chat
- Sidebar only shows chats matching the current URL’s condition
Root path blocked:
- Visiting
/shows a styled “check your study link” message (route-guard.js)
UI labels neutralized:
- Condition badges show “FB” / “CD” instead of “Feedback” / “Co-Design” so participants aren’t influenced
- CSV export still uses full critic / codesign names for researchers
System prompts simplified:
- Updated DEFAULT_PROMPTS in
functions-labgpt/index.jsto match shorter versions from Prompt Lab - Firestore
systemPromptscollection (via Prompt Lab) takes priority; defaults serve as fallback
Other Tasks
- Rename from “FeedbackGPT” → “AAA-Lab-GPT” throughout the app
projects/labgpt.md