Recherche de jurisprudence britannique ancrée dans les citations après Ayinde v Haringey

Ayinde v Haringey a changé du jour au lendemain le calcul de l'IA juridique britannique. Un barrister a cité cinq fausses affaires générées par un LLM et a été renvoyé devant le Bar Standards Board. Les citations hallucinées ont désormais des conséquences de déontologie professionnelle. Voici le guide du développeur pour construire une recherche de jurisprudence britannique ancrée dans les citations — TNA Find Case Law, legislation.gov.uk, parsing des neutral citations, et comment câbler tout ça dans un agent fonctionnel.
L'essentiel
- •Ayinde v Haringey [2025] EWHC 1383 (Admin) a fait des citations d'affaires hallucinées un enjeu de déontologie professionnelle, pas seulement un problème de qualité.
- •Les conditions de BAILII restreignent l'accès programmatique en masse ; le service Find Case Law des National Archives est l'API légitime pour les jugements d'Angleterre et du pays de Galles.
- •legislation.gov.uk dispose d'une Developer API stable avec accès point-in-time — indispensable pour le travail de conformité où « en vigueur au 30 juin 2024 » est une vraie requête.
- •L'étude « Hallucination-Free? » du HAI de Stanford a montré que Westlaw et Lexis+ AI hallucinent encore 17 à 33 % du temps — l'ancrage des citations est la réponse architecturale, pas un choix de fournisseur.
- •API Pick UK Legal Search enveloppe la recherche sémantique sur la jurisprudence et la législation primaire dans un seul POST — 60 crédits par appel.
L'affaire qui a changé le calcul
Le 6 juin 2025, la Divisional Court de la King's Bench Division a rendu deux jugements dans une seule décision — Ayinde v The London Borough of Haringey et Al-Haroun v Qatar National Bank QPSC, neutral citation [2025] EWHC 1383 (Admin). Dans les deux, le conseil avait déposé des pièces citant des autorités qui n'existaient pas ; dans Ayinde, cinq affaires fabriquées. La cour a constaté un manquement aux devoirs professionnels et a renvoyé les praticiens respectivement devant le BSB et la SRA.
En 48 heures, chaque feuille de route de la legaltech britannique comportait un nouveau point en tête : l'ancrage des citations. Non comme un raffinement de qualité, mais comme une nécessité réglementaire. L'étude « Hallucination-Free? » du HAI de Stanford (Magesh et al., mai 2024) avait déjà montré que les principaux outils de fournisseurs — Lexis+ AI, Westlaw AI — hallucinent des citations 17 à 33 % du temps sur des requêtes de benchmark. Ayinde a transformé ce constat académique en problème de conformité.
Pour les développeurs qui intègrent de l'IA dans des produits juridiques britanniques, la leçon architecturale est claire : la récupération doit provenir de sources faisant autorité, les citations doivent être vérifiables jusqu'à la source, et le système doit refuser de répondre quand il ne peut pas ancrer une réponse. Tout le reste, c'est un renvoi devant un régulateur qui ne demande qu'à arriver.
Voici le guide du développeur pour faire ça correctement : quelles API utiliser, quels sont leurs pièges, et comment les câbler dans un agent fonctionnel.
Les sources faisant autorité
1. National Archives Find Case Law
Géré par The National Archives (TNA). Couvre les jugements rendus depuis avril 2003 par la High Court, la Court of Appeal, l'UK Supreme Court, le Privy Council et plusieurs tribunals. Documents au standard XML Akoma Ntoso (LegalDocML). API publique sur caselaw.nationalarchives.gov.uk ; flux bulk-data via candidature soumise à conditions pour des objectifs d'« analyse computationnelle ».
Forces : source faisant autorité pour la jurisprudence d'Angleterre et du pays de Galles, XML structuré qui préserve la structure du jugement (numéros de paragraphe, citations, titres), conditions Open Government Licence autorisant la réutilisation avec attribution. Faiblesses : couverture limitée avant 2003, candidature requise pour le flux bulk, LegalDocML lourd à parser si vous n'avez jamais touché à du XML juridique.
2. legislation.gov.uk Developer API
Gérée par la TNA. Couvre la législation primaire britannique (Acts of Parliament), les statutory instruments, et les équivalents d'Irlande du Nord / d'Écosse / du pays de Galles. Point crucial, elle prend en charge les requêtes point-in-time : « à quoi ressemblait cette disposition au 1er avril 2018 ».
Forces : stable, bien documentée, accès point-in-time, sous licence OGL. Faiblesses : le schéma (CLML) a ses propres règles ; tous les amendements ne sont pas suivis uniformément dans l'historique ; le modèle de date d'entrée en vigueur peut vous surprendre.
3. BAILII (lecture seule via le web humain)
Agrégateur d'information juridique de longue date. Indispensable pour les juridictions et types de documents que Find Case Law ne couvre pas (jugements plus anciens, documents écossais / nord-irlandais, certaines décisions de tribunals). Le scraping en masse est restreint par les conditions de BAILII. Traitez-le comme une sauvegarde lisible par un humain, pas comme une API.
4. API Pick UK Legal Search
Recherche sémantique sur la jurisprudence et la législation primaire britanniques en un seul endpoint POST. JSON in / JSON out, 60 crédits par appel, facturation uniquement en cas de succès. Renvoie le titre, la neutral citation, l'URL source et un snippet classé par pertinence sémantique. Conçu pour le tool calling d'agents IA.
Côte à côte
| Find Case Law | legislation.gov.uk | API Pick UK Legal Search | |
|---|---|---|---|
| Couverture | Jurisprudence E&W depuis 2003 | Lois + SI britanniques, point-in-time | Jurisprudence + législation, sémantique |
| Format | Akoma Ntoso XML | CLML XML + JSON / Atom | JSON, snippet pré-mis en forme |
| Recherche | Mots-clés | Mots-clés + structurelle | Sémantique |
| Auth | Aucune pour le public ; flux bulk sous conditions | Aucune | x-api-key |
| Licence | Open Government Licence | Open Government Licence | CGU API Pick |
| Adapté à | Source de vérité de niveau conformité | Lookup de loi, requêtes point-in-time | Récupération pour agents IA, couche RAG |
L'architecture qui survit à Ayinde
La stack minimale viable ancrée dans les citations :
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 textLa passe de vérification est l'endroit où la plupart des équipes échouent. Il ne suffit pas de demander au modèle de « citer ses sources » — il faut vérifier programmatiquement que chaque autorité citée apparaît dans le texte extrait. Si ce n'est pas le cas, refusez la réponse ou faites-la remonter pour une revue humaine.
Code qui marche
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?"
))Trois choses que ce code fait et que les implémentations paresseuses ne font pas : (1) il récupère le texte intégral de chaque autorité citée via extract avant de s'y fier, (2) il rejette les réponses dont les chaînes de neutral citation n'apparaissent réellement dans aucun texte récupéré, (3) il intègre le refus « je n'ai pas pu récupérer une autorité suffisante » dans le system prompt pour que le modèle dispose d'une sortie gracieuse quand la récupération échoue.
Plafond de coût
Un appel type de recherche juridique :
- 1 appel de recherche — 60 crédits (~$0.06)
- 1 appel extract couvrant 2 à 4 autorités — 4 à 8 crédits (~$0.004–$0.008)
- ~6 000 tokens d'entrée + 1 500 de sortie Claude — ~$0.05
En chiffre rond : ~$0.12 par réponse documentée avec citations. À 100 questions/jour pour une petite équipe juridique interne, cela fait $12/jour — bien en dessous du coût de tout abonnement legaltech commercial, et vous maîtrisez la piste d'audit.
Où cela se généralise
Le pattern architectural d'« ancrage des citations » ne s'applique pas qu'à la jurisprudence britannique — c'est le même pattern qui rend le RAG sur les filings SEC fiable pour la due diligence d'investissement et qui permet à un agent de littérature scientifique d'éviter les références d'articles hallucinées. Trois règles les unifient :
- Récupérer d'abord, générer ensuite. Ne laissez jamais le modèle produire une citation qui n'était pas dans le contexte récupéré.
- Vérifier de façon déterministe. Une regex sur le texte extrait est peu coûteuse et attrape l'essentiel de la fabrication.
- Refuser gracieusement. Entraînez le system prompt à dire « je ne peux pas répondre de façon fiable » avant d'entraîner le modèle à être serviable.
Ayinde a été le moment où ces règles sont passées de « bonne pratique d'ingénierie » à « la seule façon de livrer de l'IA juridique britannique sans mettre vos utilisateurs face au BSB ». API Pick UK Legal Search est la brique de la couche de recherche ; le reste, c'est à vous de le câbler.
Questions fréquentes
Que s'est-il réellement passé dans Ayinde v Haringey ?
En juin 2025, la High Court (le juge Ritchie) a constaté qu'un conseil avait déposé un skeleton argument citant cinq affaires inexistantes générées par un LLM, plus une autre autorité fabriquée par un praticien distinct dans Al-Haroun v Qatar National Bank. Les jugements ont été rendus ensemble sous Ayinde v Haringey & Al-Haroun v Qatar National Bank [2025] EWHC 1383 (Admin). La cour a renvoyé les praticiens devant le Bar Standards Board et la Solicitors Regulation Authority. La décision est désormais l'autorité de référence citée chaque fois que « l'hallucination IA dans la pratique juridique » revient au Royaume-Uni.
Puis-je scraper BAILII ?
Non. Les conditions de BAILII restreignent l'accès programmatique en masse, et l'opérateur a été explicite à ce sujet — voir la documentation du Transparency Project sur la position de BAILII. La voie légitime est le service Find Case Law des National Archives pour les jugements d'Angleterre et du pays de Galles, qui dispose d'une API publique et d'un flux bulk-data distinct soumis à candidature.
Quelle est la différence entre Find Case Law et legislation.gov.uk ?
Find Case Law (caselaw.nationalarchives.gov.uk) couvre les jugements des tribunaux — les décisions de l'EWHC, de l'EWCA, de l'UKSC et des tribunals. legislation.gov.uk couvre la législation primaire et secondaire : les Acts of Parliament, les statutory instruments et (point crucial pour le travail de conformité) les versions historiques point-in-time. Une stack RAG juridique britannique complète a besoin des deux.
Pourquoi la législation point-in-time importe-t-elle pour les agents IA ?
La plupart des questions juridiques portent sur l'état du droit à une date précise — le jour d'une infraction alléguée, la date de signature d'un contrat, le moment où une administration a pris une décision. Renvoyer la version courante de la législation donne de mauvaises réponses pour toute question historique. Les endpoints de legislation.gov.uk du style /data.feed?type=ukpga&prospective=true résolvent ce point. La plupart des outils juridiques IA qui hallucinent des dates échouent parce qu'ils n'ont pas câblé ça.
Cette sortie compte-t-elle comme un conseil juridique ?
Non. La sortie de toute API de récupération (la nôtre incluse) relève de la récupération d'information, pas du conseil juridique. Les solicitors et barristers exerçant en Angleterre et au pays de Galles restent liés par les règles de déontologie de la SRA / du BSB. L'architecture décrite dans cet article est conçue pour soutenir — non pour remplacer — une revue juridique qualifiée. Le précédent Ayinde rend cette distinction non négociable.
APIs utilisées dans cet article
Sarah Choy est CEO d'API Pick. Elle écrit sur la création d'APIs prêtes pour la production destinées aux agents IA et aux workflows LLM.