Headroom이란?

Headroom은 오픈소스 LLM 토큰 압축 레이어입니다. AI 에이전트가 읽는 모든 콘텐츠—툴 출력, 로그, RAG 검색 결과, 파일 및 대화 기록—를 LLM에 전송하기 전에 지능적으로 압축합니다.

핵심 가치: 동일한 답변을 5-40%의 토큰만으로. 매일 AI 코딩 어시스턴트(Claude Code, Cursor, Codex 등)를 많이 사용하는 개발자에게 이는 API 비용을 직접 60-95% 절감한다는 의미입니다.

왜 Headroom이 필요한가?

현대 AI 코딩 어시스턴트의 워크플로는 보통 이렇습니다:

사용자 질문 → 에이전트 코드베이스 검색 → 100개 이상 파일 스니펫 반환 → 
에이전트 모든 컨텍스트 정리 → LLM으로 전송 → LLM 답변

문제는 에이전트가 보내는 컨텍스트의 대부분이 중복이라는 점입니다. 예를 들어:

  • 검색 결과가 100개 코드 스니펫을 반환하지만 실제로 관련 있는 것은 5-10개뿐
  • 로그 파일에 불필요한 타임스탬프와 디버그 정보가 많음
  • RAG에서 검색한 문서 블록에 반복되는 접두사가 많음

Headroom은 3계층 아키텍처로 이 문제를 해결합니다:

  1. ContentRouter — 콘텐츠 유형(JSON, 코드, 일반 텍스트) 감지 후 최적 압축기 자동 선택
  2. 지능형 압축기 — SmartCrusher(JSON), CodeCompressor(AST 인식), Kompress-base(HF 모델)
  3. CCR(가역 압축) — 원본 데이터 로컬 저장, LLM 필요 시 온디맨드 검색

Headroom vs 다른 솔루션

기능 Headroom 네이티브 Provider 압축 수동 프롬프트 정제
토큰 절감 60-95% 20-40% 사람에 따라 다름
에이전트 간 메모리 공유 ✅ ❌ ❌
가역 압축(CCR) ✅ ❌ N/A
무코드接入(Proxy) ✅ ❌ N/A
로컬 실행 ✅ ❌(클라우드) ✅
다국어 지원 Python + TS SDK 한정 N/A

Headroom 설치

Headroom은 Python과 Node.js를 지원합니다. pip로 전체 기능 버전을 설치하는 것을 권장합니다.

Python 설치

BASH
# 전체 버전 설치(proxy, MCP, ML 등 모든 기능 포함)
pip install "headroom-ai[all]"

# 또는 필요 모듈만 설치
pip install "headroom-ai[proxy]"   # 프록시 모드만
pip install "headroom-ai[mcp]"     # MCP 서버만
pip install "headroom-ai[ml]"      # 머신러닝 압축 모델

요구사항: Python 3.10+

Node.js / TypeScript 설치

BASH
npm install headroom-ai

설치 확인

BASH
# 버전 및 기능 확인
headroom --version

# 성능 테스트 실행, 현재 환경의 압축 효과 확인
headroom perf

빠른 시작: 세 가지 사용 모드

Headroom은 쉬운 순서대로 세 가지接入 방식을 제공합니다:

모드 1: Wrap 명령어(가장 간단, 제로 설정)

이미 AI 코딩 어시스턴트를 사용하고 있다면, 단 한 줄 명령어로 Headroom을 활성화할 수 있습니다:

BASH
# Claude Code 래핑
headroom wrap claude

# Codex 래핑
headroom wrap codex

# Cursor 래핑
headroom wrap cursor

# Aider 래핑
headroom wrap aider

# GitHub Copilot CLI 래핑
headroom wrap copilot

실행 후 Headroom은 자동으로: 1. 로컬 프록시 서비스 시작(기본 포트 8787) 2. 해당 Agent 설정 수정하여 요청을 프록시로 라우팅 3. 설정 설명 출력,生效 여부 확인 방법 안내

예시: Claude Code 래핑

BASH
$ headroom wrap claude

✅ Headroom proxy started on port 8787
✅ Claude Code config updated

To verify, run:
  claude "What is 2+2?"

You should see compression stats in the output.

이후 claude 명령어를 사용할 때마다 요청은 먼저 Headroom을 거쳐 압축된 뒤 Anthropic API로 전송됩니다.

모드 2: Proxy 프록시 모드(무코드 변경, 모든 언어에 적합)

기존 코드를 수정하고 싶지 않거나 wrap을 지원하지 않는 도구를 사용한다면 프록시 서비스를 단독으로 시작할 수 있습니다:

BASH
# 프록시 시작, 8787 포트 리스닝
headroom proxy --port 8787

그런 다음 앱이나 Agent 설정을 수정해 API 엔드포인트를 원래 Anthropic/OpenAI 엔드포인트 대신 http://localhost:8787로 지정합니다.

예시: OpenAI 호환 클라이언트

PYTHON
from openai import OpenAI

# 원래 설정
# client = OpenAI(api_key="sk-...")

# Headroom 프록시 통해 사용
client = OpenAI(
    api_key="sk-...",
    base_url="http://localhost:8787/v1"  # Headroom 프록시 지정
)

response = client.chat.completions.create(
    model="gpt-4",
    messages=[{"role": "user", "content": "이 코드 설명해줘"}]
)

프록시를 거치는 모든 요청은 비즈니스 로직 수정 없이 자동으로 압축됩니다.

모드 3: Library 라이브러리 모드(가장 유연, 앱에 내장)

자체 AI 앱을 개발 중이라면 Headroom의 압축 함수를 직접 호출할 수 있습니다:

Python 예시

PYTHON
from headroom import compress

messages = [
    {"role": "user", "content": "이 로그 파일 분석해줘"},
    {"role": "assistant", "content": "로그 내용을 제공해주세요"},
    {"role": "user", "content": "[... 10000줄 로그 ...]"}
]

# 메시지 압축
compressed = compress(messages, model="claude-3-sonnet")

print(f"원본 토큰: {compressed.original_tokens}")
print(f"압축 후 토큰: {compressed.compressed_tokens}")
print(f"절감: {compression.savings_percent}%")

# LLM으로 전송
response = anthropic_client.messages.create(
    model="claude-3-sonnet-20240229",
    max_tokens=1024,
    messages=compressed.messages  # 압축된 메시지 사용
)

TypeScript 예시

TYPESCRIPT
import { compress } from 'headroom-ai';

const messages = [
  { role: 'user', content: 'Analyze this codebase' },
  { role: 'assistant', content: 'Please provide the files' },
  { role: 'user', content: '[... 50 files ...]' }
];

const compressed = await compress(messages, { model: 'gpt-4' });

console.log(`Saved ${compressed.savingsPercent}% tokens`);

핵심 기능 상세

1. 지능형 압축 알고리즘

Headroom에는 콘텐츠 유형에 따라 자동으로 선택되는 여러 압축 알고리즘이 내장되어 있습니다:

SmartCrusher — JSON 압축

구조화된 데이터(API 응답, 설정 파일, 데이터베이스 쿼리 결과) 처리 전용:

PYTHON
from headroom import SmartCrusher

data = {
    "users": [
        {"id": 1, "name": "Alice", "email": "alice@example.com", "created_at": "2024-01-01"},
        {"id": 2, "name": "Bob", "email": "bob@example.com", "created_at": "2024-01-02"},
        # ... 1000개 이상 레코드
    ]
}

crusher = SmartCrusher()
compressed = crusher.compress(data)

# 키워드 필드 유지, 불필요한 메타데이터 제거
# 원본: 50,000 토큰 → 압축 후: 5,000 토큰 (90% 절감)

CodeCompressor — AST 인식 코드 압축

코드 구문 트리를 이해해 핵심 구조만 유지:

PYTHON
from headroom import CodeCompressor

code = """
def calculate_total(items):
    '''Calculate total price with tax'''
    total = 0
    for item in items:
        if item.active:
            total += item.price * item.quantity
    tax = total * 0.08
    return total + tax
"""

compressor = CodeCompressor(language="python")
compressed = compressor.compress(code)

# 함수 시그니처, 제어 흐름, 핵심 변수 유지
# 주석, 공백, 비핵심 구현 세부사항 제거

지원 언어: Python, JavaScript, Go, Rust, Java, C++

Kompress-base — 일반 텍스트 압축

HuggingFace에서 훈련된 전용 모델로 자연어, 문서, 로그 등 처리:

BASH
# 첫 사용 시 모델 자동 다운로드(약 500MB)
headroom proxy

# 모델 캐시 위치: ~/.cache/headroom/kompress-base

2. CCR 가역 압축

CCR(Compress-Cache-Retrieve)은 Headroom의 핵심 혁신입니다: 압축된 데이터를 LLM에 전송하지만 원본 데이터는 로컬에 보관됩니다. LLM이 전체 내용을 봐야 할 경우 headroom_retrieve 도구를 호출해 가져올 수 있습니다.

워크플로:

1. Headroom 콘텐츠 압축 → LLM으로 전송
2. LLM 추가 세부사항 필요 감지 → headroom_retrieve(chunk_id) 호출
3. Headroom 로컬 캐시에서 원본 데이터 반환
4. LLM 전체 정보 획득, 추론 계속

장점: - LLM이 처음 받는 것은 압축 버전이라 토큰 사용량 적음 - 필요할 때만 전체 내용 검색, 한 번에 대량 데이터 전송 방지 - 원본 데이터 영구 손실 없음

3. 에이전트 간 메모리 공유

여러 AI 어시스턴트(Claude Code + Codex + Cursor 등)를 동시에 사용한다면 Headroom으로 압축된 컨텍스트를 공유할 수 있습니다:

BASH
# 공유 메모리 활성화
headroom wrap claude --memory
headroom wrap codex --memory

이제 Claude Code가 처리한 코드베이스 인덱스가 캐시되므로 Codex가 다시 스캔하지 않고 재사용할 수 있습니다. 대형 프로젝트에 특히 유용합니다.

4. MCP 서버 통합

Headroom은 MCP(Model Context Protocol) 서버로 실행될 수 있으며, MCP를 지원하는 모든 클라이언트가 호출할 수 있습니다:

BASH
# MCP 서버 설치
headroom mcp install

# 사용 가능한 MCP 도구:
# - headroom_compress: 임의 콘텐츠 압축
# - headroom_retrieve: 원본 데이터 검색
# - headroom_stats: 압축 통계 확인

예시: Claude Desktop에서 사용

JSON
// claude_desktop_config.json
{
  "mcpServers": {
    "headroom": {
      "command": "headroom",
      "args": ["mcp", "serve"]
    }
  }
}

실전 사례

사례 1: 코드베이스 검색 최적화

시나리오: AI 어시스턴트에 10만 줄 코드 프로젝트에서 특정 기능 구현 찾기 요청.

Headroom 미사용:

Agent 검색 → 100개 관련 파일 반환 → 모두 LLM으로 전송 → 
토큰 사용량: 17,765 → 비용 높고 응답 느림

Headroom 사용:

BASH
headroom wrap claude
claude "사용자 인증 모듈 구현 찾아줘"
Agent 검색 → Headroom이 100개 파일 압축 → 
토큰 사용량: 1,408 → 92% 절감

실제 테스트 데이터:

워크로드 압축 전 압축 후 절감
코드 검색(100개 결과) 17,765 1,408 92%
SRE 사고 디버깅 65,694 5,118 92%
GitHub Issue 분류 54,174 14,761 73%
코드베이스 탐색 78,502 41,254 47%

사례 2: 다중 Agent 협업

시나리오: Claude Code로 코드 리뷰, Codex로 단위 테스트 생성, Cursor로 코드 리팩토링.

전통 방식: 각 Agent가 코드베이스를 독립적으로 스캔해야 해 토큰이 중복 소모됨.

Headroom 공유 메모리 사용:

BASH
# 1단계: Claude Code 스캔 및 캐싱
headroom wrap claude --memory
claude "src/auth/ 디렉토리 코드 품질 리뷰해줘"

# 2단계: Codex 캐시 재사용
headroom wrap codex --memory
codex "src/auth/ 단위 테스트 생성해줘"
# Codex가 Claude의 캐시된 인덱스 직접 사용, 재스캔 불필요

# 3단계: Cursor 계속 재사용
headroom wrap cursor --memory
cursor "src/auth/ 에러 핸들링 리팩토링해줘"

절감 효과: 두 번째 이후 Agent들은 초기 스캔 토큰을 40-60% 절감할 수 있습니다.

사례 3: 로그 파일 분석

시나리오: 프로덕션 환경 문제 디버깅 시 AI에 10,000줄 로그 파일 분석 요청.

PYTHON
from headroom import compress
import anthropic

# 로그 읽기
with open("production.log") as f:
    logs = f.read()

messages = [
    {"role": "user", "content": f"이 로그 분석해서 에러 원인 찾아줘:\n{logs}"}
]

# 압축
compressed = compress(messages, model="claude-3-sonnet")

print(f"원본: {compressed.original_tokens} 토큰")
print(f"압축 후: {compressed.compressed_tokens} 토큰")
print(f"절감: {compressed.savings_percent}%")

# 전송
client = anthropic.Anthropic()
response = client.messages.create(
    model="claude-3-sonnet-20240229",
    max_tokens=2048,
    messages=compressed.messages
)

print(response.content[0].text)

일반적 효과: 65,694 토큰 → 5,118 토큰(92% 절감), 핵심 에러 정보는 손실되지 않음.


성능 벤치마크

Headroom은 표준 벤치마크에서 정확도를 유지합니다:

벤치마크 카테고리 샘플 수 베이스라인 정확도 Headroom 정확도 차이
GSM8K 수학 100 0.870 0.870 ±0.000
TruthfulQA 사실성 100 0.530 0.560 +0.030
SQuAD v2 QA 100 — 97% 19% 압축률
BFCL 툴 호출 100 — 97% 32% 압축률

결론: Headroom은 정확도를 유지하면서 상당한 토큰 절감을 실현합니다.

벤치마크 재현:

BASH
python -m headroom.evals suite --tier 1

고급 설정

CacheAligner — Provider KV 캐시 히트율 향상

CacheAligner는 프롬프트 접두사를 안정화해 Anthropic/OpenAI의 KV 캐시가 히트되도록 하여 비용을 추가로 절감합니다:

PYTHON
from headroom import CompressionMiddleware

# ASGI 앱에 미들웨어 추가
app.add_middleware(CompressionMiddleware)

headroom learn — 실패에서 학습

Headroom은 실패한 세션을 마이닝해 자동으로 CLAUDE.md 또는 AGENTS.md에 수정 사항을 기록할 수 있습니다:

BASH
# 학습 모드 활성화
headroom wrap claude --learn

# Claude Code가 잘못된 답변을 줄 때 Headroom은:
# 1. 실패 원인 분석
# 2. 수정 프롬프트 생성
# 3. 프로젝트의 CLAUDE.md에 기록
# 4. 다음 세션에서 자동 적용

사용자 정의 압축 전략

Pipeline을 통해 사용자 정의 압축 동작을 확장할 수 있습니다:

PYTHON
from headroom import PipelineExtension

class MyCustomCompressor(PipelineExtension):
    def on_input_received(self, event):
        # 입력 수신 시 사용자 정의 로직 실행
        print(f"Received {len(event.content)} bytes")

    def on_input_compressed(self, event):
        # 압축 완료 후 실행
        print(f"Compressed to {event.compressed_size} bytes")

# 확장 등록
pipeline.register(MyCustomCompressor())

자주 묻는 질문

Q1: Headroom이 답변 품질에 영향을 미치나요?

답: 아니요. 벤치마크에서 정확도가 동일하게 유지됩니다(GSM8K: 0.870 → 0.870). CCR 가역 압축으로 LLM이 언제든지 전체 내용을 검색할 수 있습니다.

Q2: 데이터 보안은 어떤가요?

답: Headroom은 완전히 로컬에서 실행되며 모든 압축, 캐싱, 저장이 사용자의 머신에서 이루어집니다. 원본 데이터는 외부 서버로 전송되지 않습니다.

Q3: 어떤 LLM Provider를 지원하나요?

답: 이론적으로 모든 Provider를 지원합니다. Headroom은 프롬프트 레벨에서 작동하기 때문입니다. 검증된 지원 목록: - Anthropic (Claude) - OpenAI (GPT-4, GPT-3.5) - AWS Bedrock - Google Gemini - 모든 OpenAI 호환 API

Q4: 압축이 지연 시간을 증가시키나요?

답: 로컬 압축은 보통 10-50ms 내에 완료되며 네트워크 요청(수백 ms~수 초)에 비해 무시할 수준입니다. 게다가 전송 토큰이 적어져 전체 응답 시간은 일반적으로 더 빨라집니다.

Q5: 개인 개발자와 팀 중 누구에게 적합한가요?

답: 둘 다 적합합니다. - 개인 개발자: 매일 AI 어시스턴트 사용, API 비용 절감 - 팀: 에이전트 간 메모리 공유로 코드베이스 재스캔 방지; 통합 압축 전략으로 비용 통제 용이


요약

Headroom은 실제 문제를 해결하는 고품질 오픈소스 도구입니다. AI 코딩 어시스턴트를重度로 사용하는 개발자에게 다음과 같은 혜택을 제공합니다:

✅ 토큰 비용 60-95% 절감 — 직접省钱
✅ 무코드接入 — headroom wrap claude 한 줄 명령어로搞定
✅ 에이전트 간 메모리 공유 — Claude, Codex, Cursor가 캐시 공유
✅ 가역 압축(CCR) — 원본 데이터 손실 없음, LLM이 온디맨드 검색 가능
✅ 로컬 실행 — 데이터 안전, 프라이버시 유출 위험 없음

팀의 월 LLM API 지출이 $100를 넘는다면 Headroom은 분명히 큰 돈을 절약해 줄 것입니다.

지금 시작하세요:

BASH
pip install "headroom-ai[all]"
headroom wrap claude  # 또는 사용하는任何 Agent
headroom perf         # 절감 효과 확인

프로젝트 주소: https://github.com/chopratejas/headroom
문서: https://headroom-docs.vercel.app/docs