Вы можете сравнивать две версии документа с помощью AI‑агента и получать короткий ответ, файл с разметкой или оба результата, при этом файлы остаются на вашем компьютере. Установите сервер GroupDocs.Comparison.Mcp, поместите обе версии в одну папку и локально задайте вопрос Claude Desktop, Claude Code, Cursor или GitHub Copilot:

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

Пошаговая инструкция с настройкой и устранением неполадок находится в документации: Как сравнивать документы с AI‑агентами, используя MCP.

Почему AI‑агент не должен сравнивать документы, просто читая их?

Языковая модель, которая «сравнивает» два документа, просто читая их текст, выдаёт описание различий, а не измерение их. Она может сообщить об изменении, которого нет, и пропустить реальное изменение. Сервер MCP передаёт эту задачу движку сравнения. Агент по‑прежнему делает то, что у него получается лучше всего: понимает ваш вопрос и объясняет результат. Движок выполняет сравнение с учётом формата и возвращает каждое изменение в виде данных: тип, страницу, компонент, изменённый фрагмент, окружающий текст и ячейку таблицы, если изменение находится внутри таблицы. Изменения стиля, например переход пункта из обычного шрифта в жирный, также фиксируются как изменения.

То, какой из трёх способов ниже вы используете, зависит от одного вопроса: нужен ли вам ответ или документ?

Способ 1: Запросить ответ и получить analyze_changes

Когда вопрос начинается со слов «what», «did» или «how many», агент вызывает analyze_changes. Инструмент возвращает различия в виде структурированных данных и не создаёт файл.

What changed between proposal-draft.docx and proposal-final.docx? Keep it short.

Ответ начинается с <N> change(s) detected (или No changes detected), за которым следует массив JSON. Агент фильтрует и суммирует этот массив, поэтому последующие запросы вроде «только удаления» или «изменилось ли какое‑то число?» не требуют повторного доступа к файлам. Используйте этот способ по умолчанию: он пропускает рендеринг, поэтому быстрее и дешевле альтернативы.

Способ 2: Запросить документ и получить compare

Когда запрос звучит как «дайте мне файл», агент вызывает compare. Инструмент рендерит документ с разметкой и сохраняет его в вашей выходной папке под именем <source-stem>_compared<ext>, например contract-v1_compared.docx. Существующий файл никогда не перезаписывается; вместо этого используется новое имя.

Give me a marked-up copy of contract-v1.docx and contract-v2.docx that I can send to legal.

Ваши рецензенты открывают результат в Word или любом другом просмотрщике. Им не нужен клиент MCP и никакие AI‑инструменты. Список изменений также возвращается агенту, так что вы можете задавать вопросы о нём.

Способ 3: Запросить оба результата и позволить агенту выполнить цепочку вызовов

Способный агент делает два вызова из одного запроса: analyze_changes для сводки и compare для файла. Это тот запрос, с которого начался данный пост. Используйте его, когда хотите сразу получить короткую сводку и позже передать файл кому‑то ещё.

Перед сравнением вы также можете попросить агента проверить файл:

How many pages is 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.

Каковы ограничения?

  • Лимит оценки. Без лицензии сервер работает в режиме оценки: сравниваются только первые 2 страницы, а результат содержит водяной знак. На длинном документе это даёт короткий, но информативный список изменений. Сначала спросите «what is the license status of the comparison server?», агент вызовет get_license_status, и значение "mode": "evaluation" будет означать, что лимит применим.
  • Одинаковый формат файлов. Сравнивайте «яблоко с яблоком»; если форматы различаются, сначала выполните конвертацию.

FAQ

Может ли Claude сравнивать два PDF без их загрузки?
Да, с сервером MCP сравнение происходит в локальном процессе над файлами в выбранной вами папке. Ваш запрос и любые фрагменты, которые агент цитирует, всё равно отправляются в модель, используемую вашим клиентом.

В чём разница между analyze_changes и compare?
Оба обнаруживают одинаковые изменения. analyze_changes возвращает их как данные и не создаёт файл; compare дополнительно рендерит документ с разметкой.

Работает ли это только с Word‑файлами?
Нет. Инструменты поддерживают PDF, DOCX, XLSX, PPTX, ODT, RTF, TXT, HTML и более 30 других форматов.

Углублённое изучение