Product Field Work All builds
BuildAccountable

Second Opinion

Most AI products show you the model’s first answer. On 900 contract questions checked against lawyers, that answer was wrong about 1 in 9 times, and it sounded just as sure when it was. This build spends a few cents checking the work, and measures what each check buys.

The problem

Every commercial contract gets read for the same handful of questions. Can they end this if we’re acquired? Is our liability capped? Does it renew on its own? A paralegal or junior lawyer reads the whole agreement to answer them, and a single missed clause can cost far more than the reading did.

AI can answer those questions in seconds. The catch is that it answers every one in the same confident voice, so the wrong answers look exactly like the right ones.

~50%of law firm time goes to reviewing contracts, per CEB research cited by the CUAD authors
$500+an hour, the low end of the $500–900 large-firm rate for that review, per the same paper
8.6%average contract value lost to poor contracting, per World Commerce & Contracting

A missed change-of-control clause or an uncapped liability is exactly the kind of leak that number describes. Reading slowly is the everyday cost. Trusting a fast answer that happens to be wrong is the expensive one.

How I measure the problem
  1. Wrong answers that reach the reader, scored against lawyers’ labels on contracts the system never saw
  2. Answers a person still has to check, and whether those are the hard ones
  3. What each extra check costs, in real API dollars, step by step
Why I chose it

Two new “decision models” launched this fall: TypeSafe’s Jev and OpenAI’s Decisions API. Both return probabilities instead of prose, which makes something possible that chat answers don’t: measuring how sure a model is, and spending more only where it isn’t. Contracts are a good test because the stakes are real and lawyers have already labeled the answers.

The ideaDon’t trust the first answer. Ask two cheap decision models, calibrate them per question, deliver only what they’re sure of, make every answer prove itself with a quote from the contract, escalate the rest, and hand whatever is still uncertain to a person, with the evidence attached.

Sources are listed at the end of the page.

900 answers, checked ten ways

75 contracts the system never saw, 12 clause types each. Every square is one answer. Step through the ladder, or tap a square for its paper trail.

Right Missed a clause Invented a clause Sent to a lawyer
Wrong, delivered––
Sent to a lawyer––
Right––
API costfor 75 contracts–

    Why not just ask ChatGPT?

    Paste the contract into a big modelGPT-6 Sol, whole contract, all 12 questions, one shot
    This pipelineTwo decision models, calibrated, gated, escalated
    It knows which answers to trustEach clause type gets its own cutoff, learned from 75 training contracts. A chatbot uses the same gut feel for every question.
    It can say “I’m not sure”Uncertain answers go to a person instead of being guessed. A chatbot answers everything in the same tone.
    It proves its answersEvery “yes” must come with a quote that code finds word for word in the contract. A chatbot can quote a clause that isn’t there.
    It is measured, step by stepEvery check is scored on contracts it never saw, with 95% ranges, including the ones that made things worse. Expensive models only see the calls the cheap ones couldn’t settle.

    What a second opinion is worth

    Every number below follows where you stop the ladder. Public figures are linked; assumptions are yours to change.

    Stop at
    –fewer wrong answers reach the reader than with the first answer
    –of answers go to a person, instead of every clause in every contract
    –confident first-answer mistakes kept from the reader
    –API cost per contract, all twelve questions

    Each point is one step; the vertical lines are 95% ranges from resampling the contracts. Lower is fewer silent errors; further right is more review. A team picks the point that matches its risk.

      From public data

      Median pay for paralegals and legal assistants, BLS, May 2025. A lawyer’s rate makes every saving larger.

      Private industry, BLS ECEC. Benefits make up the rest.

      Assumptions you can change

      No public benchmark exists for these. The CUAD authors budget 5 to 10 minutes a page for expert review; these contracts average about ten pages.

      What it means for the people

      Today, a reviewer reads every agreement end to end. With a second opinion, they confirm the answers the system wasn’t sure of, each with the passages and votes attached.

      Today
      Reading every clause of every contract
      With the pipeline
      Confirming flagged answers
      Skimming the rest
      Freed for negotiating and advising

      They check the hard ones, not all of them
      They see why it was flaggedEvery flagged answer arrives with each model’s vote, the passages it re-read and the larger model’s quote, so confirming it takes minutes, not a full read.
      They own the risk dialWhere to stop the ladder is a policy the legal team sets: fewer silent errors, or less review. The page shows exactly what each choice costs.
      What disappears, and what doesn’t

      Reading boilerplate to find out an agreement has no non-compete goes away. Deciding what a clause means for the deal, negotiating it, and signing off on anything the system was unsure of stay with people. The answers it still gets wrong are why someone should skim the rest:

      Try it

      ClauseLawyersFirst answerFinalPath through the ladder

      How it works

      Ask two decision modelsJev and OpenAI’s Decisions API each return a probability for all 12 questions, in three phrasings.
      Calibrate per clauseA small model learned on training contracts turns six votes into one honest probability.
      Gate, prove, escalateConfident answers ship. Each answer must be backed by a quote found in the contract. Unsure ones go to larger models.
      Hand off the restAnything still uncertain goes to a person, labeled uncertain, with its evidence.
      # One request per contract: 12 questions share one read of the text (input billed once)
      POST /v1/decisions
      { "model": "gpt-6-luna",
        "input": "<the whole contract>",
        "questions": [
          { "type": "predicate", "name": "change_of_control",
            "instructions": "Does one party have the right to terminate, or is consent or notice required, if the counterparty undergoes a change of control?" },
          … 11 more clause types … ] }
      # → { "answers": [ { "name": "change_of_control", "probability": 0.94 }, … ] }
      StepWrong · to a lawyerCostWhat happened

      Evidence

      –wrong answers delivered, first answer against the full pipeline, on 900 held-out answers
      –the single biggest gain: calibrating each clause type, before any extra model calls
      –delivered answers the quote check pulled back that were in fact wrong
      –for the whole experiment, including training contracts, the chatbot baseline and every model tried
      –of the hardest calls where GPT-6 Astra alone matched the answer key
      –95% range for how many fewer wrong answers reach the reader, resampling whole contracts 2,000 times
      What I haven’t proven yet

      One dataset, 150 contracts, and contracts under about 12,000 tokens, which may be easier than the long ones. The lawyers’ answer key has gaps too: some “invented clauses” are real clauses the labels missed (contract 075 can be ended without penalty on 60 days’ notice but isn’t labeled as termination for convenience), so the error counts are conservative. The escalation rule was chosen on only 60 training answers, and Astra reuses it rather than being validated separately. On the hardest calls the disagreement is often about the definition itself: both large models read broad indemnities as “uncapped liability” and the answer key doesn’t, which is exactly the kind of call a lawyer should own. And the Decisions API is in public beta; its behavior may change.

      Choices

      Decision models, not a chatbotA chat answer can’t be calibrated. A probability can, and that is what makes the gate, the cost control and the handoff possible.
      Calibrate before adding modelsAveraging in a second model or rephrasing barely helped on its own. Learning a cutoff per clause type cut errors the most, for free.
      Proof beats a bigger modelMaking answers quote the contract cleared more flags, with fewer errors, than the most capable model did, at about an eighth of the cost. Big models go last, and only count when they agree with the evidence.

      Sources

      1. Hendrycks et al., “CUAD: An Expert-Annotated NLP Dataset for Legal Contract Review,” 2021: the 510-contract dataset and lawyer labels; ~50% of law firm time on contract review (citing CEB) and $500–900 hourly rates.
      2. The Atticus Project, CUAD v1 (CC BY 4.0): the contracts and labels used here.
      3. World Commerce & Contracting, June 2026: average value erosion of 8.6%.
      4. OpenAI, Decisions API guide: request format, gpt-6-luna, $0.10 per million input tokens, public beta from October 6, 2026.
      5. TypeSafe, Jev API reference: yes/no (“noul”) questions answered with probabilities; $0.042 per million input tokens.
      6. GPT-6 Sol pricing: $2 in and $10 out per million tokens, used for escalations and the chatbot baseline.
      7. GPT-6 Luna pricing ($0.10 in, $0.50 out, used for quotes) and GPT-6 Astra pricing ($10 in, $50 out; half that on the flex tier used here).
      8. BLS Occupational Outlook, paralegals and legal assistants: median pay $62,890, May 2025.