Claude Architect · Pelajaran

Persampelan Berstrata dan Penentukuran

Ambil sampel mengikut segmen; tentukur dengan set pengesahan berlabel

Pelajaran 4 daripada 413 langkah

Persampelan Berstrata dan Penentukuran ialah pelajaran Claude Architect percuma di CoddyKit. Ini ialah pelajaran 4 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Claude Architect, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Claude Architect merangkumi sejumlah 4 pelajaran.

Mengapa Ketepatan Agregat Mengelirukan

Anda melancarkan saluran paip pengekstrakan Claude dan melaporkan ketepatan 97%. Pihak pengurusan meluluskan automasi penuh. Tiga minggu kemudian, setiap invois bayaran balik yang mempunyai baris mata wang asing adalah salah.

Nombor utama itu benar — tetapi ia ialah purata. Ketepatan agregat boleh menyembunyikan kegagalan teruk pada jenis dokumen atau medan tertentu kerana kes biasa menenggelamkan kes yang jarang berlaku.

Pelajaran ini membincangkan disiplin yang memastikan Anda bersikap jujur sebelum mengautomatikkan sesuatu: pensampelan berstrata untuk mengukur tempat kegagalan sebenar berlaku, dan penentukuran pada set pengesahan berlabel supaya skor keyakinan Anda benar-benar bermakna.

Peraturan Teras

Hafalkan prinsip pada tahap peperiksaan daripada bidang pengawasan:

Ketepatan agregat boleh menyembunyikan prestasi yang lemah pada jenis dokumen atau medan tertentu. Gunakan pensampelan rawak berstrata serta keyakinan pada peringkat medan yang ditentukur menggunakan set pengesahan berlabel sebelum mengautomatikkan sesuatu.

Dua langkah, mengikut urutan:

  • Stratakan, kemudian sampel — bahagikan populasi kepada segmen dan ambil sampel dalam setiap segmen supaya bahagian yang jarang tetapi kritikal benar-benar diukur.
  • Kalibrasikan keyakinan — pastikan keyakinan model bagi setiap medan sepadan dengan ketepatan dunia sebenar, yang dibuktikan berdasarkan label kebenaran asas.

Jika Anda melangkau salah satu langkah, Anda sedang meneka, bukannya mentadbir.

Mengapa Pensampelan Rawak Tidak Mencukupi

Pensampelan rawak biasa mengambil terlalu banyak sampel daripada perkara yang lazim. Jika 95% invois Anda ialah resit satu mata wang yang mudah, sampel rawak sebanyak 200 akan mengandungi kira-kira 190 kes mudah dan mungkin hanya beberapa kes mata wang asing yang sukar — terlalu sedikit untuk mengesan kadar ralat 40% pada bahagian tersebut.

Pensampelan berstrata menyelesaikan masalah ini: tentukan segmen yang penting (jenis dokumen, bahasa, vendor, kewujudan medan), kemudian ambil sampel daripada setiap segmen. Kini bahagian yang jarang itu diukur dengan kuasa statistik yang mencukupi untuk menunjukkan kegagalan dengan jelas jika terdapat kerosakan.

Anda mengukur populasi yang membimbangkan Anda, bukan populasi yang kebetulan paling besar.

Memilih Stratum Anda

Stratum yang baik mengasingkan dimensi yang tingkah lakunya berkemungkinan berbeza. Untuk saluran paip pengekstrakan berstruktur (Senario 6), segmen yang berguna termasuk:

  • Jenis dokumen — invois berbanding resit berbanding penyata.
  • Medan — jumlah, tarikh, mata wang, item baris. Peringkat medan penting kerana 97% secara keseluruhan boleh menyembunyikan 60% pada medan mata wang.
  • Keadaan pinggiran — dokumen berbilang halaman, imbasan/berkualiti rendah, berbilang bahasa atau rekod yang medan pilihannya tiada.

Perkara terakhir itu berkait dengan peraturan skema: jangan tandakan medan yang mungkin tiada sebagai wajib, atau model akan mereka-rekanya. Stratakan mengikut kewujudan/ketiadaan supaya Anda dapat mengesan rekaan.

Mengambil Sampel Berstrata

Secara praktikal, kumpulkan takungan pengesahan Anda mengikut segmen dan ambil kuota tetap daripada setiap segmen — cukup bagi setiap stratum untuk mempercayai metrik per-stratum, bukan mengikut kadar nisbah populasi.

import random
from collections import defaultdict

# Each record carries the dimensions we stratify on.
def segment_key(rec):
    return (rec["doc_type"], rec["has_currency_line"], rec["is_multilingual"])

buckets = defaultdict(list)
for rec in validation_pool:
    buckets[segment_key(rec)].append(rec)

# Fixed quota per stratum -> rare slices get real coverage,
# not just a couple of incidental samples.
PER_STRATUM = 40
sample = []
for key, recs in buckets.items():
    random.shuffle(recs)
    sample.extend(recs[:PER_STRATUM])

print({k: min(len(v), PER_STRATUM) for k, v in buckets.items()})

Keyakinan pada Peringkat Medan, Bukan Sekadar Keputusan

Untuk melakukan penentukuran, model perlu mengeluarkan keyakinan bagi setiap medan, bukan satu skor umum. Paksa output berstruktur supaya keyakinan menjadi medan bertip yang boleh diaudit — bukan prosa yang perlu dihuraikan.

Gunakan tool_choice untuk memastikan model mengembalikan skema. "any" memaksa model memanggil mana-mana alat; {"type":"tool","name":"X"} memaksa alat tertentu. Skema JSON menghapuskan ralat sintaks dan menguatkuasakan medan wajib.

extract_tool = {
    "name": "emit_extraction",
    "description": "Return extracted fields, each with a per-field confidence in [0,1].",
    "input_schema": {
        "type": "object",
        "properties": {
            "fields": {
                "type": "array",
                "items": {
                    "type": "object",
                    "properties": {
                        "name": {"type": "string"},
                        "value": {"type": "string"},
                        "confidence": {"type": "number"}
                    },
                    "required": ["name", "value", "confidence"]
                }
            }
        },
        "required": ["fields"]
    }
}

resp = client.messages.create(
    model="claude-sonnet-4-5",
    max_tokens=1024,
    tools=[extract_tool],
    tool_choice={"type": "tool", "name": "emit_extraction"},
    messages=[{"role": "user", "content": invoice_text}],
)

Maksud Sebenar Penentukuran

Model adalah ditentukur apabila keyakinan yang dinyatakannya sepadan dengan ketepatan yang diperhatikan: daripada semua medan yang dilabelnya dengan keyakinan 0.90, kira-kira 90% sepatutnya betul berbanding kebenaran asas.

Keyakinan mentah model biasanya terlebih yakin — model mengatakan 0.95 tetapi betul hanya 70% daripada masa. Anda tidak boleh mempercayai ambang penerimaan automatik yang dibina berdasarkan skor yang belum ditentukur; Anda akan meluluskan data yang salah secara automatik.

Penentukuran memerlukan set pengesahan berlabel: kebenaran asas yang disahkan manusia untuk sampel berstrata Anda. Tiada jalan pintas — keyakinan yang dinilai sendiri oleh model semata-mata ialah tepat jenis isyarat yang dinyatakan dalam peperiksaan sebagai NOT untuk dipercayai bagi keputusan automatik.

Mengukur Penentukuran dengan Label

Kumpulkan ramalan mengikut keyakinan yang dinyatakan, kemudian bandingkan keyakinan yang dinyatakan bagi setiap kumpulan dengan ketepatan sebenarnya pada set berlabel. Perbezaan itu ialah ralat penentukuran Anda — dan Anda mengiranya mengikut stratum supaya bahagian 'mudah' yang ditentukur dengan baik tidak menyembunyikan bahagian 'sukar' yang rosak.

from collections import defaultdict

# preds: list of {stratum, confidence, predicted, ground_truth}
bins = defaultdict(lambda: {"n": 0, "correct": 0, "conf_sum": 0.0})

for p in preds:
    b = round(p["confidence"], 1)              # 0.0..1.0 buckets
    key = (p["stratum"], b)
    bins[key]["n"] += 1
    bins[key]["conf_sum"] += p["confidence"]
    bins[key]["correct"] += int(p["predicted"] == p["ground_truth"])

for (stratum, b), s in sorted(bins.items()):
    stated = s["conf_sum"] / s["n"]
    actual = s["correct"] / s["n"]
    print(stratum, b, f"stated={stated:.2f} actual={actual:.2f} gap={stated-actual:+.2f}")

Menetapkan Ambang Penerimaan Automatik bagi Setiap Segmen

Setelah ditentukur, terbitkan ambang keyakinan bagi setiap stratum yang mencapai piawaian ketepatan Anda — katakan, terima secara automatik hanya apabila ketepatan yang ditentukur ≥ 99%. Ambang akan berbeza mengikut segmen: invois satu mata wang yang mudah mungkin diterima secara automatik pada 0.85, manakala baris mata wang asing memerlukan 0.98 — atau kekal disemak manusia sepenuhnya.

Inilah penghubung antara pengukuran dengan pengawasan: stratum yang berkeyakinan rendah atau berketepatan rendah disalurkan kepada manusia; stratum berkeyakinan tinggi yang ditentukur diautomatikkan. Satu ambang global akan sama ada terlalu mempercayai bahagian yang sukar atau menyekat bahagian yang mudah tanpa sebab.

Pembetulan Kendiri Mengukuhkan Isyarat

Keyakinan bertambah baik apabila model dapat menyemak silang dirinya sendiri. Untuk pengekstrakan berangka, minta model mengeluarkan kedua-dua calculated_total (jumlah item baris) dan stated_total yang dicetak pada dokumen, kemudian tandakan sebarang percanggahan. Ketidakpadanan ialah isyarat keras yang berketentuan — jauh lebih boleh dipercayai daripada nombor keyakinan yang dinilai sendiri.

Gabungkan ini dengan provenans: simpan sumber setiap tuntutan (nama dokumen, petikan, halaman) supaya medan yang ditandakan boleh dijejaki dan disahkan, bukan sekadar diteka semula.

verify_schema = {
    "name": "emit_totals",
    "description": "Extract both the computed and printed total so discrepancies are detectable.",
    "input_schema": {
        "type": "object",
        "properties": {
            "line_items": {"type": "array", "items": {"type": "number"}},
            "calculated_total": {"type": "number"},
            "stated_total": {"type": "number"},
            "source_quote": {"type": "string"}
        },
        "required": ["calculated_total", "stated_total", "source_quote"]
    }
}

# Deterministic check beats trusting a self-rated score:
# discrepancy = abs(out['calculated_total'] - out['stated_total']) > 0.01

Jalankan Audit di Luar Laluan Kritikal

Audit penentukuran berstrata ialah tugas besar yang tidak menyekat — tepat seperti kegunaan API Message Batches: 50% lebih murah, tempoh sehingga 24 jam dan tiada SLA kependaman. Jalankan sapuan penentukuran semalaman Anda sebagai kelompok; hubungkan hasil dengan custom_id dan hantar semula kegagalan sahaja.

Sempadan ini penting untuk peperiksaan: jangan sekali-kali gunakan API Batch untuk semakan yang menyekat atau sensitif terhadap masa (ia tiada SLA kependaman dan tidak menyokong pemanggilan alat berbilang giliran). Pintu lulus sebelum gabungan atau pengekstrakan langsung kekal pada API segerak; audit berkala dihantar kepada kelompok.

requests = [
    {
        "custom_id": f"val-{rec['id']}",
        "params": {
            "model": "claude-sonnet-4-5",
            "max_tokens": 1024,
            "tools": [extract_tool],
            "tool_choice": {"type": "tool", "name": "emit_extraction"},
            "messages": [{"role": "user", "content": rec["text"]}],
        },
    }
    for rec in stratified_sample
]

batch = client.messages.batches.create(requests=requests)
# Overnight audit: no latency SLA, 50% cheaper. NOT for pre-merge gates.

Semakan Pantas: Meluluskan Automasi

Terapkan peraturan ini pada keputusan sebenar sama ada untuk meneruskan atau tidak.

Imbas Kembali: Ukur Sebelum Mempercayai

Kesimpulan utama untuk peperiksaan dan pengeluaran:

  • Ketepatan agregat menyembunyikan kegagalan mengikut jenis dan medan — jangan sekali-kali mengautomatikkan berdasarkan purata utama sahaja.
  • Pensampelan rawak berstrata membahagikan data mengikut dimensi yang penting (jenis dokumen, medan, keadaan pinggiran) dan mengambil sampel daripada setiap satunya, lalu memberikan kuasa statistik sebenar kepada bahagian yang jarang.
  • Penentukuran menyelaraskan keyakinan yang dinyatakan dengan ketepatan yang diperhatikan, dibuktikan pada set pengesahan berlabel; keyakinan mentah model terlebih yakin dan skor yang dinilai sendiri bukan isyarat automasi yang boleh dipercayai.
  • Tetapkan ambang penerimaan automatik bagi setiap segmen; automatikkan stratum berketepatan tinggi yang ditentukur dan salurkan selebihnya kepada manusia.
  • Kukuhkan isyarat dengan pembetulan kendiri (jumlah yang dikira berbanding yang dinyatakan) dan provenans; jalankan audit penentukuran berat pada API Batch — jangan sekali-kali pada laluan yang menyekat dan sensitif terhadap masa.
Percuma untuk bermula

Pelajari Python dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
26
Pelajaran
104

Soalan Lazim

Adakah pelajaran “Persampelan Berstrata dan Penentukuran” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Claude Architect, termasuk “Persampelan Berstrata dan Penentukuran”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Claude Architect merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Persampelan Berstrata dan Penentukuran”?

Ambil sampel mengikut segmen; tentukur dengan set pengesahan berlabel Anda berlatih Claude Architect menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Claude Architect?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Claude Architect di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 4 daripada 4.

Berapa lamakah pelajaran “Persampelan Berstrata dan Penentukuran” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Claude Architect ini?

Ya. Setiap pelajaran Claude Architect menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Pemetaan Dakwaan kepada Sumber
  2. Data dan Tarikh yang Bercanggah
  3. Metrik Agregat Menyembunyikan Kegagalan
  4. Persampelan Berstrata dan Penentukuran
← Kembali ke Claude Architect