Вы можете сравнивать две версии документа с помощью 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 других форматов.
Углублённое изучение
- Документация, канонический how‑to: Как сравнивать документы с AI‑агентами, используя MCP
- Центр документации: GroupDocs.Comparison MCP Server
- Далее: Почему AI‑агент не должен редактировать контракт, просто читая его
- Далее: Сводки изменений для релиз‑нот, аудитов и утверждений — автоматизировано с MCP
- Далее: Обеспечение сравнения документов автоматическими рабочими процессами с MCP
- О локальном развертывании и модели безопасности: 3 архитектуры для AI‑обработки документов, и та, что хранит файлы внутри вашей сети
- Вопросы: GroupDocs Comparison forum
- Исходный код: GroupDocs.Comparison.Mcp on GitHub