최근 AI 코딩 에이전트(coding agent)의 활용이 늘면서 생산성은 높아졌지만, 동시에 유지보수하기 어려운 '나쁜 코드 습관' 즉 코드 스멜(code smell)로 인한 기술 부채(technical debt) 문제도 함께 증가하고 있습니다. 개발자들이 에이전트에 아무리 상세한 지침을 주더라도, 에이전트는 여전히 모호한 타입 사용, 불필요한 플래그 추가, 복잡한 중첩 함수 생성 등으로 코드 품질을 저하시키곤 합니다. 이러한 문제는 기존의 정적 분석 도구나 CI/CD 파이프라인에서는 너무 늦게 발견되어 수정 비용이 커지는 한계가 있었습니다.
이러한 문제를 해결하기 위해 'Sensez'라는 새로운 도구가 등장했습니다. Sensez는 코딩 에이전트가 코드를 작성하는 루프 안에서 작동하며, 중복 코드, 사용되지 않는 코드(dead code), 순환 참조(cycles), 아키텍처 위반, 디자인 스멜 등 구조적인 문제를 실시간으로 감지하고 즉각적인 피드백을 제공합니다. 이는 에이전트가 코드를 완성하기 전에 문제를 인지하고 수정할 수 있도록 돕습니다. Sensez는 파이썬(Python)과 자바스크립트/타입스크립트(JavaScript/TypeScript) 프로젝트를 지원하며, 클로드 코드(Claude Code), 커서(Cursor), 클라인(Cline), 코덱스(Codex), 오픈코드(OpenCode), 파이(Pi) 등 다양한 코딩 에이전트와 연동됩니다. 실제 평가에서 Sensez를 사용한 에이전트는 코드 스멜 86%, 중복 코드 90%, 코드 라인 67%를 줄이는 놀라운 성과를 보였습니다.
Sensez는 기존의 린터(linter)나 타입 검사기(type checker)처럼 코드의 문법적 정확성이나 로컬 오류를 잡는 도구들과는 다르게, 코드베이스 전체의 구조적 관계와 디자인 패턴에 집중합니다. 예를 들어, 의미 없는 튜플 패킹(tuple packing), 느슨한 타이핑(loose typing), 불리언 플래그(boolean blindness), 암시적 스키마(implicit schema), 변이된 매개변수(mutated parameter), 기능 탐닉(feature envy), 메시지 체인(message chain), 신 모듈(god module) 등 다양한 코드 스멜을 감지합니다. 이러한 실시간 구조적 피드백은 에이전트가 생성하는 코드의 초기 단계에서부터 기술 부채를 줄여, 장기적으로 프로젝트의 유지보수성과 확장성을 크게 향상시키는 데 기여할 것으로 기대됩니다.