matryoshka

无需分块即可处理超长文档的推理工具

安装使用

复制下面这段提示词发给你的 AI(Claude / Cursor / TRAE / Codex / WorkBuddy 等),它会自动帮你完成安装:

帮我安装这个 AI Skill:matryoshka。
它的用途是:无需分块即可处理超长文档的推理工具
完整的 Skill 内容见:https://321skill.com/skills/matryoshka/raw/index.md
请读取该页面内容,如果是 SKILL.md 格式直接安装,如果是 README 提炼核心 prompt 后安装。

提示词包含完整的 Skill 内容链接,AI 读取后即可完成安装。你也可以 查看完整内容 确认无误。

使用示例

‘分析这份 1000 页的服务器日志,找出所有包含“ERROR”的行,并统计每种错误类型出现的次数。’ 它会理解你的意图,生成并执行一系列 Nucleus 命令(如 `(grep "ERROR")`、`(count RESULTS)`),最终给你一个结构化的错误统计报告。或者,你可以问:‘从这份年度财务报告 PDF 里,提取出第四季度的总营收数字。’ 它会定位到相关段落,执行数字提取和求和命令,直接返回计算结果。

介绍

Matryoshka 解决了传统 RAG 和文档分块方法在处理远超 LLM 上下文窗口的超长文档时,信息丢失和跨块关联断裂的核心痛点。它基于《递归语言模型》论文,采用了一种新颖的架构:让 LLM 根据用户查询进行推理,输出结构化的 Nucleus 命令(一种基于 S 表达式的受限符号语言),然后由 Lattice 逻辑引擎安全地执行这些命令,从而实现对文档的复杂分析和计算。

使用 Matryoshka 时,你可以通过 CLI 或 MCP 服务器两种方式调用。将你的文档和查询(如“计算总销售额”)提供给系统,LLM 会生成类似 (sum RESULTS) 的 Nucleus 命令,Lattice 引擎会解析并安全执行这些命令,最终返回计算结果。整个过程避免了生成和执行任意代码的风险。

这个工具非常适合需要从海量日志、长报告、代码库或数据集等大型文档中提取、过滤、聚合信息的角色,如数据分析师、运维工程师和全栈开发者。它能将原本需要人工分块、摘要再分析的繁琐过程自动化,并保持信息的完整关联。

建议初次使用时,先从简单的查询(如关键词搜索、计数)开始,熟悉 Nucleus DSL 的语法。注意,其 MCP 服务器模式目前不支持多文档加载和部分资源限制功能(如 maxTimeoutMs),复杂任务或需要精细控制时,推荐使用 runRLM 程序化接口。

核心特点

与依赖向量数据库和启发式分块的传统 RAG 不同,Matryoshka 通过让 LLM 输出受限的符号命令并由专用引擎执行,从根本上避免了分块导致的信息丢失;与让 LLM 生成任意代码的方案相比,其 Nucleus DSL 语法刚性更强、输出熵更低,执行前有解析验证,安全性更高,且对小型模型更友好。

注意事项

不适合需要直接生成自然语言摘要或进行高度创造性、开放性文本生成的场景,其核心优势在于基于规则的文档查询与计算。

常见问题

Matryoshka 和普通 RAG 有什么区别?

RAG 需要将文档分块并嵌入,可能丢失跨块信息;Matryoshka 让 LLM 理解查询后输出可执行的符号命令,直接对完整文档逻辑进行操作,无需分块和向量数据库。

Nucleus 语言安全吗?会不会执行危险代码?

安全。Nucleus 是受限的 DSL,只能执行预定义的操作(如 grep, filter, sum)。Lattice 引擎会先解析验证,不会执行任意系统命令或代码。

给 AI 助手的安装指引

如果你的 AI 编程助手(Claude Code、Cursor、TRAE 等)能看到这个页面,把下面这段发给它即可自动完成安装:

请访问 https://321skill.com/skills/matryoshka/raw/index.md 读取 matryoshka 的原始 Skill 定义(Markdown 格式),按其中说明在我的环境里完成安装和配置。