Blog

Apa yang sudah dikerjakan agen AI saya? Empat pertanyaan yang dijawab dengan bukti

Untuk setiap tugas agen AI, Anda harus melihat siapa, apa yang berubah, apa yang dilewati, dan alasannya, dengan bukti yang bisa diperiksa, bukan komentar "selesai".

Weft adalah pengelola tugas AI untuk pendiri tunggal dan tim kecil.

Semua artikel

Oleh Andrei Finogeev ·

Untuk mengetahui apa yang dikerjakan agen AI Anda, jangan mulai dari ringkasannya. Periksa empat hal: koneksi mana yang mengerjakannya, apa yang berubah (ditunjukkan oleh sesuatu yang bisa Anda buka sendiri), apa yang tidak dikerjakan, dan apa yang diputuskan serta alasannya. Jika salah satu dari keempatnya hanya bersandar pada kata-kata agen, yang Anda punya adalah cerita, bukan catatan.

Kami yang membuat Weft. Fakta tentang produk lain diambil dari halaman resminya, diperiksa pada 27 Oktober 2026.

Mengapa komentar yang berbunyi "selesai" tidak cukup?

Komentar adalah agen yang menggambarkan pekerjaannya sendiri. Isinya bisa saja akurat, tetapi komentar tidak bisa membuktikannya, karena penulisnya adalah pihak yang justru ingin Anda periksa. Mengetahui bahwa agen menyentuh sebuah tugas menjawab siapa. Itu tidak menjawab apakah pekerjaannya sesuai dengan yang Anda kira.

Artikel Hypertask tentang atribusi pekerjaan AI menyampaikan poin yang adil: pekerjaan agen seharusnya masuk ke papan yang sama dengan pekerjaan manusia, bukan ke log terminal yang tidak dibaca siapa pun. Hypertask juga memberi agen identitas sendiri sebagai akun layanan, sehingga perubahan diatribusikan ke agen, bukan ke Anda, dan punya bukti tugas serta masa pinjam, meskipun dokumentasinya menyatakan bahwa semua itu hanya endpoint REST, bukan alat MCP, memang dirancang begitu. Perbedaan kami ada pada isi catatannya. Utas komentar berisi keluaran agen adalah log tentang apa yang dikatakan agen. Kami ingin catatan itu memuat bukti.

Tidak ada angka survei di panduan ini. Anda bisa menguji keempat pertanyaan ini di papan Anda sendiri sore ini, dan itu memberi tahu Anda lebih banyak daripada rata-rata industri.

Apa saja empat pertanyaannya?

Pilih tugas apa saja yang diselesaikan agen minggu lalu. Anda seharusnya bisa menjawab masing-masing dalam waktu kurang dari satu menit tanpa bertanya kepada agen atau membuka obrolannya:

  1. Siapa yang mengerjakannya? Klien mana, di koneksi mana, yang mengklaim dan menyelesaikan tugas itu.
  2. Apa yang berubah? Hasilnya, ditambah artefak yang bisa Anda periksa tanpa memercayai agen: hash commit, URL, file, id pesan.
  3. Apa yang tidak dikerjakan? Bagian yang dilewatinya, dan hal-hal yang membuatnya ragu.
  4. Apa yang diputuskan, dan mengapa? Setiap pilihan yang diambil di tengah jalan, dengan opsi yang ditimbang, dan setiap kali Anda mengembalikan pekerjaan itu.
PertanyaanJawaban lemah: komentar yang berbunyi "selesai"Jawaban kuat: bukti yang bisa Anda periksa
Siapa yang mengerjakannya?"Agen" atau nama Anda sendiri di setiap perubahan, karena semua alat memakai satu kunci yang samaKoneksi yang mengklaim dan menyelesaikan tugas, dengan nama yang didaftarkan klien, dan setiap peristiwa jurnal ditandai orang atau MCP beserta id kliennya
Apa yang berubah?"Modul autentikasi sudah direfaktor, tes lolos"Hash commit, URL PR atau halaman, file dengan sha256-nya, id pesan: sesuatu yang Anda buka sendiri
Apa yang tidak dikerjakan?Tidak disebutkan, jadi Anda mengira tidak ada yang dilewatiDaftar notDone ("tidak menjalankan migrasi di staging") dan daftar unknowns ("belum yakin endpoint lama tidak punya pemanggil lain")
Apa yang diputuskan, dan mengapa?Terkubur di obrolan yang sudah lama tergulirCatatan keputusan dengan opsi yang ditimbang dan syarat untuk meninjaunya kembali, ditambah riwayat keputusan tugas, termasuk alasan tugas itu dikembalikan

Bagaimana saya tahu agen mana yang mengerjakannya?

Weft terhubung ke klien AI lewat Model Context Protocol di satu endpoint, https://letsweft.com/api/mcp. Setiap klien OAuth dan setiap token akses pribadi adalah aktor tersendiri. Tugas mencatat klien mana yang membuatnya, dan papan menampilkan nama yang didaftarkan klien itu saat masuk, ditambah ikon. Setiap peristiwa di jurnal tugas menyimpan apakah peristiwa itu berasal dari orang atau lewat MCP, dan klien mana yang mengirimnya.

Jurnal lengkap (get_task_history dalam mode full) menampilkan id klien mentah untuk setiap peristiwa: id klien OAuth, atau mcp-token diikuti id token. Itu bukan nama yang ramah, tetapi persis, dan membedakan dua koneksi bahkan ketika keduanya berasal dari produk yang sama.

Kepemilikan selama pekerjaan berlangsung juga eksplisit. Agen memanggil start_task, yang mengklaim tugas dengan masa pinjam 20 menit dan memindahkannya ke Doing. report_progress memperpanjang masa pinjam. Agen kedua yang mencoba tugas yang sama mendapat already_claimed, dan masa pinjam yang habis membebaskan tugas untuk yang lain. Panduan siklus klaim membahasnya langkah demi langkah, dan menjalankan beberapa agen di satu papan membahas kasus multiklien.

Satu aturan praktis: beri setiap alat koneksinya sendiri. Jika dua klien memakai satu token akses yang sama, papan melihat satu aktor, dan pertanyaan siapa kehilangan jawabannya.

Apa yang berubah, dan bisakah saya memeriksanya tanpa bertanya kepada agen?

Ketika agen selesai, ia memanggil complete_task. Hanya id tugas yang wajib; selebihnya opsional, dan panggilan ini tidak pernah gagal karena bukti tidak ada. Itu disengaja: kehilangan pekerjaan yang sudah selesai lebih buruk daripada mencatatnya tanpa verifikasi. Yang bisa dibawa sebuah tanda terima:

  • outcome: hingga 1.000 karakter tentang apa yang dikerjakan dan di mana hasilnya berada.
  • artifacts: hingga 20 entri, masing-masing berisi jenis (url, file, message, commit, dan sebagainya), lokasi, dan secara opsional digest sha256.
  • claims: apa yang diklaim agen telah dilakukannya, disimpan sebagai klaim, bukan fakta yang terverifikasi.
  • notDone dan unknowns: dibahas di bagian berikutnya.
  • nextStep: apa yang akan dilakukan agen berikutnya jika Anda menerima.
complete_task({
  "id": "<task id>",
  "runId": "<from start_task>",
  "leaseToken": "<from start_task>",
  "outcome": "Rate limiting added to /login; PR open, not merged.",
  "artifacts": [
    { "kind": "commit", "uri": "<repo>/commit/<hash>" },
    { "kind": "url", "uri": "<repo>/pull/<number>" }
  ],
  "notDone": ["Did not change the signup endpoint"],
  "unknowns": ["Limit of 5 per minute is a guess; no traffic data"],
  "nextStep": "Merge the PR to main"
})

Baris outcome tetaplah cerita. Artefaklah bagian yang bisa Anda periksa. Hash commit ada di repositori Anda atau tidak. URL bisa dimuat atau tidak. sha256 sebuah file cocok atau tidak. Jika tanda terima punya outcome tetapi tanpa artefak, perlakukan sebagai pekerjaan yang dilaporkan agen, karena memang itulah adanya. Di web, kartu Done menunjukkan apakah tugas berstatus Terverifikasi atau Menurut agen.

Apa yang tidak dikerjakan agen?

Inilah pertanyaan yang paling sering dilewati catatan, dan yang menggigit dua minggu kemudian. complete_task punya dua daftar untuk itu, masing-masing hingga 20 entri sepanjang 500 karakter: notDone untuk apa yang sengaja ditinggalkan agen, dan unknowns untuk apa yang membuatnya ragu. Deskripsi alat itu sendiri meminta agen menyatakan secara terbuka apa yang tidak mereka kerjakan. Itulah yang memisahkan hasil yang bisa Anda andalkan dari hasil yang harus Anda telusuri ulang.

Baca daftar-daftar ini lebih dulu. "Tidak menjalankan tes terhadap basis data staging" mengubah apa yang Anda lakukan berikutnya. Tanda terima tanpa entri notDone pada tugas besar justru layak dipertanyakan.

Apa yang diputuskan, dan mengapa?

Keputusan yang diambil di obrolan lenyap ketika obrolan tergulir jauh. record_decision menyimpannya dengan dua cara:

  • Catatan keputusan mandiri: judul, hasil, konteks, opsi yang benar-benar ditimbang, konsekuensi, dan syarat untuk meninjaunya kembali. Catatan tidak bisa diubah; mengubahnya berarti mencatat keputusan baru yang menggantikannya, dan catatan lama tetap ada, ditandai sudah digantikan.
  • Penerusan putusan: ketika Anda berkata kepada agen dalam percakapan "diterima", "ulangi dengan X", "batalkan" atau "jangan sekarang", agen mencatat putusan itu di tugas, beserta catatan Anda.

get_task_history membacanya kembali dalam tiga mode: summary (kartu, tanda terima terakhirnya, dan hitungan), decisions (setiap keputusan tentang tugas, termasuk alasan tugas dikembalikan, yang tetap ada bahkan setelah diterima kemudian) dan full (jurnal mentah, dibatasi 100 peristiwa). get_context menyerahkan keputusan yang masih berlaku kepada agen berikutnya dalam anggaran token, sehingga run berikutnya dimulai dari apa yang sudah diputuskan, bukan dari nol. Selengkapnya di mengapa keputusan di obrolan AI hilang.

Di mana saya meninjaunya, dan apa yang saya klik?

Secara bawaan, tugas yang selesai langsung masuk Done. Tugas itu berhenti di Kotak masuk Anda jika perlu ditinjau atau jika pemeriksaan verifikasi gagal. Di sana Anda melihat tanda terima dan empat tombol: Terima, Kerjakan ulang, Nanti, dan Batalkan. Kerjakan ulang meminta catatan, dan catatan itu dikirim kembali kepada agen.

Jika agen menyertakan nextStep, langkah itu tampil di atas tombol Terima, dan menerima berarti menyetujui tepat langkah itu. Persetujuan berlaku 72 jam dan kembali kepada agen lewat get_my_work atau start_task sebagai satu langkah yang harus dikerjakan berikutnya. Pertanyaan yang diajukan agen dengan request_input masuk ke Kotak masuk yang sama, di web dan di aplikasi iOS serta Android, dengan notifikasi push.

Kotak masuk sengaja diberi batas: 5 item yang menunggu untuk ruang kerja satu orang, 10 untuk tim, atau 45 menit perkiraan waktu tinjauan, mana yang lebih dulu tercapai. Ketika penuh, start_task menolak dengan attention_queue_full, sehingga agen menyelesaikan atau memperjelas pekerjaan alih-alih menumpuk lebih banyak hal untuk Anda periksa.

Bukti apa yang sebaiknya saya minta menurut jenis tugas?

Tulis ini di deskripsi tugas agar agen tahu bukti apa yang Anda harapkan:

  • Kode: hash commit dan URL PR sebagai artefak. notDone harus menyebut tes yang tidak dijalankan, migrasi yang tidak diterapkan, dan file yang sengaja tidak disentuh.
  • Konten: URL yang sudah terbit, atau file draf beserta sha256-nya jika belum tayang. unknowns harus mencantumkan fakta yang tidak bisa dipastikan agen.
  • Riset: URL sumber untuk setiap klaim penting, dan file catatannya. unknowns harus memisahkan apa yang dikatakan sumber dari apa yang disimpulkan agen.
  • Penjangkauan: id pesan dari setiap pesan yang terkirim, dan daftar penerima sebagai file. notDone harus mencantumkan siapa yang tidak dihubungi dan alasannya.

Bagaimana saya mengendalikan apa yang boleh dilakukan agen sejak awal?

Atribusi setelah kejadian bekerja paling baik dengan batasan sebelumnya. Di Weft, setiap koneksi OAuth punya salah satu dari tiga tingkat izin, diatur di layar persetujuan atau nanti di Pengaturan, klien AI yang terhubung:

  • full (bawaan): ke-32 alat.
  • write: semuanya kecuali tiga alat destruktif (trash_task, archive_done_tasks, complete_sprint).
  • read: hanya 11 alat hanya-baca.

Pemeriksaan berjalan di setiap panggilan. Disconnect mencabut refresh token koneksi itu dan menolak token apa pun yang diterbitkan sebelum pemutusan pada panggilan berikutnya. Token akses pribadi, untuk klien tanpa OAuth, tidak punya lingkup: satu token menjangkau ke-32 alat, dan pencabutannya berlaku pada panggilan berikutnya. Agen bisa memindahkan tugas ke tempat sampah 30 hari tetapi tidak bisa menghapusnya permanen; pemulihan dari tempat sampah adalah fitur Pro.

Apa yang tidak dilakukan Weft di sini?

  • Weft tidak punya integrasi GitHub atau Slack, jadi Weft tidak mencarikan commit atau pesan Anda. Anda yang membuka artefaknya.
  • Weft tidak punya REST API publik, webhook, atau CLI untuk mendorong tanda terima ke sistem lain. Tersedia ekspor JSON dan Markdown.
  • Weft tidak melacak langkah model. Alat yang mencatat prompt, token, dan latensi di lapisan model mengerjakan tugas yang berbeda, dan Anda mungkin juga membutuhkannya.
  • Agen menulis tanda terimanya sendiri. Weft membuat celah antara klaim dan bukti terlihat; Weft tidak bisa membuat agen jujur.

Jika Anda menginginkan agen yang dikelola sebagai akun layanan lewat REST API, CLI untuk skrip CI, atau fitur AI bawaan seperti penulisan dan triase tugas, Hypertask lebih cocok untuk itu. Halaman alternatif Hypertask kami membandingkan keduanya berdampingan.

Bukankah riwayat git sudah cukup untuk mengetahui apa yang dikerjakan agen saya?
Git menunjukkan apa yang berubah di kode. Git tidak menunjukkan apa yang dilewati agen, apa yang membuatnya ragu, atau pilihan mana yang diambilnya di antara dua opsi. Pakai hash commit sebagai artefak di tugas, dan simpan sisanya di tanda terima dan catatan keputusan.
Bukankah agen bisa saja mengarang artefak?
Agen bisa mengirim string apa pun. Inti dari artefak adalah Anda bisa membukanya: hash yang bisa dicari, URL yang bisa dimuat, id pesan yang bisa ditemukan. Artefak karangan langsung gagal begitu Anda memeriksanya, sesuatu yang tidak pernah terjadi pada komentar. Jika tugas membawa pemeriksaan verifikasi dan pemeriksaan pemblokir gagal, tugas itu tidak masuk Done.
Apakah setiap tugas yang selesai menunggu tinjauan saya?
Tidak. Secara bawaan, tugas yang selesai masuk Done. Tugas menunggu di Kotak masuk Anda untuk Terima, Kerjakan ulang, Nanti, atau Batalkan hanya jika perlu ditinjau atau pemeriksaan verifikasi gagal.
Klien AI mana yang bisa menulis tanda terima ke Weft?
Klien MCP apa pun. ChatGPT punya Weft sebagai plugin yang sudah terbit di semua paket, termasuk Free. Claude Code terhubung dengan claude mcp add --transport http weft https://letsweft.com/api/mcp. Claude.ai dan Claude Desktop memakai konektor khusus. Ada halaman pengaturan untuk 33 klien, seperti Claude Code, ChatGPT, Cursor, dan Codex.
Berapa biayanya?
Free mencakup 50 tugas dan 200 panggilan AI per bulan. Pro seharga $7 per kursi per bulan atau $60 per kursi per tahun. Weft tidak punya kredit AI: proses berpikirnya terjadi di klien AI Anda sendiri. Lihat harga.