본문 바로가기
인천고래 프로그램

CodeGraph로 Codex 사용량 최적화하기(작업지시서)

by 인천고래
반응형

Codex 사용량이 너무 빨리 줄어든다면? CodeGraph로 탐색 비용 줄이기

안녕하세요. 국내 주식 투자 프로그램을 개발하고 있는 인천고래입니다.

최근 Codex를 사용하면서 예전보다 사용량이 훨씬 빠르게 줄어드는 느낌을 받았습니다.

처음에는 단순히 모델이 무거워졌거나 작업량이 많아졌기 때문이라고 생각했는데, 실제로는 프로젝트 구조가 커지면서 Codex가 파일을 찾고 읽는 데 많은 비용을 쓰고 있었습니다.

제 프로젝트는 V8 시그널 서버, V9 매매 클라이언트, 텔레그램 게이트웨이, 딥러닝 실험 프로젝트가 함께 있는 구조입니다. 여기에 백업 파일, 로그, DB, 이전 버전 파일까지 쌓이다 보니 Codex가 매번 “어느 파일을 봐야 하는지” 찾는 과정에서 불필요한 탐색을 반복하게 되었습니다.

 

CodeGraph를 설치한 이유

그러다 CodeGraph라는 도구를 알게 되었습니다. CodeGraph는 프로젝트 코드를 미리 분석해서 로컬 지식 그래프 형태로 저장해 두고, Codex가 MCP 서버를 통해 이 그래프를 조회할 수 있게 해주는 도구입니다.

쉽게 말하면 Codex가 매번 grep, find, read로 프로젝트 전체를 뒤지는 대신, CodeGraph에 “이 함수는 어디서 쓰이지?”, “이 흐름의 진입점은 어디지?” 같은 질문을 먼저 던질 수 있게 됩니다.

CodeGraph GitHub README 기준 벤치마크에서는 평균적으로 비용 16% 절감, 토큰 47% 절감, 속도 22% 향상, 도구 호출 58% 감소가 언급되어 있습니다. 물론 모든 작업에서 이 정도 효과가 나는 것은 아닙니다. 단순히 한두 줄 수정하는 작업보다는, 여러 파일의 호출 관계를 추적하거나 구조를 파악해야 하는 작업에서 효과가 더 큽니다.

 

설치만으로는 부족했습니다

처음에는 CodeGraph만 설치하면 바로 사용량이 줄어들 것이라고 생각했었는데 하지만 실제로는 한 가지 문제가 있었습니다.

CodeGraph MCP 연결은 되었지만, 첫 탐색 결과에 백업 경로가 섞였습니다. 원인은 제 프로젝트 루트에 .ignore 파일은 있었지만, CodeGraph가 실제로 참고하는 .gitignore 파일이 없었기 때문입니다.

즉, Codex에게 “백업 폴더는 보지 마”라고 지시해도 CodeGraph 인덱스 안에 이미 백업 파일이 들어가 있으면, 탐색 결과에 불필요한 파일이 다시 섞일 수 있었습니다.

 

진행한 작업

그래서 CodeGraph 설치 후 아래 작업을 추가로 진행했습니다.

  • 상위 AGENTS.md에 CodeGraph 우선 사용 규칙 추가
  • 백업, 로그, old, venv, node_modules, DB/WAL/SHM 파일 검색 제외 규칙 추가
  • PowerShell에서 한글 주석이 깨지지 않도록 UTF-8 명시 규칙 추가
  • CodeGraph MCP를 Codex 설정에 연결
  • CodeGraph telemetry 비활성화
  • .gitignore를 추가해서 CodeGraph 인덱싱 제외 규칙 반영
  • CodeGraph 인덱스 재생성

 

Codex 작업 지시 예시

CodeGraph 인덱스에 백업 파일이 섞였을 때는 Codex에게 아래처럼 지시했습니다.

# CodeGraph 인덱스 범위 및 백업 경로 혼입 점검 요청

CodeGraph MCP 연결은 확인되었지만, 첫 탐색 결과에 백업 경로가 섞였습니다.

이번 작업은 코드 수정이 아니라 CodeGraph 인덱스 범위와 제외 규칙 점검만 진행해 주세요.

## 목표

1. CodeGraph 결과에 backup, backups, _backup, _codex_backups, old, logs, log, .venv, .codegraph, node_modules, DB/WAL/SHM 파일이 섞이지 않도록 확인합니다.
2. V8 Signal 작업 시에는 기본적으로 bot_V8_Signal_Analysis 활성 경로를 우선 사용하도록 정리합니다.
3. 상위 Trader 루트 인덱스는 V8/V9/Telegram/Learning 교차 분석이 필요할 때만 확장해서 사용합니다.

## 확인할 내용

1. 현재 제외 패턴이 CodeGraph 인덱싱에 실제로 적용되는지 확인해 주세요.
2. 백업 경로가 섞인 원인이 .ignore 문제인지, .gitignore 문제인지, 기존 인덱스 잔여 문제인지 확인해 주세요.
3. 필요한 경우 .gitignore를 보강하고 CodeGraph 인덱스를 다시 생성해 주세요.
4. 재인덱싱 후 제외 대상이 CodeGraph 결과에서 사라졌는지 확인해 주세요.

## 주의사항

1. 전체 rg 검색으로 프로젝트를 훑지 마세요.
2. 백업 폴더 내부 파일을 열지 마세요.
3. 확인은 경로명과 파일 목록 수준으로 제한하세요.
4. 실제 소스 파일은 수정하지 마세요.
5. CodeGraph 인덱스나 ignore 관련 파일 외에는 변경하지 마세요.

 

작업 결과

Codex가 약 10분 정도 작업한 뒤 아래 내용을 확인해 주었습니다.

  • CodeGraph 1.0.1은 .ignore가 아니라 .gitignore를 기준으로 제외 규칙을 반영함
  • Trader 루트에 .gitignore가 없어서 백업 경로가 인덱스에 섞였음
  • .ignore.gitignore에 제외 패턴을 보강함
  • codegraph synccodegraph index --force로 인덱스를 다시 생성함
  • 백업, 로그, old, venv, node_modules, DB/WAL/SHM 파일이 CodeGraph 결과에서 사라짐

인덱스 크기도 크게 줄었습니다.

기존 인덱스:
964 files
35,672 nodes
151,772 edges

정리 후 인덱스:
651 files
11,917 nodes
38,471 edges

불필요한 백업 파일과 DB 파일이 빠지면서 CodeGraph 인덱스가 훨씬 가벼워졌습니다. 이제 Codex가 구조 분석을 할 때도 활성 소스 중심으로 더 빠르게 접근할 수 있는 상태가 되었습니다.

 

V8 작업 시 사용 방식

현재는 상위 Trader 루트에 CodeGraph 인덱스를 두고 있습니다. 그래서 V8 Signal 작업을 할 때는 CodeGraph의 projectPath는 Trader 루트로 두되, query나 file 범위를 V8 프로젝트로 제한하는 방식이 좋습니다.

projectPath = D:\PycharmProjects\_App\Trader
query/file = bot_V8_Signal_Analysis/... 로 제한

V9 클라이언트, 텔레그램, 딥러닝 프로젝트까지 함께 봐야 하는 경우에만 범위를 넓히면 됩니다.

 

정리

이번 작업의 핵심은 단순히 CodeGraph를 설치한 것이 아닙니다. Codex가 불필요한 파일을 덜 보고, 필요한 활성 소스만 먼저 찾도록 환경을 정리한 것이 핵심입니다.

최종 상태는 아래와 같습니다.

AGENTS 정리 완료
CodeGraph 설치 완료
Codex MCP 연결 확인 완료
.gitignore 제외 규칙 정비 완료
CodeGraph 인덱스 재생성 완료

CodeGraph는 Codex 사용량을 무조건 줄여주는 마법 같은 도구는 아닙니다. 하지만 프로젝트가 커지고, 파일이 많고, 호출 관계를 자주 추적해야 하는 상황이라면 충분히 도입해 볼 만한 도구라고 생각합니다.

특히 저처럼 자동매매 프로그램처럼 여러 프로젝트가 연결되어 있고, 백업 파일과 로그가 많이 쌓이는 환경이라면 CodeGraph 설치와 함께 AGENTS.md, .gitignore, 인코딩 규칙까지 같이 정리하는 것이 중요합니다.

반응형