- Fitur eksperimental untuk menyusun beberapa instance Claude Code sebagai satu tim agar pekerjaan bisa dibagi dan dikoordinasikan secara paralel; sesi lead membuat anggota tim, menetapkan tugas, dan merangkum hasil
- Berbeda dari subagent yang sudah ada, anggota tim dapat saling bertukar pesan secara langsung, dan pengguna juga bisa berkomunikasi langsung dengan anggota tim tertentu tanpa harus melalui lead
- Efektif untuk code review, eksplorasi paralel hipotesis debugging, serta pekerjaan lintas layer seperti frontend, backend, dan testing; untuk pekerjaan berurutan atau pengeditan file yang sama, satu sesi tunggal lebih cocok
- Karena setiap anggota tim memiliki context window yang independen, penggunaan token meningkat secara signifikan, dan biaya dapat bertambah sebanding dengan jumlah anggota tim
- Mendukung mode layar terbagi melalui
tmux atau iTerm2, dan membantu meningkatkan produktivitas serta kualitas pekerjaan pengembangan yang kompleks lewat eksplorasi paralel dan otomatisasi kolaborasi
Ikhtisar Agent Teams
- Menjalankan pekerjaan secara paralel dengan mengatur beberapa sesi Claude Code sebagai satu tim
- Lead tim membagi tugas dan merangkum hasil
- Setiap anggota tim berjalan secara mandiri di context window terpisah
- Berbeda dari Subagent, anggota tim dapat saling mengirim pesan langsung
- Fitur ini masih eksperimental dan nonaktif secara default; aktifkan dengan mengatur environment variable
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS
Kapan sebaiknya menggunakan Agent Teams
- Riset dan review: beberapa anggota tim menyelidiki aspek berbeda dari suatu masalah secara bersamaan, lalu membagikan hasil dan saling memverifikasi
- Pengembangan modul atau fitur baru: tiap anggota tim menangani file/modul terpisah agar dapat bekerja paralel tanpa konflik
- Debugging berbasis hipotesis yang saling bersaing: menguji hipotesis berbeda secara bersamaan untuk menemukan akar masalah lebih cepat
- Koordinasi lintas layer: menempatkan anggota tim per layer seperti frontend, backend, dan testing untuk perubahan simultan
- Untuk pekerjaan berurutan, pengeditan file yang sama, atau pekerjaan dengan banyak ketergantungan, satu sesi tunggal atau subagent lebih efisien
Subagent vs. Agent Team
- Subagent: memiliki context window sendiri tetapi hanya mengembalikan hasil ke pemanggil, semua pekerjaan dikelola oleh agen utama, dan biaya token relatif lebih rendah
- Agent team: memiliki context window yang sepenuhnya independen, memungkinkan pesan langsung antaranggota tim, melakukan koordinasi mandiri dengan daftar tugas bersama, dan karena tiap anggota adalah instance Claude terpisah, biaya token lebih tinggi
- Untuk pekerjaan terfokus yang hanya membutuhkan hasil akhir, subagent lebih cocok; untuk pekerjaan kompleks yang memerlukan diskusi dan kolaborasi antaranggota, agent team lebih tepat
Memulai agent team pertama
- Secara default fitur ini nonaktif; aktifkan dengan mengatur environment variable
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS ke 1 atau menambahkan environment variable tersebut di settings.json
- Setelah aktif, jelaskan struktur tim dan pekerjaannya dalam bahasa natural, lalu Claude akan membuat tim dan me-spawn anggota tim serta mengoordinasikan pekerjaan
- > I'm designing a CLI tool that helps developers track TODO comments across their codebase. Create an agent team to explore this from different angles: one teammate on UX, one on technical architecture, one playing devil's advocate.
- Merancang alat CLI untuk melacak TODO, lalu meminta tiga anggota tim mengeksplorasi secara independen dari sisi UX, arsitektur teknis, dan sudut pandang penantang
- Dengan cara ini, Claude akan membuat daftar tugas bersama, lalu membuat masing-masing anggota tim, mengeksplorasi setiap persoalan, merangkum hasilnya, dan membereskan tim saat pekerjaan selesai
- Terminal lead menampilkan daftar seluruh anggota tim dan status pekerjaan, dan Shift+Up/Down dapat digunakan untuk memilih anggota tim dan mengirim pesan langsung
Mengontrol agent team
-
Memilih mode tampilan
- Mode in-process: semua anggota tim berjalan di dalam terminal utama, pilih anggota dengan Shift+Up/Down dan kirim pesan, tanpa konfigurasi tambahan
- Mode split panes: setiap anggota tim ditampilkan di pane terpisah sehingga output bisa dipantau bersamaan; memerlukan tmux atau iTerm2
- Nilai default
"auto" akan menggunakan split pane bila dijalankan di dalam sesi tmux, jika tidak maka memakai in-process
- Pengaturan
"tmux" mengaktifkan mode split-pane dan otomatis mendeteksi tmux serta iTerm2
- Bisa dioverride lewat
teammateMode di settings.json, atau menggunakan flag claude --teammate-mode in-process untuk pengaturan satu sesi
-
Menentukan anggota tim dan model
- Claude akan menentukan jumlah anggota tim secara otomatis sesuai pekerjaan, tetapi jumlah pasti dan modelnya dapat ditentukan langsung dengan perintah seperti
"Create a team with 4 teammates" dan model tertentu seperti Sonnet
-
Meminta persetujuan rencana
- Untuk pekerjaan kompleks atau berisiko, anggota tim dapat ditempatkan dalam mode rencana read-only agar implementasi tertahan sampai lead menyetujui
- Setelah anggota tim menyelesaikan rencana, mereka mengirim permintaan persetujuan ke lead; jika disetujui, implementasi dimulai, jika ditolak, mereka merevisi dan mengirim ulang sesuai umpan balik
- Kriteria keputusan lead dapat dipengaruhi lewat kondisi di prompt, misalnya
"approve only plans with test coverage"
-
Mode delegate
- Lead dibatasi untuk hanya memakai alat koordinasi seperti me-spawn anggota tim, mengirim pesan, menghentikan, dan mengelola tugas, alih-alih mengimplementasikan pekerjaan secara langsung
- Setelah tim dimulai, tekan Shift+Tab untuk beralih ke mode delegate
-
Percakapan langsung dengan anggota tim
- Setiap anggota tim adalah sesi Claude Code yang sepenuhnya independen, sehingga instruksi tambahan, pertanyaan lanjutan, atau perubahan pendekatan bisa disampaikan langsung
- Dalam mode in-process, pilih dengan Shift+Up/Down lalu kirim pesan, tekan Enter untuk melihat sesi, Escape untuk menghentikan giliran saat ini, dan Ctrl+T untuk menampilkan/menyembunyikan daftar tugas
- Dalam mode split-pane, klik pane terkait untuk berinteraksi langsung
-
Menetapkan dan mengklaim tugas
- Seluruh pekerjaan tim dikoordinasikan lewat daftar tugas bersama, dengan tiga status: pending, in progress, dan completed
- Dependensi antar tugas dapat ditetapkan, dan tugas dengan dependensi yang belum terselesaikan tidak dapat diklaim
- Lead dapat menetapkan tugas secara eksplisit, atau anggota tim akan mengklaim otomatis tugas berikutnya yang belum ditetapkan dan tidak terblokir setelah menyelesaikan pekerjaan sebelumnya
- Untuk mencegah beberapa anggota tim mengklaim tugas yang sama secara bersamaan, sistem menggunakan file lock
-
Menghentikan anggota tim dan membereskan tim
- Jika lead meminta anggota tim tertentu dihentikan, anggota tersebut dapat menyetujui atau menolak sambil menjelaskan alasannya
- Saat membersihkan tim, lead akan menghapus resource tim bersama; jika masih ada anggota aktif, pembersihan gagal sehingga semua anggota harus dihentikan lebih dulu
Cara kerja internal agent team
-
Jalur memulai tim
- Pengguna meminta tim: menjelaskan tugas yang cocok untuk kerja paralel dan secara eksplisit meminta pembuatan agent team
- Claude mengusulkan tim: jika Claude menilai sifat tugas lebih menguntungkan bila diproses paralel, Claude akan mengusulkan pembuatan tim dan melanjutkan setelah pengguna menyetujui
- Dalam kedua kasus, tim tidak akan dibuat tanpa persetujuan pengguna
-
Komponen arsitektur
- Team lead: sesi Claude Code utama yang bertugas membuat tim, me-spawn anggota, dan mengoordinasikan pekerjaan
- Teammates: instance Claude Code terpisah yang menjalankan tugas masing-masing
- Task list: daftar item pekerjaan bersama yang dapat diklaim dan diselesaikan anggota tim
- Mailbox: sistem pesan untuk komunikasi antaragents
- Dependensi tugas dikelola otomatis; saat satu anggota tim menyelesaikan tugas, tugas yang sebelumnya terblokir akan terbuka tanpa intervensi manual
- Konfigurasi tim disimpan secara lokal di
~/.claude/teams/{team-name}/config.json, dan daftar tugas di ~/.claude/tasks/{team-name}/
- Konfigurasi mencakup array
members yang mencatat nama tiap anggota, agent ID, dan tipe agen
-
Izin
- Anggota tim memulai dengan pengaturan izin yang diwarisi dari lead; jika lead dijalankan dengan
--dangerously-skip-permissions, semua anggota tim juga akan mengikuti pengaturan itu
- Setelah di-spawn, mode tiap anggota dapat diubah secara individual, tetapi pengaturan izin per anggota saat spawn tidak didukung
-
Konteks dan komunikasi
- Setiap anggota tim memiliki context window independen, dan saat di-spawn akan memuat konteks proyek yang sama seperti sesi biasa, termasuk CLAUDE.md, server MCP, dan skill
- Riwayat percakapan lead tidak diteruskan ke anggota tim; hanya prompt saat spawn yang dikirimkan
- Penerusan pesan otomatis: pesan yang dikirim anggota tim akan otomatis diteruskan ke penerima, tanpa perlu polling oleh lead
- Notifikasi idle: saat anggota tim selesai bekerja lalu berhenti, lead akan diberi tahu secara otomatis
- Daftar tugas bersama: semua agen dapat memeriksa status tugas dan mengklaim pekerjaan yang tersedia
- Tersedia dua metode pesan, yaitu message (ke satu anggota tim tertentu) dan broadcast (ke seluruh anggota tim; karena biayanya sebanding dengan ukuran tim, penggunaannya perlu dibatasi)
-
Penggunaan token
- Dibanding satu sesi tunggal, agent team sangat meningkatkan penggunaan token, dan peningkatannya sebanding dengan jumlah anggota yang aktif
- Untuk riset, review, dan pengembangan fitur baru, biaya token tambahan biasanya layak; tetapi untuk pekerjaan rutin, satu sesi tunggal lebih efisien dari sisi biaya
Kasus penggunaan
-
Code review paralel
- Satu reviewer cenderung hanya fokus pada satu jenis isu dalam satu waktu, sehingga kriteria review dapat dibagi ke domain independen seperti keamanan, performa, dan cakupan testing
- Setiap reviewer menerapkan filter berbeda pada PR yang sama, lalu lead merangkum seluruh hasil setelah semuanya selesai
-
Investigasi berbasis hipotesis yang saling bersaing
- Agen tunggal cenderung berhenti mencari setelah menemukan satu penjelasan, sehingga anggota tim disusun secara eksplisit dalam struktur yang saling berlawanan
- Setiap anggota tim menyelidiki hipotesisnya sendiri sambil mencoba membantah teori anggota lain, membentuk pola diskusi ilmiah
- Pendekatan ini mencegah anchoring bias yang sering muncul pada investigasi berurutan dan meningkatkan kemungkinan bahwa teori yang bertahan benar-benar merupakan akar masalah
Praktik terbaik
- Berikan konteks yang cukup kepada anggota tim: konteks proyek memang dimuat otomatis, tetapi riwayat percakapan lead tidak diteruskan, jadi detail penting terkait tugas harus dimasukkan ke prompt spawn
- Atur ukuran tugas secara tepat: jika terlalu kecil, overhead koordinasi melebihi manfaatnya; jika terlalu besar, anggota tim bisa bekerja terlalu lama tanpa check-in dan berisiko membuang usaha; unit kerja mandiri dengan hasil jelas seperti fungsi, file test, atau review lebih cocok
- Jika lead mulai mengimplementasikan sendiri alih-alih membiarkan anggota tim bekerja, arahkan dengan
"Wait for your teammates to complete their tasks before proceeding"
- Saat pertama mencoba, mulailah dari tugas riset dan review dengan batas yang jelas dan tanpa penulisan kode, seperti review PR, investigasi library, atau investigasi bug
- Cegah konflik file: jika dua anggota tim mengedit file yang sama, hasilnya bisa saling menimpa, jadi bagi pekerjaan agar tiap anggota menangani kumpulan file yang berbeda
- Pantau kemajuan anggota tim secara berkala, ubah arah pendekatan yang tidak efektif, lalu rangkum hasil segera setelah tersedia
Troubleshooting
- Jika anggota tim tidak muncul: dalam mode in-process, gunakan Shift+Down untuk berpindah antaranggota aktif; pastikan tugasnya cukup kompleks untuk membutuhkan struktur tim; jika meminta split pane, pastikan tmux terpasang di PATH; untuk iTerm2, pastikan CLI
it2 terinstal dan Python API diaktifkan
- Prompt izin terlalu sering: karena permintaan izin dari anggota tim akan dibawa naik ke lead, lakukan pra-persetujuan untuk pekerjaan umum di pengaturan izin sebelum me-spawn anggota tim
- Anggota tim berhenti setelah error: periksa output anggota tersebut, lalu beri instruksi tambahan secara langsung atau spawn anggota pengganti untuk melanjutkan tugas
- Lead berhenti sebelum tugas selesai: beri instruksi agar lead tetap melanjutkan, atau atur agar menunggu semua anggota selesai sebelum berpindah ke mode delegate
- Sesi tmux yatim: jika sesi tmux masih tersisa setelah tim diakhiri, periksa dengan
tmux ls lalu hapus menggunakan tmux kill-session -t <session-name>
Batasan
- Sesi anggota in-process tidak bisa dipulihkan:
/resume dan /rewind tidak memulihkan anggota tim in-process, dan setelah pemulihan lead bisa saja mencoba mengirim pesan ke anggota yang sudah tidak ada, sehingga perlu me-spawn anggota baru
- Penundaan status tugas: jika anggota tim tidak menandai tugas sebagai selesai, tugas dependensi bisa tetap terblokir; perbarui status secara manual atau minta lead menagih anggota tim
- Penundaan penghentian: anggota tim baru akan berhenti setelah menyelesaikan permintaan atau pemanggilan tool yang sedang berjalan
- Hanya satu tim per sesi: untuk memulai tim baru, tim saat ini harus dibersihkan lebih dulu
- Tidak mendukung tim bertingkat: anggota tim tidak dapat membuat tim atau anggota tim sendiri; hanya lead yang dapat mengelola tim
- Lead tetap: sesi yang membuat tim menjadi lead permanen untuk tim tersebut; anggota tidak dapat dipromosikan menjadi lead dan kepemimpinan tidak bisa dipindahkan
- Izin ditetapkan seragam saat spawn: semua anggota tim memulai dengan mode izin lead, dan pengaturan izin per anggota saat spawn tidak didukung
- Split pane memerlukan tmux atau iTerm2: terminal terintegrasi VS Code, Windows Terminal, dan Ghostty tidak mendukung mode split-pane
2 komentar
Untuk orkestrasi multi-agent, sepertinya akan menjadi penting bagaimana mempertahankan hasil semantik selama proses kompresi konteks. Rasanya seperti ilmu kognitif.
Komentar Hacker News
Menarik bahwa inovasi selama 1 tahun terakhir sebagian besar bergerak dengan fokus pada engineering
Konsep baru seperti MCP, agent, skill, dan lainnya terus bermunculan, tetapi masalah mendasar seperti halusinasi, ketidakakuratan, dan runtuhnya konteks masih belum terselesaikan
Rasanya masalah seperti ini hanya bisa dipecahkan lewat riset fundamental, bukan sekadar engineering
Perbaikan dan pengumuman saat ini terasa seperti bagian dari siklus hype untuk menjaga ekspektasi investor
Sejujurnya saya sudah lelah dengan narasi AI, dan ingin cepat masuk ke fase di mana menjadi jelas teknologi ini benar-benar berguna untuk apa
Fitur seperti ini memang keren, tapi saya ragu berapa banyak orang yang benar-benar bisa menjalankan agent seharian
Saat memakai Cursor, konsumsi token terlalu besar sehingga saya upgrade ke Ultra, tetapi rasanya pemakaiannya tidak sebanding
Untungnya kubu LLM open-source berkembang cepat, jadi itu memberi harapan
Lagi pula yang dibicarakan sekarang bukan Cursor, melainkan Claude Code. Saya justru menyarankan mencoba Claude Max
Steve Yegge pernah mengusulkan ide agent orchestrator ke perusahaan seperti Anthropic
(Welcome to Gas Town)
Melihat Anthropic kini merilis Agent Teams, tampaknya mereka memang sudah menyiapkannya sejak saat itu atau sampai pada kesimpulan yang sama
Bagaimanapun, menarik bahwa visi Steve ternyata tervalidasi. Mungkin sebentar lagi masuk musim “menjinakkan polecat”
claude-code-orchestrator
.claude.lockItu berjalan cukup baik, tetapi masih belum efisien. Kecepatan penulisan spec dan kualitas QA menjadi bottleneck
Melihat provider LLM baru sekarang mempelajari hal seperti ini, rasanya mereka memang sedang bertumbuh secara real-time
Sebutan Kubernetes for agents juga bukan berlebihan. Saya juga menghubungkannya seperti itu di lokal
Saat itu modelnya hanya belum cukup pintar dan context window-nya kecil; sekarang baru benar-benar memungkinkan
Saya sudah memakai workflow yang membuat beberapa instance Claude Code berkolaborasi sebagai CLI agent berbasis tmux
Fitur orchestration kali ini jauh lebih berguna karena mereka berbagi task list yang sama dan agent utama yang mengoordinasikannya
Dengan alat tmux-cli, kolaborasi antar-agent bisa diotomatisasi
Saya sengaja belum mempelajari ini sampai sekarang karena sudah jelas fitur seperti ini pada akhirnya akan menjadi bawaan standar, tetapi sepertinya sekarang memang saatnya untuk mencoba
Saya khawatir langganan $20/bulan saya bahkan tidak akan bertahan 10 menit
Ini terlihat mirip Gas Town
Jika membuat sub-agent dari percakapan utama untuk memisahkan pekerjaan, kita bisa bekerja lama tanpa kehilangan konteks
Saya tidak bisa mempercayakan Claude Code secara mandiri untuk pekerjaan besar
Untuk menjaga kualitas kode, saya harus terlibat langsung dalam proses desain
Tim agent justru terasa akan menambah beban review dan refactoring
Membagi agent untuk perencanaan, desain, QA, dan review agar berkolaborasi seperti ini memang inti dari fitur tersebut
Makalah terkait
Saya sedang mencari orkestrasi multi-LLM dengan Opus sebagai utama, dan sub-agent memakai Gemini atau Codex
Semuanya adalah proyek buatan developer Tiongkok, tetapi dari yang saya coba hasilnya sangat bagus
Pengalaman terkait saya rangkum dalam postingan Twitter
Saya juga memakai kode review skill dan analis PR Greptile
struktur seperti membuat rencana dengan GPT-5.2 Codex Max, implementasi dengan Opus 4.5, dan review dengan Gemini juga memungkinkan
Saat membuat alternatif untuk Beads, saya akhirnya menyelesaikan sistem agent yang tersinkron dengan proyek GitHub dengan struktur yang mirip
Saya berencana segera merilisnya sebagai open source, dan menurut saya dalam jangka panjang akan lebih berguna jika terintegrasi dengan sistem tiket
Akan lebih baik jika tersedia lebih banyak alternatif agnostik yang tidak bergantung pada agent tertentu