Show HN: Lowfat – pluggable CLI filter that saved 91.8% of my LLM tokens
TL;DR Highlight
AI 에이전트가 CLI 명령어 출력을 읽을 때 불필요한 노이즈를 제거해 토큰 사용량을 줄여주는 Rust 기반 CLI 필터 도구. Claude Code, OpenCode 등 주요 AI 코딩 에이전트와 통합 가능하다.
Who Should Read
Claude Code, OpenCode 같은 AI 코딩 에이전트를 일상적으로 사용하는 개발자 중 LLM API 토큰 비용을 줄이고 싶거나 컨텍스트 윈도우 낭비를 막고 싶은 분들.
Core Mechanics
- lowfat은 AI 에이전트가 bash 명령어를 실행할 때 그 출력을 LLM에 전달하기 전에 가로채서 노이즈를 제거하는 CLI 필터 도구다. 예를 들어 `git status`나 `docker ps` 같은 명령어 출력에서 LLM이 필요 없는 부분을 잘라낸다.
- Rust로 작성된 단일 바이너리로, `cargo install lowfat` 또는 `brew install zdk/tools/lowfat`으로 설치할 수 있다. 별도 서버나 외부 API 호출 없이 로컬에서만 동작하며 텔레메트리가 없다.
- Claude Code와의 통합은 `.claude/settings.json`에 PreToolUse 훅을 추가하는 방식으로 동작한다. Bash 명령 실행 전에 lowfat이 자동으로 출력을 필터링하므로 에이전트 코드 수정 없이 적용 가능하다.
- Shell integration 방식으로 `eval "$(lowfat shell-init zsh)"` 를 `.zshrc`에 추가하면 CLAUDECODE=1, CODEX_ENV 같은 에이전트 환경 변수가 감지될 때 자동으로 활성화된다. LOWFAT_ENABLE=1 환경변수로 강제 활성화도 가능하다.
- OpenCode와의 통합은 `lowfat opencode install` 명령 하나로 완료되며, `~/.config/opencode/plugins/lowfat.ts`를 자동으로 작성해준다. 제거도 `lowfat opencode uninstall` 하나로 된다.
- 필터 강도를 `lowfat level ultra`(최대 압축) 또는 `LOWFAT_LEVEL=lite`(약한 필터링) 식으로 조절할 수 있다. `lowfat stats`로 누적 토큰 절약량을, `lowfat history`로 어떤 명령어에서 절약이 많았는지 확인할 수 있다.
- 플러그인 방식으로 확장 가능하며, 빌트인 필터 외에 사용자가 직접 필터를 추가할 수 있다. UNIX 파이프 방식으로 여러 필터를 조합할 수 있다.
- 제목에서 주장하는 91.8% 절약은 특정 명령어의 raw CLI 출력 기준이지, 전체 LLM 대화 토큰 대비 절약량이 아니다. Amdahl의 법칙 적용 시 실제 전체 토큰 절약률은 이보다 훨씬 낮을 수 있다.
Evidence
- 실제로 유사한 도구(rtx, lean-ctx)를 써본 사용자가 '이런 도구들이 에이전트를 더 혼란스럽게 만들더라'는 경험을 공유했다. 필터링으로 아낀 토큰보다 혼란으로 인한 추가 API 호출이 더 많아질 수 있다는 지적이다.
- 91.8% 절약이라는 제목이 과장됐다는 비판이 있었다. 이는 하나의 사용 사례에서 raw CLI 출력 토큰 기준이며, 전체 프롬프트 토큰 대비 절약량이 아니다. Amdahl의 법칙을 적용하면 전체 토큰 절약이 91%일 수는 없다는 것이다.
- 가장 핵심적인 기술적 우려로 '에이전트가 실제로 필요했던 스택 트레이스를 필터가 지워버리면 어떻게 되냐'는 질문이 제기됐다. LLM이 full-fat 출력으로 학습됐는데 갑자기 필터링된 다른 형태의 출력을 받으면 오히려 오작동할 수 있다는 우려도 있었다.
- 한 사용자가 비슷한 문제를 다른 방식으로 해결하는 팁을 공유했다: 출력이 잘렸을 때 '전체 텍스트는 /tmp/somewhere.txt에 있다'고 알려주면 LLM이 필요할 때 내장 파일 읽기 도구로 직접 조회할 수 있다는 것이다. 불필요한 재호출 없이 필요한 정보만 가져올 수 있다.
- 문서에 실제 필터링 전후 예시가 없다는 지적이 있었다. '어떻게 동작하는지'는 설명하지만 '실제로 어떤 텍스트가 어떻게 바뀌는지' 보여주는 예시가 없어서 효과를 판단하기 어렵다는 피드백이다.
How to Apply
- Claude Code를 사용 중이고 매번 `git log`, `docker ps` 같은 verbose 명령어 출력이 컨텍스트를 잡아먹는다고 느낀다면, `.claude/settings.json`에 PreToolUse 훅을 추가해 lowfat을 연결하면 에이전트 코드 변경 없이 바로 필터링이 적용된다.
- 필터링이 너무 공격적으로 동작해서 에이전트가 필요한 정보를 못 받을까 걱정된다면, `LOWFAT_LEVEL=lite`로 약하게 시작하고 `lowfat stats --audit`으로 실제 어떤 내용이 잘렸는지 확인하면서 조금씩 강도를 올리는 방식이 안전하다.
- 어떤 명령어에서 토큰 낭비가 가장 많은지 모른다면 `lowfat history`로 명령어별 잠재적 절약량을 확인한 뒤, 절약량이 큰 명령어에 특화된 커스텀 필터를 플러그인으로 추가하면 효과를 극대화할 수 있다.
- MCP 도구가 JSON REST API를 그대로 래핑해서 불필요한 필드가 많은 응답을 LLM에 통째로 넘기는 상황이라면, lowfat과 유사한 방식으로 응답에서 LLM이 실제로 필요한 필드만 추출하는 전처리 레이어를 파이프라인에 추가하는 것을 검토해볼 수 있다.
Code Example
# Claude Code 훅 설정 (.claude/settings.json)
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [{ "type": "command", "command": "lowfat hook" }]
}
]
}
}
# Shell 통합 (zsh 예시)
echo 'eval "$(lowfat shell-init zsh)"' >> ~/.zshrc
# OpenCode 통합
lowfat opencode install
# 직접 사용
lowfat git status
lowfat docker ps
lowfat ls -la
# 필터 강도 조절
lowfat level ultra # 최대 압축
LOWFAT_LEVEL=lite lowfat git log # 약한 필터링 (일회성)
# 현황 및 통계 확인
lowfat info # 상태 및 활성 필터
lowfat info git # git 명령어의 필터 파이프라인
lowfat stats # 누적 토큰 절약량
lowfat stats --audit # 최근 플러그인 실행 내역
lowfat history # 명령어별 절약 순위Terminology
Related Papers
Jamesob's guide to running SOTA LLMs locally
2천 달러짜리 RTX 3090 한 장부터 4만 달러짜리 RTX PRO 6000 4장 셋업까지, 로컬에서 최신 LLM을 직접 돌리는 방법을 하드웨어 선택·구성·실행 설정까지 통째로 정리한 실전 가이드다.
Faster embeddings: how we rebuilt the ONNX path in Manticore
Manticore Search가 기존 SentenceTransformers/Candle 백엔드를 ONNX Runtime으로 교체해 텍스트 임베딩 생성 속도를 평균 14배 향상시켰다. 별도 모델 서비스 없이 DB 내부에서 직접 임베딩을 처리하는 구조에서 INSERT 속도가 곧 임베딩 속도이기 때문에 이 개선은 실질적인 ingest 처리량 향상으로 직결된다.
Asymmetric Quantization: Near-Lossless Retrieval with 97% Storage Reduction
멀티벡터 검색 모델의 문서 벡터를 1비트 이진값으로 압축하고 쿼리 벡터만 int8로 유지하는 비대칭 양자화 기법으로, 스토리지를 97% 줄이면서 검색 품질 손실을 0.61점(NDCG@10 기준)에 그치게 만든 실제 프로덕션 적용 사례다.
Show HN: Bash4LLM+ – A lightweight, dependency-free Bash wrapper for LLM APIs
Python이나 Node.js 없이 순수 Bash만으로 Groq 등 OpenAI 호환 LLM API를 호출할 수 있는 단일 스크립트 도구로, Termux(Android)를 포함한 모든 Unix 환경에서 동작한다.
Wayfinder Router: deterministic routing of queries between local and hosted LLM
프롬프트의 복잡도를 모델 호출 없이 오프라인으로 점수화해서 간단한 쿼리는 로컬 모델로, 어려운 쿼리는 유료 모델로 자동 라우팅하는 CLI 도구다. LLM 비용을 줄이면서도 응답 품질을 유지하고 싶은 개발자에게 유용하다.
Apple Neural Engine: Architecture, Programming, and Performance
Apple 기기에 내장된 AI 전용 칩인 ANE(Apple Neural Engine)를 리버스 엔지니어링으로 분석한 302페이지짜리 기술 문서로, Core ML 아래 숨겨진 내부 구조와 직접 접근 경로를 처음으로 공개한다.