Context Gateway – LLM 호출 전 Agent Context를 압축해주는 프록시
Show HN: Context Gateway – Compress agent context before it hits the LLM
TL;DR Highlight
AI 에이전트(Claude Code, Cursor 등)와 LLM API 사이에 끼어들어 대화 히스토리가 길어지면 백그라운드에서 미리 요약·압축해두는 오픈소스 프록시 도구. Context 한계 도달 시 발생하는 대기 시간을 없애는 게 핵심 목적이다.
Who Should Read
Claude Code, Cursor 같은 AI 코딩 에이전트를 장시간 사용하다가 context 한도 초과로 compaction 대기 시간이 불편한 개발자, 또는 LLM 에이전트 워크플로우에서 토큰 비용과 응답 지연을 줄이고 싶은 백엔드/ML 엔지니어.
Core Mechanics
- Context Gateway는 AI 에이전트(Claude Code, Cursor, OpenClaw 등)와 LLM API 사이에 위치하는 프록시 서버로, 대화 히스토리가 일정 임계값(기본 75%)에 도달하면 백그라운드에서 미리 요약(compaction)을 수행해둔다. 덕분에 실제 context 한도가 찼을 때 사용자가 기다리지 않아도 된다.
- YC 지원을 받은 Compresr AI가 만든 도구로, Apache-2.0 라이선스 오픈소스로 공개돼 있다. GitHub 스타 411개, Fork 34개 수준이다.
- 설치는 curl 한 줄로 바이너리를 받고 `context-gateway` 명령어를 실행하면 TUI(터미널 UI) 위자드가 뜬다. 위자드에서 에이전트 종류(claude_code, cursor, openclaw, custom), 요약에 쓸 모델과 API 키, Slack 알림 여부, 압축 트리거 임계값 등을 설정한다.
- 압축 결과는 `logs/history_compaction.jsonl` 파일에 기록되어 어떤 내용이 요약됐는지 확인할 수 있다.
- 지원 에이전트는 claude_code, cursor, openclaw, custom(직접 설정) 네 가지이며, custom 옵션을 통해 자체 에이전트 워크플로우에도 붙일 수 있다고 설명한다.
- Golang으로 작성된 것으로 보이며(go.mod, go.sum, .golangci.yml 존재), Docker 지원도 포함되어 있다.
Evidence
- Anthropic이 최근 1M context 창을 가진 Claude를 GA(정식 출시)했고 'lost-in-the-middle(긴 context 중간 내용을 모델이 놓치는 문제)'도 해결했다고 발표한 시점이라, Context Gateway가 해결하려는 문제 자체가 단기간에 사라질 수 있다는 지적이 많았다. '이 회사는 몇 달 안에 사라지거나 VC 돈이 떨어질 것'이라는 냉소적인 반응도 있었다.
- 캐싱 비용 문제도 제기됐다. 누군가 'context를 압축하면 기존 캐시가 깨지기 때문에, 압축 이후 전체 히스토리 토큰을 uncached 상태로 다시 과금받게 된다'고 지적했다(Claude의 prompt caching 문서 링크 포함). 이 경우 압축으로 절약하는 비용보다 캐시 미스로 늘어나는 비용이 더 클 수 있다는 우려다.
- 'Claude의 자체 compaction은 엄청 느린데 Codex는 그나마 참을 만하다. 이 도구가 그것들보다 얼마나 빠른지 수치 데이터가 있느냐'는 질문이 있었지만, 압축이 출력에 악영향을 미치는지도 직접 테스트해봐야겠다는 유보적 반응이었다. 제작사 측의 명확한 벤치마크 데이터는 공개되지 않은 상태다.
- ADK(Google Agent Development Kit) 사용자 중 한 명은 '우리 프레임워크는 이미 툴·서브에이전트별로 context 압축을 boolean 한 줄로 켤 수 있다. 외부 도구가 내 context를 건드리는 게 싫고, 이런 기능은 프레임워크 레벨에서 처리해야 할 단순한 기능이다. YC가 너무 일찍 AI 스타트업에 과투자했다'고 강하게 비판했다.
- 에이전트 출력 결과(tool call output)를 압축하면 에이전트가 문제 진단에 필요한 핵심 context를 잃을 수 있다는 품질 우려도 있었다. 또한 '로컬에서 ~1B짜리 소형 언어 모델(SLM)로 이런 기능을 내장하는 방향으로 업계가 갈 텐데, 독립 제품으로서 어떻게 sticky하게 살아남을 거냐'는 질문도 제기됐다.
How to Apply
- Claude Code를 사용하다가 긴 세션에서 compaction 대기 시간이 답답한 경우, `curl -fsSL https://compresr.ai/api/install | sh`로 설치 후 `context-gateway` 명령어로 claude_code 에이전트를 선택하면 바로 프록시로 연결할 수 있다. 단, 압축 시 기존 캐시가 깨져 추가 토큰 비용이 발생할 수 있으니 `logs/history_compaction.jsonl`을 보며 실제 비용 대비 효과를 측정해볼 것.
- Cursor IDE 사용자가 장기 코딩 세션에서 context 한도 문제를 겪는다면, TUI 위자드에서 cursor 에이전트를 선택하고 압축 트리거 임계값을 기본 75%보다 낮게(예: 60%) 설정하면 더 일찍 백그라운드 압축이 시작돼 대기 없이 넘어갈 수 있다.
- 자체 에이전트 파이프라인을 운영 중인 팀이라면 custom 옵션으로 설정 파일을 직접 작성해 연결할 수 있다. 다만 현재 ADK, LangChain 등 주요 프레임워크가 이미 유사 기능을 자체적으로 제공하므로, 도입 전에 사용 중인 프레임워크의 context 관리 기능을 먼저 확인하는 게 낫다.
Code Example
snippet
# 1. 설치
curl -fsSL https://compresr.ai/api/install | sh
# 2. TUI 위자드 실행 (에이전트 선택, 모델/API 키, 임계값 설정)
context-gateway
# 3. 압축 로그 확인
cat logs/history_compaction.jsonlTerminology
Context compactionAI 에이전트와의 긴 대화에서 오래된 내용을 요약해 토큰 수를 줄이는 작업. 책의 앞부분을 줄거리 한 문단으로 압축하는 것과 비슷하다.
Lost-in-the-middleLLM이 긴 입력을 받을 때 앞과 끝은 잘 기억하지만 중간 내용을 놓치는 현상. 긴 문서의 중간 페이지 내용을 까먹는 것과 유사하다.
Prompt caching이전에 보낸 프롬프트 내용을 API 서버가 캐시해뒀다가 재사용함으로써 토큰 비용을 절감하는 기법. context를 압축하면 캐시 키가 달라져 캐시 미스가 발생한다.
SLMSmall Language Model의 약자로, GPT-4 같은 대형 모델과 달리 1~7B 파라미터 수준의 작고 가벼운 언어 모델. 로컬 기기에서도 실행 가능하다.
TUITerminal UI의 약자. GUI 대신 터미널(명령줄) 환경에서 마우스 없이 키보드만으로 조작할 수 있는 인터페이스.
Agentic proxyAI 에이전트와 LLM API 사이에 위치해 요청·응답을 가로채고 변환하는 중간 서버. 일종의 AI용 미들웨어다.