You can compare two versions of a document with an AI agent and get a short answer, a marked-up file, or both, while the files stay on your machine. Install the GroupDocs.Comparison.Mcp server, put both versions in one folder, and ask Claude Desktop, Claude Code, Cursor or GitHub Copilot locally:

Compare contract-v1.docx with contract-v2.docx. Summarize what changed, then give me a marked-up copy.

نسخه گام‌به‌گام با پیکربندی و عیب‌یابی در مستندات موجود است: چگونه اسناد را با استفاده از MCP توسط عوامل هوش مصنوعی مقایسه کنیم.

چرا یک عامل هوش مصنوعی نباید اسناد را با خواندن آن‌ها مقایسه کند؟

یک مدل زبانی که دو سند را با خواندن متن آن‌ها «مقایسه» می‌کند، توصیفی از تفاوت‌ها تولید می‌کند نه اندازه‌گیری آن‌ها. ممکن است تغییری را گزارش دهد که وجود ندارد و تغییری را که وجود دارد نادیده بگیرد. سرور MCP این کار را به یک موتور مقایسه واگذار می‌کند. عامل همچنان کاری را انجام می‌دهد که در آن مهارت دارد: درک سؤال شما و توضیح نتیجه. موتور مقایسه آگاه از قالب است و هر تغییر را به صورت داده باز می‌گرداند: نوع آن، صفحه، مؤلفه، بخش تغییر یافته، متن اطراف، و سلول جدول وقتی تغییر داخل جدول باشد. تغییرات سبک، مانند بندی که از حالت عادی به بولد تغییر یافت، به عنوان تغییرات گزارش می‌شوند.

کدام یک از سه روش زیر را استفاده می‌کنید بستگی به یک سؤال دارد: آیا می‌خواهید یک پاسخ یا یک سند دریافت کنید؟

روش ۱: درخواست یک پاسخ و دریافت analyze_changes

زمانی که سؤال با «what»، «did» یا «how many» شروع می‌شود، عامل analyze_changes را فراخوانی می‌کند. این ابزار تفاوت‌ها را به صورت داده‌های ساختاریافته باز می‌گرداند و هیچ فایلی نمی‌نویسد.

چه تغییری بین proposal-draft.docx و proposal-final.docx رخ داد؟ خلاصه بگو.

پاسخ با <N> change(s) detected (یا No changes detected) شروع می‌شود و سپس یک آرایه JSON می‌آید. عامل این آرایه را فیلتر و خلاصه می‌کند، بنابراین پیگیری‌هایی مثل «فقط حذف‌ها» یا «آیا عددی تغییر کرد؟» دوباره به فایل‌ها دست نمی‌زنند. به‌طور پیش‌فرض از این روش استفاده کنید: رندر انجام نمی‌شود، بنابراین سریع‌تر و ارزان‌تر از گزینه دیگر است.

روش ۲: درخواست یک سند و دریافت compare

زمانی که درخواست «یک فایل بده» باشد، عامل compare را فراخوانی می‌کند. این ابزار یک سند نتیجه‌دار علامت‌گذاری‌شده تولید می‌کند و آن را در پوشه خروجی شما به نام <source-stem>_compared<ext> ذخیره می‌کند، برای مثال contract-v1_compared.docx. هیچ فایلی موجود بازنویسی نمی‌شود؛ به‌جای آن نام جدیدی استفاده می‌شود.

یک نسخه علامت‌گذاری‌شده از contract-v1.docx و contract-v2.docx به من بده که بتوانم به بخش حقوقی بفرستم.

بازبین‌های شما نتیجه را در Word یا هر نمایشگر دیگری باز می‌کنند. آن‌ها نیازی به کلاینت MCP یا ابزار هوش مصنوعی ندارند. همان فهرست تغییرات به عامل بازگردانده می‌شود، بنابراین می‌توانید همچنان درباره آن سؤال کنید.

روش ۳: درخواست هر دو و اجازه دادن به عامل برای زنجیره‌سازی فراخوانی‌ها

یک عامل توانمند دو فراخوانی را از یک پرامپت انجام می‌دهد: analyze_changes برای خلاصه و compare برای فایل. این همان پرامپتی است که از ابتدای این پست استفاده شد. زمانی که می‌خواهید هم‌اکنون یک خلاصه کوتاه بخوانید و سپس یک فایل به شخص دیگری بدهید، از این روش استفاده کنید.

قبل از مقایسه، می‌توانید از عامل بخواهید فایلی را بررسی کند:

contract-v2.docx چند صفحه دارد؟

این باعث فراخوانی get_document_info می‌شود که نوع فایل، تعداد صفحات، اندازه و ابعاد هر صفحه را بدون انجام مقایسه باز می‌گرداند.

چگونه آن را تنظیم کنید؟

دستور dnx GroupDocs.Comparison.Mcp --yes را اجرا کنید (با .NET 10 SDK) یا از تصویر Docker ghcr.io/groupdocs-comparison/comparison-net-mcp استفاده کنید، سرور را در کلاینت خود ثبت کنید و مقدار GROUPDOCS_MCP_STORAGE_PATH را به پوشه‌ای که هر دو نسخه را در خود دارد تنظیم کنید.

در یک کلاینت چگونه به نظر می‌رسد؟

مثال جلسه (مختصر و نمونه؛ عبارات واقعی بسته به کلاینت و مدل شما متفاوت است):

You:    Compare contract-v1.docx with contract-v2.docx. Summarize
        what changed, then give me a marked-up copy.

Agent:  [calls analyze_changes: contract-v1.docx, contract-v2.docx]
        [calls compare: contract-v1.docx, contract-v2.docx]

        The engine detected changes, including the payment schedule
        in a table on page 4 and a clause that changed from regular
        to bold. The marked-up copy is saved as
        contract-v1_compared.docx in your output folder.

محدودیت‌ها چیستند؟

  • محدودیت ارزیابی. بدون لایسنس، سرور در حالت ارزیابی اجرا می‌شود: فقط دو صفحه اول مقایسه می‌شوند و نتیجه دارای واترمارک است. در یک سند طولانی این یک فهرست تغییرات کوتاه و اطمینان‌بخش می‌دهد. ابتدا بپرسید «وضعیت لایسنس سرور مقایسه چیست؟»؛ عامل get_license_status را فراخوانی می‌کند و "mode": "evaluation" به این معنی است که محدودیت اعمال می‌شود.
  • یک فرمت در هر دو طرف. مشابه با مشابه مقایسه کنید؛ اگر دو فایل فرمت متفاوتی داشته باشند ابتدا تبدیل کنید.

سؤالات متداول

آیا Claude می‌تواند دو PDF را بدون بارگذاری مقایسه کند؟
بله، با سرور MCP مقایسه در یک فرآیند محلی بر روی فایل‌های موجود در پوشه‌ای که انتخاب می‌کنید انجام می‌شود. پرامپت شما و هر بخشی که عامل نقل می‌کند همچنان به مدلی که کلاینت شما استفاده می‌کند ارسال می‌شود.

تفاوت analyze_changes و compare چیست؟
هر دو همان تغییرات را شناسایی می‌کنند. analyze_changes آن‌ها را به صورت داده باز می‌گرداند و فایلی نمی‌نویسد؛ compare علاوه بر آن یک سند علامت‌گذاری‌شده نیز تولید می‌کند.

آیا فقط با فایل‌های Word کار می‌کند؟
خیر. این ابزارها PDF، DOCX، XLSX، PPTX، ODT، RTF، TXT، HTML و بیش از ۳۰ فرمت دیگر را می‌پذیرند.

عمیق‌تر بروید