매일 AI 코딩 도구를 사용하는 대부분의 사람들처럼, 저 또한 Claude Code에 기술 (skills), 서브 에이전트 (subagents), MCP 서버 (MCP servers), 훅 (hooks), 플러그인 (plugins) 등을 설치하며 수개월을 보냈습니다. 설치할 당시에는 그 모든 것들이 필수적으로 느껴졌습니다. 하지만 그중 어느 것도 다시 검토된 적이 없었습니다.
그래서 저는 이를 시각화해 보았습니다.
Agent Atlas map of my real setup — 103 capabilities clustered by purpose, sized by usage, grey = never fired
이것이 저의 실제 설정 상태입니다: 103개의 기능이 설치되어 있었지만, 그중 90개는 지난 30일 동안 단 한 번도 실행되지 않았습니다. ENGINEERING 허브 주변을 둘러싼 회색 무리는
내 머신에서 발견한 것들
비용을 발생시키는 무거운 짐. 내가 설치해두고 잊어버렸던 기술 중 하나는 _모든 세션 (session)_의 컨텍스트 (context)에 약 150개의 토큰 (tokens) 설명을 로드하는 것이었습니다. 한 달 동안 72번의 세션 동안: 단 한 번도 사용하지 않은 것에 약 11,000개의 토큰이 소비되었습니다. 진단 패널은 이러한 사례들을 최악의 것부터 차례대로 나열합니다. (토큰 수치는 의도적으로 하한선으로 표시되었습니다. 실제 MCP 도구 스키마 (tool schemas)는 서버에 연결하지 않고는 측정할 수 없으며, 저는 차라리 수치를 낮게 잡는 편을 택했습니다.)
말 그대로 동일한 기술 25쌍. 동일한 플러그인 (plugin)이 마켓플레이스 (marketplace)에서 서로 다른 두 이름으로 캐싱되어 있었고, 그 결과 해당 기술의 모든 기능이 두 번씩 존재했습니다. 설정 파일 (config file) 상으로는 보이지 않지만, 두 노드 (node)가 동일한 작업을 수행한다고 주장하는데 한쪽은 31번 사용된 반면 쌍둥이는 사용량이 0인 지도를 보면 명확히 드러납니다.
설치된 것과 사용된 것 사이의 격차. 나의 튜닝 바 (tuning bar)에 따르면 나는 43%의 엔지니어링 스택 (engineering stack)을 _설치(installed)_했지만, 실제로는 36%의 엔지니어링 스택을 _사용(use)_하고 있습니다. "설치됨"과 "사용됨" 사이의 전환은 전체 상황을 가장 정직하게 보여주는 단일 관점임이 드러났습니다.
The exported share card — headline stats, tuning bar, map snapshot
내가 가장 신경 쓰는 부분: 개인정보 보호 (privacy)
당신의 AI 설정 (config)과 트랜스크립트 (transcripts)를 읽는 도구라면, 그 데이터가 어디로 가는지에 대해 편집증적일 정도로 철저해야 합니다:
- 읽기 전용, 로컬 전용 (Read-only, local-only). 서버 없음, 계정 없음, 텔레메트리 (telemetry) 없음. 출력물은 하나의 오프라인 HTML 파일입니다.
- 선택 사항인 분류 호출 (classification call)은 항목 이름과 설명만을 전송합니다. 트랜스크립트나 코드는 절대 전송하지 않습니다. 훅 명령 (Hook commands)은 머신을 절대 떠나지 않습니다.
--rough 모드는 API를 완전히 건너뜁니다. 즉, 어떤 것도 머신을 떠나지 않습니다.
- MIT 라이선스이며 오후 한나절이면 읽을 수 있을 정도로 작습니다: https://github.com/Pycomet/agent-atlas
어떻게 만들어졌는가 (간략히)
먼저 사양(Spec)을 정의한 후, 스캐너+마이너(scanner+miner), 분류기(classifier), 렌더러(renderer), 진단 도구(diagnostics)라는 네 가지 엄격한 마일스톤을 설정했습니다. 각 단계는 가짜 ~/.claude 피스처 트리(fixture tree)를 대상으로 테스트 주도(test-driven) 방식으로 진행되었으며, 머지(merge) 전에는 모두 실제 제 기기에서 검증되었습니다. 게시 전에는 구현 사항에 대해 적대적 검토(adversarially reviewed)를 거쳤으며, 발견된 6가지 사항을 모두 확인하고 수정했습니다 (그중 하나는 잘못된 데드웨이트(dead-weight) 주장을 생성할 수 있었던 플러그인 캐시(plugin-cache) 버그였는데, 이는 이와 같은 도구에 대한 신뢰를 떨어뜨리는 정확한 실패 모드였습니다). Claude Code로 구축되었으며, OIDC 신뢰할 수 있는 게시(trusted publishing)를 통해 npm으로 배포되었습니다.
직접 사용해 보기
npx agent-atlas-cli # 스캔, 분류, 맵 열기
npx agent-atlas-cli --rough # 완전 오프라인, API 키 불필요
현재 Claude Code와 함께 작동합니다. 스캐너는 작은 어댑터 인터페이스 뒤에 위치하므로, Codex CLI / Cursor / Gemini CLI 어댑터가 명확한 다음 단계입니다. 기여를 매우 환영합니다.
여러분의 맵이 어떤 모습일지 진심으로 보고 싶습니다. 페이지에 바로 그 용도로 사용할 수 있는 "공유 카드(Share card)" 버튼이 있습니다.