Context Gateway – LLM 호출 전 Agent Context를 압축해주는 프록시
Show HN: Context Gateway – Compress agent context before it hits the LLM
TL;DR Highlight
오픈소스 프록시 도구는 Claude Code·Cursor 등 AI 에이전트와 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
# 1. 설치
curl -fsSL https://compresr.ai/api/install | sh
# 2. TUI 위자드 실행 (에이전트 선택, 모델/API 키, 임계값 설정)
context-gateway
# 3. 압축 로그 확인
cat logs/history_compaction.jsonlTerminology
관련 논문
Swift로 LLM 학습시키기 Part 1: 행렬 곱셈을 Gflop/s에서 Tflop/s로 끌어올리기
Apple Silicon에서 Swift로 직접 행렬 곱셈 커널을 구현하며 CPU, SIMD, AMX, GPU(Metal)를 단계별로 최적화해 Gflop/s에서 Tflop/s 수준까지 성능을 높이는 과정을 상세히 설명한 글이다. 프레임워크 없이 LLM 학습의 핵심 연산을 밑바닥부터 구현하고 싶은 개발자에게 Apple Silicon의 성능 한계를 체감할 수 있는 드문 자료다.
fsync 없이 로컬 스토리지 엔진을 crash-consistent하게 만든 방법
FractalBits가 fsync 없이 SSD 전용 KV 스토리지 엔진을 구현해 동일 조건 대비 약 65% 높은 쓰기 성능을 달성한 설계 방법을 공유했다. fsync의 메타데이터 오버헤드를 피하기 위해 사전 할당, O_DIRECT, SSD 원자 쓰기 단위 정렬 저널을 조합한 구조가 핵심이다.
Google Chrome, 사용자 동의 없이 4GB AI 모델(Gemini Nano)을 몰래 설치
Google Chrome이 사용자 동의 없이 Gemini Nano 4GB 모델 파일을 자동 다운로드하고, 삭제해도 재다운로드되는 문제가 발견됐다. GDPR 위반 가능성과 수십억 대 기기에 적용될 때의 환경 비용 문제가 제기되고 있다.
OpenAI가 대규모 저지연 Voice AI를 제공하는 방법
OpenAI가 9억 명 이상의 사용자에게 실시간 음성 AI를 제공하기 위해 WebRTC 스택을 어떻게 재설계했는지 설명하는 글로, relay + transceiver 분리 아키텍처의 설계 결정과 trade-off를 상세히 다룬다.
Truncated Decoding Tree의 결정론적 탐색을 통한 효율적인 Test-Time Inference
Self-consistency의 중복 샘플링 낭비를 없애는 결정론적 트리 탐색 디코딩 기법 DLE로 수학/코드 추론 성능과 속도를 동시에 개선
GoModel – Go로 작성된 오픈소스 AI Gateway
OpenAI, Anthropic, Gemini 등 여러 AI 프로바이더를 하나의 OpenAI 호환 API로 묶어주는 Go 기반 오픈소스 AI 게이트웨이로, LiteLLM의 컴파일 언어 대안이다.