AI 기반 서비스

Today
-
Total
-
← 목록으로

MCP Context Framework - 대규모 코드베이스를 이해하는 AI의 새로운 접근

이창연•2026년 2월 7일

MCP Context Framework - 대규모 코드베이스를 이해하는 AI의 새로운 접근

문제: AI는 큰 그림을 볼 수 없다

Cursor, Continue, Cline 같은 Code Agent를 써본 사람은 알 것이다. 작은 프로젝트에서는 마법 같지만, 대규모 프로젝트에서는 한계가 뚜렷하다.

왜 그럴까?

컨텍스트 윈도우의 벽

현재 최고 성능의 LLM도 컨텍스트 윈도우 한계가 있다.

모델컨텍스트 윈도우
GPT-4 Turbo128K 토큰
Claude 3200K 토큰
Gemini 1.51M 토큰

많아 보이지만, 대규모 프로젝트는 수십만~수백만 줄 코드다. 128K 토큰으로는 프로젝트의 1% 도 담기 어렵다.

파일 단위의 시야

Code Agent는 기본적으로 파일 단위로 코드를 본다.

  • UserService.java를 읽는다
  • UserController.java를 읽는다
  • 하지만 두 파일의 관계는?
  • OrderService가 UserService를 어떻게 호출하는지?
  • 전체 시스템에서 이 코드의 역할은?

파일 몇 개 읽어서는 알 수 없다.

레거시의 늪

특히 레거시 시스템에서 문제가 심각하다.

  • 한 파일이 수천~수만 줄
  • 의존성이 스파게티처럼 얽힘
  • 문서는 오래전에 업데이트 중단
  • 원저자는 퇴사한 지 오래

AI에게 "이 시스템 분석해줘"라고 하면? 컨텍스트 초과 또는 엉뚱한 답변.

기존 해결책의 한계

RAG (Retrieval Augmented Generation)

코드를 벡터 DB에 저장하고, 질문과 관련된 부분만 검색해서 LLM에 전달.

문제점:

  • 코드는 자연어와 다르다 - 키워드 검색이 잘 안 맞음
  • 구조적 관계를 놓침 - "이 함수를 호출하는 곳"을 찾기 어려움
  • 검색 결과가 단편적 - 전체 흐름 파악 불가

긴 컨텍스트 모델

Gemini 1.5처럼 1M 토큰을 지원하는 모델을 쓰면?

문제점:

  • 비용 폭증 - 토큰당 과금
  • 속도 저하 - 컨텍스트가 길수록 느림
  • 여전히 무한대는 아님 - 초대형 프로젝트는 여전히 불가

새로운 접근: 두 LLM의 협업

핵심 아이디어는 간단하다.

"컨텍스트를 나눠 쓰자"

아키텍처 개요

[Code Agent (원본 LLM)]
        │
        │ 필요한 질문만 전달
        │ (이전 대화 컨텍스트 X)
        ▼
[Context MCP Server]
        │
        ├── [Project Index] - AST 파싱 결과
        │
        └── [Query Resolver (동등 LLM)]
                │
                │ 자기 컨텍스트로 코드 분석
                │ 필요한 정보만 추출
                ▼
          [정제된 응답]

역할 분담

구성요소역할컨텍스트 사용
Code Agent개발자와 대화, 코드 수정대화 컨텍스트에 집중
Context MCP프로젝트 구조 인덱싱, 쿼리 라우팅인덱스 저장소
Query Resolver코드 분석, 정보 추출코드 컨텍스트에 집중

핵심은 분리다.

  • Code Agent는 대화에 집중 - 프로젝트 전체를 알 필요 없음
  • Query Resolver는 코드에 집중 - 대화 맥락 필요 없음
  • 둘이 각자의 컨텍스트를 최대 활용

동작 예시

개발자: "UserService에서 권한 체크하는 부분 찾아줘"

  1. Code Agent → MCP: "UserService 권한 체크 코드 찾기"
  2. MCP → Index: AST 검색 (UserService 클래스, 권한 관련 메서드)
  3. MCP → Query Resolver: 후보 코드 전달 + 분석 요청
  4. Query Resolver: 자기 컨텍스트로 코드 상세 분석
  5. Query Resolver → MCP: "checkPermission() 메서드, 42번 줄, ADMIN 권한 검증"
  6. MCP → Code Agent: 정제된 결과 전달
  7. Code Agent: 개발자에게 설명 + 코드 표시

결과: Code Agent는 전체 코드를 로드하지 않고도 정확한 정보를 얻음.

확장 가능성

멀티 프로젝트 지원

Context MCP에 여러 프로젝트를 등록하면?

  • 프로젝트 A의 API가 프로젝트 B에서 어떻게 사용되는지
  • 마이크로서비스 간 의존 관계
  • 공통 라이브러리 영향도 분석

점진적 인덱싱

전체 인덱싱이 부담되면?

  • 필요한 부분만 점진적으로 인덱싱
  • Git diff 기반 변경분만 업데이트
  • 자주 질문받는 영역 우선 인덱싱

도메인 특화

프로젝트별 컨텍스트를 누적하면?

  • "우리 팀은 이 패턴을 선호한다"
  • "이 모듈은 건드리면 안 된다"
  • 암묵지의 명시화

현재 상태와 계획

이 프레임워크는 아직 기획 단계다.

단계상태예상 시기
기획✅ 완료2026년 1월
설계🔄 진행 중2026년 2월
PoC📋 예정2026년 상반기

기술적 과제

  • AST 파싱 최적화 - 다양한 언어 지원
  • 인덱스 효율화 - 대용량 프로젝트 처리
  • Query Resolver 프롬프트 설계 - 정확한 정보 추출
  • MCP 프로토콜 확장 - 구조화된 응답 포맷

마무리

AI Code Agent가 진정한 팀원이 되려면, 프로젝트 전체를 이해해야 한다. 단순히 컨텍스트 윈도우를 키우는 건 해답이 아니다.

컨텍스트를 효율적으로 나눠 쓰는 것. 이게 우리가 찾은 방향이다.

기술적 검증이 끝나면 오픈소스로 공개할 계획이다. 관심 있는 분들의 피드백을 기다린다.


이 기획은 대규모 엔터프라이즈 프로젝트에서 Code Agent를 적용하면서 느낀 한계에서 시작했다. 이론적으로는 가능해 보이지만, 실제 구현과 검증은 아직 남아있다.