ctx: 로컬 코딩 에이전트 기록 검색 도구
ctx는 로컬 환경에 저장된 과거 코딩 에이전트 세션 기록을 고속으로 검색할 수 있는 오픈소스 CLI 도구입니다. AI 코딩 에이전트들이 이전 작업의 맥락을 파악하지 못하고 처음부터 다시 시작해야 하는 비효율성을 해결하며, 구조화된 인덱싱을 통해 원본 기록을 뒤지는 것보다 50배 더 적은 토큰으로 유의미한 과거 맥락을 제공합니다.
ctx는 과거 코딩 에이전트 세션 전체를 로컬에서 빠르게 검색할 수 있는 오픈소스 CLI(Command Line Interface)입니다.
코딩 에이전트는 보통 매번 제로 상태에서 시작합니다. 현재의 저장소(repository)는 검사할 수 있지만, 과거 작업에서 논의된 내용, 결정 사항, 실패한 시도, 명령어 및 테스트 결과는 복구할 수 없는 경우가 많습니다.
하지만 그러한 세션 기록에는 매우 유용한 컨텍스트가 가득합니다. 버그 조사, 리팩토링, 파일 경로, 명령어, 패치, 이전 에이전트의 메모, 그리고 그곳에서 내린 결정, 제약 조건, 의도 및 기각된 접근 방식 등이 모두 포함되죠.
ctx는 이러한 로그들을 사용자 머신의 SQLite 데이터베이스에 인덱싱합니다. 그런 다음 현재 그리고 미래의 에이전트가 같은 실수를 반복하기 전에 과거의 논의, 명령어, 실패한 시도를 찾을 수 있도록 CLI를 제공합니다.
설치 및 설정
curl -fsSL https://ctx.rs/install | sh
(에이전트 세션을 위한 선택 사항이지만 권장됨:)
npx skills add ctxrs/ctx
(Codex, Claude Code, Cursor 및 순정 Agent Skills의 마켓플레이스/플러그인 설치에 대해서는 'Agent Skill Install' 가이드를 참조하세요.)
원본 기록 검색 대비 50배 높은 토큰 효율성 에이전트 기록을 세션, 이벤트, 메타데이터 및 인덱스 필드로 구조화하고 순위가 매겨진 인용 결과를 반환함으로써, 에이전트는 원문 검색보다 훨씬 적은 토큰으로 유의미한 과거 기록에 접근할 수 있습니다. 검색어와 데이터에 따라 결과는 다를 수 있지만, 일반적인 원문 검색은 너무 많은 토큰을 소모하여 '사용 가능한 과거 기록이 없는 것과 다름없는' 결과를 낳기도 합니다.
작동 방식 과거 에이전트 세션은 로컬 공급자(provider) 기록 파일에 저장됩니다. ctx는 지원되는 소스를 찾아 실제 영구 기록을 가져온 뒤, 검색에 최적화된 로컬 SQLite 데이터베이스에 정규화된 세션, 이벤트 및 수정된 파일 메타데이터를 저장합니다.
ctx는 Rust로 작성되었으며 로컬 SQLite 인덱스를 사용하기 때문에 검색이 빠르고 스크립트 작성이 가능하며 백그라운드 서비스가 필요하지 않습니다. 인덱스는 기본적으로 로컬에 저장되며 비공개로 유지됩니다. 로컬 경로나 비밀 정보 형태의 문자열을 숨기지 않고 기록 텍스트가 그대로 보존되므로, 외부로 공유하기 전에는 복사된 출력물을 검토해야 합니다.
주요 명령어 예시:
ctx setup# 기존의 모든 로컬 에이전트 세션을 인덱싱합니다.ctx search "failed migration"# 자연어로 이전 작업을 검색합니다.ctx search --file crates/foo/src/lib.rs# 해당 파일을 건드린 세션/이벤트를 검색합니다.ctx search --term "failed migration" --term rollback --term "cursor rename"# 여러 검색어를 조합합니다.ctx sql "SELECT provider, COUNT(*) AS sessions FROM ctx_sessions GROUP BY provider"# 읽기 전용 SQL로 정확한 로컬 인덱스 데이터를 검사합니다.ctx show event <ctx-event-id> --window 3# 매칭된 이전 기록의 일부를 출력합니다.ctx show session <ctx-session-id># 원본 세션의 간결한 기록을 출력합니다.
이러한 ID를 통해 현재 에이전트는 필요한 만큼 이전 세션의 컨텍스트를 복구할 수 있습니다. ctx는 프롬프트, 기록 또는 인덱싱된 과거 기록을 클라우드 서비스로 전송하거나 모델 API를 호출하지 않으며, API 키를 요구하거나 소스 코드 저장소에 기록하지 않습니다.
설치된 바이너리에는 로컬 문서 및 매뉴얼 페이지 생성 기능도 포함되어 있습니다 (예: ctx docs search, ctx docs show cli-reference, ctx docs man --print). 공식 설치 프로그램으로 관리되는 바이너리는 서명된 자가 업그레이드를 지원합니다 (ctx upgrade status, ctx upgrade check).
지원하는 에이전트 기록 지원된다는 것은 ctx가 해당 도구의 로컬 영구 기록을 찾아 읽고 검색 인덱스로 가져올 수 있음을 의미합니다.
- Claude Code: 지원됨
- Codex: 지원됨
- Cursor: 지원됨
- Pi: 지원됨
- OpenCode: 지원됨
- Antigravity / Gemini CLI: 지원됨
- Factory AI Droid: 지원됨
- Copilot CLI: 지원됨
비교 일반적인 에이전트 메모리 도구는 압축된 팩트, 요약, 벡터 또는 그래프 노드를 저장합니다. 이는 변하지 않는 설정값 등에는 도움이 될 수 있지만, 다음 에이전트가 버그가 어디서 발생했는지, 이전 시도에서 무엇이 문제였는지 알아야 할 때는 매우 취약한 증거가 됩니다. 반면 ctx는 원본 세션을 구조화하여 기록의 맥락을 온전히 파악할 수 있게 도와줍니다.