A document review workflow with an AI agent can follow the same steps every round: list what is open, reply in threads, resolve, carry the comments to the next draft, and produce a clean copy. The GroupDocs.Annotation.Mcp server exposes each step as a tool, so an LLM in Claude, Cursor or GitHub Copilot can run the round locally while a person approves the outcome:
List the annotations in output/contract_annotated.pdf. Which ones have no replies?
The step‑by‑step version with config and troubleshooting is in the documentation: How to run a document review cycle with an AI agent.
ทำไมรอบการตรวจสอบจึงเบี่ยงเบนเมื่อไม่มีลำดับที่กำหนดไว้?
รอบการตรวจสอบมักไม่ใช่แค่ “เพิ่มคอมเมนต์” เพียงอย่างเดียว แต่เป็น: สิ่งที่ยังค้างอยู่, ผู้ที่ยกขึ้น, คำตอบ, การแก้ไข, และสำเนาที่สะอาดสำหรับผู้รับต่อไป เมื่อคนทำด้วยตนเอง ลำดับขั้นตอนอาจเปลี่ยนแปลง, คำตอบอาจไม่มีลายเซ็น, และร่างต่อไปอาจสูญเสียคอมเมนต์จากรอบก่อนหน้า
เอเจนต์ที่ทำตามลำดับเดียวกันทุกครั้งจะขจัดความแปรปรวนนี้ได้ อีกทั้งยังทิ้งร่องรอยไว้ภายในเอกสารแทนที่จะเป็นบันทึกการสนทนา ซึ่งเป็นที่ที่การตรวจสอบจะมองหา
ขั้นตอนการทำงาน ทีละขั้นตอน
แต่ละขั้นตอนมีพรอมต์หนึ่งและเครื่องมือหนึ่ง
- ค้นหาสิ่งที่ยังค้างอยู่
พรอมต์: “List the annotations in output/contract_annotated.pdf. Which ones have no replies?” เอเจนต์เรียกget_annotationsซึ่งจะคืนข้อมูลแต่ละ annotation พร้อมid, ชนิด, ข้อความ, หน้า, กล่องขอบ, ผู้ใช้และการตอบกลับ คอมเมนต์ที่ยังไม่ได้ตอบคืออาร์เรย์repliesว่างเปล่า ดังนั้นเอเจนต์จะกรองรายการที่มีอยู่แล้ว - ตอบในเธรด
พรอมต์: “Reply to Maria’s comment that finance approved the terms on 12 March. Sign it as Alex.” เอเจนต์เรียกadd_replyพร้อมannotationId,commentและuserNameชื่อผู้ใช้โดยปริยายคือmcp-userจึงต้องระบุชื่อจริง - แก้ไขให้เสร็จ
เลือกแนวทางและระบุในพรอมต์: ตอบและปล่อยเธรดเป็นบันทึก, ลบ annotation ด้วยremove_annotations, หรือแก้ข้อความด้วยupdate_annotationโดยเริ่มต้นด้วย[RESOLVED] - ย้ายรอบไปยังร่างต่อไป
พรอมต์: “Export the annotations from the reviewed copy, then import them into contract-v3.pdf.” เอเจนต์เรียกexport_annotationsซึ่งเขียนไฟล์ XML แล้วตามด้วยimport_annotations - ส่งสำเนาที่สะอาดกลับ
พรอมต์: “Remove all annotations and give me a clean copy for the counterparty.”remove_annotationsโดยไม่มีidsจะลบทุก annotation แล้วสร้างไฟล์ใหม่
เอเจนต์ตัดสินใจอะไรและเอนจินทำอะไร?
| การตัดสินใจหรือการกระทำ | เอเจนต์ | เอนจิน |
|---|---|---|
| คอมเมนต์ใดต้องการคำตอบ | อ่านผลลัพธ์จาก get_annotations แล้วกรอง |
คืน annotation ทั้งหมดพร้อม id, ผู้เขียนและการตอบกลับ |
| คำตอบควรพูดอะไร | ร่างตามคำสั่งของคุณ | เก็บไว้ภายใต้ userName ที่คุณระบุ |
| แนวทางการแก้ไขใดใช้ | ปฏิบัติตามกฎในพรอมต์ของคุณ | ทำการแก้หรือการลบตามที่ร้องขอ |
| รอบเสร็จหรือยัง | รายงานจำนวน; ให้คนตรวจสอบยืนยัน | บันทึกผลการเปลี่ยนแปลงแต่ละอย่างกลับไปยัง storage |
เอนจินจะไม่ตัดสินใจว่าอะไรถือว่า “resolved” โมเดล annotation ไม่มีฟิลด์ resolved; การแก้ไขเป็นแนวทางที่คุณกำหนดและระบุในพรอมต์
คนทำงานอยู่ในลูปที่ไหน?
สองจุด: ก่อนขั้นตอนที่ 5 ให้เอเจนต์บอกจำนวน annotation ที่กำลังจะลบและรอคำตอบจากคุณ การลบ annotation ทั้งหมดเป็นการเรียกเดียวใน workflow ที่ไม่มีการ undo ก่อนที่ข้อมูลจะออกนอกทีม ให้ตรวจสอบคำตอบที่เอเจนต์ร่างไว้ Annotation มาจากคนอื่น จึงควรถือว่าเป็นเนื้อหาที่ต้องสรุป ไม่ใช่คำสั่งให้เอเจนต์ทำตาม
ตัวอย่างเซสชัน (ย่อ)
นี่คือภาพจำลองที่สร้างจากพฤติกรรมที่ถูกบันทึกของเครื่องมือ ไม่ใช่ภาพหน้าจอที่จับไว้
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.)
ฉันจะรันเซิร์ฟเวอร์สำหรับ Claude, Cursor หรือ Copilot อย่างไร?
รัน Docker image พร้อมโฟลเดอร์เอกสารที่เมานท์และโฟลเดอร์ output ที่ต่างจากโฟลเดอร์ storage:
docker run --rm -i -v $(pwd)/documents:/data \
-e GROUPDOCS_MCP_OUTPUT_PATH=/data/output \
ghcr.io/groupdocs-annotation/annotation-net-mcp:latest
คำสั่งเดียวกันและทางเลือก dnx GroupDocs.Annotation.Mcp --yes ถูกอธิบายในบทความ AI review that lands in the document, not in the chat log. หน้า hub มีการลงทะเบียนสำหรับ Claude Desktop, Claude Code, VS Code with GitHub Copilot, Cursor, Windsurf และไคลเอนต์อื่น ๆ
ขีดจำกัดที่เป็นจริง
- โหมดประเมินผล – หากไม่มีไลเซนส์ จะมีตราประทับ trial ปรากฏที่ด้านบนของทุกหน้า ซึ่งไม่ควรส่งให้คู่ค้า ตรวจสอบ
get_license_statusก่อนทำการรีวิวอย่างเป็นทางการ - แต่ละเครื่องมือเขียนจะบันทึกผลลัพธ์กลับไปยัง storage – ดังนั้นรอบหนึ่งจะสร้างไฟล์หลายไฟล์ บอกเอเจนต์ให้ส่งต่อชื่อไฟล์จากผลลัพธ์ก่อนหน้าและให้อ่านไฟล์นั้นใหม่ด้วย
get_annotationsก่อนแก้ไขใด ๆ เพราะidเป็นของเอกสารที่เพิ่งอ่าน ตั้งค่าGROUPDOCS_MCP_OUTPUT_PATHให้เป็นโฟลเดอร์ที่ไม่ใช่ storage ก่อนทำการเชื่อมต่อการแก้ไขบนไฟล์ที่สร้างขึ้น หากใช้ค่าเริ่มต้น (outputs อยู่ใน storage) การเขียนครั้งที่สองจะล้มเหลวด้วยข้อความbeing used by another process; หากใช้โฟลเดอร์ output แยกadd_reply,update_annotationและremove_annotationsบนไฟล์ที่ผลิตจะสำเร็จ - พิกัดจะคงอยู่ตามเดิม – ในร่างที่รีฟลว์ใหม่โน้ตที่นำเข้าอาจตกอยู่ใกล้ข้อความต้นฉบับ ไม่ได้อยู่บนข้อความนั้น ตรวจสอบตำแหน่งหลังการนำเข้า
- Preview บน Linux –
generate_pages_previewปัจจุบันล้มเหลวสำหรับไฟล์ PDF บน Linux รวมถึง Docker image (TypeInitializationExceptionสำหรับGdip:System.Drawing.Commonไม่รองรับบนแพลตฟอร์มที่ไม่ใช่ Windows); Word และเอกสาร Office อื่น ๆ แสดงผลได้, และบน Windows กับdnxทุกฟอร์แมตแสดงผลได้ เครื่องมืออื่น ๆ สิบบทที่เหลือไม่ได้รับผลกระทบ เครื่องมือรีวิวในโพสต์นี้ไม่ได้ใช้ตัวเรนเดอร์ preview
คำถามที่พบบ่อย
AI สามารถตอบคอมเมนต์ใน PDF ได้อัตโนมัติหรือไม่?
ใช่. เอเจนต์อ่านคอมเมนต์ด้วย get_annotations แล้วตอบด้วย add_reply ซึ่งรับ annotation id, ข้อความตอบและชื่อผู้เขียน
มีสถานะ “resolved” สำหรับคอมเมนต์หรือไม่?
ไม่มี. เครื่องมือไม่มีฟิลด์ resolved ดังนั้นคุณต้องกำหนดแนวทางเอง เช่น เก็บเธรดไว้, ลบ annotation, หรือใส่คำนำหน้า [RESOLVED]
ฉันสามารถเก็บคอมเมนต์ไว้เมื่อเอกสารถูกแก้ไขใหม่ได้หรือไม่?
ได้. ส่งออก annotation เป็น XML จากสำเนาที่รีวิวแล้วนำเข้าไปยังร่างใหม่ คู่เครื่องมือเดียวกันจะผสานสำเนาของผู้รีวิวสองคนเป็นหนึ่งไฟล์
ไปลึกกว่าเดิม
- เอกสาร, วิธีทำแบบเป็นทางการ: How to run a document review cycle with an AI agent
- ศูนย์รวมเอกสาร: GroupDocs.Annotation MCP Server
- เริ่มต้นที่นี่: AI review that lands in the document, not in the chat log
- เกี่ยวข้อง: 3 ways to extract every comment from a document set with MCP
- เกี่ยวข้อง: Show the agent what it did
- โมเดลการติดตั้งในองค์กรและความปลอดภัย: 3 architectures for AI document processing, and the one that keeps files inside your network
- คำถาม: GroupDocs Annotation forum
- แหล่งที่มา: GroupDocs.Annotation.Mcp on GitHub