AI 코딩 에이전트가 개발 워크플로우에 깊숙이 통합되면서, 코드가 어떻게 변경되었는지(what)는 알 수 있지만 '왜(why)' 변경되었는지는 파악하기 어려운 새로운 문제가 발생했습니다. 기존 버전 관리 시스템인 깃(Git)은 코드 변경 이력을 추적하지만, AI 에이전트가 생성한 커밋 메시지는 종종 '스키마 업데이트'와 같이 모호하여 실제 변경 의도를 알기 어렵습니다. 이러한 문제를 해결하기 위해 '셀비지(Selvedge)'라는 새로운 도구가 출시되어, AI가 생성한 코드베이스에 장기 기억(long-term memory)을 부여합니다.
셀비지는 로컬에서 작동하는 MCP(Memory, Context, Provenance) 서버로, 클로드 코드(Claude Code), 커서(Cursor), 코파일럿(Copilot)과 같은 AI 코딩 에이전트가 코드를 변경할 때마다 그 변경의 '왜'를 실시간으로 기록합니다. 이 정보는 코드 옆의 '.selvedge/' 디렉터리에 SQLite 파일 형태로 저장되며, 계정이나 서버 없이 순수 로컬 환경에서 작동합니다. 개발자는 'selvedge blame payments.amount'와 같은 명령어를 통해 특정 변경 사항의 배경 설명을 터미널에서 즉시 확인할 수 있습니다. 또한, 셀비지는 에이전트 트레이스(Agent Trace) 레코드를 내보내 기존 관측성(observability) 또는 감사(audit) 도구와도 연동될 수 있습니다.
셀비지는 단순히 변경된 라인(line)이 아닌 '엔티티(entity)' 단위로 변경 이력을 추적하여, 'users.email'이나 'api/v1/checkout'과 같이 실제 검색하고 싶은 대상에 대한 속성을 부여합니다. 이는 AI 에이전트가 이전에 시도했다가 되돌린 내용을 'prior_attempts' 기능을 통해 확인하여 동일한 실수를 반복하지 않도록 돕는 '활성 기억(active memory)' 역할도 수행합니다. 셀비지는 깃(Git)을 대체하는 것이 아니라, 깃이 '무엇이(what)' 변경되었는지를 알려주는 반면 셀비지는 '왜(why)' 변경되었는지를 알려주는 보완적인 역할을 합니다. 이는 특히 장기간 유지보수해야 하는 대규모 AI 코드베이스나, 개인 개발자가 사이드 프로젝트를 진행하다가 나중에 다시 돌아왔을 때 변경 의도를 잊어버리는 경우에 큰 도움이 될 것입니다.
