Recuperación de jurisprudencia del Reino Unido fundamentada en citas tras Ayinde v Haringey

Ayinde v Haringey cambió los cálculos de la IA legal del Reino Unido de un día para otro. Un barrister citó cinco casos falsos generados por un LLM y fue remitido al Bar Standards Board. Las citas alucinadas tienen ahora consecuencias deontológicas. Aquí va la guía de desarrollador para construir recuperación de jurisprudencia del Reino Unido fundamentada en citas — TNA Find Case Law, legislation.gov.uk, parsing de citas neutrales y cómo conectarlo en un agente funcional.
Resumen
- •Ayinde v Haringey [2025] EWHC 1383 (Admin) convirtió las citas de casos alucinadas en un problema deontológico, no solo en un problema de calidad.
- •Los términos de BAILII restringen el acceso programático masivo; el servicio Find Case Law de The National Archives es la API legítima para las sentencias de Inglaterra y Gales.
- •legislation.gov.uk tiene una Developer API estable con acceso point-in-time — imprescindible para el trabajo de compliance donde 'en vigor el 30 de junio de 2024' es una query real.
- •El estudio 'Hallucination-Free?' de Stanford HAI mostró que Westlaw y Lexis+ AI siguen alucinando entre el 17 y el 33% de las veces — fundamentar en citas es la respuesta arquitectónica, no una elección de proveedor.
- •API Pick UK Legal Search envuelve la recuperación semántica sobre jurisprudencia y legislación primaria en un solo POST — 60 créditos por llamada.
El caso que cambió los cálculos
El 6 de junio de 2025 la Divisional Court de la King's Bench Division dictó dos sentencias en una sola resolución — Ayinde v The London Borough of Haringey y Al-Haroun v Qatar National Bank QPSC, cita neutral [2025] EWHC 1383 (Admin). En ambas, la defensa había presentado materiales que citaban autoridades que no existían; en Ayinde, cinco casos fabricados. El tribunal apreció un incumplimiento de deberes profesionales y remitió a los profesionales a la BSB y a la SRA respectivamente.
En 48 horas, toda hoja de ruta de legal-tech del Reino Unido tenía un nuevo punto en la cima: la fundamentación en citas. No como un detalle de calidad, sino como una necesidad regulatoria. El estudio 'Hallucination-Free?' de Stanford HAI (Magesh et al., mayo de 2024) ya había demostrado que las herramientas líderes de los proveedores — Lexis+ AI, Westlaw AI — alucinan citas entre el 17 y el 33% de las veces en queries de benchmark. Ayinde convirtió ese hallazgo académico en un problema de compliance.
Para los desarrolladores que integran funciones de IA en productos legales del Reino Unido, la lección arquitectónica es clara: la recuperación tiene que venir de fuentes autorizadas, las citas tienen que ser verificables contra la fuente y el sistema tiene que negarse a responder cuando no puede fundamentar una respuesta. Cualquier otra cosa es una remisión a un regulador esperando a ocurrir.
Aquí va la guía de desarrollador para hacerlo bien: qué APIs usar, cuáles son sus trampas y cómo conectarlas en un agente funcional.
Las fuentes autorizadas
1. National Archives Find Case Law
Gestionado por The National Archives (TNA). Cubre las sentencias dictadas desde abril de 2003 por la High Court, la Court of Appeal, la UK Supreme Court, el Privy Council y varios tribunales especializados. Documentos en el estándar XML Akoma Ntoso (LegalDocML). API pública en caselaw.nationalarchives.gov.uk; feed de datos masivos vía solicitud sujeta a aprobación para fines de "análisis computacional".
Fortalezas: fuente autorizada para la jurisprudencia de Inglaterra y Gales, el XML estructurado preserva la estructura de la sentencia (números de párrafo, citas, encabezados), los términos de la Open Government Licence permiten la reutilización con atribución. Debilidades: cobertura limitada antes de 2003, solicitud requerida para el feed masivo, LegalDocML es pesado de parsear si nunca has tocado XML jurídico.
2. Developer API de legislation.gov.uk
Gestionada por TNA. Cubre la legislación primaria del Reino Unido (Acts of Parliament), los statutory instruments y los equivalentes de Irlanda del Norte / Escocia / Gales. Y, fundamental, soporta queries point-in-time: 'qué aspecto tenía esta disposición el 1 de abril de 2018'.
Fortalezas: estable, bien documentada, acceso point-in-time, licencia OGL. Debilidades: el esquema (CLML) es lo suyo; no todas las enmiendas se rastrean de forma uniforme hacia atrás en el tiempo; el modelo de fecha de entrada en vigor puede sorprenderte.
3. BAILII (solo lectura vía web humana)
Agregador de información jurídica de larga trayectoria. Crítico para jurisdicciones y tipos de documento que Find Case Law no cubre (sentencias más antiguas, material escocés / norirlandés, algunas decisiones de tribunales especializados). El scraping masivo está restringido por los términos de BAILII. Trátalo como un respaldo legible por humanos, no como una API.
4. API Pick UK Legal Search
Búsqueda semántica sobre la jurisprudencia y la legislación primaria del Reino Unido en un único endpoint POST. JSON in / JSON out, 60 créditos por llamada, facturación solo al éxito. Devuelve título, cita neutral, URL de origen y snippet ranked por relevancia semántica. Diseñada para el tool calling de agentes de IA.
Lado a lado
| Find Case Law | legislation.gov.uk | API Pick UK Legal Search | |
|---|---|---|---|
| Cobertura | Jurisprudencia de E&W desde 2003 | Statutes + SIs del Reino Unido, point-in-time | Jurisprudencia + legislación, semántica |
| Formato | Akoma Ntoso XML | CLML XML + JSON / Atom | JSON, snippet ya con forma |
| Búsqueda | Palabras clave | Palabras clave + estructural | Semántica |
| Auth | Ninguna para lo público; feed masivo con solicitud | Ninguna | x-api-key |
| Licencia | Open Government Licence | Open Government Licence | TOS de API Pick |
| Encaje | Fuente de verdad de grado compliance | Lookup de statutes, queries point-in-time | Recuperación para agente de IA, capa RAG |
La arquitectura que sobrevive a Ayinde
El stack mínimo viable fundamentado en citas:
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 pasada de verificación es donde fallan la mayoría de los equipos. No basta con pedirle al modelo 'cita tus fuentes' — tienes que verificar programáticamente que cada autoridad citada aparece en el texto extraído. Si no aparece, rechaza la respuesta o sácala a revisión humana.
Código que funciona
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?"
))Tres cosas que hace este código y que las implementaciones perezosas no hacen: (1) trae el texto completo de cada autoridad citada vía extract antes de apoyarse en ella, (2) rechaza las respuestas cuyas cadenas de cita neutral no aparecen de verdad en ningún texto recuperado, (3) hornea en el system prompt la negativa 'No he podido recuperar una autoridad suficiente' para que el modelo tenga una salida elegante cuando la recuperación falla.
Techo de coste
Una llamada típica de investigación jurídica:
- 1 llamada de búsqueda — 60 créditos (~$0.06)
- 1 llamada de extract que cubre 2–4 autoridades — 4–8 créditos (~$0.004–$0.008)
- ~6.000 tokens de entrada + 1.500 de salida de Claude — ~$0.05
En números redondos: ~$0.12 por respuesta investigada con citas. A 100 preguntas/día para un equipo legal interno pequeño son $12/día — muy por debajo del coste de cualquier suscripción comercial de legal-tech, y tú controlas el rastro de auditoría.
Dónde generaliza esto
El patrón arquitectónico de 'fundamentar en citas' no solo aplica a la jurisprudencia del Reino Unido — es el mismo patrón que hace fiable el RAG sobre filings de la SEC para la due diligence de inversión y el que permite a un agente de literatura científica evitar referencias de papers alucinadas. Tres reglas los unifican:
- Recupera primero, genera después. Nunca dejes que el modelo produzca una cita que no estaba en el contexto recuperado.
- Verifica de forma determinista. Un regex sobre el texto extraído es barato y atrapa la mayor parte de las fabricaciones.
- Niégate con elegancia. Entrena el system prompt para que diga "No puedo responder de forma fiable" antes de entrenar al modelo para que sea servicial.
Ayinde fue el momento en que estas reglas pasaron de 'buena práctica de ingeniería' a 'la única forma de sacar IA legal del Reino Unido sin poner a tus usuarios delante de la BSB'. API Pick UK Legal Search es la pieza de la capa de búsqueda; el resto te toca conectarlo a ti.
Preguntas frecuentes
¿Qué pasó en realidad en Ayinde v Haringey?
En junio de 2025 la High Court (Ritchie J) concluyó que la defensa había presentado un skeleton argument que citaba cinco casos inexistentes generados por un LLM, más otra autoridad fabricada por otro profesional en Al-Haroun v Qatar National Bank. Las sentencias se dictaron juntas como Ayinde v Haringey & Al-Haroun v Qatar National Bank [2025] EWHC 1383 (Admin). El tribunal remitió a los profesionales al Bar Standards Board y a la Solicitors Regulation Authority. La decisión es ahora la autoridad estándar que se cita cada vez que sale el tema 'alucinación de IA en la práctica jurídica' en el Reino Unido.
¿Puedo hacer scraping de BAILII?
No. Los términos de BAILII restringen el acceso programático masivo, y el operador ha sido explícito al respecto — ver la documentación del Transparency Project sobre la postura de BAILII. La vía legítima es el servicio Find Case Law de The National Archives para las sentencias de Inglaterra y Gales, que tiene una API pública y un feed de datos masivos separado y sujeto a solicitud.
¿Cuál es la diferencia entre Find Case Law y legislation.gov.uk?
Find Case Law (caselaw.nationalarchives.gov.uk) cubre las sentencias de los tribunales — las decisiones de la EWHC, EWCA, UKSC y tribunales especializados. legislation.gov.uk cubre la legislación primaria y secundaria: Acts of Parliament, statutory instruments y (clave para el trabajo de compliance) versiones históricas point-in-time. Un stack RAG legal del Reino Unido completo necesita ambas.
¿Por qué importa la legislación point-in-time para los agentes de IA?
La mayoría de las preguntas jurídicas tratan sobre cuál era la ley en una fecha concreta — el día de un supuesto incumplimiento, la fecha de firma de un contrato, el momento en que una administración tomó una decisión. Devolver la versión actual de la legislación da respuestas erróneas para cualquier pregunta histórica. Endpoints del estilo /data.feed?type=ukpga&prospective=true de legislation.gov.uk resuelven esto. La mayoría de herramientas legales de IA que alucinan fechas fallan porque no conectaron esto.
¿Esta salida cuenta como asesoramiento jurídico?
No. La salida de cualquier API de recuperación (la nuestra incluida) es recuperación de información, no asesoramiento jurídico. Los solicitors y barristers que ejercen en Inglaterra y Gales siguen sujetos a las normas deontológicas de la SRA / BSB. La arquitectura que describe este post está pensada para apoyar — no para sustituir — la revisión jurídica cualificada. El precedente Ayinde hace esa distinción innegociable.
APIs usadas en este artículo
Sarah Choy es la CEO de API Pick. Escribe sobre cómo construir APIs listas para producción para agentes de IA y flujos de trabajo con LLMs.