# Fable 5.1 Solves the Cyphral Distich, a 370-year-old cipher

> 来源：[HackerNews](https://www.vals.ai/blogs/fable-solves-cyphral-distich)

# Fable 5.1 破解了 Cyphral Distich：一段尘封 370 年的密码诗

## 背景与概述

密码学的历史远比我们想象的悠久。在计算机诞生之前，人类就已经发明了各式各样的加密手段，从凯撒密码到维吉尼亚密码，再到各种书籍密码（book cipher）。然而历史上有一些密码因为种种原因始终未能被破解，成为密码学界的"悬案"。其中就包括创作于 1655 年左右的 **Cyphral Distich**——一首用密码写成的对句诗，被隐藏在牛津大学图书馆珍藏的一份手稿中。

370 年来，这段仅有两行的密文吸引了无数密码学家、语言学家和历史爱好者的目光。它篇幅极短，缺乏足够的统计特征，传统密码分析手段（如频率分析）几乎无从下手。直到最近，AI 评估平台 Vals.ai 旗下的智能体 **Fable 5.1** 成功还原出了这段密码诗的明文，为密码学史上的又一起"悬案"画上了句号。本文将结合这一事件，聊聊 AI 智能体在古典密码破解领域的能力边界，以及对开发者的启示。

## 核心内容

**1. 什么是 Cyphral Distich**

Cyphral Distich 是一段仅有数十个字符的加密诗句，诞生于 17 世纪中叶。它的特殊性在于：体量太小。现代密码分析高度依赖统计方法，而几十个字节的样本完全无法支撑频率统计、卡方检验等经典手段，这也让历史上的多次破解尝试无功而返。

**2. 为什么传统方法失效**

短密文破解本质上是"搜索 + 启发式"问题。人类密码学家需要猜测加密方案、尝试解密、再迭代修正假设。对于长文本，错误假设很快会被统计特征证伪；但对于两行诗，错误路径可能要探索很久才能被排除，人工搜索空间近乎无穷大。

**3. Fable 5.1 的突破点**

Fable 是 Vals.ai 推出的一款具备长程规划能力的 AI 智能体。它不是简单地"问 LLM 答案"，而是能够自主编排任务：阅读历史文献、检索加密方案数据库、编写解密脚本、运行验证、根据结果调整假设，形成完整的"假设—验证—迭代"闭环。正是这种**工具使用 + 自我纠错**的能力，让它在短密文这一传统难题上取得了突破。

**4. 事件的意义**

这不仅是密码学史上的一个趣闻，更重要的是展示了 AI 智能体在**开放式研究任务**中的潜力——任务没有标准答案，路径需要自己探索，结果需要自行验证。这类任务此前被认为是 AI 的短板。

## 技术分析

Fable 5.1 的破解思路可以用一个典型的智能体循环来概括：

```
while not solved:
    hypothesis = llm.generate(cipher_text, context, past_failures)
    script     = llm.write_decrypt_code(hypothesis)
    result     = sandbox.run(script)
    feedback   = evaluate(result, linguistic_plausibility)
    context.append(hypothesis, feedback)
```

这个循环包含几个关键技术要素：

- **多步规划与记忆管理**：智能体需要追踪已尝试的方案，避免重复劳动，这依赖长上下文窗口和结构化的笔记机制；
- **代码作为工具**：与其让模型"心算"解密，不如让它写 Python 脚本执行，既减少错误，又便于复现；
- **外部验证信号**：短密文无法靠统计判断对错，但语言模型本身可以作为"语言合理性"的评判器——解密结果是否像 17 世纪的拉丁语/英语诗句，这本身就是一种评分函数；
- **假设空间剪枝**：结合密码学先验知识（常见古典密码的加密结构）引导搜索方向，避免盲目暴力枚举。

值得注意的是，这一范式与 Symbolica、AlphaEvolve 等近期工作的思路一脉相承：**让 LLM 负责假设生成，让确定性工具负责执行与验证**。

## 实践建议

对于想在自己项目中复现类似能力的开发者，可以参考以下路径：

1. **从 ReAct 架构入手**：先实现"思考→行动→观察"的基础循环，配合 Python 沙箱执行代码；
2. **为智能体配备领域工具**：如密码库（如 Python 的 `pycipher`、`simon-says`）、语料检索、历史文献数据库 API，工具的质量直接决定智能体的上限；
3. **设计可靠的自评机制**：解密任务需要一个可计算的评分函数（语言概率、字典匹配度），否则智能体无法在错误路径上及时回头；
4. **重视轨迹记录与回放**：保留完整的假设—结果轨迹，既方便调试，也能作为训练数据蒸馏出更小的专用模型；
5. **在受控沙箱中运行代码**：智能体生成的代码必须隔离执行，这是生产环境的底线要求。

此外，这类"研究型智能体"目前仍适合人机协同——让 AI 做大规模假设搜索，人类专家负责方向判断与结果考证，效率最高。

## 总结

Fable 5.1 破解 370 年未解的 Cyphral Distich，看似是一个有趣的科学花边新闻，实则标志着 AI 智能体开始涉足"真正的研究任务"——没有标准答案、需要自主探索、结果需要自证。这背后是工具调用、长程规划与自我验证三项能力的成熟组合。对于开发者而言，与其惊叹于"AI 解开了密码"，不如关注其背后的工程范式：用代码执行替代不可靠的推理，用外部信号替代自我感觉良好的判断。这套方法论，很快会渗透到软件工程、科研乃至更多需要"假设—验证"闭环的领域。