Membuat Subagen secara Paralel
Beberapa panggilan Task dalam satu respons berjalan secara bersamaan.
Membuat Subagen secara Paralel adalah pelajaran Claude Architect gratis di CoddyKit. Ini adalah pelajaran 4 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 Paralelisme Penting
Dalam sistem multiagen hub-and-spoke, koordinator menguraikan tugas, mendelegasikan bagian-bagiannya kepada subagen, lalu mengagregasikan hasilnya. Pengungkit kinerja utama: beberapa panggilan Task yang dikeluarkan dalam satu respons berjalan secara bersamaan.
Jika pekerjaan riset memerlukan tiga pencarian independen, Anda tidak perlu mengerjakannya satu demi satu. Buat ketiganya dalam satu giliran dan jalankan secara paralel, sehingga tiga perjalanan bolak-balik menjadi satu gelombang.
Aturan Paralel
Aturannya tepat: setiap panggilan Task yang dikeluarkan model dalam respons asisten yang sama dikirim pada waktu yang sama. Tidak ada penanda API khusus—konkurensi merupakan sifat dari berapa banyak panggilan Task yang berada dalam satu respons.
- Tiga panggilan Task dalam satu respons → tiga subagen berjalan secara paralel.
- Satu panggilan Task, tunggu hasilnya, lalu panggilan Task berikutnya pada giliran selanjutnya → berurutan.
Jadi paralelisme adalah keputusan penguraian, bukan tombol konfigurasi.
Koordinator Harus Mengizinkan Task
Koordinator hanya dapat membuat subagen jika allowedTools-nya menyertakan "Task". Tanpanya, model tidak memiliki mekanisme untuk mendelegasikan dan akan mencoba mengerjakan semuanya sendiri.
Ini merupakan bagian dari desain hak akses minimum: hanya koordinator yang mendapatkan Task; subagen tingkat daun biasanya tidak mendapatkannya, sehingga tidak dapat membuat agen tambahan secara rekursif.
from claude_agent_sdk import AgentDefinition
coordinator = AgentDefinition(
name="research_coordinator",
description="Decomposes a research question and delegates to subagents in parallel.",
system_prompt="Break the question into independent sub-questions and spawn one subagent per topic IN A SINGLE RESPONSE.",
allowed_tools=["Task"], # required to spawn subagents
)Subagen Tidak Mewarisi Riwayat
Ini adalah fakta tentang subagen yang paling sering diuji: subagen TIDAK mewarisi riwayat percakapan koordinator. Subagen dimulai dengan konteks yang bersih.
Karena itu, semua konteks yang diperlukan subagen harus diteruskan secara eksplisit dalam perintahnya—pertanyaan, batasan yang relevan, temuan sebelumnya, dan format keluaran. Jika Anda menganggap subagen "sudah tahu" apa yang dibahas koordinator, subagen akan berhalusinasi atau berkinerja kurang baik.
Perintah Subagen yang Mandiri
Karena konteks tidak diwarisi, setiap perintah Task paralel harus sepenuhnya mandiri. Perhatikan bahwa setiap subagen yang dibuat di bawah ini membawa topiknya sendiri dan instruksi eksplisit yang sama—tidak ada yang dibiarkan tersirat.
# Coordinator emits these THREE Task calls in ONE response -> they run in parallel
tasks = [
Task(agent="researcher",
prompt="Topic: 2024 EV battery cost trends.\n"
"Return: 3 findings, each with source URL + publication date."),
Task(agent="researcher",
prompt="Topic: solid-state battery timelines.\n"
"Return: 3 findings, each with source URL + publication date."),
Task(agent="researcher",
prompt="Topic: lithium supply constraints 2025.\n"
"Return: 3 findings, each with source URL + publication date."),
]Kapan Paralelisme Tepat
Pembuatan subagen secara paralel merupakan langkah yang tepat ketika subtugasnya independen—tidak ada yang memerlukan keluaran dari yang lain.
- Riset multi-topik: setiap topik berada di jalurnya sendiri.
- Peninjauan kode lokal per berkas: tinjau setiap berkas secara independen dan paralel, lalu lakukan tahap integrasi lintas berkas secara terpisah.
- Pencarian serentak: kueri beberapa katalog atau API sekaligus.
Jika tugas B memerlukan hasil A, itu adalah ketergantungan berurutan—gunakan pipeline tetap / perangkaian perintah, bukan pembuatan subagen secara paralel.
Penguraian Paralel vs. Berurutan
Sesuaikan pola penguraian dengan pekerjaannya:
- Penyebaran tugas secara paralel → subtugas independen, sensitif terhadap latensi, dan hasil digabungkan di akhir.
- Pipeline tetap / perangkaian perintah → langkah-langkah berurutan yang telah diketahui, dengan setiap langkah memasok langkah berikutnya.
- Penguraian adaptif → penyelidikan terbuka, dengan langkah berikutnya bergantung pada temuan terakhir.
Memaksakan langkah yang secara inheren berurutan ke dalam satu gelombang paralel membuat agen bekerja dengan masukan yang kurang—ini bug ketepatan, bukan peningkatan kecepatan.
# Sequential: step 2 NEEDS step 1's output -> chain, do NOT parallelize
# 1) fetch the schema, THEN 2) extract rows against that schema
schema = Task(agent="schema_reader", prompt="Return the orders table schema.")
# ...wait for result, then next turn:
extract = Task(agent="extractor",
prompt=f"Using this schema:\n{schema}\nExtract Q1 orders.")Mengagregasikan Hasil Paralel
Setelah satu gelombang paralel selesai, tugas koordinator adalah menggabungkan: menyatukan temuan, menghapus duplikasi, dan menyelesaikan konflik. Jangan memilih satu angka secara sembarangan ketika dua subagen memberikan hasil berbeda — beri anotasi pada konfliknya (tanggal sering kali menyelesaikan kontradiksi yang tampak).
Koordinator juga mengatur tindak lanjut: jika salah satu jalur menghasilkan informasi yang terlalu sedikit, koordinator dapat memulai gelombang kedua yang lebih terarah.
# After the parallel wave, the coordinator receives all three result blocks
# and synthesizes. Keep claim -> source mappings for provenance.
synthesis_prompt = (
"You have results from 3 parallel researchers below.\n"
"Merge into one report. For each claim keep its source URL + date.\n"
"If two sources conflict, annotate both rather than picking one."
)Kegagalan Sebagian dalam Gelombang Paralel
Ketika Anda membagi pekerjaan ke beberapa jalur, satu jalur mungkin gagal sementara jalur lainnya berhasil. Jangan membatalkan seluruh alur kerja hanya karena satu kegagalan, dan jangan pernah menyembunyikannya tanpa pemberitahuan.
- Pulihkan gangguan sementara secara lokal di dalam subagen (coba lagi).
- Eskalasi kegagalan yang tidak dapat dipulihkan bersama hasil sebagian dan konteks terstruktur: jenis kegagalan, kueri yang dicoba, serta bagian yang berhasil.
Koordinator harus memberi anotasi pada celah cakupan ("topik 2 tidak tersedia"), bukan menyajikan keluaran yang tidak lengkap seolah-olah sudah lengkap.
# A subagent returns STRUCTURED context on failure, not a silent drop
{
"isError": True,
"errorCategory": "transient", # transient|validation|business|permission
"isRetryable": True,
"message": "Search API timed out",
"attempted_query": "solid-state battery timelines",
"partial_results": ["1 finding retrieved before timeout"],
}Subagen dengan Hak Akses Minimum
Setiap allowed_tools subagen harus dibatasi sesuai perannya — dengan hak akses minimum. Peneliti memerlukan alat baca/pencarian; peneliti tidak memerlukan Task (tanpa pembuatan subagen secara rekursif), juga tidak memerlukan alat penulisan atau pengembalian dana.
Ingat pedoman jumlah alat: 4-5 alat per agen adalah jumlah yang optimal; 18+ alat menurunkan keandalan pemilihan. Subagen yang cakupan perannya sempit memilih alat yang tepat jauh lebih andal daripada satu agen raksasa yang dibebani terlalu banyak tugas.
researcher = AgentDefinition(
name="researcher",
description="Investigates ONE topic and returns findings with citations.",
system_prompt="Research the given topic. Return findings with source URL + date.",
allowed_tools=["WebSearch", "WebFetch", "Read"], # no Task: cannot re-spawn
)Perulangan Agen Tetap Mengatur Alur
Pemrosesan paralel tidak mengubah alur kendali. Koordinator tetap menjalankan perulangan agen standar: kirim permintaan → periksa stop_reason → jika tool_use, jalankan alat-alat tersebut (subagen paralel) dan tambahkan hasilnya ke riwayat → ulangi sampai end_turn.
Hentikan berdasarkan stop_reason, jangan pernah dengan mencari kata-kata seperti "selesai" dalam teks. Batas iterasi adalah pengaman, bukan mekanisme penghentian utama. Baik satu maupun tiga Task yang dijalankan, logika perulangannya tetap sama.
Pemeriksaan Singkat
Koordinator harus meneliti tiga topik yang independen secepat mungkin. Pendekatan mana yang benar untuk membuat subagen berjalan secara paralel?
Ringkasan
Hal-hal penting tentang pembuatan subagen secara paralel:
- Beberapa pemanggilan Task dalam satu respons berjalan secara paralel — tidak ada penanda khusus; ini merupakan pilihan penguraian tugas.
allowedToolskoordinator harus menyertakan"Task".- Subagen tidak mewarisi riwayat — berikan semua konteks secara eksplisit dalam setiap perintah mandiri.
- Gunakan pemrosesan paralel untuk sub tugas yang independen; gunakan alur berantai untuk ketergantungan berurutan.
- Jika terjadi kegagalan sebagian: pulihkan gangguan sementara secara lokal, dan eskalasi gangguan yang tidak dapat dipulihkan bersama hasil sebagian — jangan pernah membatalkan seluruh alur kerja atau menyembunyikannya tanpa pemberitahuan.
- Batasi subagen dengan hak akses minimum (4-5 alat), dan tetap lakukan penghentian berdasarkan
stop_reason, bukan berdasarkan teks yang dianalisis.
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 “Membuat Subagen secara Paralel” gratis?
Ya — teks lengkap “Membuat Subagen secara Paralel” 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 “Membuat Subagen secara Paralel”?
Beberapa panggilan Task dalam satu respons berjalan secara bersamaan. 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 4 dari 4.
Berapa lama pelajaran “Membuat Subagen secara Paralel” 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
- Topologi Koordinator Hub-dan-Jari-Jari
- Tanggung Jawab Koordinator
- Subagen Tidak Mewarisi Riwayat
- Membuat Subagen secara Paralel