kevo666/packrat-benchmarks
收藏资源简介:
# PackRat v2 Benchmarks **Version:** 2.0.0 **Date:** 2026-04-10 **Tokenizer:** tiktoken cl100k_base (GPT-4 / Claude compatible) **Platform:** Node.js v25.6.1, Windows 11 ## Summary | Metric | Result | |--------|--------| | Round-trip accuracy | **100%** (144/144 tests) | | Token savings (avg) | **2.4%** | | Token savings (best) | **17.3%** (path/URL-heavy files) | | Byte savings (avg) | **2.5%** | | Search speedup | **12.03x** | | Codebook entries | 72 (auto-learned) | | Negative-savings entries | 0 | ## Comparison: PackRat vs MemPalace | Metric | PackRat v2 | MemPalace (AAAK) | |--------|-----------|-----------------| | Accuracy | **100%** (lossless) | 84.2% (lossy) | | Compression type | Lossless codebook | Lossy summarization | | Token savings | 2-17% | Higher (lossy) | | Data loss | **Zero** | Information dropped | | Dependencies | Zero | Multiple | | Decoder needed | No (self-documenting) | Yes | PackRat trades peak compression for perfect fidelity. No information is ever lost. ## Real-World Results (65 Production Files) Tested on 65 markdown memory files totaling 249KB / 70,014 tokens. Codebook auto-learned from the same files (72 entries: 20 paths, 35 entities, 17 phrases). | File | Bytes | Tokens | Compressed Tokens | Token Savings | Round-Trip | |------|-------|--------|-------------------|---------------|------------| | telegram_channels.md | 782 | 197 | 163 | **17.3%** | PASS | | deployed_urls.md | 5,481 | 1,666 | 1,415 | **15.1%** | PASS | | nvidia_api_endpoints.md | 2,331 | 756 | 684 | **9.5%** | PASS | | comfyui-setup.md | 1,939 | 623 | 565 | **9.3%** | PASS | | anymodel_promo.md | 1,703 | 471 | 433 | **8.1%** | PASS | | mulerun-agents.md | 2,408 | 760 | 704 | **7.4%** | PASS | | feedback_nano_pictures.md | 585 | 143 | 133 | **7.0%** | PASS | | feedback_comfyui_mcp.md | 1,589 | 511 | 479 | **6.3%** | PASS | | session_state_2026_03_21.md | 1,934 | 568 | 532 | **6.3%** | PASS | | 3d_pipeline.md | 5,820 | 1,748 | 1,652 | **5.5%** | PASS | | PLATFORMS.md | 1,644 | 639 | 604 | **5.5%** | PASS | | opencli_rs.md | 2,056 | 590 | 564 | **4.4%** | PASS | | PROJECTS.md | 6,508 | 2,002 | 1,921 | **4.0%** | PASS | | grokbot_status.md | 2,143 | 621 | 597 | **3.9%** | PASS | | nemocode.md | 7,267 | 2,031 | 1,953 | **3.8%** | PASS | | git_hooks_installed.md | 1,576 | 420 | 405 | **3.6%** | PASS | | youtube_comment_adapter.md | 1,751 | 459 | 443 | **3.5%** | PASS | | MEMORY.md | 7,140 | 2,131 | 2,064 | **3.1%** | PASS | | anymodel.md | 3,313 | 1,027 | 996 | **3.0%** | PASS | | preston_plumbing.md | 1,163 | 302 | 293 | **3.0%** | PASS | | feedback_morning_surprise.md | 1,946 | 421 | 409 | **2.9%** | PASS | | local_image_gen.md | 4,822 | 1,671 | 1,625 | **2.8%** | PASS | | LESSONS.md | 13,814 | 3,776 | 3,715 | **1.6%** | PASS | | TASKS.md | 12,543 | 3,983 | 3,909 | **1.9%** | PASS | | reelrecipes.md | 35,578 | 9,555 | 9,540 | **0.2%** | PASS | | **TOTAL** | **249,111** | **70,014** | **68,317** | **2.4%** | **65/65 PASS** | *25 of 65 files shown. All 65 files passed round-trip. Full results in benchmark/output/v2-test-results.json.* ## Token Savings by Pattern Type Measured with tiktoken cl100k_base: | Pattern Type | Example | Original Tokens | Code Tokens | Savings Per Hit | |-------------|---------|-----------------|-------------|-----------------| | Windows file path | `C:/Users/dev/projects/app/` | 8 | 3 | **5** | | Deep file path | `C:/Users/dev/projects/reelrecipes/src/` | 12 | 3 | **9** | | Very deep path | `C:/Users/dev/Downloads/ComfyUI_portable/` | 19 | 3 | **16** | | GitHub URL | `https://github.com/user/repo` | 14 | 3 | **11** | | Markdown header | `## CRITICAL REMINDERS` | 6 | 2 | **4** | | Multi-word phrase | `via OpenRouter for free` | 5 | 2 | **3** | | Tech name (multi-token) | `ReelRecipes` | 3 | 2 | **1** | | Tech name (single-token) | `JavaScript` | 1 | 3 | **-2** (rejected) | v2's token-aware scoring automatically rejects entries like "JavaScript" that cost tokens. ## Test Suite (144 tests, 0 failures) | Category | Tests | Description | |----------|-------|-------------| | Edge cases | 40 | Unicode, emoji, CJK, whitespace, code blocks, markdown, literal code-like strings, special chars, fake headers, private use area chars | | Stress tests | 14 | 200x repeated words, 100x repeated paths, 50K char files, null bytes, 1-char files, long paths/URLs | | Real-world files | 65 | Production AI agent memory files (read-only, no modification) | | CLAUDE.md files | 12 | Project config files across multiple repos | | v1 backward compat | 12 | v2 engine with v1 codebook format | | Production codebook | 1 | v2 engine with Muxie's live codebook | ## How to Reproduce ```bash git clone https://github.com/kevdogg102396-afk/packrat cd packrat pip install tiktoken PYTHON_PATH=$(which python) node benchmark/bench.mjs PYTHON_PATH=$(which python) node benchmark/tests/v2-edge-cases.mjs ``` ## Methodology - **Token counting**: tiktoken cl100k_base via Python subprocess (batch mode) - **Round-trip test**: `decompress(compress(original)) === original` (exact string equality) - **Codebook**: Auto-learned from the same files being tested (no external training data) - **No cherry-picking**: All 65 files in the memory directory were tested, results reported for every file - **Secrets filter**: Lines containing API keys, tokens, or credentials are stripped before learning
# PackRat v2 基准测试集 **版本:2.0.0** **发布日期:2026-04-10** **分词器 (Tokenizer):tiktoken cl100k_base(兼容GPT-4 / Claude)** **运行平台:Node.js v25.6.1、Windows 11** ## 摘要 | 指标 | 测试结果 | |--------|--------| | 往返准确率 | **100%**(144/144 项测试) | | 平均Token节省率 | **2.4%** | | 最优Token节省率 | **17.3%**(路径/URL密集型文件) | | 平均字节节省率 | **2.5%** | | 搜索加速比 | **12.03x** | | 码本条目数 | 72(自动学习生成) | | 负节省条目数 | 0 | ## 对比:PackRat 与 MemPalace | 指标 | PackRat v2 | MemPalace (AAAK) | |--------|-----------|-----------------| | 准确率 | **100%**(无损) | 84.2%(有损) | | 压缩类型 | 无损码本压缩 | 有损摘要压缩 | | Token节省率 | 2%-17% | 更高(有损压缩) | | 数据丢失 | **无** | 存在信息丢失 | | 依赖项 | 无 | 多项依赖 | | 是否需要解码器 | 否(自文档化) | 是 | PackRat 以峰值压缩率为代价换取完美保真度,全程无任何信息丢失。 ## 真实场景测试结果(65个生产环境文件) 本次测试覆盖65个Markdown格式的记忆文件,总大小为249KB / 70,014个Token。码本从同一批测试文件中自动学习生成(共72个条目:20个路径、35个实体、17个短语)。 | 文件 | 字节数 | Token数 | 压缩后Token数 | Token节省率 | 往返测试结果 | |------|-------|--------|-------------------|---------------|------------| | telegram_channels.md | 782 | 197 | 163 | **17.3%** | 通过 | | deployed_urls.md | 5,481 | 1,666 | 1,415 | **15.1%** | 通过 | | nvidia_api_endpoints.md | 2,331 | 756 | 684 | **9.5%** | 通过 | | comfyui-setup.md | 1,939 | 623 | 565 | **9.3%** | 通过 | | anymodel_promo.md | 1,703 | 471 | 433 | **8.1%** | 通过 | | mulerun-agents.md | 2,408 | 760 | 704 | **7.4%** | 通过 | | feedback_nano_pictures.md | 585 | 143 | 133 | **7.0%** | 通过 | | feedback_comfyui_mcp.md | 1,589 | 511 | 479 | **6.3%** | 通过 | | session_state_2026_03_21.md | 1,934 | 568 | 532 | **6.3%** | 通过 | | 3d_pipeline.md | 5,820 | 1,748 | 1,652 | **5.5%** | 通过 | | PLATFORMS.md | 1,644 | 639 | 604 | **5.5%** | 通过 | | opencli_rs.md | 2,056 | 590 | 564 | **4.4%** | 通过 | | PROJECTS.md | 6,508 | 2,002 | 1,921 | **4.0%** | 通过 | | grokbot_status.md | 2,143 | 621 | 597 | **3.9%** | 通过 | | nemocode.md | 7,267 | 2,031 | 1,953 | **3.8%** | 通过 | | git_hooks_installed.md | 1,576 | 420 | 405 | **3.6%** | 通过 | | youtube_comment_adapter.md | 1,751 | 459 | 443 | **3.5%** | 通过 | | MEMORY.md | 7,140 | 2,131 | 2,064 | **3.1%** | 通过 | | anymodel.md | 3,313 | 1,027 | 996 | **3.0%** | 通过 | | preston_plumbing.md | 1,163 | 302 | 293 | **3.0%** | 通过 | | feedback_morning_surprise.md | 1,946 | 421 | 409 | **2.9%** | 通过 | | local_image_gen.md | 4,822 | 1,671 | 1,625 | **2.8%** | 通过 | | LESSONS.md | 13,814 | 3,776 | 3,715 | **1.6%** | 通过 | | TASKS.md | 12,543 | 3,983 | 3,909 | **1.9%** | 通过 | | reelrecipes.md | 35,578 | 9,555 | 9,540 | **0.2%** | 通过 | | **总计** | **249,111** | **70,014** | **68,317** | **2.4%** | **65/65 全部通过** | *本次仅展示65个文件中的25个。所有65个文件均通过往返测试。完整测试结果见 benchmark/output/v2-test-results.json。* ## 按模式类型划分的Token节省情况 本次测试使用 tiktoken cl100k_base 进行Token计数: | 模式类型 | 示例 | 原始Token数 | 编码后Token数 | 单次节省Token数 | |-------------|---------|-----------------|-------------|-----------------| | Windows 文件路径 | `C:/Users/dev/projects/app/` | 8 | 3 | **5** | | 深层文件路径 | `C:/Users/dev/projects/reelrecipes/src/` | 12 | 3 | **9** | | 极深层路径 | `C:/Users/dev/Downloads/ComfyUI_portable/` | 19 | 3 | **16** | | GitHub 网址 | `https://github.com/user/repo` | 14 | 3 | **11** | | Markdown 标题 | `## CRITICAL REMINDERS` | 6 | 2 | **4** | | 多词短语 | `via OpenRouter for free` | 5 | 2 | **3** | | 多Token技术名称 | `ReelRecipes` | 3 | 2 | **1** | | 单Token技术名称 | `JavaScript` | 1 | 3 | **-2**(被拒绝) | v2版本的Token感知评分机制会自动拒绝如“JavaScript”这类会增加Token消耗的条目。 ## 测试套件(共144项测试,零失败) | 测试类别 | 测试项数 | 测试描述 | |----------|-------|-------------| | 边界场景测试 | 40 | 覆盖Unicode、表情符号、中日韩文字、空白字符、代码块、Markdown格式、字面类代码字符串、特殊字符、伪造标题、私有使用区字符 | | 压力测试 | 14 | 200次重复单词、100次重复路径、50K字符文件、空字节、单字符文件、长路径/URL | | 真实场景文件测试 | 65 | 生产环境AI智能体记忆文件(只读,无修改) | | CLAUDE.md 格式文件测试 | 12 | 跨多个仓库的项目配置文件 | | v1 版本向后兼容测试 | 12 | 使用v2引擎加载v1格式的码本 | | 生产环境码本测试 | 1 | 使用v2引擎加载Muxie的实时码本 | ## 复现方法 bash git clone https://github.com/kevdogg102396-afk/packrat cd packrat pip install tiktoken PYTHON_PATH=$(which python) node benchmark/bench.mjs PYTHON_PATH=$(which python) node benchmark/tests/v2-edge-cases.mjs ## 测试方法 - **Token计数**:通过Python子进程(批量模式)调用 tiktoken cl100k_base 完成 - **往返测试**:`decompress(compress(original)) === original`(严格字符串相等) - **码本生成**:从待测试的同一批文件中自动学习得到(无外部训练数据) - **无选择性采样**:测试覆盖了记忆目录下全部65个文件,所有文件均报告测试结果 - **敏感信息过滤**:在码本学习前,会移除包含API密钥、Token或凭证的行




