[ blog · use-case ]11 min read

Ayinde v Haringey sonrası atıf temelli Birleşik Krallık içtihat erişimi

Sarah ChoyYayımlanma tarihi: 3 Mayıs 202611 dk okuma
Ayinde v Haringey sonrası atıf temelli Birleşik Krallık içtihat erişimi

Ayinde v Haringey, Birleşik Krallık hukuk yapay zekâsının hesabını bir gecede değiştirdi. Bir barrister, bir LLM'nin ürettiği beş sahte davayı atıfta gösterdi ve Bar Standards Board'a sevk edildi. Halüsinasyon atıfların artık meslek etiği sonuçları var. İşte atıf temelli Birleşik Krallık içtihat erişimi kurmaya yönelik geliştirici rehberi — TNA Find Case Law, legislation.gov.uk, neutral-citation ayrıştırma ve bunu çalışan bir ajana nasıl bağlayacağınız.

Özet

  • Ayinde v Haringey [2025] EWHC 1383 (Admin), halüsinasyon dava atıflarını yalnızca bir kalite sorunu değil, bir meslek etiği meselesi hâline getirdi.
  • BAILII'nin koşulları toplu programatik erişimi kısıtlar; İngiltere ve Galler kararları için meşru API, The National Archives'in Find Case Law hizmetidir.
  • legislation.gov.uk, point-in-time erişimli kararlı bir Developer API'ye sahiptir — '30 Haziran 2024 itibarıyla yürürlükte' ifadesinin gerçek bir query olduğu compliance işleri için olmazsa olmaz.
  • Stanford HAI'nin 'Hallucination-Free?' çalışması, Westlaw ve Lexis+ AI'nin hâlâ zamanın %17–33'ünde halüsinasyon gördüğünü ortaya koydu — atıf temellendirme mimari yanıttır, bir sağlayıcı tercihi değil.
  • API Pick UK Legal Search, içtihat ve birincil mevzuat üzerinde anlamsal erişimi tek bir POST içinde sarmalar — çağrı başına 60 kredi.

Hesabı değiştiren dava

6 Haziran 2025'te King's Bench Division'a bağlı Divisional Court tek bir hükümle iki karar verdi — Ayinde v The London Borough of Haringey ve Al-Haroun v Qatar National Bank QPSC, neutral citation [2025] EWHC 1383 (Admin). Her ikisinde de avukat var olmayan otoritelere atıf yapan materyaller sunmuştu; Ayinde'de beş uydurma dava. Mahkeme mesleki görevlerin ihlalini tespit etti ve uygulayıcıları sırasıyla BSB ve SRA'ya sevk etti.

48 saat içinde, her Birleşik Krallık legal-tech yol haritasının en üstünde yeni bir madde belirdi: atıf temellendirme. Bir kalite inceliği olarak değil, bir düzenleyici zorunluluk olarak. Stanford HAI'nin 'Hallucination-Free?' çalışması (Magesh et al., Mayıs 2024) öncü sağlayıcı araçların — Lexis+ AI, Westlaw AI — benchmark query'lerinde atıfları zamanın %17–33'ünde halüsinasyon gördüğünü zaten göstermişti. Ayinde, bu akademik bulguyu bir compliance sorununa dönüştürdü.

Birleşik Krallık hukuk ürünlerine yapay zekâ özellikleri ekleyen geliştiriciler için mimari ders açıktır: erişim yetkili kaynaklardan gelmeli, atıflar kaynağa karşı doğrulanabilir olmalı ve sistem bir yanıtı temellendiremediğinde yanıt vermeyi reddetmelidir. Bunun dışında her şey, gerçekleşmeyi bekleyen bir düzenleyiciye sevktir.

İşte bunu düzgün yapmaya yönelik çalışan geliştirici rehberi: hangi API'leri kullanacağınız, tuzaklarının neler olduğu ve bunları çalışan bir ajana nasıl bağlayacağınız.

Yetkili kaynaklar

1. National Archives Find Case Law

The National Archives (TNA) tarafından işletilir. Nisan 2003'ten beri High Court, Court of Appeal, UK Supreme Court, Privy Council ve birkaç tribunal tarafından verilen mahkeme kararlarını kapsar. Belgeler Akoma Ntoso (LegalDocML) XML standardındadır. caselaw.nationalarchives.gov.uk adresinde kamuya açık API; "computational analysis" amaçları için başvuruya bağlı toplu veri feed'i.

Güçlü yönleri: İngiltere ve Galler içtihadı için yetkili kaynak, yapılandırılmış XML kararın yapısını korur (paragraf numaraları, atıflar, başlıklar), Open Government Licence koşulları atıf ile yeniden kullanıma izin verir. Zayıf yönleri: 2003 öncesi sınırlı kapsam, toplu feed için başvuru gerekir, daha önce hukuki XML'e hiç dokunmadıysanız LegalDocML'i ayrıştırmak ağırdır.

2. legislation.gov.uk Developer API

TNA tarafından işletilir. Birleşik Krallık birincil mevzuatını (Acts of Parliament), statutory instruments ve Kuzey İrlanda / İskoç / Galler eşdeğerlerini kapsar. Kritik olarak, point-in-time query'leri destekler: 'bu hüküm 1 Nisan 2018'de nasıl görünüyordu'.

Güçlü yönleri: kararlı, iyi belgelenmiş, point-in-time erişim, OGL lisanslı. Zayıf yönleri: şema (CLML) kendine özgüdür; her değişiklik geçmişe doğru tutarlı biçimde izlenmez; yürürlük tarihi modeli sizi şaşırtabilir.

3. BAILII (insan web'i üzerinden salt okunur)

Köklü bir hukuki bilgi toplayıcısı. Find Case Law'un kapsamadığı yargı çevreleri ve belge türleri için kritik (daha eski kararlar, İskoç / KI materyali, bazı tribunal kararları). Toplu scraping, BAILII'nin koşullarınca kısıtlanmıştır. Onu bir API olarak değil, insan tarafından okunabilir bir yedek olarak değerlendirin.

Tek bir POST endpoint'inde Birleşik Krallık içtihadı ve birincil mevzuatı üzerinde anlamsal arama. JSON in / JSON out, çağrı başına 60 kredi, yalnızca başarıda faturalandırma. Anlamsal alaka düzeyine göre sıralanmış başlık, neutral citation, kaynak URL ve snippet döndürür. Yapay zekâ ajanı tool calling için tasarlanmıştır.

Yan yana

Yazım anındaki kaynaklar. Ticari dağıtımdan önce lisans koşullarını TNA ile doğrulayın.
Find Case Lawlegislation.gov.ukAPI Pick UK Legal Search
Kapsam2003'ten beri E&W içtihadıBirleşik Krallık statutes + SIs, point-in-timeİçtihat + mevzuat, anlamsal
BiçimAkoma Ntoso XMLCLML XML + JSON / AtomJSON, snippet önceden biçimlendirilmiş
AramaAnahtar sözcükAnahtar sözcük + yapısalAnlamsal
AuthKamu için yok; başvuruya bağlı toplu feedYokx-api-key
LisansOpen Government LicenceOpen Government LicenceAPI Pick TOS
Uygunlukcompliance düzeyinde source-of-truthStatute araması, point-in-time query'lerYapay zekâ ajanı erişimi, RAG katmanı

Ayinde'den sağ çıkan mimari

Minimum uygulanabilir atıf temelli 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

Doğrulama aşaması, çoğu ekibin başarısız olduğu yerdir. Modele 'kaynaklarını göster' demek yeterli değildir — atıfta gösterilen her otoritenin çıkarılan metinde göründüğünü programatik olarak doğrulamanız gerekir. Görünmüyorsa, yanıtı reddedin ya da insan incelemesine taşıyın.

Çalışan kod

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?"
))

Bu kodun yaptığı, tembel uygulamaların yapmadığı üç şey: (1) bir otoriteye dayanmadan önce her atıfta gösterilen otoritenin tam metnini extract ile çeker, (2) neutral-citation dizgileri çekilen hiçbir metinde gerçekten görünmeyen yanıtları reddeder, (3) 'Yeterli bir otorite getiremedim' reddini system prompt'a yerleştirir, böylece erişim başarısız olduğunda model zarif bir çıkışa sahip olur.

Maliyet tavanı

Tipik bir hukuki araştırma çağrısı:

  • 1 arama çağrısı — 60 kredi (~$0.06)
  • 2–4 otoriteyi kapsayan 1 extract çağrısı — 4–8 kredi (~$0.004–$0.008)
  • ~6.000 girdi + 1.500 çıktı Claude token'ı — ~$0.05

Yuvarlak rakam: atıflarla araştırılan yanıt başına ~$0.12. Küçük bir kurum içi hukuk ekibi için günde 100 soruda bu, günde $12 eder — herhangi bir ticari legal-tech aboneliğinin maliyetinin çok altında ve denetim izini siz kontrol edersiniz.

Bunun genelleştiği yer

'Atıf temellendirme' mimari deseni yalnızca Birleşik Krallık içtihadına uygulanmaz — yatırım due diligence'ı için SEC filings RAG'ini güvenilir kılan ve bir bilimsel literatür ajanının halüsinasyon makale referanslarından kaçınmasını sağlayan aynı desendir. Üç kural bunları birleştirir:

  • Önce eriş, sonra üret. Modelin, erişilen bağlamda olmayan bir atıf üretmesine asla izin verme.
  • Belirlenimci biçimde doğrula. Çıkarılan metin üzerindeki bir regex ucuzdur ve uydurmaların çoğunu yakalar.
  • Zarafetle reddet. Modeli yardımcı olmaya eğitmeden önce system prompt'u "Güvenilir biçimde yanıt veremiyorum" demeye eğit.

Ayinde, bu kuralların 'mühendislik en iyi uygulaması'ndan 'kullanıcılarınızı BSB'nin karşısına çıkarmadan Birleşik Krallık hukuk yapay zekâsı yayınlamanın tek yolu'na dönüştüğü andı. API Pick UK Legal Search arama katmanının yapı taşıdır; gerisini bağlamak size kalmış.

Sıkça Sorulan Sorular

Ayinde v Haringey'de gerçekte ne oldu?

Haziran 2025'te High Court (Ritchie J), avukatın bir LLM tarafından üretilen beş var olmayan davayı atıfta gösteren bir skeleton argument sunduğunu, ayrıca farklı bir uygulayıcının Al-Haroun v Qatar National Bank davasında bir başka uydurma otoriteyi öne sürdüğünü tespit etti. Kararlar birlikte Ayinde v Haringey & Al-Haroun v Qatar National Bank [2025] EWHC 1383 (Admin) olarak verildi. Mahkeme uygulayıcıları sırasıyla Bar Standards Board ve Solicitors Regulation Authority'ye sevk etti. Karar, Birleşik Krallık'ta 'hukuk pratiğinde yapay zekâ halüsinasyonu' konusu her gündeme geldiğinde artık atıf yapılan standart otorite hâline geldi.

BAILII'yi scrape edebilir miyim?

Hayır. BAILII'nin koşulları toplu programatik erişimi kısıtlar ve operatör bu konuda açıktır — BAILII'nin tutumuna ilişkin Transparency Project belgelerine bakın. Meşru yol, İngiltere ve Galler kararları için The National Archives'in Find Case Law hizmetidir; bu hizmetin bir kamuya açık API'si ve başvuruya bağlı ayrı bir toplu veri feed'i vardır.

Find Case Law ile legislation.gov.uk arasındaki fark nedir?

Find Case Law (caselaw.nationalarchives.gov.uk) mahkeme kararlarını kapsar — EWHC, EWCA, UKSC ve tribunal kararları. legislation.gov.uk birincil ve ikincil mevzuatı kapsar: Acts of Parliament, statutory instruments ve (compliance işleri için çok önemli) point-in-time tarihsel sürümler. Eksiksiz bir Birleşik Krallık hukuk RAG stack'i her ikisine de ihtiyaç duyar.

point-in-time mevzuat yapay zekâ ajanları için neden önemli?

Çoğu hukuki soru, kanunun belirli bir tarihte ne olduğuyla ilgilidir — iddia edilen bir ihlalin günü, bir sözleşmenin imzalandığı tarih, bir kurumun karar verdiği an. Mevzuatın güncel sürümünü döndürmek, herhangi bir tarihsel soru için yanlış yanıt verir. legislation.gov.uk'nin /data.feed?type=ukpga&prospective=true tarzı endpoint'leri bunu çözer. Tarihlerde halüsinasyon gören çoğu yapay zekâ hukuk aracı, bunu bağlamadığı için başarısız olur.

Bu çıktı hukuki tavsiye sayılır mı?

Hayır. Herhangi bir erişim API'sinin (bizimki dâhil) çıktısı bilgi erişimidir, hukuki tavsiye değildir. İngiltere ve Galler'de uygulama yapan solicitor ve barrister'lar SRA / BSB davranış kurallarına bağlı kalır. Bu yazının tarif ettiği mimari, nitelikli hukuki incelemeyi desteklemek için tasarlanmıştır — yerini almak için değil. Ayinde içtihadı bu ayrımı pazarlık konusu olmaktan çıkarır.

Bu makalede kullanılan API'ler

Sarah Choy
Yazan
Sarah Choy
CEO, API Pick

Sarah Choy, API Pick'in CEO'sudur. Yapay zeka ajanları ve LLM iş akışları için üretime hazır API'ler geliştirme üzerine yazılar yazar.