최근 '코드노우(Codeknow)'라는 새로운 오픈소스 도구가 개발자들 사이에서 화제가 되고 있습니다. 이 도구는 대규모 언어모델(LLM)이나 임베딩(embedding) 없이도 코드베이스의 아키텍처 건전성을 분석하고 점수를 매길 수 있는 기능을 제공합니다. 기존의 많은 코드 인텔리전스 도구들이 LLM API 키나 벡터 스토어를 필요로 하는 것과 달리, 코드노우는 순수하게 소스 코드 자체를 분석하여 작동하는 것이 특징입니다.
코드노우는 트리시터(tree-sitter)의 추상 구문 트리(AST) 파싱 기술을 활용하여 25개 이상의 프로그래밍 언어를 지원하며, 별도의 설정이나 API 키 없이 작동합니다. 소스 코드를 함수, 클래스, 모듈 등의 심볼(symbol)과 이들 간의 관계(가져오기, 호출, 상속 등)로 구성된 네트워크X(NetworkX) 방향성 그래프로 변환합니다. 이 그래프를 기반으로 아키텍처 부채(Architectural Debt) 점수(0-100점), 변경 영향도(impact analysis), 코드 변경 이력(changelog), 온보딩 가이드 생성, 보안 취약점 분석, 리팩토링(refactoring) 계획 수립 등 다양한 고급 분석 기능을 제공합니다. 예를 들어, 'codeknow debt' 명령어를 실행하면 코드베이스의 건전성 점수와 함께 '갓 노드(God Node) 집중도', '커뮤니티 간 결합도', '순환 참조(Import Cycles)', '데드 코드(Dead Code)' 등의 상세 분석 결과와 개선 권장 사항을 보여줍니다.
이러한 코드노우의 등장은 개발자들이 LLM 의존도를 줄이고도 심층적인 코드 분석을 수행할 수 있는 새로운 가능성을 제시합니다. 특히 AI 코딩 어시스턴트(AI coding assistants)와 함께 사용될 경우, AI의 분석 능력을 보완하고 정확도를 높이는 시너지 효과를 기대할 수 있습니다. 개발 팀은 코드노우를 통해 아키텍처의 문제점을 조기에 발견하고, 체계적인 리팩토링 계획을 수립하며, 신규 팀원의 코드베이스 이해를 돕는 등 개발 생산성과 코드 품질 향상에 크게 기여할 수 있을 것입니다. 이는 장기적으로 소프트웨어 유지보수 비용을 절감하고 개발 효율성을 높이는 데 중요한 역할을 할 것으로 보입니다.