SKILL.md
Agentic Clinical Dialogue Guide
Overview
A curated collection of papers on AI agents for clinical dialogue — systems that conduct patient interviews, perform differential diagnosis, explain medical information, and support clinical decision-making through conversation. Covers medical QA benchmarks, patient simulation, clinical reasoning chains, and safety considerations unique to healthcare AI.
Research Landscape
Agentic Clinical Dialogue
├── Patient-Facing Agents
│ ├── Symptom checkers
│ ├── Triage systems
│ ├── Health information
│ └── Follow-up management
├── Clinician-Facing Agents
│ ├── Diagnostic support
│ ├── Treatment recommendation
│ ├── Clinical documentation
│ └── Literature integration
├── Clinical Reasoning
│ ├── Differential diagnosis
│ ├── History taking
│ ├── Physical exam interpretation
│ └── Test ordering
├── Patient Simulation
│ ├── Standardized patients (SP)
│ ├── Medical education
│ └── Agent evaluation
└── Safety & Ethics
├── Hallucination in medicine
├── Bias in clinical AI
├── Liability frameworks
└── Informed consent
Key Systems
| System | Focus | Approach |
|---|---|---|
| AMIE | Diagnostic dialogue | LLM with clinical reasoning |
| Med-PaLM | Medical QA | Finetuned on medical data |
| ChatDoctor | Patient consultation | LLaMA + medical knowledge |
| AgentClinic | Clinical evaluation | Simulated clinical encounters |
| ClinicalAgent | Decision support | Multi-step clinical reasoning |
Benchmarks
benchmarks = {
"MedQA (USMLE)": {
"task": "US Medical Licensing Exam questions",
"size": "11,450 questions",
"metric": "Accuracy",
},
"PubMedQA": {
"task": "Biomedical yes/no/maybe QA",
"size": "1,000 expert-labeled",
"metric": "Accuracy",
},
"AgentClinic": {
"task": "Simulated clinical encounters",
"size": "Various patient scenarios",
"metric": "Diagnostic accuracy + safety",
},
"MedMCQA": {
"task": "Indian medical entrance MCQs",
"size": "194k questions",
"metric": "Accuracy",
},
"HealthSearchQA": {
"task": "Consumer health search questions",
"size": "3,375 questions",
"metric": "Expert evaluation",
},
}
for name, info in benchmarks.items():
print(f"\n{name}:")
print(f" Task: {info['task']}")
print(f" Size: {info['size']}")
