Claude Architect · Pelajaran

Tanggung Jawab Koordinator

Menguraikan, mendelegasikan, menggabungkan, merutekan, dan menangani kesalahan.

Pelajaran 2 dari 413 langkah

Tanggung Jawab Koordinator 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.

Tugas Koordinator

Dalam sistem multiagen, orkestrasi Claude mengikuti bentuk hub-and-spoke: satu koordinator di hub dan beberapa subagen pada spoke. Koordinator tidak pernah melakukan pekerjaan mendalam itu sendiri — koordinator mengelola pekerjaan.

Koordinator memiliki tepat lima tanggung jawab yang harus Anda kuasai untuk ujian:

  • Menguraikan — membagi tugas menjadi subtugas
  • Mendelegasikan — menyerahkan setiap subtugas kepada subagen
  • Mengagregasikan — menggabungkan hasil subagen
  • Mengarahkan — mengirim pekerjaan kepada spesialis yang tepat
  • Menangani error — memulihkan atau mengeskalasikan kegagalan

Pelajaran ini membahas masing-masing tanggung jawab, beserta pola dan pola anti yang membedakan jawaban yang lulus dari jawaban pengalih perhatian yang tampak masuk akal.

Subagen Memulai dari Keadaan Kosong

Fakta koordinator yang paling sering diuji: subagen TIDAK mewarisi riwayat percakapan koordinator. Setiap subagen adalah konteks Claude yang baru.

Model tidak menyimpan keadaan di antara giliran atau antaragen. Apa pun yang dibutuhkan subagen untuk menjalankan tugasnya — tujuan pengguna, temuan sebelumnya, batasan, ID — harus diteruskan secara eksplisit di dalam perintah subagen tersebut.

Melupakan hal ini adalah kegagalan klasik: koordinator 'mengetahui' ID pelanggan atau pertanyaan penelitian, menganggap subagen juga mengetahuinya, lalu subagen mengarang atau berhenti. Isolasi konteks adalah fitur (menjaga fokus tetap terarah), tetapi hal ini sepenuhnya membebankan pengiriman konteks kepada koordinator.

Meneruskan Konteks Secara Eksplisit

Karena tidak ada yang diwariskan, koordinator menyusun setiap perintah subagen sebagai pengarahan mandiri. Perhatikan bahwa tujuan, batasan, dan bagian pekerjaan yang spesifik semuanya dijelaskan dengan terperinci — subagen tersebut dapat dijalankan di mesin yang tidak pernah melihat percakapan ini.

Inilah alasan AgentDefinition memuat system_prompt dan allowed_tools dengan hak akses paling rendah: setiap subagen dibatasi sesuai perannya dan hanya diberi hal yang dibutuhkannya.

from claude_agent_sdk import AgentDefinition

researcher = AgentDefinition(
    name="researcher",
    description="Researches one sub-question and returns cited findings.",
    system_prompt=(
        "You research a SINGLE sub-question. "
        "You have no prior context except this prompt. "
        "Return findings with claim->source (URL, quote, date)."
    ),
    allowed_tools=["WebSearch", "WebFetch"],  # least privilege
)

# The coordinator injects ALL needed context per call:
subagent_prompt = (
    f"Overall goal: {user_goal}\n"
    f"Your sub-question: {sub_question}\n"
    f"Constraints: only sources newer than 2023."
)

Menguraikan: Tetap vs Adaptif

Penguraian adalah menentukan cara membagi pekerjaan. Ada dua strategi, dan ujian mengharuskan Anda mencocokkan strategi dengan situasi:

  • Alur tetap / perangkaian perintah — untuk serangkaian langkah berurutan yang sudah diketahui (misalnya ekstrak -> validasi -> format). Strukturnya ditentukan sebelumnya.
  • Penguraian adaptif — untuk penyelidikan terbuka ketika subtugas belum dapat diketahui sebelum dimulai (misalnya pertanyaan penelitian yang bercabang seiring bertambahnya pengetahuan).

Pola penguraian kedua yang perlu diketahui: tinjauan kode multi-tahap. Lakukan tahap lokal per berkas terlebih dahulu, lalu tahap integrasi lintas berkas yang terpisah. Tinjauan multi-berkas satu tahap mengencerkan perhatian model dan melewatkan bug lokal maupun masalah integrasi.

Mendelegasikan: Satu Respons, Pekerjaan Paralel

Koordinator mendelegasikan dengan mengeluarkan panggilan Tugas. Fakta kinerja utamanya: beberapa panggilan Tugas dalam satu respons berjalan secara paralel.

Untuk subtugas yang tidak saling bergantung — tiga pertanyaan penelitian, tiga berkas untuk dipindai — keluarkan semua panggilan Tugas secara bersamaan, bukan satu per giliran. Anda mendapatkan konkurensi tanpa biaya tambahan.

Dua prasyarat yang diuji dalam ujian: allowedTools koordinator harus mencakup "Tugas", dan setiap subagen harus menerima konteks lengkapnya secara eksplisit (Adegan 2).

# Coordinator delegating THREE independent sub-questions at once.
# Emitting them in a single response runs them in parallel.

tasks = [
    {"subagent": "researcher", "prompt": brief(goal, q)}
    for q in [
        "What are the market size figures?",
        "Who are the top 3 competitors?",
        "What regulatory constraints apply?",
    ]
]

# allowedTools on the coordinator MUST include "Task"
coordinator_allowed_tools = ["Task", "Read", "Write"]

# Each prompt is fully self-contained — no inherited history.

Mengarahkan: Deskripsi Memilih Spesialis

Pengarahan berarti mengirim setiap subtugas kepada subagen yang tepat. Claude memilih terutama berdasarkan deskripsi agen dan alat — bukan namanya.

Deskripsi yang baik menyatakan tujuan, hal yang dikembalikan, format input beserta contoh, dan batasan penerapan. Deskripsi yang tumpang tindih atau ambigu menyebabkan salah arah: jika dua subagen terdengar sama-sama menangani 'data', koordinator dapat memilih yang salah.

Batasi setiap subagen secara sempit. Pertahankan 4-5 alat per agen sebagai jumlah yang paling sesuai; 18+ alat menurunkan keandalan pemilihan. Alat dengan hak akses paling rendah bukan hanya soal keamanan — alat tersebut juga mempertajam pengarahan.

billing_agent = AgentDefinition(
    name="billing",
    # Sharp, non-overlapping description -> correct routing
    description=(
        "Handles refunds and invoice questions ONLY. "
        "Input: order_id (str) + verified customer_id. "
        "Returns: refund status or invoice PDF link. "
        "Does NOT handle shipping or account changes."
    ),
    system_prompt="...",
    allowed_tools=["lookup_order", "process_refund"],  # 2 tools, scoped
)

Mengagregasikan: Menggabungkan dengan Asal Informasi

Setelah subagen mengembalikan hasil, koordinator mengagregasikan keluarannya menjadi satu jawaban yang koheren. Ini lebih dari sekadar penggabungan.

  • Pertahankan asal informasi: setiap klaim harus dipetakan ke sumbernya (URL, nama dokumen, kutipan, tanggal publikasi).
  • Beri anotasi pada konflik, jangan diam-diam memilih salah satu angka — dan ingat bahwa tanggal sering menyelesaikan kontradiksi yang tampak.
  • Tampilkan berdasarkan jenis konten: tabel untuk data keuangan, prosa untuk berita, daftar untuk temuan teknis.

Agregasi juga merupakan tahap untuk mempertahankan hasil sebagian: jika satu subagen gagal, koordinator tetap menggabungkan hasil yang berhasil dan menandai bagian yang tidak ada dengan jelas.

Menangani Error: Pulihkan Secara Lokal, Eskalasikan ke Atas

Tanggung jawab kelima adalah hal yang dapat merusak sistem yang rapuh. Aturannya:

  • Pulihkan gangguan sementara secara lokal di dalam subagen (misalnya batas waktu — coba lagi di sana).
  • Eskalasikan kegagalan yang tidak dapat dipulihkan ke tingkat yang lebih tinggi beserta hasil sebagian, agar koordinator dapat mengarahkannya ke jalur lain.

Dua pola anti yang harus dihindari: menyembunyikan error secara diam-diam (koordinator tidak pernah mengetahuinya), dan menghentikan seluruh alur kerja karena satu subagen gagal. Kegagalan satu spoke tidak boleh meruntuhkan hub.

Yang sangat penting, bedakan FAILURE akses (mungkin dapat dicoba ulang) dari EMPTY hasil yang valid (tidak ada kecocokan — sama sekali bukan error).

Error Terstruktur Memungkinkan Pengarahan

Koordinator hanya dapat mengarahkan proses menjauhi kegagalan jika informasi dalam kegagalan tersebut cukup. "Operasi gagal" yang umum menghambat pemulihan. Error terstruktur memungkinkan pengarahan yang cerdas.

Konteks error terstruktur mencakup jenis/kategori kegagalan, apakah kegagalan tersebut dapat dicoba ulang, kueri yang dicoba, hasil sebagian yang tersedia, dan alternatif. Dengan informasi itu, koordinator memutuskan: mencoba ulang, mencoba alat lain, menggabungkan hasil sebagian, atau melakukan eskalasi.

# A subagent returning a STRUCTURED error the coordinator can act on:
error_result = {
    "isError": True,
    "errorCategory": "transient",   # transient | validation | business | permission
    "isRetryable": True,
    "message": "Search API timed out after 30s",
    "attempted_query": "market size fintech 2024",
    "partial_results": [{"source": "...", "claim": "..."}],
}

# Coordinator logic:
if error_result["isError"] and error_result["isRetryable"]:
    retry(error_result["attempted_query"])
else:
    escalate_with(error_result["partial_results"])

Perulangan Berhenti pada stop_reason

Koordinator menjalankan perulangan agen: mengirim permintaan, memeriksa stop_reason, dan jika nilainya tool_use, menjalankan alat (termasuk delegasi Tugas), menambahkan hasil ke riwayat, lalu mengulangi proses hingga end_turn.

Hentikan berdasarkan stop_reason — jangan pernah dengan mengurai teks model untuk mencari kata seperti 'selesai' atau 'tuntas'. Keputusan tentang kapan pekerjaan selesai digerakkan oleh model. Batas jumlah iterasi adalah jaring pengaman, bukan mekanisme penghentian utama.

Gunakan kendali yang dikodekan secara tetap hanya untuk jaminan yang wajib Anda tegakkan; selain itu, biarkan model menentukan alurnya.

while True:
    resp = client.messages.create(
        model="claude-opus-4-1",
        max_tokens=2048,
        messages=history,   # FULL history every turn — model keeps no state
        tools=tools,
    )
    if resp.stop_reason == "tool_use":
        results = run_tools(resp)           # may include parallel Task calls
        history.append(assistant(resp))
        history.append(tool_results(results))
        continue
    if resp.stop_reason == "end_turn":
        break                               # stop on stop_reason, not on text
    # iteration cap = safety net only, checked separately

Kapan Koordinator Harus Melakukan Eskalasi

Beberapa kegagalan bukan tanggung jawab koordinator untuk diselesaikan — kegagalan tersebut menjadi tanggung jawab manusia. Pemicu eskalasi yang baik:

  • Permintaan manusia yang eksplisit — segera lakukan eskalasi.
  • Kesenjangan kebijakan yang tidak memiliki aturan untuk ditangani agen.
  • Tidak ada kemajuan setelah upaya yang wajar.
  • Pelanggaran ambang batas (misalnya pengembalian dana di atas batas).

Pemicu buruk yang akan ditawarkan ujian sebagai jawaban pengalih perhatian: analisis sentimen, tingkat keyakinan yang dinilai sendiri oleh model (1-10), atau pengklasifikasi yang belum dilatih. Jika aturan bisnis memiliki konsekuensi keuangan, hukum, atau keselamatan, tegakkan aturan tersebut dengan kait deterministik, bukan panduan perintah — kait 100% deterministik, sedangkan perintah hanya sekitar 90% probabilistik.

Pemeriksaan Singkat: Mendelegasikan Subtugas

Seorang koordinator penelitian mendelegasikan subpertanyaan kepada subagen peneliti. Koordinator telah membahas tujuan pengguna dan mengumpulkan temuan sebelumnya dalam percakapannya sendiri. Apa yang MUST dilakukan koordinator agar subagen berhasil?

Rangkuman: Koordinator dalam Lima Langkah

Sekarang Anda dapat menalar tentang koordinator seperti seorang arsitek:

  • Uraikan — gunakan pipeline tetap untuk urutan yang diketahui, dan pendekatan adaptif untuk pekerjaan terbuka; gunakan beberapa tahap (lokal lalu lintas berkas) untuk peninjauan kode.
  • Delegasikan — keluarkan beberapa panggilan Tugas dalam satu respons agar berjalan secara paralel; sertakan 'Tugas' dalam allowedTools.
  • Rutekan — deskripsi yang tegas dan tidak tumpang tindih memilih spesialis yang tepat; gunakan 4-5 alat per agen.
  • Agregasikan — gabungkan dengan informasi asal, beri anotasi pada konflik, dan pertahankan hasil parsial.
  • Tangani kesalahan — pulihkan gangguan sementara secara lokal; eskalasikan kegagalan yang tidak dapat dipulihkan dengan konteks terstruktur dan hasil parsial; jangan pernah menekan secara diam-diam atau menghentikan seluruh alur kerja.

Yang terpenting: subagen tidak mewarisi riwayat apa pun — teruskan konteks secara eksplisit, dan berhenti berdasarkan stop_reason, bukan berdasarkan teks yang diuraikan. Tegakkan aturan keuangan/hukum/keselamatan dengan kait deterministik. Kuasai hal-hal ini, dan skenario orkestrasi akan berada dalam kendali Anda.

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 “Tanggung Jawab Koordinator” gratis?

Ya — teks lengkap “Tanggung Jawab Koordinator” 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 “Tanggung Jawab Koordinator”?

Menguraikan, mendelegasikan, menggabungkan, merutekan, dan menangani kesalahan. 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 “Tanggung Jawab Koordinator” 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. Topologi Koordinator Hub-dan-Jari-Jari
  2. Tanggung Jawab Koordinator
  3. Subagen Tidak Mewarisi Riwayat
  4. Membuat Subagen secara Paralel
← Kembali ke Claude Architect