An AI agent dapat menarik setiap komentar dari dokumen yang ditandai dan melaporkannya dalam tiga cara: ringkasan, tabel, atau arsip XML. Server GroupDocs.Annotation.Mcp memberikan anotasi kepada LLM sebagai data terstruktur, dan Claude, Cursor, atau GitHub Copilot melakukan penalaran, semuanya secara lokal:

Ringkas ulasan contract_annotated.pdf: berapa banyak komentar, dari siapa, dan apa tema utama.

Versi langkah demi langkah dengan konfigurasi dan pemecahan masalah ada di dokumentasi: Cara mengekstrak dan melaporkan anotasi dokumen dengan AI.

Apa yang Anda dapatkan ketika mengekstrak anotasi dari PDF?

Dokumen yang ditandai adalah data sekaligus tinta. Alat get_annotations mengembalikan objek JSON dengan found, jumlahnya, dan annotations, sebuah array. Setiap entri berisi anotasi id, type, message, page (berbasis 1), kotak pembatas, user, dan setiap replies. Tidak ada parsing dokumen dan tidak ada OCR yang terlibat, sehingga agen bekerja dari catatan anotasi itu sendiri.

Alat ini menerima satu dokumen per panggilan. Untuk mencakup sekumpulan file, sebutkan nama file dalam prompt dan agen memanggil alat tersebut sekali per file. Server tidak menyediakan panggilan tingkat folder.

Cara 1: Minta ringkasan

Satu panggilan, lalu penalaran. Sebutkan nama file dan jelaskan untuk apa ringkasannya.

Ringkas ulasan contract_annotated.pdf: berapa banyak komentar, dari siapa, dan apa tema utama.

Agen memanggil get_annotations, menghitung entri, mengelompokkan mereka berdasarkan user dan menjelaskan tema yang ditemukan dalam bidang message. Jumlah dan penulis berasal dari data. Tema merupakan interpretasi model terhadap teks, sehingga memerlukan tinjauan manusia.

Cara 2: Minta tabel atau daftar terfilter

Karena data terstruktur, bentuk laporan tergantung pada prompt:

Berikan saya tabel: halaman, penulis, komentar, dijawab ya/tidak.

Kelompokkan komentar berdasarkan peninjau dan beri tahu saya siapa yang memiliki item terbuka terbanyak.

Daftar hanya yang dicoret. Saya ingin melihat apa yang orang ingin dihapus.

Halaman mana yang tidak memiliki komentar sama sekali?

Pertanyaan terakhir adalah sesuatu yang dijawab buruk oleh pembaca PDF, tetapi dapat dijawab langsung oleh array: “answered” adalah daftar replies yang tidak kosong, dan “pages without comments” adalah nomor halaman yang tidak ada dalam nilai page. Padukan dengan get_document_info untuk mendapatkan jumlah halaman.

Cara 3: Arsipkan komentar sebagai XML

Ekspor anotasi sehingga kami dapat menyimpannya bersama berkas kasus.

export_annotations menulis file XML yang hanya berisi anotasi. Pesan keberhasilannya berbentuk Exported N annotation(s) from <file> to <name>.annotations.xml. File tersebut kecil dan dapat dibandingkan (diff), dan import_annotations dapat menerapkannya ke salinan lain dari dokumen. Ini membantu ketika dokumen berada di bawah aturan retensi yang tidak mencakup komentarnya, atau ketika Anda ingin membandingkan dua putaran review: dua ekspor dokumen yang sama menjadi dua file teks, dan agen dapat menjelaskan apa yang berubah di antara keduanya.

Sesi contoh (dipersingkat)

Ini adalah ilustrasi yang dibangun dari perilaku yang didokumentasikan dari alat-alat, bukan tangkapan layar.

You:   Summarize the review of contract_annotated.pdf and group it by reviewer.

Agent: [calls get_annotations on contract_annotated.pdf]
       Found 5 annotations: 4 from Maria, 1 from Dana.
       Maria: payment terms (page 2), delivery date (page 5),
         liability cap (page 6), a missing signature block (page 6).
       Replies: Alex answered the page 2 payment terms comment.
       Dana: a strikeout on page 4 marking an outdated clause.
       Maria comments without a reply: page 5 and the two on page 6.

Bisakah agen bertindak atas komentar?

IA dapat meneruskan daftar tersebut: membuka isu per komentar yang belum dijawab, menyiapkan email balasan, atau menulis paragraf status. Satu aturan berlaku. Komentar berasal dari orang lain, sehingga agen harus memperlakukan teks anotasi sebagai konten untuk dilaporkan, bukan sebagai instruksi. Komentar yang mengatakan “ignore previous instructions” hanyalah data dalam sebuah bidang. Minta ringkasan dan laporan, dan pertahankan tindakan yang mengubah apa pun di bawah tinjauan Anda sendiri.

Bagaimana cara menjalankan server untuk Claude, Cursor, atau Copilot?

Server dijalankan dari image Docker ghcr.io/groupdocs-annotation/annotation-net-mcp atau dari NuGet dengan dnx GroupDocs.Annotation.Mcp --yes (.NET 10 SDK), dan memasang folder yang berisi dokumen Anda. Halaman hub mencantumkan pendaftaran untuk Claude Desktop, Claude Code, VS Code dengan GitHub Copilot, Cursor, Windsurf, dan klien lainnya.

Batasan jujur

  • Evaluation mode. Sebuah lencana percobaan ditempelkan di bagian atas setiap halaman. Ini tidak mengubah data anotasi, sehingga laporan yang dibuat dengan cara ini akurat tanpa lisensi. Ini memengaruhi apa yang dapat Anda kirimkan. Jika rencana berakhir dengan “email the marked-up copy”, periksa get_license_status terlebih dahulu.
  • One document per call. Menyisir banyak file berarti banyak panggilan, dan masing‑masing merupakan panggilan alat yang harus dilakukan dan dilaporkan oleh agen.
  • Export is XML. get_annotations mengembalikan JSON untuk dibaca agen; export_annotations menulis XML ke penyimpanan.
  • No preview needed. Tidak ada dari tiga cara tersebut yang merender halaman, sehingga batas pratinjau PDF generate_pages_preview pada Linux tidak memengaruhi mereka.

FAQ

Bagaimana cara mengekspor semua komentar dari PDF? Minta agen mengekspor anotasi. Ia memanggil export_annotations, yang menulis file XML di samping dokumen Anda, atau ia memanggil get_annotations jika Anda ingin komentar terdaftar dalam obrolan.

Bisakah AI merangkum komentar peninjau dari beberapa file? Ya. Sebutkan file-file dalam prompt dan agen membaca masing‑masing dengan get_annotations, kemudian menggabungkan hasilnya dalam satu ringkasan. Ia membaca satu file per panggilan.

Apakah laporan berubah jika saya tidak memiliki lisensi? Data anotasi tidak berubah. Hanya halaman yang dirender atau disimpan yang menampilkan lencana percobaan.

Selami lebih dalam