[ blog · use-case ]11 min read

Zitations-gestützte UK-Case-Law-Recherche nach Ayinde v Haringey

Sarah ChoyVeröffentlicht am 3. Mai 202611 Min. Lesezeit
Zitations-gestützte UK-Case-Law-Recherche nach Ayinde v Haringey

Ayinde v Haringey hat die Rechnung für UK-Legal-AI über Nacht verändert. Ein Barrister zitierte fünf von einem LLM generierte Falschfälle und wurde an das Bar Standards Board verwiesen. Halluzinierte Zitate haben jetzt berufsrechtliche Konsequenzen. Hier ist der Entwicklerleitfaden zum Aufbau zitations-gestützter UK-Case-Law-Recherche — TNA Find Case Law, legislation.gov.uk, Parsing neutraler Zitate und wie man das in einen funktionierenden Agenten einbindet.

Auf einen Blick

  • Ayinde v Haringey [2025] EWHC 1383 (Admin) machte halluzinierte Fallzitate zu einem berufsrechtlichen Thema, nicht nur zu einem Qualitätsproblem.
  • BAILIIs Nutzungsbedingungen beschränken den programmatischen Bulk-Zugriff; der Find-Case-Law-Dienst der National Archives ist die legitime API für Urteile aus England & Wales.
  • legislation.gov.uk verfügt über eine stabile Developer-API mit Point-in-Time-Zugriff — unerlässlich für Compliance-Arbeit, bei der 'in Kraft am 30. Juni 2024' eine echte Query ist.
  • Stanfords HAI-Studie 'Hallucination-Free?' zeigte, dass Westlaw und Lexis+ AI immer noch in 17–33 % der Fälle halluzinieren — Zitations-Grounding ist die architektonische Antwort, keine Frage der Anbieterwahl.
  • API Pick UK Legal Search bündelt semantisches Retrieval über Case Law und Primärgesetzgebung in einem POST — 60 Credits pro Aufruf.

Der Fall, der die Rechnung veränderte

Am 6. Juni 2025 verkündete der Divisional Court der King's Bench Division zwei Urteile in einer einzigen Entscheidung — Ayinde v The London Borough of Haringey und Al-Haroun v Qatar National Bank QPSC, neutrales Zitat [2025] EWHC 1383 (Admin). In beiden hatte der Anwalt Schriftsätze eingereicht, die Autoritäten zitierten, die es nicht gab; in Ayinde fünf erfundene Fälle. Das Gericht stellte einen Verstoß gegen die Berufspflichten fest und verwies die Praktiker an die BSB bzw. die SRA.

Innerhalb von 48 Stunden hatte jede UK-Legal-Tech-Roadmap einen neuen Punkt ganz oben: Zitations-Grounding. Nicht als nette Qualitätsbeigabe, sondern als regulatorische Notwendigkeit. Die Stanford-HAI-Studie 'Hallucination-Free?' (Magesh et al., Mai 2024) hatte bereits gezeigt, dass die führenden Anbieter-Tools — Lexis+ AI, Westlaw AI — bei benchmarkten Queries in 17–33 % der Fälle Zitate halluzinieren. Ayinde verwandelte diesen akademischen Befund in ein Compliance-Problem.

Für Entwickler, die KI-Features in UK-Rechtsprodukte einbauen, ist die architektonische Lehre klar: Retrieval muss aus autoritativen Quellen kommen, Zitate müssen bis zur Quelle überprüfbar sein, und das System muss eine Antwort verweigern, wenn es sie nicht grounden kann. Alles andere ist ein Verweis an eine Aufsichtsbehörde, der nur darauf wartet, einzutreten.

Hier ist der praxistaugliche Entwicklerleitfaden, das richtig zu machen: welche APIs zu nutzen sind, was ihre Fallstricke sind und wie man sie in einen funktionierenden Agenten einbindet.

Die autoritativen Quellen

1. National Archives Find Case Law

Betrieben von The National Archives (TNA). Deckt seit April 2003 verkündete Gerichtsurteile des High Court, Court of Appeal, UK Supreme Court, Privy Council und mehrerer Tribunals ab. Dokumente im XML-Standard Akoma Ntoso (LegalDocML). Öffentliche API unter caselaw.nationalarchives.gov.uk; Bulk-Data-Feed über antragsgebundenen Zugang für Zwecke der „computergestützten Analyse“.

Stärken: autoritative Quelle für Case Law in England & Wales, strukturiertes XML bewahrt die Urteilsstruktur (Absatznummern, Zitate, Überschriften), die Open-Government-Licence-Bedingungen erlauben die Weiterverwendung mit Namensnennung. Schwächen: begrenzte Abdeckung vor 2003, Antrag für den Bulk-Feed erforderlich, LegalDocML ist schwer zu parsen, wenn man noch nie mit juristischem XML gearbeitet hat.

2. legislation.gov.uk Developer-API

Betrieben von der TNA. Deckt UK-Primärgesetzgebung (Acts of Parliament), Statutory Instruments sowie nordirische / schottische / walisische Entsprechungen ab. Entscheidend: unterstützt Point-in-Time-Queries: 'wie sah diese Bestimmung am 1. April 2018 aus'.

Stärken: stabil, gut dokumentiert, Point-in-Time-Zugriff, OGL-lizenziert. Schwächen: das Schema (CLML) ist ein Ding für sich; nicht alle Änderungen werden einheitlich durch die Geschichte zurückverfolgt; das In-Kraft-Datums-Modell kann überraschen.

3. BAILII (nur lesend über das menschliche Web)

Langjähriger Aggregator juristischer Informationen. Entscheidend für Jurisdiktionen und Dokumenttypen, die Find Case Law nicht abdeckt (ältere Urteile, schottisches / NI-Material, manche Tribunal-Entscheidungen). Bulk-Scraping ist durch BAILIIs Nutzungsbedingungen beschränkt. Behandle es als menschenlesbares Backup, nicht als API.

Semantische Suche über UK-Case-Law und Primärgesetzgebung in einem POST-Endpoint. JSON rein / JSON raus, 60 Credits pro Aufruf, Abrechnung nur bei Erfolg. Liefert Titel, neutrales Zitat, Quell-URL und Snippet, gerankt nach semantischer Relevanz. Für das Tool-Calling von KI-Agenten gebaut.

Im Direktvergleich

Quellen zum Zeitpunkt der Veröffentlichung. Lizenzbedingungen vor kommerziellem Einsatz mit der TNA bestätigen.
Find Case Lawlegislation.gov.ukAPI Pick UK Legal Search
AbdeckungE&W-Case-Law seit 2003UK-Statuten + SIs, Point-in-TimeCase Law + Gesetzgebung, semantisch
FormatAkoma Ntoso XMLCLML XML + JSON / AtomJSON, Snippet vorgeformt
SucheKeywordKeyword + strukturellSemantisch
AuthKeine für öffentlich; antragsgebundener Bulk-FeedKeinex-api-key
LizenzOpen Government LicenceOpen Government LicenceAPI Pick TOS
Passt fürCompliance-taugliche Source of TruthStatut-Lookup, Point-in-Time-QueriesKI-Agenten-Retrieval, RAG-Schicht

Die Architektur, die Ayinde übersteht

Der minimal lauffähige zitations-gestützte Stack:

Question → [LLM agent]
              ↓ tool_use(uk_legal_search)
            [API Pick UK Legal Search] → ranked authorities
              ↓ tool_use(extract_urls)
            [API Pick URL Extract] → full judgment / statute body
              ↓ Agent reads, drafts answer
              ↓ Citation-required prompt rule
          Answer with [Neutral Citation, Section/Paragraph]
              ↓ Final verification pass
          Refuse if citation can't be matched in extracted text

Der Verifizierungs-Pass ist der Punkt, an dem die meisten Teams scheitern. Es reicht nicht, das Modell zu bitten 'zitiere deine Quellen' — du musst programmatisch verifizieren, dass jede zitierte Autorität im extrahierten Text vorkommt. Tut sie das nicht, verweigere die Antwort oder bringe sie zur menschlichen Prüfung an die Oberfläche.

Funktionierender Code

import re, requests
from anthropic import Anthropic

KEY = "pk_yourkey"
client = Anthropic()

def fetch_tool(path: str) -> dict:
    return requests.get(f"https://www.apipick.com{path}/tool-schema").json()["claude"]

TOOLS = [
    fetch_tool("/api/search/uk-legal"),
    fetch_tool("/api/extract"),
]

SYSTEM = """You are a UK legal research assistant. You answer questions about
England & Wales case law and UK primary legislation using the tools available.

Rules — non-negotiable:

1. Use uk_legal_search to find authorities relevant to the question.
2. For authorities you intend to cite, use extract_urls to retrieve the
   full text. Do not cite anything you have not extracted.
3. Cite every legal proposition with a neutral citation in standard form:
   [YYYY] EWHC|EWCA|UKSC NNN (Court), §[paragraph] — for cases.
   Section N(M) of the [Act Name] YYYY — for statutes, with point-in-time
   noted if relevant.
4. If the search returned no relevant authority, or the relevant text was
   not extracted, say so explicitly: "I could not retrieve a sufficient
   authority for this question. Please escalate to qualified counsel."
   Do not infer from training-data knowledge.
5. Distinguish ratio from obiter where it matters. Note when an authority
   is first instance, appellate, or Supreme Court.
6. For legislation, default to the in-force version. State the date you used.
7. This output is informational retrieval, not legal advice."""

def call_tool(b):
    paths = {"uk_legal_search": "/api/search/uk-legal", "extract_urls": "/api/extract"}
    r = requests.post(
        f"https://www.apipick.com{paths[b.name]}",
        json=b.input,
        headers={"x-api-key": KEY},
        timeout=60,
    )
    return {"type": "tool_result", "tool_use_id": b.id,
            "content": r.text, "is_error": r.status_code != 200}

NEUTRAL_CITATION = re.compile(r"\[(\d{4})\]\s+(EWHC|EWCA|UKSC)\s+\d+")

def verify_citations(answer: str, extracted_text: str) -> list[str]:
    """Return list of citations in the answer that don't appear in extracted text."""
    cites = NEUTRAL_CITATION.findall(answer)
    return [
        f"[{year}] {court}" for year, court in cites
        if f"[{year}] {court}" not in extracted_text
    ]

def legal_research(question: str) -> str:
    msgs = [{"role": "user", "content": question}]
    extracted_buffer = ""

    while True:
        r = client.messages.create(
            model="claude-sonnet-4-6",
            max_tokens=4096,
            system=SYSTEM,
            tools=TOOLS,
            messages=msgs,
        )
        msgs.append({"role": "assistant", "content": r.content})

        if r.stop_reason == "end_turn":
            answer = "\n".join(b.text for b in r.content if b.type == "text")
            unverified = verify_citations(answer, extracted_buffer)
            if unverified:
                return (
                    "REFUSED: the answer cited authorities that were not retrieved. "
                    f"Unverified: {unverified}. Escalate to qualified counsel."
                )
            return answer

        if r.stop_reason == "tool_use":
            results = []
            for b in r.content:
                if b.type != "tool_use":
                    continue
                tr = call_tool(b)
                if b.name == "extract_urls":
                    extracted_buffer += tr["content"]
                results.append(tr)
            msgs.append({"role": "user", "content": results})

print(legal_research(
    "What is the test for breach of duty by a public authority "
    "post Roberts v Soldiers, Sailors, Airmen and Families Association?"
))

Drei Dinge, die dieser Code tut, die nachlässige Implementierungen nicht tun: (1) er zieht den Volltext jeder zitierten Autorität via Extract, bevor er sich auf sie verlässt, (2) er verwirft Antworten, deren neutrale Zitationsstrings nicht tatsächlich in irgendeinem abgerufenen Text vorkommen, (3) er backt die Verweigerung 'ich konnte keine ausreichende Autorität abrufen' in den System-Prompt ein, damit das Modell bei fehlgeschlagenem Retrieval einen eleganten Ausweg hat.

Kostenobergrenze

Ein typischer Rechtsrecherche-Aufruf:

  • 1 Such-Call — 60 Credits (~$0.06)
  • 1 Extract-Call über 2–4 Autoritäten — 4–8 Credits (~$0.004–$0.008)
  • ~6.000 Input- + 1.500 Output-Claude-Tokens — ~$0.05

Runde Zahl: ~$0.12 pro recherchierter Antwort mit Zitaten. Bei 100 Fragen/Tag für ein kleines hauseigenes Rechtsteam sind das $12/Tag — weit unter den Kosten jedes kommerziellen Legal-Tech-Abos, und du kontrollierst den Audit-Trail.

Wo sich das verallgemeinern lässt

Das architektonische Muster des „Zitations-Groundings“ gilt nicht nur für UK-Case-Law — es ist dasselbe Muster, das SEC-Filings-RAG für Investment-Due-Diligence zuverlässig macht und das einem Agenten für wissenschaftliche Literatur erlaubt, halluzinierte Paper-Referenzen zu vermeiden. Drei Regeln vereinen sie:

  • Erst abrufen, dann generieren. Lass das Modell niemals ein Zitat produzieren, das nicht im abgerufenen Kontext stand.
  • Deterministisch verifizieren. Ein Regex über den extrahierten Text ist günstig und fängt die meiste Fabrikation.
  • Elegant verweigern. Trainiere den System-Prompt zu sagen „ich kann das nicht zuverlässig beantworten“, bevor du das Modell darauf trainierst, hilfreich zu sein.

Ayinde war der Moment, in dem diese Regeln von „Engineering-Best-Practice“ zu „dem einzigen Weg, UK-Legal-AI auszuliefern, ohne deine Nutzer vor die BSB zu bringen“ wurden. API Pick UK Legal Search ist der Baustein für die Such-Schicht; den Rest verdrahtest du selbst.

Häufig gestellte Fragen

Was geschah in Ayinde v Haringey eigentlich?

Im Juni 2025 stellte der High Court (Ritchie J) fest, dass der Anwalt ein Skeleton Argument eingereicht hatte, in dem fünf nicht existierende, von einem LLM generierte Fälle zitiert wurden, plus eine weitere erfundene Autorität durch einen separaten Praktiker in Al-Haroun v Qatar National Bank. Die Urteile wurden zusammen als Ayinde v Haringey & Al-Haroun v Qatar National Bank [2025] EWHC 1383 (Admin) verkündet. Das Gericht verwies die Praktiker an das Bar Standards Board und die Solicitors Regulation Authority. Die Entscheidung ist heute die Standardautorität, die zitiert wird, wann immer in UK von 'KI-Halluzination in der Rechtspraxis' die Rede ist.

Darf ich BAILII scrapen?

Nein. BAILIIs Nutzungsbedingungen beschränken den programmatischen Bulk-Zugriff, und der Betreiber war dazu deutlich — siehe die Dokumentation der Haltung von BAILII durch das Transparency Project. Der legitime Weg ist der Find-Case-Law-Dienst der National Archives für Urteile aus England & Wales, der über eine öffentliche API und einen separaten, antragsgebundenen Bulk-Data-Feed verfügt.

Was ist der Unterschied zwischen Find Case Law und legislation.gov.uk?

Find Case Law (caselaw.nationalarchives.gov.uk) deckt Gerichtsurteile ab — die EWHC, EWCA, UKSC und Tribunal-Entscheidungen. legislation.gov.uk deckt Primär- und Sekundärgesetzgebung ab: Acts of Parliament, Statutory Instruments und (entscheidend für Compliance-Arbeit) historische Point-in-Time-Versionen. Ein vollständiger UK-Legal-RAG-Stack braucht beides.

Warum ist Point-in-Time-Gesetzgebung für KI-Agenten wichtig?

Die meisten Rechtsfragen drehen sich darum, wie die Rechtslage an einem bestimmten Datum war — am Tag eines mutmaßlichen Verstoßes, am Tag der Vertragsunterzeichnung, zum Zeitpunkt einer behördlichen Entscheidung. Die aktuelle Version der Gesetzgebung zurückzugeben, liefert für jede historische Frage falsche Antworten. Endpoints im Stil von legislation.gov.uks /data.feed?type=ukpga&prospective=true lösen das. Die meisten KI-Rechtstools, die Daten halluzinieren, scheitern, weil sie das nicht eingebaut haben.

Gilt dieser Output als Rechtsberatung?

Nein. Der Output jeder Retrieval-API (auch unserer) ist informatorisches Retrieval, keine Rechtsberatung. In England & Wales praktizierende Solicitors und Barrister bleiben an die Berufsregeln der SRA / BSB gebunden. Die in diesem Beitrag beschriebene Architektur soll qualifizierte juristische Prüfung unterstützen — nicht ersetzen. Der Ayinde-Präzedenzfall macht diese Unterscheidung nicht verhandelbar.

APIs in diesem Artikel

Sarah Choy
Geschrieben von
Sarah Choy
CEO, API Pick

Sarah Choy ist CEO von API Pick. Sie schreibt über produktionsreife APIs für KI-Agenten und LLM-Workflows.