AI 에이전트 시대, 도구를 관리하는 도구가 필요합니다.
2025년부터 2026년 현재까지, AI 에이전트 플랫폼은 폭발적으로 늘어났습니다. Claude Code, Codex, Gemini CLI, Cursor — 이제 개발자 한 명이 2개에서 4개의 AI 에이전트를 동시에 사용하는 것이 일상이 되었습니다. 각 플랫폼은 스킬(Skill), 훅(Hook), 에이전트(Agent), 플러그인(Plugin), MCP(Model Context Protocol) 서버 등 독자적인 확장 체계를 갖추고 있습니다. 도구가 늘어날수록 관리해야 할 설정, 확장, 비용 추적 포인트가 기하급수적으로 증가하는 “AI 도구 스프롤(sprawl)” 문제가 심각해지고 있습니다.
이것은 단순한 불편함이 아닙니다. AI 에이전트가 개발자의 주력 도구가 되면서, 그 도구들 자체를 관리하는 상위 계층 도구 — “메타-레이어(meta-layer)” — 가 필요해졌습니다. Claude Code 전용 확장 관리 도구였던 ccx(Claude Code eXtensions Manager)가 범용 Agent eXtension Tool인 axt로 진화한 것은 이 흐름의 자연스러운 결과입니다.
무엇이 문제인가 — Before vs After
Before: 4개 플랫폼을 따로 관리하는 현실
AI 에이전트를 여러 개 사용하는 개발자라면, 각 플랫폼의 데이터가 서로 다른 형식과 경로에 흩어져 있다는 사실을 이미 경험했을 것입니다.
| 플랫폼 | 데이터 형식 | 소스 경로 |
|---|---|---|
| Claude | JSONL | ~/.claude/projects/{name}/.usage.jsonl |
| Codex | JSONL | ~/.codex/sessions/**/*.jsonl |
| Gemini | JSON | ~/.gemini/tmp/*/chats/session-*.json |
| Cursor | SQLite | ~/.cursor/ai-tracking/ai-code-tracking.db |
오늘 하루 AI 도구에 얼마를 썼는지 확인하려면, 터미널에서 4개의 서로 다른 경로를 찾아가 cat이나 jq로 각각 파싱하고, 토큰 수를 직접 합산해야 합니다. 스킬이나 플러그인을 관리하려면 각 플랫폼의 설정 방식을 개별적으로 파악해야 합니다. 플랫폼이 하나 추가될 때마다 이 수작업이 반복됩니다.
After: axt 한 줄이면 충분합니다.
axt usage today # 오늘의 전체 사용량/비용을 한눈에
axt tui # TUI 대시보드로 통합 조회
axt를 도입하면, 4개 플랫폼의 사용량과 비용이 단일 명령어로 통합 조회됩니다. 더 이상 파일 경로를 외우거나 JSON 파싱 스크립트를 직접 만들 필요가 없습니다.
axt의 핵심 구조 — 3계층 아키텍처
axt는 세 개의 명확한 계층으로 설계되어 있습니다. 이 구조를 이해하면 axt가 어떻게 서로 다른 4개 플랫폼을 하나의 도구로 통합하는지 직관적으로 파악할 수 있습니다.
1. 인터페이스 계층
CLI(Commander.js)와 TUI(Ink/React) 두 가지 인터페이스를 제공합니다. 같은 기능을 명령줄에서도, 대화형 UI에서도 동일하게 사용할 수 있습니다. 예를 들어, axt skill list 명령과 TUI의 Extensions > Skills 탭은 동일한 결과를 보여줍니다.
2. 코어 계층
이 계층이 axt의 두뇌에 해당합니다.
usage-unified.ts는 Claude, Codex, Gemini 3개 플랫폼의 토큰 사용량을UnifiedUsageEntry라는 단일 인터페이스로 정규화합니다. 이 인터페이스는platform,model,inputTokens,outputTokens,cacheWriteTokens(캐시에 새로 기록된 토큰),cacheReadTokens(캐시에서 재사용된 토큰) 등 핵심 필드를 통합합니다.usage-cursor.ts는 Cursor의 SQLite 데이터베이스를 별도로 처리합니다. Cursor는 다른 3개 플랫폼과 달리 텍스트 기반 로그가 아닌 SQLite DB에 사용 이력을 저장하기 때문에, 별도의 쿼리 로직이 필요합니다.skill.ts는 user, project, plugin 3개 소스에서 스킬을 통합 조회합니다.models.ts는 13개 AI 모델의 가격표를 내장하고 있습니다. 예를 들어 Claude Opus 4.7의 출력 비용은 100만 토큰당 $75로, Gemini 2.5 Flash($2.50)의 30배에 달합니다(작성 시점 기준). 캐시 쓰기/읽기 비용을 구분하여 계산하고, USD에서 KRW로의 환율 변환까지 지원합니다.
3. 데이터 소스 계층
Claude의 JSONL, Codex의 JSONL, Gemini의 JSON, Cursor의 SQLite — 네 가지 서로 다른 형식의 원시 데이터를 파싱하여 코어 계층으로 전달합니다.
특장점 깊이 보기 — Extensions 탭과 3소스 통합
axt의 가장 차별화된 기능은 Extensions 관리 체계입니다. TUI는 7개 메인 탭으로 구성되어 있습니다.
- Extensions — 확장 통합 관리 (핵심 탭)
- Project — 현재 프로젝트 정보
- Dashboard — 전체 현황 요약
- Claude — Claude Code 전용 뷰
- Codex — Codex 전용 뷰
- Gemini — Gemini CLI 전용 뷰
- Cursor — Cursor 전용 뷰
Extensions 탭 안에는 다시 6개의 서브탭이 존재합니다: Skills, Hooks, Commands, Agents, Plugins, Marketplace. 이 구조를 통해 AI 에이전트 플랫폼에서 사용하는 모든 종류의 확장을 한곳에서 관리할 수 있습니다.
3소스 통합 패턴
axt의 핵심 설계 패턴은 “3소스 통합”입니다. listAllSkills 함수를 예로 들면, 스킬을 세 곳에서 수집합니다.
// src/core/skill.ts — listAllSkills (핵심부)
result.push(...await scanSkillsDir(PATHS.skills, "user")); // ~/.claude/skills/
result.push(...await scanSkillsDir(projSkillsDir, "project")); // .claude/skills/
result.push(...await scanSkillsDir(pluginSkillsDir, "plugin", p.name)); // plugins/*/skills/
- User 소스 (
~/.claude/skills/) — 사용자가 전역으로 설치한 스킬입니다. - Project 소스 (
.claude/skills/) — 특정 프로젝트에 로컬로 설치된 스킬입니다. - Plugin 소스 (
plugins/*/skills/) — 플러그인이 제공하는 스킬입니다.
이 동일한 3소스 통합 패턴이 Agents, Commands, Hooks에도 적용됩니다. CLI에서 axt skill list를 실행하면 TUI의 Extensions > Skills 탭과 동일한 결과를 볼 수 있습니다.
실전 기술 포인트 — 개발자를 위한 보너스
이 섹션은 기술적 깊이에 관심 있는 개발자를 위한 내용입니다. 건너뛰어도 다음 섹션의 흐름에는 영향이 없습니다.
mtime 기반 캐시로 83배 속도 향상
axt는 파일의 수정 시간(mtime)을 기반으로 캐시를 운영합니다. 한 번 파싱한 JSONL/JSON 파일의 내용이 변경되지 않았다면 재파싱을 생략합니다. 약 200개의 세션 파일을 대상으로 초회 파싱과 캐시 적중 시의 조회 시간을 비교한 결과, 반복 조회 시 최대 83배의 속도 향상을 달성했습니다. 수백 개의 세션 파일을 매번 다시 읽는 대신, 변경된 파일만 선별적으로 처리하는 것입니다.
CJK 한글 터미널 테이블 정렬
터미널에서 한글이 포함된 테이블을 표시할 때, 한글 문자는 영문 문자의 2배 너비를 차지합니다. axt는 displayWidth() 함수와 fitToWidth() 함수를 구현하여, 한글이 포함된 테이블도 정확하게 정렬되도록 처리합니다. CJK 문자 처리를 고려하지 않으면 테이블 컬럼이 어긋나는 문제가 발생하는데, axt에서는 이를 자체적으로 해결했습니다.
시작하기 — 설치와 핵심 명령어
설치
git clone https://github.com/greeun/agent-extension-tool
cd agent-extension-tool
bun install
bun link
핵심 CLI 명령어
axt usage today # 오늘의 사용량/비용
axt skill list # 스킬 통합 조회
axt plugin list # 플러그인 목록
axt market list # 마켓플레이스 목록
axt mcp list # MCP 서버 목록
axt plan # 전체 플랫폼 플랜 개요
axt tui # TUI 대시보드 실행
TUI 기본 조작
TUI 대시보드에 진입한 후에는 다음 키로 조작합니다.
- 좌우 화살표 — 메인 탭 전환
- 숫자 키(1~7) — 메인 탭 직접 선택
- Tab — 서브탭 순환
- r — 데이터 새로고침
- ? — 도움말 표시
- q — 종료
GitHub 저장소: https://github.com/greeun/agent-extension-tool
마무리 — AI 도구의 도구, 그 다음
AI 에이전트 플랫폼의 확산은 멈추지 않을 것입니다. 새로운 플랫폼이 등장할 때마다 개발자의 관리 부담은 계속 늘어납니다. 이 시점에서 필요한 것은 개별 플랫폼에 종속된 도구가 아니라, 모든 플랫폼을 아우르는 통합 관리 계층입니다.
단일 플랫폼 전용 도구에서 범용 Agent eXtension Tool로의 진화는, 바로 이 “메타-레이어”의 필요성이 현실이 되었음을 보여줍니다. AI 에이전트가 개발자의 핵심 도구가 된 지금, 그 도구들을 관리하는 도구는 선택이 아닌 필수입니다.
axt를 직접 사용해 보시고, AI 에이전트 시대의 새로운 워크플로우를 경험해 보시기 바랍니다.
GitHub 저장소: https://github.com/greeun/agent-extension-tool