BlogBack to Resources

Model vs Harness for (Animal) Medicine

Adam Sager•October 29, 2026•7 min read
OpenVet card: The model is not the medicine. It is the thing that reads the medicine. Below, a diagram comparing how most clinical AI is built with how OpenVet built it.

Originally posted on X by Adam Sager, founder and CEO of OpenVet, on September 16, 2026. Read the original post on X.

Medical AI is often described simply as ‘a model you ask clinical questions.’ Pick a strong frontier model, give it access to the literature, and the quality of the medicine tracks the quality of the model. Right?

That view misses the forest for the trees. The model is not where the medicine has to live. The medicine can be a separate thing, and once you treat it as one, most of what's hard about clinical AI gets easier to see.

Atomic Graph Reasoning (AGR)

A basic retrieval-augmented generation (RAG) stack looks like this:

How most clinical AI is built: a question goes to a frontier model that holds the medicine in its weights plus passages pulled by similarity, and returns a paragraph. Swap the model and the medicine goes with it.

A language model holds whatever medicine it absorbed in training. A retrieval layer pulls passages of text that resemble the question. The model reads the passages and writes an answer. Knowledge lives in two places: the weights and the passages. You can inspect the passages, but not the knowledge in the weights in the same way. You cannot audit what the weights know about camels or your house cat. A pile of retrieved paragraphs doesn't, by itself, tell you how much independent evidence they represent. The model is left to join the evidence and decide what matters.

For medical AI there's a better way: separate the clinical knowledge from the model. The approach here is Atomic Graph Reasoning, AGR. The medical literature gets decomposed into facts, each one carrying its source and its connections to other facts. That collection is a distinct artifact. It has a build date and a version, and it can be measured. The model's job is to walk it: follow the connections from the question to an answer, and report the path. The model is a reader. The medicine is the thing being read.

How OpenVet built it: a question goes to a harness where the knowledge is sourced, connected, countable and versioned facts, any frontier model reads and walks it, and the output is a replayable path. Swap the model and the medicine stays.

To make the analogy explicit, when knowledge is learned during training, the literature is absorbed into the weights. In this approach, literature is source code, extraction is the compiler, the fact graph is the binary, and the model is the runtime. You can swap runtimes. You can rebuild the binary. You can diff two builds. You can't do that fact by fact when the knowledge is inside the model.

The reason this matters more in medicine than almost anywhere else is that medical facts are connected in ways the question never names. A treatment recommendation and a contraindication for that treatment live in different chapters, written by different people, and the danger is in the join. A system that finds passages resembling the question may find the treatment and miss the contraindication. A system that walks connections can follow the treatment to the contraindication, whether or not anyone asked. That connection still has to be present, correct, and checked by the system. This is where a graph can make a difference over passage retrieval alone.

Deploying AGR in Vet Med

A thirteen-year-old cat, losing weight, eating constantly, total T4 well above range. The presentation points to hyperthyroidism. Suppose the treatment plan is methimazole. Atomic Graph Reasoning then does a second walk over the path it just built: the Safety Review. That's where an important connection appears: correcting the hyperthyroidism reduces the elevated kidney filtration rate, or GFR, and can unmask kidney disease that the overactive thyroid was hiding. So the answer should include baseline bloodwork and urinalysis, with bloodwork rechecked at three and six weeks after starting methimazole, covering thyroid levels, blood counts, and liver and kidney values. Nobody asked about kidneys. The path went there because the graph connects thyroid treatment to its renal consequences. Every node in that trace is attached to a source, and you can scrub through it.

The consequences go beyond one case. What changes when knowledge is an artifact rather than a property of the model?

Eight Properties of Knowledge as an Artifact

These are the core elements that must be considered when separating knowledge from the model:

1. The knowledge is countable. The evidence in the corpus becomes a quantity. For any clinical subject, in any species, you can say how much sourced material the system holds, and draw it to scale. Where the corpus is deep the drawing is dense. Where it's thin, you can see the thinness. A model can't give you that inventory of its own weights.

2. The knowledge is versioned. The knowledge base has dated builds. You can put six of them side by side and watch each subject grow or shrink. It has shrunk, once, on purpose, when a rebuild removed material that didn't meet the bar, and the answers got better. When a wrong answer appears you can ask which build introduced the fact that caused it. That's a debugging move software engineers take for granted. Clinical knowledge should get the same treatment.

3. The ranking is inspectable. Give the system three clinical signs and it produces several hundred candidate diseases, ordered by how much evidence connects each one to those signs. In this example, the model doesn't rank them. The counts do. That measures support in the corpus, not clinical probability; source quality and duplicated evidence still matter. The point is the tail: the diseases at positions fifteen through forty that might otherwise be missed, now sitting in an inspectable order with the evidence for each one attached.

4. Corpus coverage is known before the answer. Because the artifact is measurable, you can ask a second question alongside every clinical one: for this question, in this species, how much does the corpus actually hold? Render it as weather over a fixed map of subjects. Switch from dogs to camelids, such as camels and alpacas, and you can watch subjects the answer was leaning on go dark. That's a measurement of the corpus, taken independently of the answer, and it's allowed to contradict the answer. The model's stated confidence is its own assessment. This is a measurement of the evidence in the corpus, not proof that the literature is complete.

5. The evidence path is replayable. The system saves the sequence of hops through connected facts used to build the answer. A clinician can see which differentials were considered and set aside, which finding supported the leading diagnosis, and exactly where the kidney warning came from. When the path crosses from one species' literature into another because the first was thin, that crossing is a labeled edge you can see, rather than an extrapolation buried inside a confident paragraph. That is an evidence trace, not a claim to see everything happening inside the model.

6. Refusal is principled. When the walk reaches a connection that doesn't exist in the corpus, it can stop and say so. In one demonstration a generic high-dose drug recommendation collides with a breed-specific risk in the patient record. The system halts on the exact conflicting fact, cites the papers that establish it, and declines to name a replacement drug because it has no indication-specific source for one. The nearest plausible sentence may still be available. That doesn't make it an acceptable clinical answer.

7. The knowledge survives model changes. Post-training can make language models overconfident, including training intended to improve reasoning. If your medicine lives in the weights, a model change can change the medicine. If your medicine lives in a separate artifact, the model can become more overconfident and the stored facts don't move. The way it uses them can still change, so a new model still needs clinical regression testing. Swap the model for next year's, keep the medicine.

8. The knowledge grows by review, not ingestion. A retrieval index grows by adding documents. The knowledge base grows when a proposed connection between facts gets approved. An engine surfaces candidate connections it finds in the literature; clinical review determines which are accepted. Knowledge enters by something like a pull request. This is slower than dumping in another textbook. It's also the only way I know to keep the artifact trustworthy as it gets large.

Limitations

The artifact takes far longer to build than an index. Decomposing data into connected, sourced facts is more complicated than indexing documents.

But the work upfront means rapid iteration later. A bad fact is now a countable, versioned, connected bad fact. The properties above make errors visible and traceable. They don't make them impossible.

Where no literature exists, there's nothing to walk. A graph cannot reason its way to evidence that was never written down. It also needs to distinguish a gap in its own corpus from a gap in the literature.

Getting Animal / Veterinary AI Right

If clinical knowledge is an artifact, it needs the tooling that artifacts get.

A coverage number next to every accuracy number, with a clear definition of what is being counted. Benchmarks report how often a system was right on the cases someone chose. That doesn't tell you how much evidence the system holds for the cases it will actually see. By the end of 2027, I expect buyers of clinical AI to ask for that number, and the products that cannot produce one will have to explain why.

A home for the artifact that outlives any one model. The whole point of separating the medicine from the model is that the model is the replaceable part. When that knowledge lives only in the weights, it remains tied to the model behind it.

The model is not the medicine. It's the thing that reads the medicine. Build the medicine so it can be read, counted, versioned, and walked, and the model becomes what it should have been all along, which is one component you can swap.