Claude Architect · Pelajaran

Kesan Hilang di Tengah

Model membaca bahagian awal dan akhir dengan lebih boleh dipercayai berbanding bahagian tengah

Pelajaran 3 daripada 413 langkah

Kesan Hilang di Tengah ialah pelajaran Claude Architect percuma di CoddyKit. Ini ialah pelajaran 3 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.

Kesan Itu, Dinyatakan dengan Jelas

Apabila anda memasukkan gesaan yang panjang ke dalam tetingkap konteks Claude, model tidak memberikan perhatian yang sama kepada setiap token. Maklumat yang berdekatan dengan permulaan dan penghujung konteks diingati dengan jauh lebih boleh dipercayai berbanding maklumat yang tertanam di tengah.

Inilah kesan hilang di tengah. Ini bukan pepijat yang boleh anda tampal — ini ialah sifat cara perhatian berfungsi pada input yang panjang. Sebagai arkitek, anda mereka bentuk mengikut batasan ini.

Mengapa Hal Ini Penting untuk Kebolehpercayaan

Dalam peperiksaan Arkitek Bertauliah Claude, perkara ini berada dalam Domain 5: Pengurusan Konteks & Kebolehpercayaan. Risiko praktikalnya: arahan kritikal, peraturan dasar atau fakta transaksi yang anda letakkan di tengah gesaan yang terlalu sarat mungkin diabaikan secara senyap.

Kegagalan ini berlaku tanpa disedari. Model masih menghasilkan jawapan yang lancar — cuma model menggugurkan kekangan yang anda anggap penting. Oleh itu, keadaan hilang di tengah ialah masalah kebolehpercayaan, bukannya pilihan pemformatan.

Letakkan Arahan Utama Anda

Mitigasi paling mudah: letakkan arahan paling penting di tempat yang paling mendapat perhatian. Mulakannya dalam gesaan system, dan nyatakan semula kekangan kritikal pada penghujung, tepat sebelum model menjana jawapan.

Ingat kontrak API: model tidak menyimpan keadaan. Anda menghantar sejarah messages FULL pada setiap giliran. Jadi setiap giliran ialah peluang baharu — dan risiko baharu — untuk kandungan di tengah diberi pemberat yang terlalu rendah.

resp = client.messages.create(
    model="claude-sonnet-4-5",
    max_tokens=1024,
    system=(
        "You are a refund agent. CRITICAL RULE: never "
        "process a refund before get_customer returns a "
        "verified ID."
    ),
    # ...long retrieved context goes in the middle...
    messages=messages,
)

Letakkan Kekangan Kritikal di Kedua-dua Hujung

Corak yang kukuh ialah meletakkannya di kedua-dua hujung: nyatakan peraturan lebih awal dalam system, kemudian ulangi peringatan ringkas tentangnya sebagai baris terakhir giliran pengguna yang terakhir. Permulaan menjadi sauh; penghujung memastikan peraturan itu kekal dalam perhatian ketika penjanaan.

Pastikan pengulangan itu ringkas. Anda tidak menggandakan keseluruhan arahan — hanya satu keputusan yang tidak boleh dilupakan oleh model.

messages = [
    {"role": "user", "content": (
        retrieved_docs
        + "\n\n---\nReminder: cite a source URL for every "
          "claim. If a fact is absent from the docs above, "
          "say so explicitly — do not invent it."
    )},
]

Potong Keluaran Alat yang Panjang

Salah satu sumber utama lebihan kandungan di tengah ialah keluaran mentah alat. Alat API atau MCP boleh mengembalikan ratusan medan sedangkan anda hanya memerlukan tiga. Memasukkan kesemuanya menolak isyarat sebenar anda ke bahagian tengah yang kurang mendapat perhatian.

Potong hasil alat kepada medan yang berkaitan sebelum menambahkannya pada sejarah mesej. Kurang hingar di tengah bermakna model menumpukan perhatiannya pada perkara yang penting.

def trim_order(raw: dict) -> dict:
    # keep only what the model needs to reason about
    return {
        "order_id": raw["order_id"],
        "status": raw["status"],
        "total": raw["total"],
        "refundable": raw["refundable"],
    }

# append the trimmed result, not the 200-field blob
messages.append({
    "role": "user",
    "content": [{
        "type": "tool_result",
        "tool_use_id": tu_id,
        "content": json.dumps(trim_order(raw_result)),
    }],
})

Kekalkan Fakta Kes Secara Verbatim

Apabila konteks berkembang, pasukan biasanya menggunakan perumusan progresif. Ia berguna — tetapi menjadikan nombor, peratus dan tarikh kabur. Jika digabungkan dengan keadaan hilang di tengah, fakta transaksi yang diringkaskan dan berada di tengah konteks menjadi dua kali ganda rapuh.

Pembaikannya: keluarkan fakta transaksi ke dalam blok "fakta kes" berasingan yang dikekalkan secara verbatim, di luar ringkasan. Jangan biarkan jumlah pesanan atau ambang bayaran balik kekal hanya sebagai parafrasa di tengah ringkasan.

case_facts = (
    "CASE FACTS (verbatim, do not summarize):\n"
    "- order_id: A-4821\n"
    "- order_total: $612.40\n"
    "- refund_policy_cap: $500.00\n"
    "- customer_verified: true"
)

system = case_facts + "\n\n" + rolling_summary

/compact Mempunyai Risiko yang Sama

Dalam Claude Code, /compact memampatkan perbualan untuk menyediakan ruang dalam konteks. Manfaatnya ialah ruang untuk terus bekerja; risikonya sama seperti perumusan progresif: nombor dan tarikh menjadi kabur.

Sebelum memampatkan sesi yang bergantung pada nilai tepat, simpan nilai tersebut di tempat yang tahan lama — contohnya dalam CLAUDE.md melalui /memory, yang kekal merentas sesi — supaya nilai itu terselamat daripada pemampatan dan tidak larut menjadi ringkasan kabur di tengah.

# In a Claude Code session:
/memory   # write exact build numbers / API contract to CLAUDE.md
/compact  # now safe(r): the hard facts persist outside the summary

Susun Dokumen yang Diperoleh dengan Sengaja

Jika anda memasukkan N bahagian yang diperoleh, susunannya mengubah perkara yang digunakan oleh model. Bukti yang paling berkaitan hendaklah berada di permulaan atau penghujung blok — bukan pada bahagian nombor 7 daripada 14.

Dua langkah praktikal:

  • Susun semula kedudukan supaya bahagian yang paling berkaitan mengapit blok.
  • Pendekkan blok tersebut. Bahagian yang lebih sedikit tetapi lebih tajam mengatasi deretan panjang bahagian pinggiran yang mencairkan perhatian.
ranked = rerank(query, chunks)            # best first
top = ranked[:6]                          # cut the long tail
# bracket: strongest at start AND end
ordered = [top[0]] + top[2:] + [top[1]]
context = "\n\n".join(c.text for c in ordered)

Bahagikan Kerja, Jangan Cairkan Perhatian

Keadaan hilang di tengah ialah salah satu sebab semakan berbilang fail satu laluan mencairkan perhatian. Memadatkan sepuluh fail ke dalam satu gesaan menenggelamkan fail yang berada di tengah.

Sebaliknya, pecahkan kerja: laluan setempat bagi setiap fail, kemudian laluan penyepaduan merentas fail yang berasingan. Setiap laluan mempunyai konteks yang lebih pendek dan berfokus, tanpa perkara penting yang terperangkap di tengah.

# Multi-pass review (avoids single-prompt dilution)
for path in changed_files:
    review_local(path)        # focused, short context per file

review_cross_file(changed_files)  # separate integration pass

Ejen Kecil Memerlukan Konteks yang Jelas

Sistem berbilang ejen menggunakan seni bina hab dan jejari. Ejen kecil tidak mewarisi sejarah perbualan penyelaras — setiap fakta mesti dihantar secara jelas dalam setiap gesaan ejen kecil.

Hal ini berkait dengan keadaan hilang di tengah: apabila penyelaras membina gesaan ejen kecil itu, arahan kritikal masih perlu berada di permulaan dan penghujung, manakala gumpalan yang panjang masih perlu dipotong. Pengasingan konteks ialah peluang untuk memberikan setiap ejen kecil gesaan yang bersih dan diletakkan dengan baik, bukannya kekusutan yang diwarisi.

Task(
    description="Summarize Q3 revenue",
    prompt=(
        "TASK: extract Q3 net revenue from the report below.\n"
        + report_text +
        "\n\nOUTPUT: a single number in USD, plus the source "
        "page. If absent, reply 'NOT FOUND'."
    ),
)

Senarai Semak Mental

Sebelum anda menerbitkan gesaan berkonteks panjang, jalankan senarai semak ini:

  • Atas: arahan paling penting dalam system, dinyatakan dengan jelas.
  • Bawah: pengulangan ringkas satu kekangan kritikal pada penghujung.
  • Tengah: keluaran alat yang telah dipotong, dokumen yang disusun semula, tanpa gumpalan mentah.
  • Fakta: nombor/tarikh tepat yang dikekalkan secara verbatim dalam blok fakta kes, tidak pernah hanya berada dalam ringkasan.
  • Panjang: jika terlalu besar, bahagikan kepada laluan yang berfokus.

Kedudukan ialah reka bentuk. Anggap bahagian tengah sebagai ruang yang kurang dipercayai.

Semakan Pantas

Terapkan pelajaran ini pada keputusan seni bina yang konkrit.

Imbas Kembali

Intipati utama tentang kesan hilang di tengah-tengah:

  • Model lebih memberikan perhatian kepada permulaan dan penghujung berbanding bahagian tengah — anggap bahagian tengah sebagai ruang yang kurang dipercayai.
  • Letakkan arahan kritikal dalam system dan ulangi satu kekangan yang penting itu pada penghujung.
  • Ringkaskan output alat yang berlebihan dan susun semula kedudukan dokumen yang diperoleh supaya maklumat penting mengapit konteks.
  • Kekalkan nombor dan tarikh tepat secara verbatim dalam blok fakta kes; proses ringkasan dan /compact menjadikannya kabur.
  • Untuk kerja besar, bahagikan kepada beberapa pusingan berfokus dan bukannya menggunakan satu gesaan yang terlalu umum.
  • Kedudukan mengurangkan gejala — tetapi bagi peraturan yang melibatkan kepentingan kewangan, undang-undang atau keselamatan, kuatkuasakan dengan cangkuk, bukan melalui penempatan.
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 “Kesan Hilang di Tengah” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Claude Architect, termasuk “Kesan Hilang di Tengah”, 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 “Kesan Hilang di Tengah”?

Model membaca bahagian awal dan akhir dengan lebih boleh dipercayai berbanding bahagian tengah 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 3 daripada 4.

Berapa lamakah pelajaran “Kesan Hilang di Tengah” 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. Keseluruhan Sejarah Diperlukan
  2. Risiko Peringkasan Berperingkat
  3. Kesan Hilang di Tengah
  4. Blok Fakta Kes dan Pemangkasan Output
← Kembali ke Claude Architect