AI가 생성하는 엄청난 양의 코드와 아키텍처를 사람이 따라가는 게 불가능하다면, 코드를 읽는 대신 눈으로 직접 보는 건 어떨까?
If it is humanly impossible to keep up with the sheer volume of code and architecture that AIs generate, I thought: why don't we look at code instead of reading it?
핵심 요약
AI가 생성한 방대한 코드를 시각화하여 에이전트가 더 효율적으로 탐색하고 수정할 수 있게 돕는 그래프 기반 도구 개발기.
- 코드 시각화 — 코드 모듈 간 관계를 그래프로 표현하여 의존성과 병목 구간을 한눈에 파악함.
- MCP 통합 — 에이전트가 그래프를 쿼리하고 계층적으로 탐색할 수 있도록 설계됨.
- 토큰 최적화 — 에이전트가 정확한 경로를 빠르게 찾아내어 전체적인 토큰 소모를 줄임.
- 오픈소스 계획 — Rust를 시작으로 향후 TypeScript 등 다양한 언어를 지원할 예정임.
이게 내가 이 프로젝트를 시작하게 된 계기야. 이 툴은 모든 코드 모듈의 관계 그래프를 그려서, 뭐가 바뀌었고 지금 뭐가 바뀌고 있는지, 그리고 각 부분이 서로 어떻게 연결돼 있는지 한눈에 보여줘. 그러니까 파일 30개씩 일일이 뒤질 필요 없이, 그냥 선 하나만 따라가면 코드의 의존성이랑 병목 구간을 바로 파악할 수 있는 거지. Rust 덕분에 코드 수백만 줄짜리 프로젝트라도 초기 관계 빌드하는 데는 좀 걸려도, 일단 빌드되고 나면 수정할 때마다 2초도 안 돼서 그래프가 업데이트돼.
근데 여기서 한 발짝 더 나갔어!
이 툴을 단순히 사람 쓰라고 만든 게 아니라, 에이전트들이 이 그래프를 조회하고 코드를 자유롭게 탐색할 수 있게 MCP(현재 13개 툴 포함)도 만들고 있거든. 사람용 인터페이스에 줌 기능이 있는 것처럼, 에이전트들도 계층별로 그래프를 조회할 수 있게 만든 거야.
테스트해보니까 결과가 벌써 장난 아니야. 이 MCP 없는 에이전트들은 딱 봐도 근시안적이거든. 대규모 프로젝트에서 핵심적인 아키텍처 부분을 아예 무시해버려. 어디에 뭐가 있는지 찾질 못하니까(작업에 필요한 게 어디 있는지 구체적으로 안 알려주면 더더욱). 근데 이 툴을 쓰면 코드 흐름에서 병목 구간을 딱 찾아내서 필요한 부분만 깔끔하게 수정하더라고.
에이전트 쓰면서 또 하나 발견한 건데, 성능 낮은 모델들도 훨씬 똑똑해져. 물론 MCP가 제시하는 경로를 이해하려면 추론 능력이 어느 정도는 받쳐줘야 하지만 말이야. 신기한 건 추론 능력 낮은 모델들은 최신 모델이라 해도 코드의 중요한 부분을 별로 안 궁금해하더라고. 뭐, 당연한 결과지.
아, 토큰 사용량은 늘어나긴 해. 근데 아주 미미한 수준이야. 이 툴 없이 똑같은 작업 할 때랑 비교하면 작업당 1~3% 정도 더 쓰는 수준이라, 전체 한도에서 1~3% 먹는다는 소리가 아니야. 심지어 어떤 작업에서는 에이전트가 올바른 경로를 빨리 찾아서 토큰을 1~3% 덜 쓰기도 해. 툴 출력값 최적화도 계속하고 있어서 처음 시작했을 때보다 토큰 효율은 훨씬 좋아졌어.
핵심은 이거야. 에이전트가 적은 턴 안에 정확한 경로를 찾아내면, 수정이나 재작업, 보완할 일이 줄어들어서 프로젝트 전체로 보면 토큰 소모량이 훨씬 낮아질 거라는 거지.
이게 "저수준 코드 분석"이 필요하다 보니까 아직은 언어별로 따로 만들어야 해. 일단 첫 타자는 Rust야. Rust 다음에는 TypeScript, CSS, HTML(JavaScript는 고민 중) 순으로 지원할 생각이고, 그 뒤로는 더 안 할 거야. 그래도 프로젝트는 MIT 라이선스로 오픈 소스 공개할 거니까 참고해.


