Claude Architect · Pelajaran

Contoh Kategoris

Tampilkan contoh hal yang perlu dilaporkan dan diabaikan.

Pelajaran 2 dari 413 langkah

Contoh Kategoris adalah pelajaran Claude Architect gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Claude Architect, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Claude Architect mencakup 4 pelajaran total.

Mengapa Contoh Kategoris Itu Penting

Saat Anda memberi Claude tugas dengan batas yang kabur, instruksi samar seperti "be more precise" jarang berhasil. Model tidak dapat membaca pikiran Anda untuk mengetahui letak batas tersebut.

Perbaikan yang andal adalah contoh kategoris: sekumpulan kecil 2-4 contoh few-shot yang menunjukkan kasus konkret tentang hal yang harus dilaporkan dan hal yang harus diabaikan. Model menggeneralisasi dari contoh-contoh ini ke input baru yang belum pernah dilihat — bukan sekadar mengulanginya.

Pelajaran ini menunjukkan cara menyusun contoh tersebut untuk tugas arsitek yang klasik: menentukan hal yang layak ditandai dan hal yang hanya merupakan kebisingan.

Kriteria Eksplisit Mengalahkan Kata Sifat yang Samar

Sebelum menggunakan contoh, nyatakan kriteria yang eksplisit. Aturan yang eksplisit secara konsisten lebih baik daripada kata sifat yang samar.

  • Samar: "Tinjau kode dengan cermat."
  • Eksplisit: "Tandai komentar hanya jika komentar tersebut bertentangan dengan kode yang dijelaskannya."

Versi eksplisit menarik garis yang tegas. Contoh kategoris kemudian membuat garis tersebut tidak mungkin disalahpahami dengan menambatkannya pada kasus konkret di kedua sisinya.

system = (
    "You review code comments. "
    "Flag a comment ONLY when it contradicts the code it describes. "
    "Ignore style, tone, and outdated-but-harmless notes."
)

Bentuk Kumpulan Contoh Kategoris

Kumpulan yang baik memiliki contoh di kedua sisi batas, masing-masing dengan alasan satu baris. Dua kasus REPORT dan dua kasus IGNORE sudah cukup untuk sebagian besar ambiguitas — 2-4 contoh yang terarah adalah jumlah yang ideal.

Setiap contoh memiliki tiga bagian:

  • input (hal yang dinilai)
  • keputusan (laporkan / abaikan)
  • alasan singkat yang terkait dengan kriteria Anda

Alasan inilah yang memungkinkan model melakukan generalisasi dengan benar, alih-alih mencocokkan pola berdasarkan ciri permukaan.

Contoh Lengkap: Laporkan vs Abaikan

Berikut adalah blok contoh kategoris untuk tugas peninjauan komentar. Perhatikan simetrinya: kontradiksi dilaporkan; ketidaksesuaian yang tidak berbahaya diabaikan.

EXAMPLES = """
<example verdict="REPORT">
  code: return price * 1.2
  comment: # applies 10% tax
  reason: comment says 10% but code applies 20% (contradiction)
</example>
<example verdict="IGNORE">
  code: timeout = 30  # seconds
  comment: # seconds
  reason: accurate; matches the code
</example>
<example verdict="IGNORE">
  code: # TODO: refactor later
  comment: # TODO: refactor later
  reason: stylistic note, not a contradiction
</example>
<example verdict="REPORT">
  code: if user.is_admin: deny()
  comment: # allow admins
  reason: comment says allow but code denies (contradiction)
</example>
"""

Generalisasi, Bukan Menghafal

Kekuatan contoh kategoris terletak pada kemampuan model untuk menggeneralisasi. Model tidak memerlukan contoh untuk setiap kemungkinan input.

Dari empat kasus di atas, Claude mempelajari aturan "tandai kontradiksi semantik, abaikan ketidaksesuaian yang tidak berbahaya" dan menerapkannya pada komentar baru yang belum pernah dilihatnya, seperti docstring yang menyatakan bahwa suatu fungsi mengembalikan daftar padahal fungsi tersebut mengembalikan kamus.

Inilah alasan contoh few-shot ideal untuk konsistensi, kasus tepi, format keluaran, dan mengurangi halusinasi.

Tandai Batas-Batasnya

Contoh yang paling berharga berada tepat di batas, saat keputusan benar-benar sulit. Contoh IGNORE yang hampir layak ditandai di samping contoh REPORT yang hampir tidak layak ditandai mengajarkan jauh lebih banyak daripada dua kasus yang jelas.

Untuk agen riset yang menentukan statistik mana yang perlu ditampilkan, Anda dapat membandingkan angka lama dengan angka terbaru — dan mencatat bahwa tanggal sering menyelesaikan kontradiksi yang tampak, alih-alih menyimpulkan bahwa salah satu angka begitu saja keliru.

EXAMPLES = """
<example verdict="REPORT">
  fact: "Revenue was $4.1B in FY2024" (source dated 2025-02)
  reason: current, sourced, on-topic -> surface it
</example>
<example verdict="IGNORE">
  fact: "Revenue was $3.2B" (source dated 2019, no fiscal year)
  reason: stale and undated for our scope -> drop, do not treat as a conflict
</example>
"""

Contoh Juga Mendorong Keluaran Terstruktur

Contoh kategoris berpadu secara alami dengan keluaran terstruktur. Saat keputusan harus dapat dibaca mesin, paksa pemanggilan alat agar hasilnya selalu berupa JSON yang valid.

Gunakan tool_choice bertipe "any" untuk menjamin model memanggil suatu alat (sehingga keluaran terstruktur terjamin), atau paksa satu alat tertentu berdasarkan namanya. Skema JSON kemudian menghilangkan kesalahan sintaks dan menegakkan kolom wajib.

tools = [{
    "name": "record_finding",
    "description": "Record a review verdict for one item.",
    "input_schema": {
        "type": "object",
        "properties": {
            "verdict": {"enum": ["report", "ignore"]},
            "reason": {"type": "string"}
        },
        "required": ["verdict", "reason"]
    }
}]

resp = client.messages.create(
    model="claude-sonnet-4-5",
    max_tokens=512,
    tools=tools,
    tool_choice={"type": "any"},
    system=system,
    messages=[{"role": "user", "content": EXAMPLES + new_item}],
)

Wajibkan Hanya Kolom yang Selalu Ada

Jebakan yang halus: dalam skema temuan Anda, tandai kolom sebagai wajib hanya jika kolom tersebut selalu ada. Jika Anda mewajibkan kolom yang mungkin tidak ada — misalnya line_number untuk temuan yang tidak terkait dengan baris tertentu — model akan mengarang nilai untuk memenuhi skema.

Untuk kategori yang mungkin bertambah, gunakan enum ditambah nilai "other" dan kolom detail teks bebas. Dengan begitu, keluaran tetap terstruktur sekaligus dapat diperluas.

"category": {"enum": ["contradiction", "security", "other"]},
"category_detail": {"type": "string"}  # filled when category == other
# line_number is NOT required: many findings are file-level

Saat Contoh Bukan Alat yang Tepat

Contoh kategoris mempertajam batas penilaian. Contoh tersebut tidak menciptakan informasi yang hilang.

Jika model mengembalikan hasil kosong atau keliru karena fakta yang diperlukan memang tidak ada dalam sumber, menambahkan lebih banyak contoh tidak akan membantu — demikian juga mencoba ulang dengan umpan balik. Percobaan ulang memperbaiki kesalahan format, struktural, dan aritmetika, bukan data yang tidak ada.

Bedakan hasil kosong yang sebenarnya ("tidak ditemukan kecocokan") dari kegagalan akses (sumber tidak dapat dibaca). Perlakukan keduanya secara berbeda dalam logika pemulihan Anda.

Contoh Kategoris dalam CLAUDE.md dan Peninjauan

Tanamkan kebijakan laporkan/abaikan di tempat pekerjaan berlangsung. Untuk tugas peninjauan CI, letakkan contoh di CLAUDE.md tingkat proyek (dibagikan melalui VCS) agar setiap eksekusi dan setiap anggota tim menggunakan batas yang sama.

Di CI, jalankan peninjauan dalam sesi yang terisolasi (lebih sedikit bias daripada konteks pembuatan) dengan -p untuk keluaran noninteraktif. Kriteria eksplisit ditambah contoh kategoris adalah cara tepat untuk meminimalkan positif palsu.

## Review policy (categorical)
REPORT: a comment that contradicts the code it describes.
IGNORE: style nits, tone, outdated-but-harmless TODOs.

Example REPORT -> `# 10% tax` over `price * 1.2`
Example IGNORE -> `timeout = 30  # seconds` (accurate)

Menyatukan Semuanya

Resep lengkap untuk keputusan laporkan/abaikan yang bersih:

  • Tulis satu kriteria eksplisit untuk batasnya.
  • Tambahkan 2–4 contoh kategoris yang dibagi ke kedua sisi, masing-masing disertai alasan.
  • Tempatkan contoh di batas-batas sulit, bukan pada kasus yang jelas.
  • Paksa keluaran terstruktur dengan alat; wajibkan hanya bidang yang selalu ada.
  • Ingat: contoh membentuk penilaian, bukan melengkapi data yang hilang.

Lakukan ini, dan Claude akan menggeneralisasi maksud Anda secara andal pada input yang belum pernah dilihatnya.

Pemeriksaan Singkat

Agen peninjau menandai terlalu banyak komentar yang tidak berbahaya sebagai masalah. Anda ingin agen tersebut hanya melaporkan kontradiksi yang benar-benar ada. Perubahan mana yang paling andal untuk memperketat batasnya?

Ringkasan

Hal-hal penting:

  • Kriteria eksplisit + contoh kategoris lebih baik daripada kata sifat yang samar untuk batas yang tidak jelas.
  • Gunakan 2–4 contoh yang dibagi antara laporkan dan abaikan, masing-masing disertai alasan; model menggeneralisasi, bukan sekadar mengulang.
  • Tempatkan contoh di batas-batas sulit; ingat bahwa tanggal sering menyelesaikan kontradiksi yang tampak.
  • Padukan dengan keluaran terstruktur (tool_choice "any" + JSON Schema); wajibkan hanya bidang yang selalu ada, dan gunakan enum+"other" untuk ekstensibilitas.
  • Contoh mempertajam penilaian, bukan melengkapi data yang hilang — fakta yang tidak ada memerlukan perbaikan lain, dan percobaan ulang hanya memperbaiki kesalahan format/aritmetika.
Gratis untuk memulai

Belajar Python dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
26
Pelajaran
104

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Contoh Kategoris” gratis?

Ya — teks lengkap “Contoh Kategoris” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Claude Architect, upgrade ke CoddyKit PRO. Kursus Claude Architect mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Contoh Kategoris”?

Tampilkan contoh hal yang perlu dilaporkan dan diabaikan. Kamu berlatih Claude Architect dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Claude Architect?

Tidak diperlukan pengalaman sebelumnya. Claude Architect di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Contoh Kategoris” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Claude Architect ini?

Ya. Setiap pelajaran Claude Architect menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Kriteria Eksplisit vs Instruksi Samar
  2. Contoh Kategoris
  3. Kriteria Tingkat Keparahan dengan Contoh
  4. Mengurangi Positif Palsu
← Kembali ke Claude Architect