Hard tickets stall when you stop generating alternatives — you fixate on one theory and run tests that confirm it. A differential-diagnosis conversation makes AI your alternative generator and test designer: what would distinguish cause A from cause B, eliminated one discriminating check at a time.
Tier: Core · Workflow area: Troubleshooting & diagnosis · ~30 minutes
This is the clinical method applied to infrastructure: enumerate the differential, design the test that splits the candidate list, run it, prune, repeat. The model contributes breadth (causes you did not consider) and discipline (tests chosen to discriminate, not confirm). You contribute ground truth, judgment and the hands on the keyboard.
Write the case statement. One tight paragraph: symptom, scope (who/how many), timeline (since when, any correlation with changes), and the facts already established. Rigor here pays through the whole session — include negative findings ("OWA works") which are usually the most discriminating facts you own.
Open the differential.
Act as my differential-diagnosis partner on an IT infrastructure problem.
CASE: Sales team (12 users, one office) report Teams calls dropping after
2–3 minutes since Tuesday. Chat and file sync unaffected. Other teams in
the same office are fine. No change requests logged for that floor.
Established: wired users affected as well as Wi-Fi; one affected user
worked fine from home yesterday.
Rules of engagement:
1. List ALL plausible causes first (aim for 6–10, grouped by layer:
endpoint / LAN / WAN-firewall / service). For each: prior likelihood
and what evidence we already have for or against.
2. Then propose ONE next test — the test that best splits the remaining
candidates. Tell me exactly what to run, what result supports which
branch, and what it costs (time, user disruption).
3. Wait for my result before proposing the next test. Update the candidate
list with each result: state what is eliminated and why.
4. Never declare a root cause while 2+ candidates remain unless the
evidence is decisive. If I show fixation on one theory, say so.
The "one test, then wait" rule is what makes this a method rather than a listicle — it stops the model from dumping a 12-step generic checklist and stops you from cherry-picking the steps you already believed in.
Keep the elimination worksheet as you go. A four-column table in the ticket or a scratch file: candidate | status (live/eliminated) | evidence | test that decided it. The model tracks state in-conversation, but conversations get lost and colleagues cannot read your chat history; the worksheet is the durable artifact.
candidate | status | evidence
endpoint (client/driver) | ELIMINATED | affected user fine from home; wired+wifi both hit
Teams service regional issue | ELIMINATED | other floors same tenant fine; no advisory
floor switch QoS/config | LIVE ★ | scope matches one access switch exactly
firewall UDP timeout | LIVE | 2–3 min drop pattern is classic UDP-timeout shape
DNS/DHCP scope on that VLAN | LIVE | untested
Run each test for real, report results honestly. The discriminating test the model proposes will often be concrete, like:
# From an affected machine during a call: is media using UDP or falling back to TCP?
Get-NetUDPEndpoint -OwningProcess (Get-Process ms-teams).Id |
Select-Object LocalAddress, LocalPort
Test-NetConnection worldaz.relay.teams.microsoft.com -Port 3478
Report the actual output, including "the command errored" — a model told the truth iterates well; a model fed tidied results converges on fiction. Ambiguous results are normal: say "inconclusive because X" and let it redesign the test.
Demand the closing argument, then verify it independently. When one candidate remains, have the model state the case: "Explain why the surviving hypothesis accounts for ALL observed facts, including the negatives. List any fact it does not explain." Any unexplained fact means the differential reopens. Then confirm the mechanism against vendor documentation (firewall UDP timeout defaults, switch QoS behavior) before you change anything — the differential tells you where the fault is; the vendor docs tell you what correct looks like.
File the artifact. The completed worksheet plus the closing argument goes in the ticket. It is simultaneously your fix justification, your escalation note if you hand off, and — when the same symptom recurs next quarter — the KB seed that saves the whole session.
Case statements carry less sensitive data than logs, but scope descriptions can still identify individuals ("the CFO's assistant") — describe populations by role and count, not by name, when using hosted models.
Fixation, not ignorance, is what stalls hard tickets — the differential protocol keeps multiple hypotheses honestly alive, and its one-discriminating-test-at-a-time loop converts AI breadth and your hands into a diagnosis neither produces alone.