یک قانون مقایسهٔ سند تنها زمانی اعمال می‌شود که هر جفت به‌طور کامل مقایسه شود، نه فقط آن‌هایی که کسی وقت داشته است. با سرور GroupDocs.Comparison.Mcp، یک درخواست می‌تواند Claude Desktop، Claude Code، Cursor یا GitHub Copilot را وادار کند تا هر جفت نسخهٔ موجود در یک پوشه را به‌صورت محلی مقایسه کرده و گزارش دهد کدام اسناد تغییر کرده‌اند:

برای هر جفت -v1/-v2 در پوشهٔ اسناد من، دو فایل را مقایسه کن و به من بگو کدام فاکتورها تغییر کرده‌اند و چگونه. یک خط برای هر فاکتور.

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

چه بررسی‌هایی هنگام مقایسهٔ دستی شکست می‌خورند؟

سه وضعیت به‌طور مکرر پیش می‌آید و در هر یک از آن‌ها سندی که بررسی نشده است، مهم‌ترین مورد است:

  • یک دستهٔ دوباره صادر شده. باید تأیید کنید که دستهٔ جدید با آنچه تأیید شده مطابقت دارد.
  • بیانیهٔ «بدون تغییر» فروشنده. فروشنده می‌گوید اسناد تغییر نکرده‌اند؛ شما به مدرکی برای اثبات نیاز دارید.
  • یک مهاجرت. اسناد بین سیستم‌ها یا فرمت‌ها جابه‌جا می‌شوند و خروجی باید برابر ورودی باشد.

در هر مورد هزینهٔ اصلی، نه مقایسهٔ خود، بلکه انضباط اجرای آن برای هر فایل است. یک عامل (agent) که روی یک پوشه حلقه می‌زند، مشکل انضباطی را برطرف می‌کند.

جریان کار چگونه اجرا می‌شود؟

  1. نام‌گذاری جفت‌ها به‌صورت سازگار. هر قراردادی کار می‌کند، برای مثال invoice-001-v1.pdf و invoice-001-v2.pdf، در یک پوشه.
  2. سرور را به پوشه اشاره دهید. مقدار GROUPDOCS_MCP_STORAGE_PATH را به آن تنظیم کنید. فایل‌ها بر اساس نام شناسایی می‌شوند، بنابراین عامل invoice-001-v1.pdf را می‌فرستد، نه مسیر کامل.
  3. حالت مجوز را بررسی کنید. بپرسید: «وضعیت مجوز سرور مقایسه چیست؟» عامل متد get_license_status را فراخوانی می‌کند.
  4. اسکن را اجرا کنید. از درخواست موجود در ابتدای این پست استفاده کنید. عامل برای هر جفت یک بار analyze_changes را فراخوانی می‌کند.
  5. فقط موارد مهم را رندر کنید. بپرسید: «حالا برای سه موردی که تغییر کرده‌اند، نسخه‌های علامت‌گذاری‌شده تولید کن.» عامل برای آن سه مورد compare را فراخوانی می‌کند و هر نتیجه به صورت <source-stem>_compared<ext> ذخیره می‌شود. فایل‌های موجود هرگز بازنویسی نمی‌شوند.

از analyze_changes برای اسکن کلی و از compare فقط برای استثناها استفاده کنید. رندر کردن سی‌تا سند علامت‌گذاری‌شده که هیچ‌کس باز نمی‌کند، کاری برابر با سی‌بار برای همان پاسخ است.

عامل چه تصمیمی می‌گیرد و موتور چه کاری انجام می‌دهد؟

گام عامل موتور
یافتن جفت‌های -v1/-v2 نام‌ها را تطبیق می‌دهد
مقایسهٔ هر جفت analyze_changes را فراخوانی می‌کند تغییرات را تشخیص می‌دهد، صفحه به صفحه و سلول به سلول جدول
تصمیم‌گیری مبنی بر عدم تغییر جفت پیام «No changes detected» را می‌خواند همان نتیجه را برمی‌گرداند
گزارش به شما یک خط برای هر جفت می‌نویسد
تولید فایل برای موارد تغییر یافته compare را فراخوانی می‌کند سند علامت‌گذاری‌شده را رندر می‌کند

قضاوت «قبول/رد» بر پایهٔ نتیجهٔ موتور است، نه بر اساس برداشت عامل از متن.

جلسهٔ نمونه

مختصر و نمونه‌ای؛ متن واقعی بسته به مشتری و مدل شما متفاوت است.

You:    برای هر جفت -v1/-v2 در پوشهٔ اسناد من، دو فایل را مقایسه کن
        و به من بگو کدام فاکتورها تغییر کرده‌اند و چگونه. یک خط
        برای هر فاکتور.

Agent:  [calls analyze_changes: invoice-001-v1.pdf, invoice-001-v2.pdf]
        [calls analyze_changes: invoice-002-v1.pdf, invoice-002-v2.pdf]
        [calls analyze_changes: invoice-003-v1.pdf, invoice-003-v2.pdf]

        invoice-001: هیچ تغییری شناسایی نشد
        invoice-002: تغییرات شناسایی شد (فهرست صفحات را ببینید)
        invoice-003: تغییرات شناسایی شد (فهرست صفحات را ببینید)

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

  • سقف ارزیابی، برای هر سند. بدون مجوز، فقط دو صفحهٔ اول هر سند مقایسه می‌شود و نتایج دارای واترمارک می‌شوند، بنابراین گزارش دسته‌ای به‌صورت ساکت ناقص می‌ماند. قبل از اعتماد به اسکن، get_license_status را بررسی کنید.
  • یک فرمت یکسان در هر جفت. اگر دو فایل فرمت متفاوتی داشته باشند، ابتدا تبدیل کنید.
  • نام نادرست کشنده نیست. ابزار فهرست فایل‌هایی که می‌تواند ببیند را برمی‌گرداند و عامل خود را اصلاح کرده و دوباره تلاش می‌کند.
  • اسکن‌های طولانی زمان‌برند. هر جفت یک مقایسهٔ واقعی است؛ یک پوشهٔ بزرگ PDF چند دقیقه طول می‌کشد، نه چند ثانیه. می‌توانید پیشرفت را در حین اجرا درخواست کنید.

پرسش‌های متداول

آیا می‌توانم چندین فایل PDF را همزمان با هوش مصنوعی مقایسه کنم؟
بله. جفت‌ها را در یک پوشه قرار دهید و از عامل بخواهید هر جفت را مقایسه کند. برای هر جفت یک بار analyze_changes فراخوانی می‌شود و یک پاسخ یکپارچه به شما می‌دهد.

چگونه می‌توانم تغییرات غیرمجاز در اسناد را شناسایی کنم؟
نسخهٔ تأییدشده را با نسخهٔ در گردش مقایسه کنید و از عامل بخواهید جفت‌هایی که تغییر شناسایی شده‌اند را فهرست کند. هر جفتی که «No changes detected» برگرداند، محتوای یکسانی دارد، به شرطی که سرور دارای مجوز باشد؛ در حالت ارزیابی فقط دو صفحهٔ اول هر سند مقایسه می‌شود.

آیا فایل‌ها از دستگاه من خارج می‌شوند؟
خیر. مقایسه در یک فرآیند محلی بر روی پوشه‌ای که پیکربندی می‌کنید اجرا می‌شود. متن درخواست شما و خطوطی که عامل گزارش می‌کند، به مدلی که مشتری شما استفاده می‌کند ارسال می‌شود.

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