Inside 847 Production Clinical AI Notes — Sebastian Fox, Composo

AI Engineer · 19 min · 264 sentences · from YouTube's caption track

Each timecode opens YouTube at the start of that sentence. Line anchors (#s42) are the cue ids in the WebVTT, and every line carries its start and end seconds. All transcripts has every talk, and the whole corpus as one file.

  1. 00:01[music]
  2. 00:12This is a clinical note an AI wrote from a real consultation.
  3. 00:17Take a few seconds and read it.
  4. 00:19It reads like a routine headache.
  5. 00:21A new headache, likely tension type, take some paracetamol, come back if it doesn't settle.
  6. 00:27Looks completely fine, doesn't it?
  7. 00:30Here's what's missing.
  8. 00:32In the room, she also mentioned her jaw aches when she chews.
  9. 00:36A new headache, over 50 with jaw pain on chewing, that's giant cell arthritis.
  10. 00:42And untreated, it can take her sight within days.
  11. 00:45It's a same day start steroids now emergency.
  12. 00:48And that one line, it never made it into the note.
  13. 00:50On the page, it's a paracetamol headache.
  14. 00:52And nothing in the note is technically wrong.
  15. 00:55It's the dangerous part is what isn't there.
  16. 00:59And so that's what I'm going to talk about today.
  17. 01:01The dangerous failures are often the ones that actually look completely fine.
  18. 01:07Firstly, who am I?
  19. 01:09I'm Seb, medical doctor by background, and now I'm Composure, where we build AI evaluation systems for high-stakes domains.
  20. 01:19So, that one was a subtle kind of error, but sometimes it's not subtle at all.
  21. 01:25A man in his 20s sees his GP for a sore throat, tonsillitis.
  22. 01:29The AI writes that up.
  23. 01:31It gets him chest pain, suspected angina, diabetes medications he's never taken, and an address for a hospital that doesn't exist.
  24. 01:38And I I really like the LLM for this one.
  25. 01:41I think it's it's a good attempt at hospital name.
  26. 01:44Um and weeks later, he's invited to diabetic eye screening for diabetes he doesn't have.
  27. 01:50That's genuinely a real case that happened recently.
  28. 01:54Obviously, these kind of crazy ones someone notices, but it's those quiet ones that sit in the record uncalled that are the most challenging and can actually do a lot more damage.
  29. 02:06And they're not rare at all.
  30. 02:08In the largest real-world study of these notes, about 1 in 20 carried an error that was serious enough that it could cause significant harm to the patient.
  31. 02:171 in 20.
  32. 02:18That's not theoretical in testing, that's in production on real patients.
  33. 02:23And that's only the serious the ones.
  34. 02:25If you widen that lens to all errors, nearly 1 in 5 had an important omission and more than 1 in 10 had a hallucination.
  35. 02:33And AI is being deployed at scale across healthcare fast.
  36. 02:37Ambient Scribes are one of the leading cases, already in about a third of US practices and climbing.
  37. 02:43Physician AI use doubled last year and none of this is tracked.
  38. 02:48So, for most of these systems, there's no adverse event reporting at all.
  39. 02:52The errors never show up as incidents, they just sit in the record.
  40. 02:55So, errors this common that are going unseen is is quite hard for me to believe that it's not already affecting patients.
  41. 03:03It's not that we checked and it's fine, it's that we're flying blind.
  42. 03:09And this isn't just a healthcare problem, it's every high-stakes use of AI.
  43. 03:14Healthcare shows it more viscerally because here being confidently wrong can be life and death.
  44. 03:20But, everything I show you can map straight back onto other domains as well.
  45. 03:25So, here's what I want to do.
  46. 03:27I'm going to show you what exactly is going wrong, why it's going wrong, why the systems we built to catch it don't work, and a suggestion at how maybe we can start to fix that.
  47. 03:39So, first, what's going wrong and why?
  48. 03:41So, LLMs are getting good, obviously.
  49. 03:44They don't make stupid mistakes anymore most of the time.
  50. 03:47So, it's not about dumb errors.
  51. 03:48Everything here came out of three of the best production Ambient scribes on the market.
  52. 03:54Ones that we all know.
  53. 03:55We generated a load of notes across them last week.
  54. 03:58And this is exactly what's going on right now.
  55. 04:02This is every failure we found.
  56. 04:03Each dot is an error colored by type.
  57. 04:06Left to right, how much it matters.
  58. 04:07Bottom to top, whether a strong automated check catches it.
  59. 04:11And that split is the point.
  60. 04:14A handful up top get caught.
  61. 04:16But almost everything sits below the line.
  62. 04:18The ones I care about most are these on the bottom right.
  63. 04:22The high stakes and missed ones.
  64. 04:26Let me show you what a couple of those looks like.
  65. 04:29So, a woman comes in with a headache.
  66. 04:33Doctor asks, "Did it come on suddenly or build up gradually?"
  67. 04:37She says she doesn't know.
  68. 04:38It just happened.
  69. 04:39The note records that as abrupt sudden onset.
  70. 04:42And sudden onset is a red flag.
  71. 04:44You can see why it just happened could maybe be interpreted and inferred as abrupt onset.
  72. 04:50But, that's a feature that points to a bleed on the brain.
  73. 04:53She never said it.
  74. 04:54The model decided it.
  75. 04:55And now that one word drives the whole workup.
  76. 05:00Here's another.
  77. 05:01Doctor suggests running some tests.
  78. 05:03Patient says, "Can we just try try antibiotics instead?"
  79. 05:07They agree, hold off on the tests, treat, and see how it goes.
  80. 05:11Note records the opposite.
  81. 05:13Arrange tests today.
  82. 05:15It kept the plan that they talked out of, not the one they chose.
  83. 05:19Every line in the note reads fine because it's not really a hallucination at all.
  84. 05:23It's not wrong.
  85. 05:24It was there in the original.
  86. 05:26But, it's just not what they ended up deciding.
  87. 05:30So, why are these happening?
  88. 05:33There's, you know, in ambient scribes, there's first transcription and then generation.
  89. 05:38A lot of it does happen on the transcription layer.
  90. 05:42It can be words misheard for their sound-alikes.
  91. 05:45So, Humalog heard Humulin.
  92. 05:48Two insulins on completely different timelines, so swapping them could crash a blood sugar.
  93. 05:53Hyperthyroidism becomes hypothyroidism, the opposite condition.
  94. 05:57Or a drop to no on uh no evidence of cancer that becomes evidence of cancer.
  95. 06:04So, these these are really hard problems, and they are common.
  96. 06:07Not the ones I'm going to focus on, because most of what goes wrong is actually even with a perfect transcript.
  97. 06:14It's the model reading the words correctly and still doing one of three things.
  98. 06:19Either it adds something that was never said, it changes something that was, or it omits something that should be there.
  99. 06:28Now, the blatant version of each of these is is really easy to catch.
  100. 06:32The hard part in all three is the same.
  101. 06:37It's telling whether that thing that was added or changed or dropped actually matters.
  102. 06:41It's detecting that slight over inference versus the dangerous fabrication.
  103. 06:46The harmless rephrase versus the meaningful edit.
  104. 06:49A dropped line of small talk versus a dropped allergy.
  105. 06:53So, the ones that matter slip through along with all of the ones that don't.
  106. 06:59That call which different matters is taste, effectively.
  107. 07:05Not aesthetic taste, but essentially judgment.
  108. 07:09It's It's whether in this context a missed allergy might kill someone or is not important.
  109. 07:15And I think there's there's three properties that really matter about this.
  110. 07:18It's tacit, so your domain experts have it, but they can't fully write it down.
  111. 07:23It's contextual, so the same detail is critical in one note, noise in the next.
  112. 07:28And it's moving.
  113. 07:29The model changes, guidelines change, two good doctors disagree, different hospitals have different definitions.
  114. 07:35So, there's no fixed target to write down.
  115. 07:39And so, the model knows the facts, ultimately.
  116. 07:42They're extraordinarily capable, but what they lack is a sense of what matters here, for this specific example.
  117. 07:49And that's why even brilliant models make these mistakes.
  118. 07:53So, one natural move, you're never going to make that generator perfect.
  119. 07:58Generator is cheap.
  120. 07:59Generation is cheap, so stop fixing it at the source.
  121. 08:02Let it write, put a checker after it, pass only what clears the bar.
  122. 08:06And that checker should be the easier job.
  123. 08:09The generator has to get everything right and it pay attention to lots of varying instructions.
  124. 08:15Whereas the checker only has to find the one thing that's wrong and just focus on that task.
  125. 08:19You can also give it more time, more tokens, the exact failure modes to hunt for.
  126. 08:23Evaluation should be easier than generation.
  127. 08:25It's the asymmetry of verification, verifies law.
  128. 08:29That's why AI is raced ahead anyway, you can cheaply check the answer, maths and code.
  129. 08:35And doing this is exactly what the best teams do.
  130. 08:38They put a lot of energy into evaluation.
  131. 08:40It starts with the gold standard, which is expert humans reviewing notes, which obviously works offline, but you can't put a human on every note in production.
  132. 08:50So, they automate it.
  133. 08:52They build a serious system and some of the best versions of this that I've seen are you take the transcript and the note and context, put in front of the judge,
  134. 09:05a detailed rubric for faithfulness with worked, pass and fail examples.
  135. 09:10The rubric maybe auto-optimized with GPA or something like that.
  136. 09:13Maybe you have some deterministic NLP to sort of count up medical concepts that are differing between the two.
  137. 09:20That's a powerful system.
  138. 09:22And yet, I pulled all of those errors earlier out of Ambient Scribes in an afternoon.
  139. 09:29So, if the evaluation is this good, how are these errors still getting through?
  140. 09:34So, I built this system and ran those same notes through it.
  141. 09:39And it scored most of them fine.
  142. 09:42It flagged a handful of them and signed off the rest.
  143. 09:46[clears throat]
  144. 09:47But one in five of those clean passes still had some sort of serious error buried in it.
  145. 09:52And often that was an omission.
  146. 09:55The things that should have been there and actually quietly weren't.
  147. 09:59And that's the best version of a judge I've seen in a lot of teams and it waved them through.
  148. 10:06Why did it do that?
  149. 10:07It's not stupid.
  150. 10:09It's a frontier model, serious engineering behind it, more than clever enough to read the whole encounter and catch every obvious error.
  151. 10:16And it's not blind, either.
  152. 10:17And and that's part of the trap.
  153. 10:19If you take a note that says start amoxicillin, when the real decision was actually to wait and see, it's faithful to the words, amoxicillin did come up, but it's a lie about the intent.
  154. 10:30A good judge might catch that, might.
  155. 10:34But whether it flags that versus the other doesn't have other things that it could comment on depends on it knowing what decision matters most.
  156. 10:42And so it's not blind, it just can't tell what counts, essentially.
  157. 10:48So the note passes confidently and you put a judge like that in front of your system, you've not added a safety net, you've added a second silent failure that just nods along with the first.
  158. 10:59And here's the root of it.
  159. 11:01So in math or code, the verifier comes with free, a unit test, a compiler.
  160. 11:08But for is this note safe and complete, there's no unit test.
  161. 11:12You have to build the verifier yourself and verification is only easier than generation for the easy bit, i.e. spot the difference between transcription note.
  162. 11:22But that's not the hard bit.
  163. 11:23The hard bit is knowing of all those differences you've seen, which matter.
  164. 11:26And that's harder than writing that plausibly good general note in the first place.
  165. 11:31Because that standard of good was never written down anywhere that the judge can read it.
  166. 11:36A rubric that you pre-specify is only the taste you could write down.
  167. 11:40The taste that matters is the part that you couldn't.
  168. 11:43And so here's here's a bit more detail on what what matters looks like.
  169. 11:48Two patients, both with blood in their urine, both notes dropped the same kind of line where they'd been on holiday.
  170. 11:55One had been to France, the other to Lake Malawi.
  171. 11:57Same English emission, same shape, same mistake.
  172. 12:01Well, not really, because blood in the urine obviously warranted away and you're going to have to investigate it, but the France trip is irrelevant.
  173. 12:10The Lake Malawi trip is the diagnosis.
  174. 12:12Fresh water in sub-Saharan Africa means schistosomiasis until proven otherwise and it completely changes what the management plan is.
  175. 12:19So that same dropped line in one note is pure noise, in the other it's the answer.
  176. 12:24And which one it is, you simply just can't write all of that down in advance.
  177. 12:29So if you can't write it down, you can't write taste down, how do you get that into your evaluator and your whole application system?
  178. 12:38Well, we've answered a version of this before.
  179. 12:41RLHF exists because you can't write the reward function for good.
  180. 12:44You learn it from examples by showing it.
  181. 12:47The only question is where you keep what you've learned.
  182. 12:50And there's three places.
  183. 12:52You can either specify it up front, you can stuff the prompt, write the perfect rubric.
  184. 12:57We just watched that fail essentially.
  185. 13:01You can bake into the weights, fine-tuning or continual learning, but for a standard that's still moving and a score that has to be explainable, the weights, I think, are the wrong place to keep that.
  186. 13:13They go stale, they can't tell you why and you can't change them without a retrain.
  187. 13:19So there's the third option, which I'll show you, which is you essentially just keep the taste as the examples themselves.
  188. 13:25Past judgments, expert corrections, references, and for each output, you retrieve the ones that bear on it into the judges context, add one and it's live on the next call.
  189. 13:35You can point at exactly what moved the score.
  190. 13:38For this problem, it's both better and also cheaper to do.
  191. 13:44So, that's the way to do that is one repeating loop, three steps.
  192. 13:48Discover the failure modes from real outputs, capture how your experts judge them, calibrate every output against that, and when the standard moves, the loop moves with it.
  193. 13:59So, in more detail, discover.
  194. 14:00You don't write that rubric in a vacuum.
  195. 14:03You have to put the system in production and look at the real outputs.
  196. 14:06Cluster what goes wrong and the failure modes surface on their own.
  197. 14:09You name them.
  198. 14:10This is your failure mode ontology.
  199. 14:12Discover from your data, not guess on a whiteboard.
  200. 14:15And you can't shortcut it.
  201. 14:16The ways that a real system goes wrong are effectively unbounded and synthetic test cases only cover the failures you already imagined.
  202. 14:25The ones that hurt you are often the ones that you didn't.
  203. 14:27And you'll only find those in real outputs.
  204. 14:30So, this ontology is your map, what to capture judgment on, what to retrieve against, including the failures that you never thought to check for.
  205. 14:39After that, it's capture and then calibrate.
  206. 14:42So, those discovered modes, they're not a checklist that the judge runs, but they organize everything.
  207. 14:47What you What you ask your experts about, how you index the cases that you'll retrieve, and capturing is a simple part.
  208. 14:55You put real outputs in front of your experts.
  209. 14:57Clinicians spend a focused few hours leaving comments.
  210. 15:00A session doesn't have to be a month-long labeling project to start with.
  211. 15:04And you collect their judgment.
  212. 15:06Not just a score, but the reasoning and corrections.
  213. 15:08And over time, you build up that record of how your experts actually judge.
  214. 15:12You then calibrate.
  215. 15:14That's the the the generic part of this you can write down once easily.
  216. 15:18For example, be faithful or don't drop anything important.
  217. 15:22But what you can't write down is what counts as a serious miss for this specific note.
  218. 15:25That's contextual.
  219. 15:27And it shifts from note to note.
  220. 15:29So, what we recommend is you assemble that on the fly.
  221. 15:34For each output, your judging agent pulls in everything that bears on this one case.
  222. 15:38It's memory of the most similar outputs that it's judged before and how they scored, the expert corrections that apply, the reference documents and guidelines.
  223. 15:47Just context engineering per output.
  224. 15:50And crucially not just one pre-specified rubric in a vacuum, and not a model that you have to retrain every week, but a full sort of case-specific standard assembled for this output.
  225. 16:03And it's a loop as well.
  226. 16:05Every output you judge, every correction, sharpens the next.
  227. 16:09And when a brand new failure mode appears, Discovery surface it, and it flows straight back in.
  228. 16:15And so, to make that a little bit more concrete, that headache that I opened with, the one that was really a possible blindness emergency, here's the kinds of things that you would want to pull in for that note.
  229. 16:25The nearest cases that your experts have judged, not this exact patient, but the same shape, maybe a red flag filed as routine.
  230. 16:33Uh the corrections that apply, like a new headache over 50, um suggests something that you need to check red flags on, and some criteria and guidelines, and you pull
  231. 16:44all of that in.
  232. 16:46It hasn't memorized this case.
  233. 16:48It's a capable model.
  234. 16:50And handed the right context to reason from, held against that, the dropped red flag stands out.
  235. 16:55It was never actually hard to catch.
  236. 16:56It just didn't know what mattered.
  237. 16:59And so, if you take that same data set generated notes from the start and pass it through these three judging systems, the first, a strong off-the-shelf judge with a rubric frontier model,
  238. 17:11um it's better than a coin flip, but it misses most of what matters.
  239. 17:17The second, that sort of serious system that we talked about before, rubric, deeper, maybe some detona stick checks, better again, but still missing quite a lot of what counts.
  240. 17:28The third, the judge running this loop, discovered failure modes, calibrated for output against what experts judged, is performing a lot better on this specific data set.
  241. 17:39Same notes.
  242. 17:41The only thing that changes is what the judge was shown.
  243. 17:43And the difference here, it's not more compute or a better prompt, it's that the first two fight taste and lose.
  244. 17:48They guess the criteria, they freeze one standard, and they go stale.
  245. 17:53This repeating evolving loop does the opposite.
  246. 17:55It discovers the modes, fits the standard to each mode, and keeps learning.
  247. 18:01So, you might not write chemical notes, but if you ship anything where being confidently wrong has a cost, the contract review that misses the clauses that change the deal,
  248. 18:12the support agent that promises a refund you don't offer, the same thing is true for all of those.
  249. 18:17It's watched, if at all, by a judge with no taste for what matters in your domain.
  250. 18:23So, three things.
  251. 18:26Discover your failure modes from real outputs, don't guess them.
  252. 18:29Capture your experts' judgment on them, the standard that they can't write down.
  253. 18:34Calibrate every output against the cases that they've already judged, not a static rubric, not a retrained model.
  254. 18:40Then keep that loop running.
  255. 18:42And if you take one thing away, easiest place to start is your experts leaving free-form comments on real outputs.
  256. 18:50That's the real That's the raw material for everything else.
  257. 18:54Your judge can verify anything that you write down in advance, but the standard of good never could be.
  258. 19:00And so, stop trying to write it all down in advance, and just start capturing it case by case, and evolving it.
  259. 19:07That's why evaluation can't be a thing you build once and freeze.
  260. 19:11The standard it checks against doesn't exist on paper.
  261. 19:15It has to be discovered from real outputs captured from the people who hold it and kept alive as it moves.
  262. 19:22Evaluation isn't something you have, it's something that you do continuously over time.
  263. 19:27Thank you.
  264. 19:29[applause]