Seorang engineer dan robot orchestrator merencanakan pekerjaan, sementara dua agen membuat dan memeriksa perubahan.

Setiap software engineer yang memakai AI (artificial intelligence) sebaiknya membangun stack sendiri untuk bekerja dengan agen AI. Kita sebut saja Y(our) Stack, stack milik kamu. Alat, skill, dan langkah verifikasinya mengikuti cara kamu bekerja.

Coba baca tulisan Poteto tentang pstack. Lalu coba bangun ulang alur kerjanya sendiri, tanpa melihat tulisan Poteto lagi.

Ini mirip belajar lewat video tutorial waktu kita baru mulai jadi software engineer. Kita menonton orang membuat sesuatu, lalu mencoba membuatnya sendiri. Begitu harus mengambil keputusan sendiri, baru ketahuan bagian mana yang sudah kita pahami dan mana yang perlu dipelajari lagi.

Membangun ulang stack memberi kita kesempatan yang sama. Kita jadi bisa menilai bagian mana yang cocok dengan pekerjaan kita. Coba tanya ke diri sendiri, “Saya butuh stack ini? Perlu semua bagiannya?”

Lalu pikirkan cara menambahkan verifikasi. Bukti apa yang bisa membuat kamu yakin dengan hasilnya?

Bersikap kritis juga bagian dari latihan ini. Pertanyaan tadi membantu kamu memilih apa yang perlu masuk ke stack kamu sendiri.

Gambar diagram untuk memahami alur kerja

Saya lebih mudah memahami alur besarnya lewat diagram daripada menulis semua detailnya di file Markdown. Dari diagram, saya bisa melihat hubungan antarlangkah dan bagaimana sebuah keputusan menentukan langkah berikutnya.

Ini diagram alur kerja yang saya pakai:

Keputusan dan pengulangan dalam alur kerja. Review independen dan pemeriksaan wajib berlaku untuk commit terkini. Pemeriksaan yang gagal atau permintaan perubahan kembali ke perbaikan dan review. Setelah merge, kebutuhan yang belum selesai berlanjut ke pull request berikutnya. Jika semua kebutuhan selesai, workspace dibersihkan.

Mulai saja dari yang kecil. Pastikan prosesnya berjalan, baru kembangkan.

Stack saya berawal dari satu agen yang mengerjakan satu tugas. Dari situ, kami mulai mempertanyakan hasilnya.

Sudah sesuai kebutuhan? Bagaimana cara mengeceknya? Masalah apa yang masih harus saya temukan sendiri?

Kami menambahkan verifikasi supaya saya tidak perlu terus turun tangan. Hasil pemeriksaannya harus memberi bukti yang bisa kami pakai untuk memutuskan apakah alur ini sudah siap menangani lebih banyak pekerjaan.

Saya mau cerita bagaimana saya menemukan stack yang cocok untuk saya.

Awalnya, saya harus mengawasi setiap tugas. Saya menentukan apa yang harus dikerjakan, meminta agen mengerjakannya, lalu menunggu hasilnya. Setelah itu, saya mengecek hasilnya dan memberi instruksi lanjutan. Kalau ada 10 tugas, proses ini harus saya ulang 10 kali.

Sekarang, saya bisa fokus ke satu agen yang mengatur pekerjaan agen-agen lain, yaitu orchestrator. Jadi saya tidak perlu mengawasi 10 agen satu per satu. Ia meminta perhatian saya hanya saat ada masalah yang butuh masukan saya. Ia bisa bertanya kepada saya sambil tetap mengatur pekerjaan lain.

Saya tidak lagi perlu mengarahkan setiap langkah untuk setiap tugas. Orchestrator bisa mengatur beberapa tugas secara paralel.

Satu agen merumuskan issue, agen lain mengerjakan tugas, dan agen terpisah melakukan review terhadap perubahan yang sudah selesai. Lingkup setiap tugas harus jelas sebelum implementasi dimulai. Perubahannya harus selesai dulu sebelum masuk ke review.

Setelah hasilnya siap, saya memeriksanya. Saya tetap menentukan lingkup pekerjaan dan memutuskan apakah perubahan boleh saya merge.

Sebelum: seorang pria kebingungan menerima permintaan terpisah dari banyak robot. Sesudah: orchestrator yang tersenyum mencatat pertanyaan penting serta tugas implementasi, verifikasi, dan review kode yang sudah selesai.

Orchestrator mengatur pekerjaan di beberapa tugas sekaligus. Tugas-tugas itu bisa berjalan bersamaan, sedangkan review saya tetap jadi langkah tersendiri.

Di stack saya, saya tetap memeriksa pekerjaan agen-agen saya. Ada yang berhenti memeriksa hasil setelah menambahkan banyak langkah verifikasi. Saya tetap melakukan review karena ingin ikut menentukan hasil akhirnya.

Kalau alur kerja kecil sudah berjalan cukup baik, kamu bisa menambah kapasitasnya. Cari juga langkah yang masih harus dikerjakan manual, lalu putuskan apakah perlu diotomatisasi. Cek hasil setiap perubahan sebelum mengembangkannya lagi.

Cara saya menyusun stack banyak dipengaruhi oleh cara saya main Factorio. Saya mulai dari satu assembler, menyiapkan bahan-bahannya, lalu mengecek hasilnya. Setelah berjalan, baru saya sambungkan ke bagian berikutnya.

Seiring pabriknya berkembang, saya atur tata letaknya mengikuti proses produksi.

Mulai dari satu assembler, periksa hasilnya, lalu kembangkan menjadi lini produksi yang saling terhubung.

Saya pakai cara yang sama untuk alur kerja agen saya. Setiap kali menambah bagian baru, saya mulai dari proses yang sudah saya pahami.

Tentukan lingkup, implementasikan, lakukan verifikasi dan review, lalu periksa hasil dan selesaikan. Permintaan perubahan mengulang implementasi dan review. Pekerjaan yang belum selesai perlu ditindaklanjuti.

Saya memberi permintaan. Agen koordinator mengecek notifikasi, memilih tugas yang sudah mendapat izin, lalu membagikannya ke workspace yang tersedia. Agen implementasi membuat perubahan.

Agen terpisah melakukan review terhadap commit terkini. Pemeriksaan wajib juga harus lolos untuk commit yang sama. Setelah itu, saya memeriksa pull request dan memutuskan apakah akan melakukan merge.

Setelah merge, agen-agen mengecek apakah semua kebutuhan tugas sudah terpenuhi, lalu membersihkan workspace.

Diagram ini menunjukkan langkah-langkah utamanya. Alur lengkapnya saya kembangkan lewat beberapa kali percobaan dan perbaikan. Sekarang sudah ada aturan untuk tugas paralel, review oleh agen terpisah, pekerjaan yang belum selesai, dan pembersihan workspace.

Menyusun proses ini sedikit demi sedikit memang butuh waktu. Tapi saya jadi yakin karena tahu kenapa tiap langkah ada, bukti apa yang membuat agen boleh lanjut, dan kapan mereka harus menunggu saya. Dari situ, saya bisa memutuskan apa yang perlu diubah berikutnya.

Di alur kerja kamu, bagian mana yang masih perlu kamu periksa sendiri?