Dua Tugas AI Saya Terus Berebut Mouse yang Sama
Demo agen paralel terlihat hebat sampai dua tugas mencoba menggunakan mouse yang sama.
Satu tugas melakukan login ke sebuah situs. Tugas lain membuka browser. Tugas ketiga mencoba menjawab pertanyaan sederhana. Tiba-tiba, sistem mengklik tempat yang salah atau melaporkan kegagalan. Ini bukan masalah kecerdasan. Ini adalah masalah sumber daya.
Saat membangun CliGate, saya mempelajari pelajaran berharga tentang otomatisasi desktop.
Tugas kode dapat berjalan secara paralel. Anda dapat mencari informasi cuaca sementara sesi runtime sedang bekerja. Ringkasan latar belakang tidak perlu memblokir apa pun.
Desktop berbeda. Anda memiliki satu keyboard, satu mouse, dan satu layar. Jika dua agen merasa mereka memiliki permukaan tersebut, mereka akan saling menyabotase.
Insting pertama saya adalah membatalkan tugas lama saat tugas baru tiba. Ini salah.
Pengguna yang bertanya "sudah sampai mana?" tidak seharusnya menghentikan alur login. Pengguna yang menanyakan cuaca tidak seharusnya menghentikan tugas desktop. Bug terburuk terjadi ketika seorang agen melihat proses aktif lainnya dan secara tidak sengaja membatalkan dirinya sendiri.
Saya harus berhenti memperlakukan konkurensi sebagai masalah prompt. Saya harus memperlakukannya sebagai masalah sumber daya.
Saya menetapkan tiga aturan baru:
- Tugas-tugas independen berjalan secara paralel.
- Tugas yang membutuhkan desktop harus mengantre.
- Pembatalan hanya terjadi jika pengguna memintanya.
Di CliGate, input desktop bekerja seperti sewa (lease). Jika sebuah tugas menggunakan mouse, ia memegang hak sewa tersebut. Tugas lain harus menunggu.
Logika baru mengikuti alur ini:
- Tugas baru tiba.
- Apakah membutuhkan desktop?
- Jika tidak, jalankan secara paralel.
- Jika ya dan desktop sedang kosong, ambil.
- Jika ya dan desktop sedang sibuk, masukkan ke antrean.
- Hanya batalkan saat pengguna mengatakan berhenti.
Perubahan ini mengubah kegagalan yang membingungkan menjadi perilaku yang dapat diprediksi. Alih-alih mencoba mengulang klik dan menyebabkan lebih banyak gangguan, asisten sekarang mengatakan yang sebenarnya: "Desktop sedang sibuk. Saya sedang dalam antrean dan akan dimulai saat sudah kosong."
Saya juga menambahkan aturan untuk mencegah pembatalan diri sendiri. Seorang agen tidak boleh mencantumkan proses aktifnya sendiri sebagai target untuk dibatalkan.
Membangun alat AI sering kali gagal ketika Anda mencoba menjadi terlalu pintar. Pengguna tidak butuh keajaiban. Mereka butuh logika sederhana:
- Jika tugas tidak berkonflik, biarkan berjalan.
- Jika mereka berkonflik memperebutkan sumber daya fisik, masukkan ke antrean.
- Jika pengguna menanyakan status, berikan statusnya.
- Jika pengguna mengatakan berhenti, berhenti.
Jika AI Anda menyentuh desktop, ingatlah ini: tugas paralel tidak masalah, tetapi sumber daya fisik membutuhkan kepemilikan.
Sumber: https://dev.to/codekingai/my-two-ai-tasks-kept-fighting-for-the-same-mouse-1hij