A document review workflow dengan agen AI dapat mengikuti langkah yang sama setiap putaran: daftar apa yang masih terbuka, balas dalam thread, selesaikan, bawa komentar ke draf berikutnya, dan hasilkan salinan bersih. Server GroupDocs.Annotation.Mcp mengekspos setiap langkah sebagai alat, sehingga LLM di Claude, Cursor, atau GitHub Copilot dapat menjalankan putaran secara lokal sementara orang meninjau hasilnya:
List the annotations in output/contract_annotated.pdf. Which ones have no replies?
Versi langkah‑demi‑langkah dengan konfigurasi dan pemecahan masalah ada di dokumentasi: How to run a document review cycle with an AI agent.
Mengapa putaran review menyimpang tanpa urutan tetap?
Sebuah putaran review jarang hanya “menambah komentar”. Ia meliputi: apa yang masih terbuka, siapa yang mengangkatnya, sebuah jawaban, sebuah resolusi, dan salinan bersih untuk audiens berikutnya. Ketika orang melakukannya secara manual, urutan bervariasi, balasan tidak ditandatangani, dan draf berikutnya kehilangan komentar dari draf sebelumnya.
Agen yang mengikuti urutan yang sama setiap kali menghilangkan variasi tersebut. Ia juga meninggalkan jejak di dalam dokumen alih‑alih di transkrip obrolan, tempat audit biasanya memeriksa.
Alur kerja, langkah demi langkah
Setiap langkah memiliki satu prompt dan satu alat.
- Temukan apa yang terbuka. Prompt: “List the annotations in output/contract_annotated.pdf. Which ones have no replies?” Agen memanggil
get_annotations, yang mengembalikan setiap anotasi denganid, tipe, pesan, halaman, bounding box, pengguna, dan balasan. Komentar yang belum dijawab adalah yang memiliki arrayreplieskosong, sehingga agen menyaring daftar yang sudah dimilikinya. - Balas dalam thread. Prompt: “Reply to Maria’s comment that finance approved the terms on 12 March. Sign it as Alex.” Agen memanggil
add_replydenganannotationId,comment, danuserName. Nama default adalahmcp-user, jadi minta nama yang sebenarnya. - Selesaikan apa yang sudah selesai. Pilih konvensi dan nyatakan dalam prompt: balas dan biarkan thread sebagai catatan, hapus anotasi dengan
remove_annotations, atau edit pesan denganupdate_annotationsehingga dimulai dengan[RESOLVED]. - Bawa putaran ke draf berikutnya. Prompt: “Export the annotations from the reviewed copy, then import them into contract-v3.pdf.” Agen memanggil
export_annotations, yang menulis file XML, laluimport_annotations. - Berikan kembali salinan bersih. Prompt: “Remove all annotations and give me a clean copy for the counterparty.”
remove_annotationstanpaidsmenghapus semua anotasi ke dalam file baru.
Apa yang diputuskan agen, dan apa yang dilakukan mesin?
| Keputusan atau tindakan | Agen | Mesin |
|---|---|---|
| Komentar mana yang membutuhkan jawaban | Membaca hasil get_annotations dan menyaringnya |
Mengembalikan setiap anotasi dengan id, penulis, dan balasan |
| Isi balasan | Menyusunnya berdasarkan instruksi Anda | Menyimpannya di bawah userName yang Anda berikan |
| Konvensi resolusi mana yang berlaku | Mengikuti aturan dalam prompt Anda | Menerapkan edit atau penghapusan yang diminta |
| Apakah putaran selesai | Melaporkan hitungan; manusia menyetujui | Menyimpan hasil setiap perubahan kembali ke penyimpanan |
Mesin tidak pernah memutuskan apa yang dianggap selesai. Model anotasi tidak memiliki flag “resolved”; resolusi adalah konvensi yang Anda pilih dan sebutkan dalam prompt.
Di mana manusia tetap berada dalam siklus?
Dua tempat. Sebelum langkah 5, minta agen menyatakan berapa banyak anotasi yang akan dihapus dan tunggu jawaban Anda. Penghapusan semua anotasi adalah satu‑satunya panggilan dalam alur kerja yang tidak dapat dibatalkan. Sebelum apa pun keluar dari tim, baca balasan yang dibuat agen. Teks anotasi berasal dari orang lain, jadi perlakukan komentar sebagai konten yang dirangkum, bukan sebagai instruksi bagi agen untuk diikuti.
Contoh sesi (singkat)
Ini adalah ilustrasi yang dibangun dari perilaku terdokumentasi alat‑alat, bukan tangkapan layar.
You: List the annotations in output/contract_annotated.pdf. Which ones have no replies?
Agent: [calls get_annotations on output/contract_annotated.pdf]
Found 4 annotations. Two have no replies:
- id 2, page 2, Maria: "Confirm the payment terms with finance."
- id 4, page 5, Maria: "Delivery date conflicts with Schedule B."
You: Reply to the first one that finance approved the terms on 12 March.
Sign it as Alex.
Agent: [calls add_reply: annotationId=2, userName="Alex",
comment="Finance approved the terms on 12 March."]
Added reply to annotation 2 in output/contract_annotated.pdf.
(The agent uses the saved file name in the next call.)
Bagaimana cara menjalankan server untuk Claude, Cursor, atau Copilot?
Jalankan image Docker dengan folder dokumen Anda dipasang, dan folder output yang berbeda dari folder penyimpanan:
docker run --rm -i -v $(pwd)/documents:/data \
-e GROUPDOCS_MCP_OUTPUT_PATH=/data/output \
ghcr.io/groupdocs-annotation/annotation-net-mcp:latest
Perintah yang sama dan alternatif dnx GroupDocs.Annotation.Mcp --yes dijelaskan dalam AI review that lands in the document, not in the chat log. Halaman hub memiliki pendaftaran untuk Claude Desktop, Claude Code, VS Code dengan GitHub Copilot, Cursor, Windsurf, dan klien lainnya.
Batasan jujur
- Mode evaluasi. Tanpa lisensi, lencana percobaan ditempelkan di bagian atas setiap halaman, yang tidak layak dikirim ke pihak lawan. Periksa
get_license_statussebelum review formal. - Setiap alat penulisan menyimpan hasilnya kembali ke penyimpanan. Jadi satu putaran menghasilkan rangkaian file. Minta agen meneruskan nama file dari hasil sebelumnya dan membaca ulang file itu dengan
get_annotationssebelum mengedit apa pun, karena id milik dokumen yang baru saja Anda baca. AturGROUPDOCS_MCP_OUTPUT_PATHke folder selain folder penyimpanan sebelum menautkan edit pada file yang dihasilkan. Dengan default (output berada di folder penyimpanan) penulisan kedua gagal denganbeing used by another process; dengan folder output terpisah,add_reply,update_annotation, danremove_annotationspada file yang dihasilkan semuanya berhasil. - Koordinat dibawa apa adanya. Pada draf yang di‑re‑flow, catatan yang diimpor mungkin berada di dekat teks aslinya, bukan tepat di atasnya. Periksa penempatan setelahnya.
- Pratinjau di Linux.
generate_pages_previewsaat ini gagal untuk file PDF di Linux, termasuk image Docker (TypeInitializationExceptionuntukGdip:System.Drawing.Commontidak didukung pada platform non‑Windows); dokumen Word dan Office lainnya dapat dirender, dan di Windows dengandnxsemua format dapat dirender. Sepuluh alat lainnya tidak terpengaruh. Alat review dalam posting ini tidak menggunakan renderer pratinjau.
Tanya Jawab
Apakah AI dapat membalas komentar dalam PDF secara otomatis? Ya. Agen membaca komentar dengan get_annotations dan menjawab dengan add_reply, yang menerima id anotasi, teks balasan, dan nama penulis.
Apakah ada status “resolved” untuk komentar? Tidak. Alat‑alat tidak memiliki flag resolved, jadi Anda memilih konvensi seperti mempertahankan thread, menghapus anotasi, atau menambahkan awalan [RESOLVED] pada pesan.
Bisakah saya mempertahankan komentar ketika dokumen direvisi? Ya. Ekspor anotasi ke XML dari salinan yang direview dan impor ke draf baru. Pasangan alat yang sama menggabungkan dua salinan reviewer menjadi satu.
Mendalami lebih jauh
- Dokumentasi, cara kanonik: How to run a document review cycle with an AI agent
- Pusat dokumentasi: GroupDocs.Annotation MCP Server
- Mulai di sini: AI review that lands in the document, not in the chat log
- Terkait: 3 ways to extract every comment from a document set with MCP
- Terkait: Show the agent what it did
- Model on‑premise dan keamanan: 3 architectures for AI document processing, and the one that keeps files inside your network
- Pertanyaan: GroupDocs Annotation forum
- Sumber: GroupDocs.Annotation.Mcp on GitHub