새로운 명령줄 인터페이스(CLI) 도구인 '콜디프(Calldiff)'가 개발자들 사이에서 주목받고 있습니다. 이 도구는 깃(Git) 커밋 간의 코드 변경 사항을 단순히 라인 단위로 비교하는 것을 넘어, 함수 호출 스택(call stack)의 변화를 시각적으로 보여주는 것이 특징입니다. 개발자가 코드의 특정 부분이 어떻게 호출되고, 그 흐름이 어떻게 바뀌었는지 직관적으로 파악할 수 있도록 돕습니다.
콜디프는 깃의 'diff' 명령처럼 두 커밋이나 브랜치 사이의 차이를 분석하지만, 그 대상이 '누가 누구를 호출하는지'에 집중됩니다. 예를 들어, 특정 함수가 어떤 새로운 함수를 호출하게 되었는지, 혹은 기존 호출 관계가 어떻게 변경되었는지 등을 트리(tree) 형태로 명확하게 보여줍니다. 이 도구는 타입스크립트(TypeScript), 파이썬(Python), 고(Go), 자바(Java), 루비(Ruby) 등 22가지 주요 프로그래밍 언어를 지원하며, AST(추상 구문 트리) 기반의 분석을 통해 작동합니다. 또한, 특정 진입점(entrypoint)부터 특정 타겟 함수까지의 모든 호출 경로를 찾아주는 'reach' 기능도 제공하여 복잡한 코드 흐름을 이해하는 데 큰 도움을 줍니다.
콜디프의 등장은 특히 AI 에이전트(agent) 기반의 코드 리뷰 환경에서 중요한 의미를 가집니다. AI 에이전트가 코드 흐름을 재구성하는 변경을 제안했을 때, 기존의 라인 단위 비교만으로는 변경의 '의도'나 '영향'을 파악하기 어려웠습니다. 콜디프는 이러한 코드 흐름의 구조적 변화를 명확하게 제시함으로써, 에이전트가 제안한 변경 사항을 사람이 더 쉽게 이해하고 검토할 수 있도록 돕습니다. 이는 개발 생산성을 높이고, 복잡한 시스템의 유지보수 효율성을 개선하는 데 기여할 것으로 기대됩니다.