Architecture

Architecture.

VeriScite runs as a graph of steps in LangGraph. Most of the graph is a fixed pipeline. One part, the disagreement-resolution step, is a genuine agent: a model that chooses its own next action on the fly.

These are the same six steps below. Click one to jump to it.

Step by step

The pipeline

01

Extract claims

A language model reads the pasted body text and bibliography together. For each claim attributed to a citation marker, it finds the full bibliography entry that marker points to. Any claim whose citation cannot be resolved in the reference list gets skipped.

02

Fetch citation

The bibliography entry becomes a search query for Semantic Scholar. A raw reference string makes a poor keyword search, so the query is built from the first author, the year, and the title words that follow. If no abstract turns up, the claim is simply marked unresolved.

03

Dual verification

The claim and the retrieved evidence are checked twice, independently. A fine-tuned DeBERTa-v3 model, carried over from clAIm, gives a three-way verdict: support, contradict, or not enough information. A separate zero-shot language model is asked the same question, blind to the first model's answer. Agreement between the two settles the result.

04

Agent reasoning, only on disagreement

On disagreement, a third model takes over with three tools: retry the search, ask for a blind second opinion, or conclude. It decides which to use, in what order, up to three actions. "Not enough information" counts as a legitimate answer.

05

Explain

For any support or contradict verdict, the decisive sentence is passed through Integrated Gradients, again reused from clAIm, producing a token-level attribution showing which words moved the model toward its answer.

06

Report

Results across every claim are aggregated: how many verifiers agreed at the outset, how many needed the agent, and how many actions the agent took on average when called in.

Workflow vs. agent

The disagreement step decides its own next move.

A common distinction in agent design separates a workflow, where an LLM's output feeds into fixed code paths chosen in advance, from an agent, where the model itself chooses its next action and decides when it is done. Most of VeriScite's pipeline is a workflow: the steps run in a fixed order. The disagreement step is different. The planner model gets three tools and no instructions about which to use or in what sequence. It reads the situation and decides.

The agent's three tools

retry_with_query

Search again with a new, self-written query, in case the first retrieved passage missed the relevant part of the source.

request_second_opinion

Ask a language model to judge the claim against the evidence blind, with no knowledge of the earlier disagreement, to avoid anchoring on either prior answer.

conclude

End the investigation with a final label, a confidence, and a written justification. If three actions pass without a conclusion, the agent is asked once more to conclude on what it has.

Try it yourself

Run the disagreement step by hand.

Below is a real disagreement from testing: two verifiers split on whether transformer models need more labeled data than recurrent architectures. Call the agent's tools in whatever order you like, up to three actions, then conclude. The scripted responses below are drawn from the actual run.

The disagreement

"Transformer models require substantially more labeled training data than recurrent architectures to reach comparable accuracy."

DeBERTa-v3 SUPPORT
Zero-shot LLM CONTRADICT

The two disagree. It's the planner's turn.

0 / 3 actions used
Live progress

The agent's steps stream in as they happen.

The demo does not wait for the pipeline to finish before showing a result. Each step, and each tool call inside the agent's reasoning, reaches the browser the moment it happens, over a live connection. The Demo page shows the agent working, in the order it actually worked.