개발자가 작성하지 않은 코드를 이해하는 것은 늘 어려운 일입니다. 특히 최근 대규모 언어모델(LLM)이 생성한 코드는 그 동작 방식이나 데이터 흐름을 정확히 파악하기가 쉽지 않습니다. 이러한 문제를 해결하기 위해 '코드플로우맵(codeflowmap)'이라는 새로운 오픈소스 도구가 등장했습니다. 이 도구는 코드베이스의 의존성, 함수 호출 그래프, 그리고 데이터 읽기/쓰기/인증(auth) 경로를 시각적으로 매핑하여 개발자가 코드를 더 깊이 이해하고 검증할 수 있도록 돕습니다.
코드플로우맵은 번(Bun) 런타임을 기반으로 하며, 정적 분석(static analysis)을 통해 파일 및 함수 수준의 정확한 의존성 및 호출 그래프를 생성합니다. 이는 타입스크립트(TypeScript) 컴파일러 API를 활용하여 추측이 아닌 실제 모듈 해석 및 심볼(symbol) 해석을 기반으로 하므로 매우 신뢰할 수 있습니다. 여기에 선택적으로 LLM을 연동하여 각 파일의 요약, 읽기/쓰기, 설정(config), 인증, 데이터 흐름 등 그래프만으로는 알 수 없는 의미론적 정보를 추가합니다. 특히 로컬 LLM인 올라마(Ollama)를 기본으로 지원하여 소스 코드가 외부로 유출될 걱정 없이 안전하게 분석할 수 있으며, 미스트랄(Mistral)이나 오픈AI(OpenAI) 등 외부 API도 연동 가능합니다.
이 도구는 LLM이 생성한 코드를 검증하거나, 처음 접하는 레거시 코드베이스의 구조와 동작 방식을 빠르게 파악하는 데 큰 가치를 제공합니다. 개발자는 웹 UI를 통해 파일 및 함수 뷰를 전환하고, 특정 노드를 클릭하여 관련 호출자와 의존성을 집중적으로 볼 수 있습니다. 또한, 생성된 그래프와 주석은 옵시디언(Obsidian) 볼트 형식으로 출력되어, 위키링크(wikilinks)를 통해 코드 간의 관계를 시각적으로 탐색하고 문서화하는 데 활용할 수 있습니다. 이는 개발 생산성을 높이고 코드 이해도를 심화하는 데 기여하며, 특히 복잡한 시스템의 유지보수 및 온보딩 과정을 크게 단축시킬 수 있습니다.