3 poin oleh GN⁺ 3 jam lalu | Belum ada komentar. | Bagikan ke WhatsApp
  • Alur kerja dinamis adalah fitur yang memungkinkan Claude Code menulis harness yang sesuai untuk tugas secara langsung saat itu juga, sehingga harness kustom yang sebelumnya harus dibangun terpisah kini dapat ditangani secara native di dalam kode
  • Menjalankan file JavaScript untuk membuat dan mengorkestrasi subagent, serta memungkinkan pemilihan model yang akan digunakan setiap agen dan apakah worktree perlu diisolasi
  • Secara struktural mencegah mode kegagalan seperti agentic laziness, self-preferential bias, goal drift yang muncul dalam satu jendela konteks tunggal dengan memisahkannya ke konteks yang terisolasi
  • Dapat digunakan tidak hanya untuk coding, tetapi juga untuk tugas nonteknis seperti migrasi, riset mendalam, pengurutan, triase, dan investigasi akar masalah
  • Konsumsi tokennya besar sehingga tidak diperlukan untuk semua tugas, tetapi menjadi titik awal untuk memperluas Claude Code dengan pemanfaatan yang kreatif

Ikhtisar alur kerja dinamis

  • Minggu lalu, Claude Code merilis alur kerja dinamis, yang memungkinkan Claude menulis harness yang sesuai dengan tugas secara langsung
  • Harness default Claude Code dibuat untuk coding, tetapi karena banyak tugas mirip dengan pekerjaan coding, ini juga berguna untuk jenis tugas lain
  • Selama ini, Research, security analysis, agent teams, dan Code Review mencapai performa terbaik dengan membangun harness kustom terpisah di atas Claude Code
  • Workflow menangani masalah-masalah ini secara native di dalam Claude Code, dan juga mendukung berbagi serta penggunaan ulang
  • Praktik terbaiknya masih terus berkembang, dan karena konsumsi token tinggi, perlu mempertimbangkan dengan cermat kapan dan bagaimana menggunakannya

Contoh prompt

  • "Tes ini bisa gagal sekitar 1 kali dari 50 kali eksekusi. Bangun workflow untuk mereproduksinya. Buat beberapa hipotesis tentang race condition, lalu teruskan sampai muncul hipotesis yang masuk akal berdasarkan bukti."
  • "Gunakan workflow untuk meninjau 50 sesi terakhir dan temukan bagian yang berulang kali diperbaiki, lalu ubah bagian yang berulang itu menjadi aturan CLAUDE.md"
  • "Gunakan workflow untuk menganalisis #incidents di Slack selama 6 bulan terakhir dan temukan akar masalah berulang yang belum pernah dibuatkan tiket oleh siapa pun."
  • "Ambil proposal bisnis saya dan jalankan workflow agar beberapa persona menganalisisnya secara teliti dari sudut pandang investor, pelanggan, dan pesaing."
  • "Berikut folder berisi 80 CV. Gunakan workflow untuk memberi peringkat CV yang cocok untuk posisi backend, lalu periksa sekali lagi 10 teratas. Gunakan alat AskUserQuestion untuk mewawancarai saya berdasarkan rubrik penilaian."
  • "Saya perlu memberi nama pada alat CLI ini. Gunakan workflow untuk melakukan brainstorming beberapa opsi dan pilih 3 teratas dengan format turnamen."
  • "Gunakan workflow untuk mengganti nama model User menjadi Account di semua tempat."
  • "Tinjau draf posting blog saya dengan teliti dan gunakan workflow untuk membandingkannya dengan codebase serta semua klaim teknis. Saya tidak ingin menerbitkan informasi yang salah."

Cara kerja alur kerja dinamis

  • Menjalankan file JavaScript yang mencakup beberapa fungsi khusus untuk membantu membuat dan mengorkestrasi subagent
  • Mendukung pemrosesan data dengan fungsi JavaScript standar seperti JSON, Math, dan Array
  • Dapat memilih model yang akan digunakan agen dan menentukan apakah isolasi worktree diperlukan untuk subagent, sehingga Claude dapat memilih tingkat kecerdasan dan isolasi yang dibutuhkan
  • Bahkan jika workflow terhenti karena interaksi pengguna atau terminal ditutup, saat sesi dilanjutkan proses akan terus berjalan dari titik berhenti

Mengapa alur kerja dinamis diperlukan

  • Harness default menjalankan perencanaan dan eksekusi sekaligus dalam satu jendela konteks, efektif untuk banyak tugas coding, tetapi memiliki keterbatasan pada tugas jangka panjang, paralel berskala besar, atau tugas adversarial yang sangat terstruktur
  • Semakin lama tugas kompleks dijalankan dalam satu konteks, semakin rentan terhadap mode kegagalan tertentu
    • Agentic laziness: berhenti sebelum menyelesaikan tugas kompleks multi-tahap dan menyatakan selesai setelah hanya menyelesaikan sebagian (misalnya hanya menangani 20 dari 50 item review keamanan)
    • Self-preferential bias: kecenderungan untuk lebih menyukai hasilnya sendiri saat memverifikasi atau menilai terhadap rubrik
    • Goal drift: kesetiaan terhadap tujuan awal perlahan hilang sepanjang banyak turn, terutama setelah compaction, sehingga kebutuhan edge case atau batasan seperti "jangan lakukan X" ikut hilang
  • Hal ini dicegah dengan mengoordinasikan banyak Claude yang memiliki jendela konteks terpisah serta tujuan yang fokus dan terisolasi

Alur kerja dinamis vs statis

  • Sebelumnya, alur kerja statis dapat dibuat dengan mengoordinasikan beberapa instance Claude Code melalui Claude Agent SDK atau claude -p
  • Alur kerja statis umumnya lebih generik karena harus menangani semua edge case
  • Dengan Claude Opus 4.8 dan alur kerja dinamis, Claude kini cukup cerdas untuk menulis sendiri harness kustom yang sesuai dengan use case

Pola pemanfaatan alur kerja dinamis

  • Minta Claude membuat workflow, atau gunakan kata pemicu ultracode untuk memastikan workflow dibuat
  • Ada pola umum yang dikombinasikan Claude saat membangun workflow
  • Classify-and-act

    • Agen pengklasifikasi menentukan jenis tugas lalu merutekannya ke agen atau tindakan yang berbeda sesuai tugas, atau pada akhirnya menggunakan pengklasifikasi untuk menentukan output
  • Fan-out-and-synthesize

    • Memecah tugas menjadi langkah-langkah kecil, menjalankan agen pada tiap langkah, lalu mensintesis hasilnya
    • Berguna saat ada banyak langkah kecil atau tiap langkah mendapat manfaat dari jendela konteks yang bersih, untuk mencegah interferensi dan kontaminasi silang
    • Tahap synthesize berfungsi sebagai barrier, menunggu semua agen fan-out sebelum menggabungkan output terstruktur menjadi satu
  • Adversarial verification

    • Untuk setiap agen yang dihasilkan, jalankan agen terpisah untuk memverifikasi outputnya secara adversarial terhadap rubrik atau kriteria
  • Generate-and-filter

    • Menghasilkan banyak ide untuk suatu topik lalu memfilternya dengan rubrik atau verifikasi, menghapus duplikasi, dan hanya mengembalikan ide tervalidasi dengan kualitas terbaik
  • Tournament

    • Alih-alih membagi tugas, agen saling bersaing; N agen mencoba tugas yang sama dengan pendekatan berbeda, lalu agen penilai memutuskan secara pairwise sampai ada pemenang
  • Loop until done

    • Saat beban kerja tidak pasti, agen dibuat berulang kali bukan untuk jumlah tetap, tetapi sampai kondisi berhenti terpenuhi (tidak ada temuan baru, tidak ada error di log)

Contoh penggunaan

  • Workflow kadang justru lebih berguna untuk tugas nonteknis
  • Migrasi dan refaktor

    • Bun ditulis ulang dari Zig ke Rust dengan workflow; detailnya dapat dilihat di thread X Jarred
    • Kuncinya adalah memecah pekerjaan menjadi tahap seperti callsites, tes yang gagal, dan modul
    • Untuk tiap perubahan, subagent dibuat dalam worktree, lalu agen lain melakukan review adversarial sebelum digabungkan
    • Dengan menginstruksikan agar menghindari perintah yang intensif sumber daya, paralelisme maksimum bisa dicapai tanpa menguras sumber daya mesin
  • Riset mendalam

    • Deep research skill (/deep-research) yang menggunakan alur kerja dinamis telah dirilis, melakukan fan-out pada pencarian web, mengambil sumber, memverifikasi klaim secara adversarial, lalu menyusun laporan lengkap dengan sitasi
    • Selain pencarian web, ini juga bisa dipakai untuk menulis laporan status dari konteks Slack atau menelusuri codebase secara mendalam untuk menyelidiki cara kerja fitur
  • Verifikasi mendalam

    • Untuk memeriksa dan memberi sumber pada semua klaim fakta dalam sebuah laporan, workflow dapat dibuat agar satu agen mengidentifikasi semua klaim fakta, lalu subagent memeriksa masing-masing secara rinci
    • Agen verifikasi juga bisa memeriksa kualitas sumber dari subagent sumber
  • Pengurutan

    • Berguna saat mengurutkan item berdasarkan kriteria penilaian kualitatif (misalnya tiket dukungan berdasarkan tingkat keparahan bug)
    • Jika mengurutkan lebih dari 1000 baris dalam satu prompt, kualitas menurun dan konteks bisa terlampaui; sebagai gantinya gunakan turnamen, pipeline perbandingan pairwise, atau bucket-rank paralel lalu gabungkan
    • Comparative judgment lebih andal daripada skor absolut; karena tiap perbandingan dilakukan oleh agen terpisah, deterministic loop menjaga bracket dan hanya urutan eksekusi yang tersisa di konteks
  • Memori dan kepatuhan aturan

    • Untuk aturan yang tetap terlewat Claude meski sudah dimasukkan ke CLAUDE.md, buat workflow yang memiliki daftar aturan lalu satu agen verifikasi untuk tiap aturan
    • Untuk mengurangi false positive, buat subagent persona skeptic yang meninjau aturan
    • Kebalikannya juga bisa: menambang perbaikan berulang dari sesi terbaru atau komentar code review, mengelompokkannya dengan agen paralel, lalu memverifikasi tiap kandidat secara adversarial ("apakah aturan ini benar-benar akan mencegah kesalahan?") sebelum menyaring aturan yang lolos ke CLAUDE.md
  • Investigasi akar masalah

    • Debugging lebih efektif jika beberapa hipotesis independen dibuat dan diuji, tetapi pada satu jendela konteks tunggal bisa muncul self-preferential bias
    • Workflow mencegahnya secara struktural dengan menghasilkan hipotesis lewat agen yang dipisahkan berdasarkan bukti seperti log, file, dan data; tiap hipotesis kemudian dihadapkan pada panel verifier dan penyanggah
    • Ini juga berguna untuk post-mortem di luar kode, seperti penjualan (penyebab turunnya pendapatan Maret) atau data engineering (penyebab kegagalan pipeline)
  • Triase skala besar

    • Workflow triase untuk support queue, bug report, atau backlog yang terlalu besar untuk ditangani manusia dapat mengklasifikasikan tiap item, menghapus duplikasi dengan item pelacakan yang sudah ada, lalu mengambil tindakan (mencoba memperbaiki atau mengeskalasi ke manusia)
    • Pola yang berguna adalah quarantine, yang memblokir tindakan berhak tinggi pada agen yang membaca konten publik yang tidak tepercaya, dan menyerahkan pemrosesan informasi pada agen yang ditugaskan
    • Dapat dijalankan terus-menerus dengan digabungkan bersama /loop
  • Eksplorasi dan preferensi

    • Berguna untuk mengeksplorasi solusi berbasis selera seperti desain atau penamaan yang tetap mendapat manfaat dari rubrik
    • Biarkan beberapa solusi dieksplorasi, berikan rubrik tentang seperti apa solusi yang baik kepada agen reviewer, lalu jika reviewer menilai kriteria terpenuhi maka proses selesai; juga bisa diurutkan dan dipilih lewat turnamen
  • Evaluasi (Evals)

    • Menjalankan evaluasi ringan dengan membuat agen terpisah di worktree dan agen pembanding yang memberi skor terhadap rubrik; misalnya mengevaluasi dan memperbaiki skill yang dibuat berdasarkan kriteria tertentu
  • Routing model dan kecerdasan

    • Buat agen pengklasifikasi yang menentukan model sesuai tugas, dengan mengidentifikasi model optimal melalui investigasi awal pada tugas yang melibatkan banyak tool call
    • Contoh: untuk tugas "jelaskan cara kerja modul auth", model terbaik berbeda tergantung jumlah file modul auth dan bentuk codebase; pengklasifikasi menyelidikinya lalu merutekan ke Sonnet atau Opus sesuai kompleksitas

Kapan tidak perlu digunakan

  • Workflow adalah fitur baru yang memiliki banyak use case berdampak besar, tetapi tidak dibutuhkan untuk semua tugas dan bisa menghabiskan token jauh lebih banyak
  • Ini cocok untuk pemanfaatan kreatif yang mendorong Claude Code dengan cara yang sebelumnya belum pernah dicoba
  • Untuk tugas coding biasa, tanyakan pada diri sendiri: "apakah ini benar-benar membutuhkan komputasi lebih banyak?"; kebanyakan tugas coding tradisional tidak memerlukan panel berisi 5 reviewer

Tips membangun alur kerja dinamis

  • Prompting

    • Prompt yang detail dengan teknik yang dijelaskan sebelumnya memberikan hasil terbaik
    • Tidak hanya untuk tugas besar; Anda juga bisa mem-prompt "quick workflow" untuk melakukan hal seperti review adversarial cepat terhadap asumsi
  • Dikombinasikan dengan /goal dan /loop

    • Workflow yang dapat diulang seperti triase, riset, dan verifikasi bisa dijalankan berkala dengan /loop, dan gunakan /goal untuk menetapkan syarat selesai yang ketat
  • Anggaran penggunaan token

    • Tetapkan anggaran penggunaan token secara eksplisit untuk membatasi token per tugas, misalnya dengan prompt seperti "use 10k tokens"
  • Menyimpan dan berbagi

    • Di menu workflow, tekan "s" untuk menyimpan; bisa di-check-in ke ~/.claude/workflows atau didistribusikan sebagai skill
    • Saat dibagikan sebagai skill, letakkan file workflow JavaScript di folder skill dan referensikan di SKILL.md; untuk fleksibilitas, prompt agar workflow di dalam skill diperlakukan sebagai template, bukan skrip yang dijalankan apa adanya
  • Titik awal untuk ekspansi

    • Workflow adalah cara baru untuk memperluas Claude Code, dan cara pemanfaatan terbaiknya masih menjadi titik awal yang menyisakan banyak hal untuk ditemukan

Belum ada komentar.

Belum ada komentar.