<!-- DensePack 2.0.4 -->
<p align="left">
<img src="https://raw.githubusercontent.com/Fabian-Galvez/DensePack/HEAD/images/densepack-readme-banner.svg" alt="DensePack" />
</p>
<p align="center">
<strong>DensePack은 Opus 5.5를 사용하여 전체 Claude Code 세션 비용을 45.0%에서 52.8%까지 절감하며, Sonnet 서브 에이전트를 사용하면 58.9%에서 70.8%까지 절감합니다.<strong"><br>
<br>
DensePack은 Bash 출력 및 .doc, .docx 파일을 포함하여 텍스트를 이미지를 패킹하여 에이전트가 정확하게 읽을 수 있도록 합니다. 4개의 Opus 벤치마크에서 수행된 모든 실행은 DensePack이 없을 때의 평균 세션 비용보다 적게 발생합니다.<br>
</p>
<p align="center">
<sub>DensePack 플러그인과 우클릭 도구는 FreeType을 사용하여 이미지를 렌더링하며 Windows, Linux 및 macOS에서 실행됩니다. 테스트는 Windows와 Linux에서 실행되었습니다.<sub/>
</p>
<details>
<summary><strong
angleContents</strong></summary>
</details>
<br>
<br>
Savings
The price of one Opus 5.5 session without DensePack, with DensePack 2.0.3, and with DensePack 2.0.3 and a Sonnet subagent
Opus 5.5의 경우, 각 절감액은 DensePack이 없을 때의 가격을 기준으로 합니다. 마지막 열에서 Opus 리드는 하나의 Sonnet 5.5 서브 에이전트에게 읽기를 할당합니다. DensePack 가격은 5회 실행의 평균이며, 아키텍처 문서 및 코드 추적과 서브 에이전트를 사용한 경우 10회 실행의 평균입니다.
| Bench | Without DensePack | DensePack 2.0.3 | DensePack 2.0.3 with a Sonnet subagent |
|---|
| Five files read | $0.984 | $0.512, 47.9% | $0.287, 70.8% |
| ... | | | |
| All prices are for the whole Claude Code session at Anthropic's API prices. | | | |
| 벤치마크 (Bench) | 에이전트의 동작 내용 (What the agent does) |
|---|
| Five files read | 5,586줄로 구성된 5개 스크립트를 읽고 5줄 요약을 작성함 |
| ... | |
Opus 5.5
| 벤치마크 (Bench) | DensePack 미사용 시 (Without DensePack) | DensePack 2.0.3 사용 시 | 절감률 (Saving) | Pro 5시간 제한 사용량 | Max 5x 5시간 제한 사용량 |
|---|
| Five files read | $0.98 | $0.51 | 47.9% | 2.0% | 0.5% |
| ... | | | | | |
Opus 5.5 main agent with a Sonnet 5.5 subagent
Opus 메인 에이전트가 하나의 Sonnet 5.5 서브에이전트에게 읽기 작업을 위임합니다. 절감률은 DensePack을 사용하지 않은 Opus 5.5와 비교한 수치입니다.
| 벤치마크 (Bench) | DensePack 미사용 시 (Without DensePack) | DensePack 2.0.3 사용 시 | 절감률 (Saving) | Pro 5시간 제한 사용량 | Max 5x 5시간 제한 사용량 |
|---|
| Five files read | $0.98 | $0.29 | 70.8% | 1.1% | 0.3% |
| ... | | | | | |
| 마지막 두 열은 DensePack을 사용한 한 세션이 5시간 제한 중 얼마나 사용했는지를 보여줍니다. 2026년 10월 10일 기준으로, Pro 모델에서 $0.25의 API 가격으로 약 1%의 5시간 제한이 사용되었고, Max 5x에서는 $1로 약 1%가 사용되었습니다. | | | | | |
DensePack은 규칙과 함께 약 2,300 토큰 분량의 시작 메모(start note)를 추가하며, Opus 5.5 세션 시작 시 약 $0.018의 비용이 발생합니다. 위에 제시된 가격에는 이미 이 비용이 포함되어 있습니다. 세션 시작 메모는 각 모델별로 비용을 확인할 수 있습니다.
에이전트는 Bash에서 명령을 검색하고 실행했습니다. BENCHMARKS.md에는 각 실행 결과가 있습니다. Run these benches yourself에서 보여주듯이, 자체 컴퓨터에서도 동일한 벤치마크를 실행할 수 있습니다.
세션이 길수록 더 많이 절약됩니다. 왜냐하면 Claude Code는 요청마다 전체 대화 내용을 다시 전송하기 때문입니다. 이미지의 경우, 이러한 각 요청에서 텍스트 토큰 대비 약 절반 비용이 발생합니다.
<br>
<br>
플러그인 설치 (Install the plugin)
INSTALL.md에 Windows, macOS 및 Linux용 단계가 있습니다.
/plugin marketplace add Fabian-Galvez/DensePack
/plugin install densepack@densepack-marketplace
<br>
DensePack은 Python 3.10 이상과 Bash를 필요로 합니다.
DensePack은 에이전트가 읽는 내용과 명령의 출력을 이미지로 패킹하여 절약합니다. Bash 출력 전체를 패킹하므로, DensePack은 Claude Code를 사용하여 Bash와 함께 실행됩니다. macOS, Linux 및 WSL에서는 Claude Code가 이미 Bash에서 명령을 실행하고 검색할 수 있습니다.
Windows의 경우, Bash는 Git for Windows에 포함되어 있습니다:
- 플러그인보다 먼저 Git for Windows를 설치해야 합니다. 왜냐하면 Claude Code가 Git으로 플러그인을 다운로드하기 때문입니다. 첫 실행 시 DensePack은 Python이 누락된 경우 이를 설치합니다. INSTALL.md에 단계가 있습니다.
- Git for Windows를 사용하면, DensePack이
~/.claude/settings.json에 다음 설정을 추가합니다. 이 설정들은 다음 세션부터 적용됩니다.
{
"env": {
"EMBEDDED_SEARCH_TOOLS": "1",
...
EMBEDDED_SEARCH_TOOLS는 Grep 및 Glob 도구를 제거합니다. 왜냐하면 이들의 결과는 항상 텍스트로 유지되어 패킹할 수 없기 때문입니다. 에이전트는 여전히 Bash에서 grep과 find를 사용하여 검색하며, DensePack은 그 출력을 패킹합니다. Claude Code 문서는 이 설정을 나열하고 있지 않습니다.
CLAUDE_CODE_USE_POWERSHELL_TOOL을 0으로 설정하면 PowerShell 도구가 비활성화됩니다. 그러면 명령이 Git Bash에서 실행되며, 긴 출력은 하나의 결과물에 모든 이미지로 도착합니다.
- DensePack이
settings.json을 쓸 수 없는 경우, 시작 메시지에 직접 추가해야 할 줄들이 표시됩니다. DensePack은 사용자가 직접 설정한 값은 절대 변경하지 않습니다.
DensePack을 업데이트하려면 다음 단계를 따르세요.
- 터미널에서
claude plugin marketplace update densepack-marketplace를 실행합니다.
claude plugin update densepack@densepack-marketplace를 실행합니다.
- Claude Code를 재시작합니다.
만약 /mdpack으로 폴더를 패킹했다면, 업데이트 후 이 2단계를 따르세요.
DensePack을 제거하려면 INSTALL.md의 DensePack 제거하기를 따르세요.
<br>
<br>
DensePack은 /bakpack을 실행할 때만 CLAUDE.md와 같은 지침 파일을 이미지로 패킹하며, 단독으로는 그렇게 하지 않습니다. 원본 파일은 <name>.bakpack으로 파일 옆에 남아 있습니다.
이전 버전에서 스스로 변환한 파일은 여전히 이미지를 유지하며, /bak-off는 이를 다시 텍스트로 되돌립니다. 변환 작동 방식을 참조하세요.
| 명령어 | 기능 |
|---|
/densepack | DensePack을 시작하고 모든 설정을 기본값으로 설정합니다. |
| ... | <br> |
질문 (Questions)
<details>
<summary><strong>Claude가 이미지 속 텍스트를 읽을 수 있나요?</strong></summary>
네, Fable, Opus 및 Sonnet은 이미지 속 텍스트를 읽을 수 있습니다.
</details>
<details>
<summary><strong>왜 텍스트 이미지가 원본 텍스트보다 토큰 비용이 적게 드나요?</strong></summary>
이미지는 28x28 픽셀 사각형당 1 토큰이 소모되며, 이 사각형에 어떤 양의 텍스트나 색상이 포함되어 있든 상관없습니다. 텍스트는 파이썬(Python) 약 2.4 문자당 1 토큰, 영어 산문(English prose) 약 3 문자당 1 토큰을 소모합니다. DensePack 문자는 약 10x17픽셀 크기이므로, 동일한 텍스트가 이미지에 포함될 경우 토큰 비용이 절반 수준으로 줄어듭니다.
| 파일 | 이미지 크기 | 텍스트 토큰 | 이미지 토큰 |
|---|
| Markdown 산문, 115줄 | 728 x 952 px | 1,855 | 886 |
| Python 스크립트, 116줄 | 896 x 728 px | 1,859 | 834 |
<details>
<summary><strong>얼마나 절약되나요?</strong></summary>
Savings의 벤치마크에서 DensePack 2.0.3은 Opus 5.5 세션 전체 비용의 45.0%에서 52.8%를 절감했습니다. Opus 5.5 메인 에이전트와 Sonnet 5.5 서브 에이전트를 사용했을 때는 58.9%에서 70.8%를 절감했습니다.
많은 파일을 읽는 긴 세션일수록 더 많이 절약되는데, 이는 Claude Code가 나중에 요청할 때마다 각 이미지를 다시 전송하기 때문입니다.
</details>
<details>
<summary><strong>Claude가 이미지를 잘못 해석할 수 있나요?</strong></summary>
예, 무작위 ID와 같은 일부 줄이 그럴 수 있습니다. DensePack은 해당 줄들을 이미지 옆에 정확한 텍스트로 전송합니다. 10월 13일 결과에서 볼 수 있듯이, DensePack 2.0.2를 사용했을 때 Ponytail의 39개 작업 중 390회 실행 모두가 Ponytail 자체 검사를 통과했습니다. Opus 5.5는 DensePack 이미지에서 168개의 해시 값 중 167개를 그대로 복사했습니다. DensePack의 안전장치는 나머지 하나를 커버합니다.
이러한 안전장치들은 위험을 제한합니다:
- 일부 Bash 출력 줄은 Opus 5.5가 이미지에서 잘못 복사했기 때문에 정확한 텍스트로도 전송됩니다. 여기에는
git --stat 막대, 18자리 이상의 숫자, 그리고 대문자 I 또는 소문자 l이 포함된 임의 ID가 포함됩니다.
- 각 이미지의 정확한 텍스트는 에이전트가 정확한 문자열을 검색할 수 있도록 이미지 옆에 컴퓨터에 그대로 저장됩니다.
- 20줄 이하의 읽기는 텍스트를 반환합니다. Claude Code는 파일과 일치하지 않는 편집(Edit)을 거부하므로, 잘못 읽은 줄은 아무것도 변경하지 않습니다.
- DensePack은 Claude Code가 수행하기 전에 각 편집을 확인합니다. 이전 텍스트가 파일에 없으면 DensePack이 해당 편집을 차단하고 정확한 줄을 보여주어 에이전트가 다시 시도할 수 있게 합니다.
/max-off는 Sonnet 에이전트에게 Haiku처럼 이미지가 아닌 텍스트를 전송합니다.
</details>
<details>
<summary><strong>Claude는 이미지를 축소할까요?</strong></summary>
아니요, 이미지들은 각 변의 길이가 1,596픽셀 이하이므로 Claude Code(2,000픽셀 초과)나 API(2,576픽셀 초과) 모두 이를 축소하지 않습니다. PNG 파일도 250,000바이트 이하로, 이는 Claude Code가 PNG를 JPEG로 변환하는 307,200바이트보다 낮은 크기입니다. 모델은 DensePack이 그린 크기로 텍스트를 읽습니다.
이미지 크기 제한에는 모든 크기 제한과 JPEG 및 색상 테스트가 포함되어 있습니다.
</details>
<a id=
- Claude Code는 이미지도 텍스트와 동일하게 Anthropic으로 전송합니다.
- 변환된 명령어 파일은
<name>.bakpack 형태로 원본을 유지합니다. /dense-remove를 실행하여 원래 파일을 복원할 수 있습니다.
</details>
<details>
<summary><strong>DensePack이 AI 기업들이 막아버릴 취약점(exploit)인가요?</strong></summary>
아닙니다. DensePack은 Claude Code의 Read 및 Bash 도구를 통해 일반 이미지를 전송합니다. Anthropic은 이미지당 게시된 공식에 따라 청구하며, 28x28 픽셀 블록당 하나의 입력 토큰을 사용합니다.
- 이미지와 텍스트는 토큰당 가격이 동일합니다. 28x28 블록 하나에는 여러 글자가 포함되어 있어, 같은 텍스트가 이미지보다 약 절반의 토큰 비용이 들게 됩니다.
- 이 이미지는 파일의 텍스트와 명령어 출력만 포함합니다. 여기에 있는 지침은 파일 내용물이며, 텍스트 Read에 들어가는 것과 동일하고 사용자로부터 받은 명령(order)이 아닙니다.
- Sonnet, Opus, Fable 모델은 이미지 안에 있어도 유해한 명령을 실행하지 않습니다.
- DensePack은 도구 호출을 절대 승인하지 않습니다. Claude Code는 여전히 사용자에게 허가를 요청하고 파괴적인 행동을 동일하게 중단시킵니다.
- 모델들은 출시될 때마다 이미지를 더 잘 읽습니다. Haiku 4.5는 이미지에서 약 10%를 맞혔고, Haiku 5.5는 약 95%를 맞혀서, DensePack은 업데이트 없이도 성능이 좋아집니다.
</details>
<details>
<summary><strong>제 컴퓨터에 어떤 변화가 생기나요?</strong></summary>