Ctxpact: 로컬 LLM을 위한 컨텍스트 압축 프록시

Ctxpact는 AI 에이전트와 로컬 LLM 사이에 위치하는 경량의 OpenAI 호환 프록시로, 제한된 컨텍스트 윈도우를 가진 모델에 도달하기 전에 과도하게 큰 입력을 지능적으로 압축합니다. 이는 16k 컨텍스트 윈도우만 가진 모델에 100k 이상의 토큰 페이로드를 전송하는 OpenClaw 및 Hermes와 같은 에이전트 워크플로우를 위해 설계되었으며, 여기서 단순 자르기는 중요한 정보를 잃게 됩니다.
작동 방식
이 시스템은 3단계 압축 파이프라인을 사용합니다:
- DCP (동적 컨텍스트 가지치기): 도구 호출을 중복 제거하고, 대체된 파일 쓰기를 제거하며, 오류 스택 추적을 자릅니다. LLM 호출 없이 순수 구조적 처리입니다.
- 요약: 오래된 대화 차례를 제거하고 LLM 생성 요약으로 대체합니다. 최근 차례의 슬라이딩 윈도우는 그대로 유지합니다.
- 추출: 입력이 여전히 너무 큰 경우(예: 110k 소설), 토큰 예산 내에서 가장 관련성 높은 콘텐츠를 추출하기 위해 16가지 추출 전략 중 하나를 사용합니다.
추출 전략
추출 단계는 다음과 같은 16가지 전략을 구현합니다:
- 0 LLM 호출: 임베딩 유사성(ChromaDB), 섹션 헤더, 휴리스틱 키워드 grep, LLMLingua 압축
- 1 LLM 호출: LLM이 검색어를 생성하고, IDF 가중치 단어 수준 매칭으로 컨텍스트를 조립
- 2 LLM 호출 (최고 정확도): readagent — 임베딩 + BM25 + RRF 융합, 이중 LLM 용어 확장, 위치 인식 발췌
- N LLM 호출: 다중 턴 도구 호출 루프, DSPy 코드 생성, 맵-리듀스 청킹
벤치마크 결과
총 331개의 GGUF 모델에 대해 2개 모델(LFM2-8B-A1B 및 Qwen3.5-9B)로 12가지 전략을 테스트했습니다:
- 프랑켄슈타인 테스트: 110k 토큰이 12k 토큰으로 압축, 8개 독해 질문; 8/8 정답, 3회 연속 실행에서 결정적, 0% 변동성
- LoCoMo-MC10: 다중 세션 대화 QA, 10선택, 무작위 기준은 10%; readagent + Qwen3.5-9B는 15/20(75%) 점수
- 종합 성능: readagent + Qwen3.5-9B는 87.5% 달성, rlm + Qwen3.5-9B는 80.0% 달성
주요 발견 사항
- 전략 선택보다 모델 선택이 더 중요: LFM2에서 Qwen3.5로 전환하면 모든 전략이 +25-50% 포인트 향상되었습니다. 중간 전략은 모델만 변경하여 5/8에서 7/8로 향상되었습니다.
- NR-MMLU가 컨텍스트 엔지니어링 성능을 예측: LFM2의 47% NR-MMLU 대 Qwen3.5의 65%는 정확도 차이에 직접 매핑됩니다.
- 2 LLM 추출 호출이 최적점: 0에서 1 호출로 의미 있는 향상; 1에서 2 호출로 최고 정확도 도달. 2 호출 이상에서는 정확도 하락.
- readagent와 rlm은 획기적인 전략: 둘 다 프랑켄슈타인에서 8/8 달성. Q4(아일랜드 질문)를 해결하는 유일한 전략입니다. readagent는 LoCoMo에서 75%로 rlm의 60% 대비 도메인 간 선도.
기술적 세부사항
- 아키텍처: 독립형 프록시(LiteLLM 플러그인 및 사이드카 프로세스 고려) — 획기적인 전략이 파이프라인 중간 LLM 호출 필요
- 구현: 약 11k 줄의 Python, FastAPI 서버, 3개 엔드포인트, OpenAI 호환, 무거운 프레임워크 없음
- 호환성: 모든 llama-server / Ollama / vLLM 백엔드 앞에 바로 배치 가능. API 키 없음, 클라우드 없음, 모든 것이 사용자 하드웨어에서 실행
컨텍스트 윈도우를 초과하는 에이전트 워크플로우로 로컬 LLM을 실행하는 개발자에게 Ctxpact는 하드웨어 제약 내에서 정보 무결성을 유지하면서 실용적인 솔루션을 제공합니다.
📖 전체 Source 읽기: r/LocalLLaMA
👀 See Also

일회성 읽기: 중복 파일 읽기를 방지하는 Claude 코드 훅
한 개발자가 read-once라는 PreToolUse 훅을 만들어서 Claude Code가 세션 중에 같은 파일을 반복해서 읽는 경향을 해결했습니다. 이로 인해 불필요한 토큰 소비를 방지합니다.

ClawCode: OpenClaw 에이전트를 Claude Code 플러그인으로 마이그레이션
ClawCode는 Claude Code용 Node.js 플러그인으로, ~/.openclaw/workspace/에서 IDENTITY, SOUL, 메모리, 스킬, 크론 작업을 포함한 OpenClaw 에이전트를 가져옵니다. SQLite+FTS5 검색 가능 메모리, WhatsApp, Telegram, Discord, iMessage, Slack용 메시징 플러그인, 그리고 메모리 통합을 위한 야간 '드림' 프로세스를 제공합니다.

에이전트 룸: Claude 코드 에이전트 팀 시각화 데스크톱 앱
Agents Room은 .claude/agents/ 폴더를 스캔하여 프론트매터를 읽고, 자동 연결선이 있는 캔버스 상에 에이전트 관계를 시각화하는 Electron 데스크톱 애플리케이션입니다. 마크다운 파일을 편집하는 대신 UI에서 직접 에이전트, 스킬, 명령을 생성/편집할 수 있습니다.

멀티 LLM 페이퍼 트레이딩 봇: Claude Opus 리드 엔지니어, Gemini 전략가 구조 분석
한 독자 개발자가 알파카(Alpaca)에서 4,900줄의 코드로 구성된 페이퍼 트레이딩 봇을 공유했습니다. 이 봇은 클로드 오퍼스 4(엔지니어)가 제미니 프로(전략가)에 대해 거부권을 가지며, 270개 이상의 의견 불일치 기록인 '전략가 코덱스(Strategist Codex)'를 포함한 multi-LLM 아키텍처를 사용합니다.