Claude Architect · Pelajaran

Keputusan Dipacu Model berbanding Berkod Tetap

Biarkan model membuat keputusan; gunakan kod untuk jaminan

Pelajaran 2 daripada 413 langkah

Keputusan Dipacu Model berbanding Berkod Tetap ialah pelajaran Claude Architect percuma di CoddyKit. Ini ialah pelajaran 2 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.

Dua Cara untuk Membuat Keputusan

Setiap ejen yang Anda bina perlu membuat keputusan. Siapa yang membuat keputusan itu ialah pilihan reka bentuk.

Terdapat dua pilihan:

  • Dipacu model: Claude melihat situasi dan memilih langkah seterusnya.
  • Berkod keras: kod Anda memaksa langkah itu walau apa pun yang berlaku.

Peraturan untuk peperiksaan: biarkan model membuat keputusan dan simpan kod keras untuk jaminan yang tidak boleh tersilap.

Mengapa Model Patut Memacu Proses

Tugas sebenar bersifat terbuka. Susunan langkah tidak diketahui terlebih dahulu.

Mesej pelanggan mungkin memerlukan satu carian atau tiga carian. Tugas penyelidikan mungkin bercabang dengan cara yang tidak dapat Anda jangkakan. Claude membaca konteks semasa pada setiap giliran dan menyesuaikan diri.

Jika Anda mengekod laluan secara keras, Anda membekukan ejen dalam satu skrip tegar. Ia gagal sebaik sahaja realiti berbeza daripada rancangan Anda. Jadi, lalai ialah: berikan Claude alat dan biarkan Claude memilih.

Gelung Berasaskan Ejen

Inilah gelung yang dipacu model. Anda menghantar keseluruhan sejarah mesej pada setiap giliran (model tidak menyimpan keadaan). Kemudian Anda memeriksa stop_reason:

  • tool_use → jalankan alat, tambahkan hasilnya, kemudian ulangi gelung.
  • end_turn → model telah selesai. Berhenti.

Model menentukan perkara yang perlu dilakukan; kod Anda hanya melaksanakan dan mengulangi gelung.

while True:
    resp = client.messages.create(
        model="claude-opus-4-8",
        max_tokens=16000,
        tools=tools,
        messages=messages,  # FULL history every turn
    )
    messages.append({"role": "assistant", "content": resp.content})

    if resp.stop_reason == "end_turn":
        break
    if resp.stop_reason == "tool_use":
        results = run_tools(resp.content)
        messages.append({"role": "user", "content": results})

Berhenti pada Isyarat, Bukan Perkataan

Bagaimanakah anda tahu bahawa ejen telah selesai? Hentikan pada stop_reason — jangan sekali-kali dengan mengimbas teks untuk perkataan seperti "selesai" atau "telah tamat".

Menghurai teks untuk mencari isyarat selesai ialah anti-corak klasik. Model mungkin berkata "Saya sudah selesai berfikir" di tengah-tengah tugasan, atau langsung tidak menyebut "selesai". stop_reason berstruktur ialah isyarat sebenar yang boleh dipercayai.

# WRONG — parsing text for a completion word
if "done" in resp.content[0].text.lower():
    break

# RIGHT — terminate on the structured stop signal
if resp.stop_reason == "end_turn":
    break

Had Lelaran Ialah Jaring Keselamatan

Anda boleh menetapkan bilangan maksimum lelaran gelung. Itu tidak mengapa — tetapi fahami peranannya.

Had lelaran ialah jaring keselamatan yang menghentikan gelung yang tidak terkawal. Ia bukan mekanisme hentian utama. Hentian utama sentiasa stop_reason == "end_turn".

Jika ejen anda biasanya hanya selesai apabila mencapai had tersebut, logik keputusan itu rosak — anda mengekod keras perkara yang sepatutnya dipacu oleh model.

MAX_TURNS = 20  # safety net only

for turn in range(MAX_TURNS):
    resp = client.messages.create(
        model="claude-opus-4-8", max_tokens=16000,
        tools=tools, messages=messages,
    )
    messages.append({"role": "assistant", "content": resp.content})
    if resp.stop_reason == "end_turn":
        break  # the REAL exit
    messages.append({"role": "user", "content": run_tools(resp.content)})

Apabila Kod Mesti Menjamin

Sekarang bahagian yang satu lagi bagi peraturan ini. Sesetengah hasil terlalu penting untuk diserahkan kepada model ber kebarangkalian.

Sesuatu gesaan kira-kira 90% boleh dipercayai — biasanya ia mengikut arahan, tetapi tidak selalunya. Bagi peraturan yang mempunyai akibat kewangan, undang-undang atau keselamatan, "biasanya" tidak mencukupi.

Untuk perkara tersebut, anda menggunakan kod keras, yang 100% deterministik. Inilah satu-satunya keadaan apabila anda mengambil keputusan daripada model.

Cangkuk Menguatkuasakan Had Keras

Alat deterministik untuk tujuan ini ialah cangkuk. Cangkuk memintas sesuatu tindakan dan boleh menyekatnya sebelum tindakan itu berlaku — dengan kepastian 100%.

Contoh klasik: "jangan sekali-kali memulangkan wang melebihi $500." Anda tidak menulisnya sebagai arahan gesaan. Anda menulisnya sebagai cangkuk panggilan keluar yang menyekat setiap pemulangan wang melebihi had, setiap kali.

Cangkuk untuk jaminan, gesaan untuk pertimbangan.

# Deterministic policy hook — runs before the refund tool executes
def before_process_refund(tool_input):
    if tool_input["amount"] > 500:
        return {
            "block": True,
            "reason": "Refunds over $500 require human approval.",
        }
    return {"block": False}

Prasyarat Secara Program

Idea yang sama terpakai pada prasyarat — perkara yang mesti benar sebelum sesuatu tindakan dijalankan.

Contoh: jangan proses pemulangan wang sehingga identiti pelanggan disahkan. Panduan gesaan ("sila sahkan identiti dahulu") hanya kira-kira 90% boleh dipercayai. Prasyarat secara program — menyekat process_refund sehingga get_customer mengembalikan ID yang disahkan — ialah jaminan deterministik.

Kod menguatkuasakan prasyarat itu; model masih membuat semua keputusan yang lain.

def before_process_refund(tool_input, state):
    # Deterministic precondition: identity must be verified first
    if not state.get("customer_verified"):
        return {"block": True,
                "reason": "Call get_customer and verify identity before refunding."}
    return {"block": False}

Jangan Mengekod Keras Secara Berlebihan

Kesilapan dari arah yang bertentangan juga sama merugikannya: mengekod keras keputusan yang sepatutnya dibuat oleh model.

Jika anda membungkus setiap langkah dengan logik percabangan if/else, anda telah membina semula saluran paip yang tegar dan membuang kebolehsuaian Claude. Ejen itu tidak lagi dapat menangani kes yang tidak dijangka.

Simpan kod keras untuk set jaminan yang terhad — wang, undang-undang, keselamatan dan prasyarat yang diperlukan. Yang lain kekal dipacu oleh model.

Pembahagian Tugas yang Kemas

Gabungkan semuanya sebagai pembahagian tugas:

  • Model memutuskan: alat yang hendak dipanggil, susunannya, masa tugasan selesai dan cara memulihkan keadaan daripada hasil yang tidak dijangka.
  • Kod menjamin: had dasar (pemulangan wang ≤ $500), prasyarat yang diperlukan (ID disahkan) dan penamatan gelung pada stop_reason.

Model memacu trajektori. Kod melukis sempadan keras yang tidak boleh dilangkau.

Saluran Paip Tetap berbanding Adaptif

Satu nuansa: tidak semua tugasan bersifat terbuka.

  • Untuk proses yang diketahui dan berjujukan, saluran paip tetap (perangkaian gesaan) adalah sesuai — langkah-langkahnya memang tetap.
  • Untuk penyiasatan terbuka, gunakan penguraian adaptif dan biarkan model memilih laluannya.

Jadi, "biarkan model memutuskan" terpakai apabila laluan itu benar-benar tidak pasti. Apabila urutannya benar-benar diketahui, struktur adalah sesuai — cuma jangan paksa struktur terhadap masalah yang memerlukan kebolehsuaian.

Semakan Pantas

Ejen sokongan mesti jangan sekali-kali mengeluarkan pemulangan wang melebihi $500. Pemulangan wang pada atau di bawah $500 patut dikendalikan dengan lancar dalam perbualan. Apakah reka bentuk bertaraf arkitek?

Perkara Utama

Ingat peraturannya: biarkan model memutuskan; simpan kod untuk jaminan.

  • Gunakan keputusan dipacu model sebagai lalai — Claude menyesuaikan diri dengan konteks semasa.
  • Pacu gelung ejen dan tamatkan pada stop_reason, jangan sekali-kali dengan menghuraikan teks.
  • Had lelaran ialah jaring keselamatan, bukan hentian utama.
  • Gunakan cangkuk dan prasyarat secara program untuk peraturan kewangan, undang-undang atau keselamatan — 100% deterministik berbanding kira-kira 90% bagi gesaan.
  • Jangan mengekod keras secara berlebihan: jaminan ialah sempadan yang terhad, bukan keseluruhan ejen.
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 “Keputusan Dipacu Model berbanding Berkod Tetap” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Claude Architect, termasuk “Keputusan Dipacu Model berbanding Berkod Tetap”, 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 “Keputusan Dipacu Model berbanding Berkod Tetap”?

Biarkan model membuat keputusan; gunakan kod untuk jaminan 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 2 daripada 4.

Berapa lamakah pelajaran “Keputusan Dipacu Model berbanding Berkod Tetap” 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. Perkara yang Menjadikan Sistem Bersifat Ejen
  2. Keputusan Dipacu Model berbanding Berkod Tetap
  3. Bila Hendak Menggunakan Ejen
  4. Gambaran Keseluruhan Gelung Ejen
← Kembali ke Claude Architect