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 를 호출합니다. 도구는 차이를 구조화된 데이터로 반환하고 파일은 생성하지 않습니다.

proposal-draft.docx와 proposal-final.docx 사이에 어떤 변화가 있었나요? 간단히 알려 주세요.

응답은 <N> change(s) detected(또는 No changes detected) 로 시작하고 JSON 배열이 뒤따릅니다. 에이전트는 이 배열을 필터링·요약하므로 “삭제된 부분만”, “숫자가 변했나요?” 같은 후속 질문은 파일을 다시 다루지 않습니다. 기본적으로 이 방법을 사용하세요: 렌더링을 건너뛰어 더 빠르고 비용도 적게 듭니다.

방법 2: 문서를 요청하고 compare 받기

요청이 “파일을 주세요” 형태이면 에이전트는 compare 를 호출합니다. 도구는 마크업된 결과 문서를 생성해 출력 폴더에 <source‑stem>_compared<ext> 형태로 저장합니다(예: contract-v1_compared.docx). 기존 파일을 절대 덮어쓰지 않으며 새 이름을 사용합니다.

계약서 v1.docx와 v2.docx의 마크업된 사본을 만들어서 법무팀에 보낼 수 있게 해 주세요.

검토자는 결과 파일을 Word 혹은 다른 뷰어에서 열면 됩니다. 별도의 MCP 클라이언트나 AI 도구가 필요하지 않습니다. 동일한 변화 목록이 에이전트에 반환되므로 계속해서 질문할 수 있습니다.

방법 3: 두 가지를 모두 요청하고 에이전트가 호출을 연쇄하도록 하기

능력 있는 에이전트는 하나의 프롬프트에서 두 번 호출합니다: 요약을 위해 analyze_changes, 파일을 위해 compare. 이는 본 글 시작 부분에 제시된 프롬프트와 동일합니다. 지금은 짧은 요약을 보고, 이후에 파일을 다른 사람에게 전달하고 싶을 때 사용하세요.

비교하기 전에 파일을 검사하도록 에이전트에 요청할 수도 있습니다:

contract-v2.docx는 몇 페이지인가요?

이 요청은 get_document_info 를 트리거하여 파일 형식, 페이지 수, 크기 및 페이지별 치수를 반환하지만 실제 비교는 수행하지 않습니다.

설정 방법은?

.NET 10 SDK와 함께 dnx GroupDocs.Comparison.Mcp --yes 를 실행하거나 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페이지만 비교되며 결과에 워터마크가 삽입됩니다. 긴 문서에서도 짧고 안심할 수 있는 변화 목록만 제공됩니다. 먼저 “비교 서버의 라이선스 상태가 어떻게 되나요?” 라고 물어보면 에이전트가 get_license_status 를 호출하고, "mode": "evaluation" 이 반환되면 제한이 적용된다는 뜻입니다.
  • 양쪽 파일 형식 동일 필요. 같은 형식끼리 비교해야 합니다. 파일 형식이 다르면 먼저 변환해 주세요.

자주 묻는 질문

Claude가 두 PDF를 업로드 없이 비교할 수 있나요?
네. MCP 서버를 사용하면 로컬 폴더에 있는 파일을 대상으로 비교가 진행됩니다. 프롬프트와 에이전트가 인용하는 조각은 여전히 사용 중인 모델에 전달됩니다.

analyze_changes 와 compare 의 차이는 무엇인가요?
두 도구 모두 동일한 변화를 감지합니다. analyze_changes 는 데이터를 반환하고 파일을 만들지 않으며, compare 는 마크업된 문서를 렌더링해 저장합니다.

Word 파일만 지원하나요?
아니요. PDF, DOCX, XLSX, PPTX, ODT, RTF, TXT, HTML 등 30여 가지 이상의 포맷을 지원합니다.

더 깊이 알아보기