> For the complete documentation index, see [llms.txt](https://weekly-essay.mikey.wang/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://weekly-essay.mikey.wang/zh/2025-nian/w45-can-jia-shu-ju-ya-suo-jing-sai-de-gan-shou.md).

# W45-参加数据压缩竞赛的感受

参加了大模型小社区的数据压缩竞赛，用了大半天时间就完成交卷。什么水平还要等等看别人的提交，但用 AI Coding 的完成速度是真快呀。

这次用了 Windsurf 的 Codemap，很快就读懂了仓库。AI Coding 的大多数产品集中在输出端，忽视了人读得更慢、更乱的问题。当生成的速度逼近实时，认知输入端的延迟就成了新的性能瓶颈。像 Codemap、Deepwiki 这样的工具，是输入端的增强器，帮助工程师快速建立 mental model。

数据压缩的理论基石是信息论。香农定义的信息量，用于度量不确定性的消除，不确定性越高，信息熵越大。能有效消除不确定性的部分，才是真正的信息载荷。可预测、重复的部分属于冗余，数据压缩的目标是减少冗余、提升编码效率。

拿到题目后，想到了三种思路，对应三个层次的压缩逻辑。

**第一种思路是语义压缩，结构化摘要。**&#x5BF9;数据做常规分析、消除冗余。我提交的版本用的就是这个思路，主要策略包括：

1. 列表聚合：消费、行为、位置等长列表按时间窗口或类型聚合，只保留核心指标（订单数、平均客单价、停留天数等）；
2. 语义摘要：文本类数据（对话、搜索等）通过正则与模式抽取，生成 top\_issues、top\_keywords 等高价值线索；
3. 统一清洗：利用通用工具（safe\_json\_list、日期解析、字段归一化），让不同来源的脏数据在统一框架下被压缩和解释；

**第二种思路是编码压缩，符号级优化。**&#x901A;过统计概率生成更高效的词表映射，用更短的符号表达高频内容，类似哈夫曼编码。但问题是压缩后的数据要交给大语言模型使用，如果模型没见过这种符号体系它就看不懂。哪怕把编码规则一并提供，context 的开销估计也不会减少，相当于把转译工作也交给了大模型。所以这个思路的实现需要重新训练一个专属模型，成本极高。

**第三种思路是工程压缩，Context Engineering 的方向。**&#x5728;实际生产中，单纯从数据压缩的角度节省 context 空间属于一种策略，放在 Context Engineering 下可以找到更多有效策&#x7565;**。**&#x8BA9;大模型编写查询语句、调用 RAG 等工具，把得到的统计信息作为输入，再加上高压缩比的压缩算法，最终效果应该会成倍放大。
