AI Engineer World's Fair 2025
Make your LLM app a Domain Expert: How to Build an LLM-Native Expert System
Read the talk
Building a Domain Expert Requires a Feedback System
A clinical eligibility question shows how expert review, failure datasets and measured knowledge changes turn customer context into better LLM decisions.
From a talk by Christopher Lovejoy
Before you start: Familiarity with LLM prompts, evaluation datasets and production releases will help; no medical background is required.
Can the model understand this customer's workflow?
What does an LLM need to understand before it can make a useful decision in a specialized industry? Christopher Lovejoy approaches that question as a doctor turned AI engineer: he describes eight years training and working in medicine, followed by seven years building AI systems that incorporate medical expertise. His work included tech-enabled home care at Cera Care, whose contemporary company announcement reported approximately $500 million in annualised revenues—the milestone he calls ARR in the talk.
At the time of the presentation, Lovejoy worked at Anterior, a New York-based, clinician-led company building clinical reasoning tools for health insurance and healthcare administration. Lovejoy says its insurer customers covered about 50 million US lives. That is the customers' coverage population, not a count of patients evaluated by the AI.
The system for incorporating domain insights matters more than the sophistication of the models and pipelines. This is Anterior's bet about vertical AI: capable reasoning still needs the context of a particular industry, customer and workflow. The surrounding system must capture that context and make it usable quickly. In Lovejoy's schematic, a domain-expert product manager sits at the center; in healthcare, that means a PM with clinical expertise.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
The last mile inside a clinical question
The last mile problem becomes concrete in a case processed by Anterior's AI, Florence. A 78-year-old woman presents with right knee pain, and her doctor recommends knee arthroscopy. To assess whether the treatment is appropriate, Florence must answer several questions. One asks whether there is documentation of unsuccessful conservative therapy for at least six weeks. This is the criterion in the example, not a universal coverage rule.
Each part of that apparently straightforward question hides a separate judgment:
- Conservative therapy: Relative to surgery, physiotherapy, weight loss and other non-invasive interventions may be conservative options. Medication is less straightforward: in one context it is conservative treatment; in another it is the more aggressive option.
- Unsuccessful: Symptoms may improve significantly without disappearing. Does success require complete resolution, or is partial improvement sufficient? If partial improvement counts, somebody must define the threshold.
- Documentation for at least six weeks: A note saying physical therapy began eight weeks ago establishes a start date. It does not explicitly establish that treatment continued or was completed. The workflow must define how much the reviewer may infer from silence in the record.
The difficulty is not merely recognizing medical terms. It is applying the customer's interpretation of those terms to incomplete evidence.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
From a strong baseline to contextual refinement
The engineering challenge is to translate discoveries like these into pipeline context, then iterate. Stronger models improve the starting point, but they do not supply every customer-specific interpretation. Lovejoy reports that substantial pipeline work reached a plateau around 95% on Anterior's care-request approval task, and that iteration through the domain-feedback system brought performance to roughly 99%. The companion slides clarify the measure: F1 rose from 95.73% to 99.24% after eight weeks with a specific customer. The talk calls this accuracy; the slides label it F1, and neither supplies a sample size or evaluation protocol.
Lovejoy also points to a recent KLAS Points of Light recognition. The practical lesson he draws is that models already reason well enough to establish a strong baseline, while the remaining work requires more context. Anterior calls its surrounding system the Adaptive Domain Intelligence Engine: it converts customer-specific domain insights into performance improvements through two connected activities, measurement and improvement.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Measure consequential errors, then explain them
Begin by defining the few outcomes customers care about most. In medical necessity review, Anterior's customers want to minimize false approvals: approving care that was not needed can expose a patient to unnecessary treatment and leave the insurer paying for it. Domain experts and customers define these metrics together, translating a broad business goal into an outcome that can guide engineering work.
| Workflow | Priority outcome |
|---|---|
| Contract analysis | Minimize missed critical terms |
| Fraud detection | Minimize dollar loss from fraud |
| Education | Improve test scores |
These examples force a useful choice: if only one or two metrics could improve, which would matter most to the user? Alongside that choice, build a failure-mode ontology—a structured account of the ways the application can fail.
For medical necessity review, Anterior uses three broad categories: medical record extraction, clinical reasoning and rules interpretation. Each contains more specific subtypes, refined as the team learns from cases. Domain experts need to lead this process. Someone examining traces in isolation may identify technical patterns while missing the workflow context that makes an output wrong.
Capture correctness and failure type in the same review session. Anterior's internal dashboard places the patient's record and the applicable guidelines on the right, with the AI's decision and reasoning on the left. A clinician marks the output correct or incorrect; an incorrect output also receives a failure-mode label. Keeping these judgments together lets the reviewer explain the error while the evidence and decision are still in view.
Those paired labels connect engineering problems to customer consequences. Plot false-approval count on the horizontal axis and failure modes on the vertical axis. The resulting ranking tells the PM which kinds of errors contribute most to the outcome the team wants to reduce. Prioritization now has a concrete basis: address the failure modes responsible for the most false approvals first.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Turn production failures into evaluation datasets
The same labels also produce datasets for improvement. Lovejoy argues that cases drawn directly from production better represent the application's incoming data than synthetic cases. His example handoff is a set of 100 cases from the preceding week that share a prioritized failure mode. An engineer can work against that set and repeatedly measure whether the relevant behavior improves.
A small TypeScript representation makes the selection explicit. Each reviewed production case retains its identifier, correctness judgment and failure category, so a targeted dataset can be selected without reconstructing the review:
typescript
type FailureMode =
| "medical_record_extraction"
| "clinical_reasoning"
| "rules_interpretation";
type ReviewedCase = {
caseId: string;
reviewedAt: string;
} & (
| { correct: true; failureMode: null }
| { correct: false; failureMode: FailureMode }
);
function selectFailureCases(
reviews: readonly ReviewedCase[],
mode: FailureMode,
startInclusive: Date,
endExclusive: Date,
): ReviewedCase[] {
return reviews.filter((review) => {
const reviewedAt = Date.parse(review.reviewedAt);
return (
!review.correct &&
review.failureMode === mode &&
reviewedAt >= startInclusive.getTime() &&
reviewedAt < endExclusive.getTime()
);
});
}
This selects the case references for an evaluation set; the evaluation still needs the associated inputs and expert judgments.
Track each failure dataset across pipeline versions, with performance score on the vertical axis. Because these datasets were selected for failures, their initial scores are low by construction. A release focused on one category should produce an improvement in its series; subsequent releases may improve other categories. Keeping all the series visible also reveals regressions that a single aggregate score could hide.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Let clinicians propose knowledge changes
Experts can participate in improvement as well as measurement. Give a nontechnical reviewer a way to suggest changes to the pipeline or add domain knowledge that the pipeline can use. Evaluate each suggestion against the targeted failure sets and broader evaluation sets before deciding whether it should go live. The proposed knowledge enters an experimental path first; its usefulness is a question the evaluations must answer.
Anterior extends the same review dashboard with a domain-knowledge addition button. The clinician already has the case in view, has judged correctness and has identified the failure mode. Now they can propose the missing context. In one example, the model concludes that there is no suspicion of a condition even though the patient has that condition. A clinician can supply the relevant medical interpretation of suspicion. In another, the reasoning depends on a scoring system that the model cannot access; the reviewer can propose adding that system to the available knowledge.
Release may be gated automatically by evaluations or include a human approval step. Lovejoy describes a possible same-day cycle: a production case arrives, a clinician identifies the missing knowledge, the team evaluates the addition, and the change goes live if the results support it. The speed comes from preserving context through the process. One expert review supplies performance measurements, failure-mode labels and suggested improvements together.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Who reviews, and what tooling do they need?
An audience question makes the term domain expert more precise: how much expertise is enough? Match the reviewer to the workflow and the quality being assessed. For clinical reasoning, Lovejoy would ideally choose an experienced doctor with expertise in the relevant specialty. Simpler tasks may be appropriate for a more junior clinician. The essential qualification is experience doing the actual workflow—whether as a nurse, doctor or another relevant practitioner.
The next question concerns bespoke versus off-the-shelf tooling. Anterior's tooling is bespoke. Lovejoy favors building it when review outputs are consequential and feed several parts of the platform, because the review interface must integrate closely with the rest of the system. The rationale is the role of those outputs in measurement and improvement, rather than customization for its own sake.
Finally, reviewers can be internal experts or customers. Anterior typically begins by hiring people in-house to generate the initial review data needed for iteration. Customers may also want to validate the AI themselves. In that situation, the same kind of review interface can become a customer-facing product, although Lovejoy presents customer-operated validation as a possibility rather than the default arrangement.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Give engineering a target and the PM a release decision
The complete workflow puts the domain-expert PM between production evidence and engineering action:
- Review production decisions. Experts assess the AI's outputs and generate metrics and failure labels.
- Prioritize a failure mode. The PM uses its contribution to customer-valued outcomes to decide what deserves attention.
- Set a measurable target. Assign an engineer a particular failure dataset and a performance threshold. Lovejoy's illustrative target is to raise performance on that dataset from 0% or 10% to 50%; it is not an overall application accuracy target.
- Experiment against the dataset. The engineer changes prompts, changes models or tries fine-tuning, using repeated evaluations to measure progress.
- Return the change and its impact. Once the target is met, the engineer gives the PM the proposed changes and evaluation results.
- Decide whether to release. The PM weighs those results alongside effects elsewhere in the product before approving production deployment.
The targeted dataset makes the engineering assignment concrete, but meeting its threshold does not settle the broader release decision.
This is the operational meaning of a self-improving domain-native application: live customer cases supply the context, expert reviews turn that context into measurements and proposed changes, and evaluations guide iteration under a domain-expert PM. More powerful models remain useful, but the ongoing work is to give the product a more nuanced understanding of the workflow in which its decisions will be used.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Resources
From the talk
Public summary of a prior-authorization collaboration involving Anterior and HealthHelp. Detailed findings require access.
Further reading
Lovejoy's companion page for the June 4, 2025 presentation, with recording and slide links.
The clinical example, domain-expert feedback workflow and customer-specific F1 improvement presented in the talk.
Practical guidance on presenting clinical context, reducing reviewer friction and collecting correctness judgments, failure labels and suggested improvements.
Read the complete timestamped transcript
- 0:00
[upbeat music] Hi, everybody.
- 0:15
So I'm Christopher Lovejoy. I'm a medical doctor turned AI engineer, and I'm gonna share a playbook for building a domain-native LLM application. Uh, so I spent about eight years, um, training and working as a medical doctor, and then I've spent the last seven years building AI systems that incorporate medical domain expertise.
- 0:34
Um, and I did that at a few different startups. So I worked at a, a health tech startup called CeraCare, um, doing tech-enabled home care. Uh, the startup recently hit 500 million ARR.
- 0:44
Um, worked at various other startups, and I currently work at Anterior. And Anterior is a New York-based clinician-led, uh, company. We provide clinical reasoning tools to automate and accelerate, uh, health insurance, um, and healthcare administration.
- 1:01
Uh, we serve about 50 million... We serve, uh, health insurance providers that cover about 50 million lives, uh, in the US, and we spend a lot of time thinking about what does it mean to build a domain-native LLM application, whether it's in healthcare, um, or otherwise.
- 1:16
And that's what I'm gonna talk about today. And in particular, our bet really is that when it comes to vertical AI applications, the system that you build for incorporating your domain insights is far more important than the sophistication of your models and your pipelines.
- 1:30
So the limitation these days is not, like, how powerful is your model and whether it can, uh, reason to the level that you need it to. It's more can your model understand the context, um, in that industry for that particular customer, uh, and perform, perform the reasoning that it needs to?
- 1:46
And the way that you enable that and the way that you, uh, kind of iterate quickly with your customers is by building the system around it, and there's various components to that, and that's what I'm gonna talk about.
- 1:57
So this is the kind of high-level schematic, and we're gonna go through each of these parts, um, throughout the talk. Uh, as you'll see, right in the middle there's the, the PM, um, and this is...
- 2:07
You know, in our experience, it makes sense for this to be a domain, um, expert, um, product manager. So in our context, it's clinical. Um, and I'm gonna go through, go through this in more detail shortly.
- 2:17
But first, I think it's worth taking a quick step back and asking, you know, why is it so hard to successfully apply large language models to specialized industries?
- 2:26
We think it's because of the last mile problem, and what I mean by the last mile problem is, is this problem that I, I kind of touched on just now around, uh, giving the model and your, your kind of AI system more generally context and understanding of the specific workflow for that customer, for that industry.
- 2:42
Um, and I'm gonna illustrate that with an example, um, from a clinical case that we've processed. Our AI Anterior is called Florence, and a [REDACTED:age] [REDACTED:gender] patient, uh, presented with right knee pain.
- 2:59
The doctor recommended a knee arthroscopy, and as part of deciding whether this treatment was appropriate, whether the doctor made a, an appropriate decision, Florence needs to answer various questions.
- 3:09
Uh, one of those questions is, is there documentation of unsuccessful conservative therapy for at least six weeks? Um, and, you know, on the surface of it, that might seem relatively simple.
- 3:19
I mean, I appreciate maybe not a lot of doctors in the room, so you might not know necessarily what conservative therapy is. But, um, actually, there's a lot of kind of, like, hidden complexity in answering a question like this.
- 3:31
So for example, you know, conservative therapy, um, typically what we mean by conservative therapy is when there's some kind of option for, uh, you know, a more aggressive treatment, maybe a surgical operation.
- 3:42
That's like the, the, you know, the surgical treatment, and then if you're deciding not to operate and you wanna try something conservative first, that's like the conservative therapy. So it might be, you know, do physiotherapy, uh, lose weight, um, do kind of, you know, non-invasive things that might, uh, help resolve the problem.
- 3:58
But actually, there's some amb-- there's still some ambiguity there because, uh, you know, in some cases, giving medication might be a conservative therapy. In some cases, that's actually the more aggressive treatment, and there's something else that's more conservative.
- 4:08
Um, so there's one layer of ambiguity there. Then when we talk about unsuccessful, um, well, what does unsuccessful mean? Let's say that somebody has, uh, some knee pain, they do some treatment, and their symptoms improve significantly, but they don't, like, fully resolve.
- 4:22
So is that successful? Do we need, like, a full resolution of symptoms, or is it just, like, a partial resolution is enough? If it's partial, like, at what point is that enough to be quantified as successful?
- 4:32
Um, so again, there's kind of complexity and nuance with, with how that's interpreted. And then finally, documentation for at least six weeks. Again, you know, documentation, are we saying that the medical record said they started physical therapy eight weeks ago, then it's never mentioned again?
- 4:48
We can therefore assume that they've been doing it for, for eight weeks? Uh, or do we need, like, explicit documentation that they started treatment, they did it for eight weeks, and, you know, it, it is completed?
- 4:59
Uh, where, where do, where do we kind of, like, draw the line there in terms of what we can infer?
- 5:06
Um, and yeah, just kind of coming, coming back to echo our point. So this is really our bet, that the system is more important. Uh, we believe that in every vertical industry, the, uh, you know, the team, the company that wins is the one that builds the best system for taking those domain insights and quickly translating them
- 5:22
into the pipeline, giving it that context, and, and iterating, um, to create those improvements.
- 5:30
Um, and we also, uh, you know, found... I guess, to talk to this counterpoint, the models, I mean, models obviously are important, um, and the, the progress in models makes it easier to have a good starting point, but that's only getting you up to a certain baseline.
- 5:42
And we found we kind of hit a saturation around, like, 95%, uh, level. So we invested a lot of time and effort in improving our pipelines. Um, obviously, 95% is still, still pretty reasonable, and this is at performing the, like, primary task that our, our AI system does, which is approving these care requests, um, in a health
- 5:59
insurance context. Um, so we're at 95%, and we then iterated based on this system, um, that I'm gonna walk through, and we've really got to, you know, kind of almost silly accuracy of, like, 99%.
- 6:10
Uh, we got this class point of, um, lights award a few weeks ago for this. Um, and really what we found here and what we observed is that the, the models reason very well.
- 6:21
They get to a great baseline. But if you're in an, in an industry where you really need to eke out that, like, final mile of performance, um, you need to be able to then kind of give the model, give the pipeline that, that context.
- 6:33
Uh, so how do we do that? Well, we call this our Adaptive Domain Intelligence Engine, and what this is performing is it's taking customer-specific domain insights, and it's converting them into performance improvements, um, and kind of building a system around that.
- 6:49
And there's broadly two main parts to this. The first part is the measurement side of things. So, you know, how is, how is our current pipeline doing? Um, and then the rest of this is the, uh, improvement side.
- 7:01
So I'm gonna talk first a bit about... more about measurement in, in more detail, and then, and then a bit about improvements. So measuring domain-specific import, uh, performance.
- 7:10
The first thing, um, and I think, you know, a lot of this is, is really just kind of back practice, best practice more generally. But, um, the first step is to define what is it that your users really care about as metrics.
- 7:21
So in a health context, obviously, I've been talking about medical necessity reviews. Um, this is our bread and butter. And there, the customers really care about false approvals. They want to minimize false approvals because a false approval where you've approved care means that, you know, a patient who didn't need the care might get given some care they
- 7:36
don't need. And obviously, from an insurance provider point of view, they're then paying for treatment that they don't necessarily want to pay for. Um, and often defining these metrics is like a collaboration between the domain experts in your company and the customers to kinda, like, really translate what are the metrics that you care about.
- 7:50
There might be, like, one or two, or, like, usually, there's a few metrics that matter most. So in a few other industries, like legal, when you're analyzing contracts, it might be that you really wanna minimize the number of, uh, missed critical terms when you're, when you're identifying these clauses in the contract.
- 8:03
For fraud detection, your top-line metric might be something like preventing, um, dollar loss from fraud. You know, education, it might be you wanna optimize for test score improvements. Um, I think it's, it's definitely a helpful exercise to push yourself to think of, like, really, if I'm optimizing for, like, one or two metrics, what is, like, the metric
- 8:18
that is most important? Um, and then what you can also do hand-in-hand with that, um, which is very helpful, uh, just going off the bottom there a little bit, but, uh, is designing a Failure-mode ontology.
- 8:32
And what I mean by this is taking the task that you're performing and identifying what are all the different ways in which my AI fails. And it might be at the level of, like, higher order categories.
- 8:41
So for example, here we've got medical record extraction, clinical reasoning, and rules interpretation. We found that for medical necessity review, these are the three broad categories, the three broad ways in which the AI can fail.
- 8:51
And then within those, there's various, like, different subtypes. Um, and this is an iterative process. There's, like, various techniques for doing this. Um, I think it, it's important here to bring in your domain experts.
- 9:01
I think one failure mode is that you have somebody kind of looking at your AI traces in isolation and coming up with these, um, who don't necessarily have the context on how things are, are working.
- 9:09
I think this is a, a step that's critical to have domain experts, uh, leading this process.
- 9:15
Um, but really, I think the, the big value add is when you do both of these at the same time, um, together. Because what this gives you, uh, and, and this is a, this is a dashboard that we've built internally.
- 9:26
I, I appreciate the text might be a little bit small. Um, but essentially, on the right-hand side, you have a patient's medical record. You also have the guidelines that are...
- 9:33
the record is being appraised against. On the left-hand side, you have the AI outputs. Um, so this is the decision that it's made, the reasoning behind its decision. And what we enable our domain experts to do here, enable our clinicians, is they can come in, they can mark whether it's correct or incorrect.
- 9:48
And if it's incorrect, then this box here is for, um, defining the failure mode. So from that ontology we just saw on the slide before, they can say, "This failed in this way."
- 9:57
And doing those at the same point and having your domain expert sit at that point doing both of these is, uh, super valuable because it then enables you to understand things like this.
- 10:08
So on the X-axis here, we have number of false approvals. That's the metric that we really care about in our context. And then we have the different failure modes on, on the, uh, Y-axis.
- 10:16
And obviously, that tells us that if we want to minimize our false approvals, and we want to, like, optimize for this, this top North, North Star metric that we care about, these are what we wanna address first, like, kind of in this order, um, which as a PM is then a useful piece of information to help you
- 10:30
prioritize, uh, the work that you want to do.
- 10:35
So that's the measure side of things. I'm now gonna go on to talk about the, um, the improvements,
- 10:41
um, and particularly with this domain-specific context. So
- 10:48
what that also gives you, this kind of failure mode labeling we talked about before, is you get these ready-made datasets that you can iterate against. And these datasets are super valuable because they're coming directly from production data, which means you know that they're representative of the kind of input data distribution that you're going to see, more so
- 11:05
than synthetic data would be. Uh, and you can now, you know, when you, you had those priorities on the previous slide, we saw which sort of failure modes were causing the most false approvals.
- 11:14
We can then pick that dataset of, you know, a hundred cases that came through prod in the last week that had this particular failure mode. You can give that to an engineer, an engineer can iterate against it, and you can keep on testing, "Okay, how is my performance against that particular failure mode right now?"
- 11:29
And that lets you do something like this, where on the X-axis here we have the pipeline version. On the Y-axis, we have the performance score. Um, by definition, on these floors, we're, we're starting very low for each of these, like, failure mode datasets.
- 11:40
But every time you increment your pipeline version, maybe you spent some time focusing on this particular failure mode, and, and you were able to get a big jump in performance.
- 11:47
Um, and then you can see the other ones also jumping up as well, um, on kind of subsequent releases. And you can also use this to then track that you're not regressing on any particular failure mode as well.
- 11:56
Um, so it's a useful, useful, uh, visualization to be able to make.
- 12:02
And you can then go one step further and actually bring your domain experts into the kind of improvements in the iteration itself. And what that looks like is creating this tooling that enables a domain expert, who's not necessarily technical, to come in.
- 12:16
They can then suggest changes to the application pipeline. They can also suggest new domain knowledge that's made available to the pipeline. And obviously, they're the best positioned to be making these kind of, um, you know, opinions of what sort of domain knowledge might be, might be relevant.
- 12:30
And then you have your pipeline in the middle that's ready to use those if it wants to. And on the right-hand side, you have those domain evals, which might be these failure set evals.
- 12:37
You might have more generic eval sets as well. And they can then tell you in a data-driven way, okay, given this domain knowledge suggestion from a domain expert, should that go live in the platform?
- 12:47
And now it's in production, and, and then, um, you know, it should be improving the performance for, for live customers. Um, and this whole loop can happen very quickly.
- 12:54
So for example, and I think actually on the next slide... Yeah, I'll just show, um, so this is the dashboard we saw before, but this is with this extra button, which is like a domain knowledge addition button.
- 13:05
And so again, we're keeping the same context. We have, uh, you know, a domain expert, a clinician coming in here. They're reviewing the case. They're saying, is it correct?
- 13:12
Is it incorrect? They're saying, what's the failure mode? And now they can say, "I think this domain knowledge would be helpful for the application's performance." And, uh, you know, it might be, I think in this case, I appreciate it might not be that easy to read, but, um, the model's kind of making some, some mistake related to
- 13:28
understanding suspicion of a condition because the patient, like, has the condition, and it says, oh, there's no suspicion of the condition. Um, but actually they, they have it. And like, there's, there's, like, you could give some information to the model for the medical context of how we interpret suspicious or suspicion as a word that would then influence
- 13:44
the answer. Um, or it could be that maybe the reasoning, uh, uses some kind of scoring system, and you realize actually the model doesn't have access to that scoring system.
- 13:51
You could, again, you could add that as domain knowledge, um, to continually build out what the, what the model can handle. And what that helps with... Yeah, in term- in terms of kind of the iteration speed from that, you can do that.
- 14:04
Maybe you wanna let your evals automatically let that go in, or maybe you want to, um, have some kind of human-in-the-loop, but it just means that you can have this very quick process.
- 14:11
This prod case comes through, you analyze it, you, um, by a, a, through a clinical lens, and then the same day, you've essentially fixed it because you've added the domain knowledge that should solve it.
- 14:20
You can prove that with the evals, and then it's live.
- 14:26
And what this means is that, you know, these domain expert reviews that are really kind of powering a lot of the insights you're getting here are giving you three main things.
- 14:32
They're giving you performance metrics, they're giving you these failure modes, and they're giving you these suggested improvements, um, all in one.
- 14:40
Yep.
- 14:40
Can you define domain expert? Like, what level are we talking about?
- 14:45
Yeah, good question. So the question is, um, how do you define a domain expert? Like what level of, of expertise do you need here? I think it really depends on the specific, like, workflow that you're doing, um, and what you're kind of optimizing for.
- 14:55
So in our context, if you're optimizing for clinical reasoning and the quality of the clinical reasoning, you therefore want somebody with, like, as much clinical experience, ideally a doctor.
- 15:04
Um, you know, ideally, they have relevant expertise in the specialty that you're dealing with. Uh, but it, but it kinda really depends on your use case. It might be that there's actually simpler things we also, um, can, can do, in which case, that level of expertise is not necessary, and you could have, you know, like a more
- 15:19
junior clinical person. But the, the idea being that it's either, like, a nurse or a doctor or, or somebody that has experience of doing this workflow in, in the real world.
- 15:27
Okay.
- 15:27
Does that make sense? Yeah, another question. Can you elaborate a little bit more on the tooling for the domain experts? Like, is this bespoke tooling or using, like, off-the-shelf?
- 15:35
Yeah, this is, this is bespoke tooling, and I think in general, my, my philosophy on this is that if you, if you're really placing a lot of weight on what you're kind of generating, and this feeds into your system in various other different ways in the kind of ways I'm describing, it probably makes most sense to do
- 15:51
this with bespoke tooling that you build yourself because it's, you wanna integrate it into the rest of your platform, and it, it's just generally gonna be, um, you know, easier to do that if you're, if you're kinda, like, doing everything yourself.
- 16:00
Yeah.
- 16:01
And then are, are these use... Like, are your domain experts users, or are you paying them to come in and eval or?
- 16:08
Yeah, great question. Um, I think it ca- it can be both. Um, we... Like, in our experience, typically we start with, we, we will hire some people in-house who will kind of come and do this for us to give us this initial data so that we can do that iteration.
- 16:20
I think there's definitely a world in which the customer themselves might also want to do validation of your AI, and they might actually do this kind of process themselves, in which case, this then becomes a customer-facing product for them to, to use as well.
- 16:32
Um, yeah. Uh, okay. So- I love the questions, but we're gonna reserve time for Chris to keep going. Yeah. Sounds good. And, and I'm just, um, this is the last couple slides now as well.
- 16:43
So putting everything together, uh, this is the overall flow. And
- 16:49
essentially, what this, what, what this can look like is, you know, you have your production a- application. It's generating these decisions, these AI outputs. You're having your domain experts review that, giving these performance insights.
- 16:59
That's things like the metrics, the failure modes. Uh, you then have your PM, your kind of domain expert PM, who sits in the middle. They then have this rich information on, okay, what should I prioritize based on the failure modes, based on the metrics?
- 17:11
They can then turn to an engineer and say, um, "I want you to fix this failure mode because I really care about it, and I want you to fix it up to this performance threshold."
- 17:18
So they can say, "Right now, you know, in production, we're getting 0% or 10% on this particular dataset. I want you to go away and work on this until you get to 50%."
- 17:26
And then the engineer can go and, um, you know, run different experiments, have different ideas of how they might improve this, changing prompting, changing models, doing fine-tuning, all this kind of thing.
- 17:35
They then have a very tight iteration loop because they have these ready-made failure mode datasets. They can run the eval. They can see the impact of those, um, evals, and then once they've kind of done that loop and they're, they're hitting the percentage that they need, they can then go and give that back to the, the PM
- 17:48
and say, "Hey, here are the changes I made. This is the impact." The PM can then, um, take that information and make some decision about going live. They can take the, those, uh, eval metrics.
- 17:58
They can look at the kind of wider context of what this change might impact elsewhere in the product, um, and then decide whether to go live, uh, with that in production.
- 18:07
So final takeaways just to wrap up. Um, you know, to build a domain-native LLM application, you need to solve the, the last mile problem. This isn't solved by just using more powerful models or more sophisticated pipelines.
- 18:19
Uh, you need what we call an adaptive domain intelligence engine. Domain experts can power this system by reviewing the AI outputs to generate metrics, to generate failure modes, and to generate suggested improvements.
- 18:29
And this is really powerful because it takes production data live from kind of inside your customer's context, and it uses that to give your LLM product the nuanced understanding of the customer workflows and continually iterate towards that and eke out the, the kind of final performance, um, performance level.
- 18:43
And the end result is you have this self-improving, data-driven process that can be managed by a domain expert PM sitting in the middle. Um, so thank you for your attention.
- 18:53
Um, uh, I... If you're interested in kind of vertical AI applications or, like, evals and AI product management more generally, I've written about that, um, at my website, chrislovejoy.me.
- 19:03
Uh, always interested to talk about this, so feel free to drop an email at [REDACTED:email_address]. And we're also hiring as well at the moment, so check out anterior.com/company for open roles.
- 19:11
Thank you. [upbeat music]