실습 노트

CodeGraph로 코딩 에이전트의 코드 맥락 줄이기

CodeGraph의 로컬 코드 지식 그래프와 영향 범위 탐색 구조를 코딩 에이전트 작업에 적용하는 방법을 정리합니다.

보일러플레이트AI 에이전트 · 코딩 에이전트 · MCP

코딩 에이전트가 저장소 전체를 읽게 두면 답변이 느려지고, 필요한 파일을 놓치거나 불필요한 맥락에 토큰을 씁니다. CodeGraph는 코드를 로컬 지식 그래프로 인덱싱하고 호출 관계와 영향 범위를 먼저 보여주는 방식으로 이 문제를 다룹니다.

파일 목록에서 호출 관계로

일반적인 코드 탐색은 파일 이름과 문자열 검색에서 시작합니다. 하지만 함수가 어디에서 호출되고, 변경이 어떤 테스트와 화면에 영향을 주는지는 여러 파일을 따라가야 알 수 있습니다. CodeGraph는 프로젝트의 심볼과 의존 관계를 그래프로 만들고, 질문에 관련된 소스와 경로를 묶어 반환합니다.

공식 README의 codegraph_explore MCP 도구는 심볼의 현재 소스, 호출 경로, 영향 범위를 한 번에 보여주는 핵심 표면입니다. 에이전트가 저장소를 무작정 훑기보다 질문과 연결된 코드부터 읽게 하는 구조입니다.

MCP와 CLI의 역할 분리

CodeGraph는 사람과 에이전트가 같은 그래프를 서로 다른 표면에서 사용할 수 있게 합니다.

  • MCP: 에이전트가 코드 관계와 소스를 탐색하는 표면
  • CLI: 사람이 그래프를 초기화하고 상태를 확인하는 표면
  • affected: 변경 파일에서 영향받는 테스트 후보를 찾는 표면

에이전트가 수정안을 만들 때는 MCP로 관련 흐름을 확인하고, 사람이 검토할 때는 CLI 결과와 실제 테스트 명령을 비교하는 식으로 역할을 나눌 수 있습니다.

처음 적용하는 순서

공식 README의 기본 흐름은 CLI 설치, 에이전트 연결, 프로젝트 초기화입니다.

npm i -g @colbymchenry/codegraph
cd your-project
codegraph install
codegraph init

그래프 생성 뒤에는 작은 변경 하나를 만들고 영향받는 테스트를 확인합니다.

git diff --name-only | codegraph affected --stdin

이 결과를 테스트 러너의 실제 실행 목록과 대조해야 합니다. 그래프 탐색은 검토 범위를 줄이는 장치이지, 테스트 자체를 대신하는 판정기가 아니기 때문입니다.

로컬 맥락의 장점과 한계

CodeGraph는 README에서 100% 로컬 실행과 여러 코딩 에이전트 연결을 강조합니다. 민감한 저장소의 코드를 외부 인덱싱 서비스로 보내지 않는 구성이 필요하다면 검토할 만한 선택입니다.

반면 그래프 품질은 언어·프레임워크 지원과 동적 호출 표현에 영향을 받습니다. 초기 도입 때는 핵심 서비스 하나를 골라 호출 경로, 동적 디스패치, 생성 코드, 테스트 영향 범위를 실제 저장소와 대조해야 합니다. 그래프가 보여주는 관계를 그대로 믿기보다 기존 빌드와 테스트를 최종 기준으로 두는 편이 안전합니다.

적용 판단

CodeGraph의 핵심은 더 큰 모델을 붙이는 것이 아니라 에이전트에게 전달할 코드 맥락을 구조화하는 데 있습니다. 여러 에이전트를 병렬로 사용하거나 큰 저장소의 변경 영향 범위를 빠르게 좁혀야 한다면, 로컬 그래프와 affected 명령을 현재 검증 흐름의 앞단에 놓는 방식이 실용적입니다.