본문으로 건너뛰기

© 2026 Molayo

GitHub요약2026. 06. 01. 21:59

juyterman1000/entroly

요약

Entroly는 AI 코딩 도구의 입력 토큰을 70% 이상 절감하고 환각을 방지하는 로컬 우선 컨텍스트 최적화 도구입니다. 배낭 최적화 및 캐시 정렬 등 19가지 메커니즘을 통해 비용을 절감하며, Claude, Cursor 등 다양한 도구를 지원합니다.

핵심 포인트

  • 입력 토큰 70% 이상 감소를 통한 AI 비용 절감
  • Claude, Cursor, Aider 등 33개 이상의 도구 지원
  • 로컬 우선(Local-first) 방식으로 코드 보안 유지
  • STAVE 기술을 통한 $0 비용의 환각 방지 가드 제공
  • 30초 내 설치 가능한 간편한 워크플로우

中文 • 日本語 • 한국어 • Português • Español • Deutsch • Français • Русский • हिन्दी • Türkçe

즉시 적용. 30초 소요. 코드 변경 없음.

knapsack-optimal context selection (배낭 최적화 컨텍스트 선택), prefix-stable cache hits (접두사 안정적 캐시 히트), $0 hallucination guard (환각 방지 가드), 그리고 16가지의 다른 레버(levers)를 기반으로 작동하며 — 이 모든 기능은 기본적으로 활성화되어 있습니다.

단 하나의 모토: AI 비용 절감. 컨텍스트 압축 (context compression), 프로바이더-캐시 정렬 (provider-cache alignment), 환각 억제 (hallucination suppression), 모델 라우팅 (model routing), 응답 증류 (response distillation), 세션 간 지속적 캐시 (persistent cross-session cache) 등 19가지 메커니즘이 함께 작동합니다. 한 번만 설치하면 모든 메커니즘이 로컬에서 실행됩니다.

70% 이상의 입력 토큰(input-token) 감소 ·
$0 환각 방지 가드 (hallucination guard) ·
30초 설치 ·
Claude · Cursor · Codex · Aider · 기타 33개 도구 지원

pip install entroly && cd /your/repo && entroly go

대시보드가 자동으로 열립니다. Claude / Cursor / Codex / Aider를 자동으로 래핑(wrap)합니다.
또한: brew tap juyterman1000/entroly && brew install entroly · npm i -g entroly

Local-first (로컬 우선) — 당신의 코드는 기기 내에서 인덱싱 및 선택되며, 분석을 위해 외부로 전송되지 않습니다 · Apache-2.0 · 기본적으로 외부 분석(outbound analytics)을 수행하지 않음

팀 단위 도입을 검토 중이신가요? → ROI, 보안 및 배포 관련 원페이저(one-pager)

주장을 믿기 어려우신가요? 라이브 데모에 직접 코드를 붙여넣어 보세요 — entroly가 대규모 리포지토리(large-repo)의 컨텍스트를 어떻게 축소하는지, 그리고 어떤 파일과 코드 조각(snippets)을 선택하는지 확인하십시오. 60초면 충분합니다. 설치도 필요 없습니다.

Cookbook (쿡북) ·
Benchmarks (벤치마크) ·
37개의 래핑 대상 ·
Architecture (아키텍처) ·
For teams (팀용)

로컬 피드백이 축적됨에 따라 PRISM 가중치가 변할 수 있습니다. 대시보드는 현재의 랭킹 가중치와 신뢰도 신호(confidence signals)를 보여줍니다.

자신의 리포지토리에서 다음을 실행하십시오:

entroly demo

대시보드는 요청당 예상 토큰 감소량과 누적 가치 추적을 보여줍니다.

PRISM이 당신의 워크플로우에 중요한 파일이 무엇인지 학습함에 따라 컨텍스트 품질이 어떻게 향상되는지 확인하려면 다음을 실행하십시오:

entroly benchmark --compare-baseline

측정값 (HaluEval-QA, 표준 프로토콜): WITNESS+STAVE (v1.0.7부터 기본 활성화) 점수
AUROC 0.844 / 정확도 85.8%
$0의 비용 및 결정당 약 3ms 소요, LLM 호출 없음. STAVE 단독으로는 잘못된 슬롯 환각(예: "워런 버핏은 Apple의 CEO이다")의 위험도를 1.0으로 제한하는 100% 정밀도(precision)의 이진 관계 검증기(binary-relational verifier)입니다. 선택 사항인 로컬 DeBERTa NLI를 사용하면 (환경 변수 하나 설정, 약 80MB 다운로드, 완전 오프라인), 예상 AUROC는 ~0.87–0.89입니다. WITNESS 단독 성능(이전 릴리스의 AUROC 0.80 / 84.9% 수치)은 이전 베이스라인(baseline)입니다. 임계값(threshold)이 필요 없는 수치이며, 재현 가능하고, 체리 피킹(cherry-picking)이 없는 결과입니다 → 전체 결과 및 재현 명령어를 확인하십시오.

제공된 증거(evidence)를 바탕으로 모델의 답변을 신뢰하기 전에 검증하고 싶다면 WITNESS를 사용하십시오:

entroly witness --context-file evidence.txt --output-file answer.txt --mode strict

프록시(Proxy) 모드는 모든 비스트리밍(non-streaming) JSON 응답에 증명 인증서(proof certificate) 헤더를 부착합니다. 전체 인증서는 X-Entroly-Witness-Id에 포함된 사이드카(sidecar) URL을 통해 확인할 수 있습니다.

제공자(provider)의 JSON 본문에 인증서를 포함하고 싶은 경우에만 --witness-embed를 사용하십시오:

entroly proxy --witness audit # 헤더 + 사이드카 인증서
entroly proxy --witness strict --witness-profile rag # 지원되지 않는 사실적 주장 억제
entroly proxy --witness strict --witness-profile summary # 과도한 억제를 줄이기 위해 알 수 없는 내용에 대해 경고
...

프로필(Profiles)은 작업 부하(workload)에 따라 오탐(false-positive) 동작을 조정합니다: rag, qa, benchmark_qa, code는 엄격 모드(strict mode)에서 실패 시 차단(fail closed)됩니다; summary, chat, dialogue는 모순을 억제하지만 알 수 없는 주장에 대해서는 경고를 보냅니다. JSON/구조화된 출력(structured outputs)은 사이드카 인증서로 감사(audit)되며, 다시 작성되는 대신 바이트 유효성(byte-valid)이 유지됩니다.

인증서 UX:

curl http://localhost:9377/witness/{id} # 전체 증명 경로 + 증거
curl http://localhost:9377/witness?limit=10 # 최근 인증서
curl -X POST http://localhost:9377/witness/{id}/feedback \
...

프록시(proxy)가 실행 중일 때, 라이브 대시보드(live dashboard)에서는 최근 WITNESS 인증서, 플래그가 지정된 주장(flagged claims), 증거/증명 스니펫(proof/evidence snippets), 억제 횟수(suppression counts), 그리고 오탐(false-positive) 피드백 총계를 보여줍니다.

현재 범위: 비스트리밍(non-streaming) 응답은 반환되기 전에 다시 작성될 수 있습니다. strict 또는 annotate 스트리밍(streaming) 모드에서 Entroly는 업스트림 스트림(upstream stream)을 버퍼링하고 검증한 다음, 검증된 SSE 응답을 방출합니다. audit 스트리밍 모드는 패스스루(pass-through) 상태를 유지하며 완료 후 인증서를 기록합니다. 선택 사항인 NLI 검증은 지연 시간 예산(latency budget) 내에서 배치(batch)로 처리되며, 제공자 호출(provider call)이 실패할 경우 결정론적(deterministic) 로컬 PAV로 폴백(fallback)됩니다.

이 리포지토리의 로컬 개발 볼트(development vault)에서 추출한 트레이스(trace) 예시:

[detect] gap observed → entity="auth", miss_count=3
[synthesize] StructuralSynthesizer ($0, deterministic, no LLM)
[benchmark] skill=ddb2e2969bb0 → fitness 1.0 (1 pass / 0 fail, 338 ms)
...

이 릴리스 벤치마크(release benchmarks)에서 압축(Compression)은 측정된 정확도를 감소시키지 않았습니다. 아래 결과는 gpt-4o-mini로 측정되었으며, 구간(intervals)은 Wilson 95% 신뢰 구간(confidence intervals)입니다.

모든 행은 원본 JSON 결과 파일로 연결됩니다 — 이들은 스크린샷이 아니라 감사(audit)할 수 있는 커밋된 아티팩트(artifacts)입니다. 로컬에서 재현하려면:

# OPENAI_API_KEY가 필요합니다; 7개 전체 실행 시 약 25분 소요, API 비용 약 $1 소요
python benchmarks/run_readme_benchmarks.py # 7개 전체
python benchmarks/run_readme_benchmarks.py needle # 하나씩 실행
BenchmarknBudgetBaseline (95% CI)With Entroly (95% CI)RetentionToken SavingsProof
NeedleInAHaystack202K100% [83.9-100%]100% [83.9-100%]100.0%99.5%json
LongBench (HotpotQA)502K64.0% [50.1-75.9%]68.0% [54.2-79.2%]106.2%85.3%json
Berkeley Function Calling50500100% [92.9-100%]100% [92.9-100%]100.0%79.1%json
SQuAD 2.05010076.0% [62.6-85.7%]70.0% [56.1-81.0%]92.1%37.7%json²
GSM8K2050K90.0% [69.9-97.2%]90.0% [69.9-97.2%]100.0%pass-through¹json³
MMLU2050K85.0% [64.0-94.8%]80.0% [58.4-91.9%]94.1%pass-through¹json³
TruthfulQA (MC1)2050K95.0% [76.4-99.1%]95.0% [76.4-99.1%]100.0%pass-through¹json³

¹ pass-through: 컨텍스트가 이미 예산(budget) 내에 포함되므로 Entroly는 변경하지 않습니다. 결과는 모델, 데이터셋, 프롬프트 형태 및 토큰 예산에 따라 다릅니다.²

SQuAD 정직성 참고 사항: 표의 수치는 신선한 gpt-4o-mini를 통해 얻은 것입니다.

재현(reproduction) (n=50, 2026년 5월) 결과는 squad_accuracy.json에 커밋되었습니다.

. n=50일 때 Wilson 95% CI는 ±13pp입니다. n=50으로 이전에 실행된 버전은 각각 78% / 76% / 97.4%를 기록했으며, 두 측정값 모두 서로의 신뢰 구간 내에 있습니다. python benchmarks/run_readme_benchmarks.py squad를 통해 재실행하여 검증할 수 있습니다.³

Pass-through 정직성 참고 사항: GSM8K / MMLU / TruthfulQA 행은 빠른 n=20 재현 결과이며, 따라서 이 표의 모든 행은 불필요한 API 지출 없이 JSON으로 백업되어 있습니다. n=20일 때 Wilson 95% CI는 ±18pp입니다. 이전 버전 실행에서 n=100을 사용했을 때는 더 타이트한 수치(85/86, 82/86, 72/74)가 나왔으며, 두 측정값 모두 핵심 주장(유지율 ≥ 94%, 절감률 ≈ 0%, 즉 컨텍스트가 예산 내에 있어 Entroly가 올바르게 통과시킴)에 동의합니다. 더 타이트한 CI를 얻으려면 python benchmarks/run_readme_benchmarks.py gsm8k mmlu truthfulqa (BENCHMARKS에서 샘플 크기를 100으로 설정)를 실행하십시오.

알고리즘 성능 향상—entroly/qccr.py

문장 수준의 IDF 엔티티 부스트 (sentence-level IDF entity-boost)와 퇴화 사례 폴백 (degenerate-case fallbacks)을 통해 개선되었습니다. n=200 (결정론적, LLM 미사용) 조건에서 로컬 SQuAD 정답 생존율 (answer-survival)이 90.0%에서 92.5%로 상승했습니다. 재현 방법: python benchmarks/diagnose_anchor_survival.py

.

WITNESS는 지원되지 않는 답변을 얼마나 잘 잡아낼까요? 표준 HaluEval-QA 프로토콜 (Li et al., EMNLP 2023)에 따라 측정되었습니다: 전체 qa 세트 — 10,000개 항목에 대해 정답과 환각 답변(hallucinated answer) 모두 점수를 매겨 총 20,000개의 균형 잡힌 결정(balanced decisions)을 수행했습니다. 작동 임계값 (operating threshold)은 별도의 보정 분할 세트 (disjoint calibration split, 테스트 세트 튜닝 없음)에서 선택됩니다. 임계값이 없는 AUROC가 조작 불가능한 주요 지표이며, 정확도 (accuracy)는 보정된 지점 (calibrated point)에서 보고됩니다. GPT 판정관은 1,200개의 결정 샘플을 공유하며 WITNESS가 보는 것과 동일한 지식을 확인합니다 (공정한 근거 기반 비교).

python benchmarks/halueval_qa_faithful.py

시스템정확도 (Accuracy)AUROCF1비용 / 지연 시간 (Cost / latency)증거 (Proof)
WITNESS + STAVE (기본 활성화, n=2,000)85.8%0.844$0, 3.3 ms/decisionjson
WITNESS + STAVE + 로컬 DeBERTa NLI (선택적 사용)~88–90% (예상)~0.87–0.89 (예상)$0, ~30–80 ms/claim, 모델 다운로드 약 80 MB (1회)ENTROLY_LOCAL_NLI=1 또는 WitnessAnalyzer(use_local_nli=True)로 활성화
WITNESS 단독 (이전 베이스라인, n=20,000)84.9% ± 0.6%0.7980.864$0, 2.4 ms/decisionjson · report
WITNESS 단독 (동일한 1.2K 샘플)86.6% ± 1.9%0.8130.878$0json (witness_on_gpt_sample)
...

샘플 크기에 대한 정직한 참고 사항. STAVE 행은 n = 2,000에서 측정되었습니다 (2ee2b6a에 커밋된 더 빠른 스모크 테스트 실행). n = 20,000에서의 WITNESS 단독 베이스라인은 이전의 전체 코퍼스 실행 결과입니다. 이들은 엄밀히 말해 동일 조건(apples-to-apples)은 아닙니다. STAVE 융합을 통한 개선 사항(동일한 2K 샘플에서 AUROC +4.6pp, 정확도 +1.15pp)이 직접 비교 가능한 차이(delta)입니다 — benchmarks/halueval_qa_faithful.py를 실행하십시오.

어떠한 샘플 크기에서도 직접 검증할 수 있습니다. DeBERTa-NLI 행은 cross-encoder NLI 검증기(verifiers)에 대해 발표된 HaluEval-QA 결과와 당사의 내부 스모크 테스트(smoke runs)를 기반으로 한 투영(projection) 값입니다. 다음 전체 평가 실행 시 측정된 수치로 교체할 예정입니다.

정직한 해석. 동일한 데이터에서 WITNESS는 **강력한 최신 LLM 판사(LLM judge)**와 한계 비용이 없고 약 2ms의 속도통계적으로 대등한 성능을 보이며 (gpt-4o-mini: 86.6% vs 86.3%, 신뢰 구간(CIs) 중첩), 기존에 발표된 GPT-3.5 수치(62.6%)를 명확히 능가합니다. 당사가 지지하는 수치는 AUROC 0.80입니다. 정확도(accuracy)는 동작 지점(operating point)에 따라 달라지며, 보정된 지점(calibrated point)은 의도적으로 높은 재현율(high-recall)을 갖도록 설정되었습니다 (R 0.96 / P 0.79). 이것은 전역적 SOTA(State-of-the-Art) 주장이 아닙니다. HaluEval-QA에서 더 높은 점수를 기록하는 발표된 방법들은 특권 신호(privileged signals; 토큰 로그 확률(token log-probs), 쌍을 이루는 평가용 LLM, 또는 벤치마크에 대한 지도 학습(supervised training))를 사용합니다. 비용이 들지 않고, 블랙박스(black-box) 방식이며, 텍스트 전용이고, 학습되지 않은 검증기(verifiers) 중에서 이를 능가하는 검증된 방법은 찾지 못했습니다 (2026년 5월까지의 문헌 검토 완료). 위의 명령어를 사용하여 수치와 신뢰 구간(CIs)을 재현하십시오. 전체 보고서는 benchmarks/results/halueval_qa_faithful_report.md에 있습니다.

대부분의 사용자는 입력 토큰 압축(input-token compression)을 위해 Entroly를 알고 있습니다. 하지만 코드베이스는 실제로 입력, 추론(inference), 출력, 검증(verification), 그리고 학습(learning) 경로에 걸쳐 19개의 별도 비용 절감 메커니즘을 제공합니다. 아래의 모든 행은 직접 읽어볼 수 있는 파일과 (해당하는 경우) 커밋된 벤치마크 JSON 파일을 가리킵니다.

Anthropic은 캐시된 접두사(cached prefixes)에 대해 90%의 읽기 할인을 제공하며, OpenAI는 **50%**를 제공합니다. 이러한 혜택을 받으려면 안정적인 접두사가 필요하지만, 컨텍스트 압축기(context compressor)의 자연스러운 동작 방식인 — 매 호출마다 재순위화(re-rank), 재선택(re-select), 재압축(re-compress) — 은 매번 접두사를 변형시켜 모든 요청마다 제공업체의 캐시를 깨뜨립니다(busts the provider cache). entroly/cache_aligner.py

주입된 컨텍스트 (injected context)를 해싱하여, 콘텐츠가 실질적으로 변경되지 않았을 때 요청 전반에 걸쳐 이를 안정화하기 위해 특별히 존재합니다. 대화량이 많은 워크로드 (하나의 에이전트, 많은 턴, 유사한 컨텍스트)의 경우, 이 단일 기능의 가치는 모든 압축 절감액을 합친 것보다 더 큽니다.

# 소스 코드에서 확인 가능: entroly/cache_aligner.py 모듈의 docstring을 읽어보십시오.
# 여기에는 aligner가 포착하도록 설계된 메커니즘으로서
# Anthropic의 90% 캐시된 토큰 할인 (cached-token discount)이
# 명시적으로 언급되어 있습니다.
...

AI 자동 생성 콘텐츠

본 콘텐츠는 GitHub Codex tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0