<!-- title: 别让AI每次从零猜：三把确定性新刀 -->
<!-- domain: new-tools -->

## 导语：一个被 90% 的人忽略的拐点

你有没有想过一个问题：你的 AI 编程助手每天跑十几个会话，但每次开新会话，它都像失忆了一样——重新 grep、重新打开文件、重新"猜"你的代码长什么样。猜错了就重试，重试就烧 token。**AI 模型本身是非确定性的（同一个 prompt 跑两次，结果可能不一样），但海外这一周密集冒出来一批新工具，做的是同一件事：在 AI 外面包一层"确定性事实层"——用 parser、用算法、用索引预先算好确定的事实，让 AI 从"猜"变成"查"。**

今天（2026-07-02）我翻了 Hacker News 的 Show HN 首页，发现三把同一天上线、指向同一个方向的新刀，值得每个用 AI 写代码的中国开发者立刻知道。它们分别解决 AI 的**过去、现在、未来**三个盲区，而且全是开源或免费起步。

```mermaid
graph LR
    subgraph 过去["过去盲区：会话失忆"]
        A["Claude Code / Cursor<br/>历史会话日志"]
    end
    subgraph 现在盲区["现在盲区：架构靠猜"]
        B["你的代码库<br/>每次重新 grep"]
    end
    subgraph 未来盲区["未来盲区：改了会炸哪"]
        C["生产环境<br/>改一行不知影响谁"]
    end
    A -->|ctx 索引| D["SQLite 可检索事实"]
    B -->|Enola 解析| E["确定性架构图谱"]
    C -->|Mirrors 回放| F["byte 级镜像"]
    D --> G["确定性事实层"]
    E --> G
    F --> G
    G --> H["非确定性 LLM<br/>从'猜'变'查'"]
    style G fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px
    style H fill:#fff3e0,stroke:#e65100,stroke-width:2px
```

---

## 第一把刀：ctx——把 AI 的"会话失忆症"治了

- **项目**：ctx（ctxrs/ctx）
- **链接**：https://github.com/ctxrs/ctx
- **状态**：197 stars / 15 forks，v0.16.0，2026-07-02 当天发版
- **语言**：Rust（76.3%），License Apache-2.0

**它解决什么**：现在的 coding agent（Claude Code、Cursor、Codex）有个通病——**每次都从零开始**。它们能看当前的 repo，但调不出"三天前你排查那个 bug 时试过哪三种方案、哪条命令失败了、最后为什么放弃了"。这些信息全躺在本地 provider 的历史日志里，但 agent 摸不到。ctx 干的事就是：把这些散落的会话日志全部发现、导入、标准化，建成本地 SQLite 索引，然后给当前和未来的 agent 一个 CLI，让它在动手前先"考古"。

**关键卖点**：官方标称**比原始 transcript 搜索省 50 倍 token**。原理是它把 agent 历史结构化成 sessions / events / metadata / 索引字段，返回带引用的 ranked 匹配，而不是把一坨 raw transcript 丢给模型。

**支持哪些 agent 的历史**（这点对国内用户很关键，因为它能挖你现在已经在用的工具）：

| Agent 框架 | 是否支持 |
|---|---|
| Claude Code | ✅ |
| Codex | ✅ |
| Cursor | ✅ |
| Gemini CLI / Antigravity | ✅ |
| Copilot CLI | ✅ |
| Factory AI Droid | ✅ |
| OpenCode / Pi | ✅ |

**三行上手**：

```bash
curl -fsSL https://ctx.rs/install | sh
ctx setup          # 索引你机器上所有现存的 agent 会话
ctx search "failed migration"   # 你的 agent 用自然语言搜历史工作
```

**为什么值得关注 + 国内对比**：国内做 Claude Code 套壳、Cursor 平替的团队一大把，但**几乎没有人做"会话历史可检索"这一层**。你用国产 agent 干活，三天前的排查思路彻底蒸发。ctx 的另一个亮点是**纯本地、零上云、零 API key**——它明确声明"不把你的 prompt、transcript 或索引历史发给任何云服务，不调用模型 API"。对国内合规和数据出境敏感的场景，这是个硬刚需。它还提供 TypeScript / Python / Rust / Go / JVM / Swift / .NET 七种 SDK，方便你把它当后端服务嵌进自己的产品。

> ⚠️ 一个真实坑：ctx 保留原始 transcript 文本，**不隐藏本地路径或形似密钥的字符串**，所以输出给别人看之前要先 review——别把 `.env` 内容连带出去。

---

## 第二把刀：Enola——AI 改代码前，先算清楚它要碰谁

- **项目**：enola（enola-labs/enola）
- **链接**：https://github.com/enola-labs/enola ，官网 enola.tech
- **状态**：55 stars，v0.1.16，2026-07-01 发版
- **语言**：C（92.1%，tree-sitter 绑定）+ Go（7.9%），License Apache-2.0

**它解决什么**：AI coding agent 的另一个非确定性顽疾——**每次任务都从零重新"理解"你的代码库**，靠 grep、开文件、LLM 推断模块之间怎么连，而且经常猜错。Enola 是一个本地 MCP server，你指向一个或多个 repo，它用 parser 和图算法（不是大模型）构建一份**确定性的结构图**——modules、types、routes、dependencies 以及它们怎么连。于是 agent 在写一行代码之前，就已经知道它要编辑的东西长什么样。

**核心差异化（这是它最值钱的认知差）**：

> "structure is extracted from your source, not summarized from it; these are facts, not notes. Run it twice on the same commit and you get the same answer, every run."

翻译过来就是：**它是"事实"，不是"笔记"；同一份 commit 跑两次，结果完全一样。**这正是"确定性"的精髓。它把自己和"vibe coding（prompt → 祈祷 → 修 bug）"对立起来。

**它给 agent 的工具（注意：这些都是图计算，不是文本查找）**：

| 工具 | 回答的问题 |
|---|---|
| `generate_snapshot` | 给 repo 拍架构快照 |
| `impact_analysis` | **"我改 X，什么会炸？"**——算传递性反向闭包，按跳数分组 |
| `diff_snapshot` | "我的改动到底动了什么？"——架构 delta，不是 linter |
| `find_path` | "A 怎么走到 B？"——最短调用/依赖链 |
| `traverse` | "X 依赖什么？/ 什么依赖 X？" |

**真实性能数据**（官方用它跑了 Apache Airflow）：112,792 条 facts，16 核机器上 **3.5 秒**分析完；检测出 26 个循环依赖、298 个 god class、Airflow 核心模块最大 blast radius 达 67,265。支持 16 种语言（Go/TS/Python/Java/Kotlin/Swift/Ruby/C/C++/PHP/Vue/Svelte 等），并感知 Next.js、FastAPI、Django、Spring、Rails、Laravel 等框架。

**三行上手**：

```bash
curl -fsSL https://raw.githubusercontent.com/enola-labs/enola/main/install.sh | sh
claude mcp add enola enola          # 注册成 Claude Code 的 MCP server
# 然后对 agent 说："Generate an architectural snapshot of /path/to/my/project"
```

**为什么值得关注 + 国内对比**：国内能对标的只有 Sourcegraph Cody，但它**已经在 2025-2026 砍掉了 Free 和 Pro 个人版**，只剩 $19/人/月的 Enterprise。而 Enola 完全免费、本地跑、跨 repo 还能把一个 web 前端、后端、移动端串成一张图，让 agent 顺着客户端调用一路追到服务端实现。对于**接手祖传代码、做大重构、想知道改一行影响面**的中国开发者，这是把"AI 凭感觉"变成"AI 凭地图"的关键一跃。

---

## 第三把刀：Mirrors——把生产环境复制成"可重放的确定世界"

- **项目**：Mirrors
- **链接**：https://runmirrors.com
- **状态**：今日 Show HN 首发
- **价格**：Free $0/月（每月 60 sandbox 分钟，无限建镜像、确定性 seeding、应用内 playground）；团队版 Custom（无限按需沙箱、公开 /v1 API + key + SSO）

**它解决什么**：agent 改了代码，怎么知道不会炸生产？传统做法是丢到 staging 或者 mock，但 staging 和生产数据对不上、mock 又太假。Mirrors 的思路是——**把你的生产 trace 直接吃进去，重建 schema、发现每个工具，生成一个"隔离的、可运行的、和生产 byte 级一致"的镜像世界**。同一个 seed + 同一个 prompt，跑出来的世界一模一样，每个工具调用都对着这个确定性镜像重放，**绝不碰生产**。

它走 MCP 接入，目前支持 Claude Code、Cursor、VS Code、ChatGPT、Codex、Claude Desktop：

```bash
claude mcp add --transport http mirrors https://api.runmirrors.com/mcp
# 然后在 agent 里 /mcp → mirrors → 浏览器登录
```

**官方 demo 里的硬指标**：100% 可复现、0 次生产调用、**60 秒拿到一个 live mirror**。演示是一个 airline-support 镜像，agent 在里面安全地跑"取消订单+退款""查行李额""改签"这些**高风险操作**——退款、删除、发送这些动作只在镜像里发生，真实系统完全看不到。

**为什么值得关注 + 国内对比**：国内做 agent 测试的还停留在 mock 数据或搭一套 staging 的阶段，**没有"byte-identical 确定性镜像"这个概念**。对于要把 agent 推上生产（退款、扣款、发邮件、删数据这类写操作）的团队，Mirrors 提供了一种"先在复印件上试，零风险"的范式。免费额度足够个人和小团队把核心链路镜像一遍。

---

## 信息差总结：你知道的 vs 别人不知道的

| 维度 | 大多数人以为的 | 本周海外新发现 |
|---|---|---|
| AI 失忆 | "换更强的模型/开更长上下文就好了" | **ctx**：过去会话本身就是金矿，本地 SQLite 索引后省 50x token |
| AI 看不懂架构 | "让 agent 多 grep 几次" | **Enola**：parser 提取的确定性事实图，3.5 秒解析 11 万 facts |
| AI 改代码怕炸 | "上 staging / 写 mock" | **Mirrors**：生产 trace 生成 byte 级镜像，0 生产调用 |
| **底层认知差** | 让 AI 更猛 = 喂更大的模型 | **让 AI 更猛 = 在 AI 外面包一层确定性事实层** |

---

## 行动指南：今天就能做的三件事

1. **优先级最高（5 分钟）**：如果你在用 Claude Code 或 Cursor，立刻 `curl` 装 ctx，跑一次 `ctx setup`。你会发现机器里躺着几个月的会话历史全被索引了，之后让 agent "先查一下我之前是怎么处理这个问题的"，体验直接质变。
2. **接手祖传项目（30 分钟）**：把 Enola 指向你最头疼的那个 repo，先跑 `enola --explain`（一次性报告，不写文件），看它列出的 god class 和 blast radius。再注册成 MCP，问 agent"如果我重构这个模块，什么会受影响"。
3. **要把 agent 推生产（按需）**：如果你的 agent 要碰退款/删除/发送这类写操作，去 runmirrors.com 用免费额度建第一个 mirror，把核心 trace 灌进去，让 agent 在副本里跑一遍 golden case 再上线。

**一个延伸判断**：ctx（过去）、Enola（现在）、Mirrors（未来）看似各管一段，但它们共同指向 2026 下半年的一个明确趋势——**"确定性事实层"会成为 agent 栈的新标配**。谁先用上，谁就把"AI 凭感觉"升级成"AI 凭地图"。这块国内基本空白，做套壳产品和私有化部署的团队，**把这三把刀集成进自己的 agent 平台，本身就是个差异化卖点**。

---

## 参考来源

- ctx 项目仓库（会话历史本地检索）—— https://github.com/ctxrs/ctx
- enola 项目仓库（确定性架构图谱 MCP）—— https://github.com/enola-labs/enola
- Mirrors 官网（生产 trace 镜像）—— https://runmirrors.com
- Hacker News Show HN 首页（2026-07-02 当日新品）—— https://news.ycombinator.com/show
- 2026 AI 工具新闻与定价追踪（背景数据：Cody 砍免费版、Copilot 转 credit 计费等）—— https://toolchase.com/blog/ai-tools-news-2026/

---
> 本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵**爱卫生**（微信ID: gprshome201101）维护。
> 聚焦5G/6G核心网、3GPP标准、AI工具实战。知识星球「51学通信」提供深度技术答疑和行业洞察。

---

## 完成摘要

### 1. 完成摘要（What was done）
- **信息采集**：WebSearch/webReader 触发月度限额（7/18 解封），改用 ducksearch（DuckDuckGo）+ 直接抓取 HN/GitHub/产品页，共 3 种独立信息源
- **抓取的页面**：HN Show 首页、toolchase AI 新闻、ctx/Enola/Valmis/Mirrors 四个工具详情页（均保存到 /home/gprshome 下的 .txt）
- **产出**：第 6 轮情报，分类 new-tools，主题"海外给 AI 套确定性事实层"，介绍 ctx、Enola、Mirrors 三把 2026-07-01/02 首发的新刀，含 Mermaid 图、数据（197★/112,792 facts in 3.5s/60 sandbox min）、安装命令、信息差表格、行动指南、品牌信息

### 2. 下一步计划
- Round 7：回到 tips-tricks（按 6 轮循环表）。建议挖掘某个具体工具（如 ctx 或 Enola 刚好可衔接）的隐藏技巧
- 优先级：避免与已覆盖的"暗开关/暗门"系列重复，可挖"确定性事实层"工具链的实战组合技巧
- 备选：如需新一轮 new-tools，可追踪 Mirrors/Valmis 后续热度

### 3. 注意事项
- **WebSearch 限流**：月度额度用尽，7/18 解封前情报采集需依赖 ducksearch + web fetch
- **数据真实性**：stars/版本/日期/性能数字均来自实时抓取的工具官方页面，非模型默认知识
- **合规提示**：文中已标注 ctx 不隐藏密钥形状字符串的坑，提醒用户输出前 review

> [!tip] 51学通信知识星球
> **星主：爱卫生**（微信：gprshome201101）——公众号「51学通信」创办者，19 年通信行业运维与讲师经验，著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书（各大电商平台有售）。
> **星球定位**：深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域，主打运维岗位与信令分析。
> **当前规模**：5200 篇主题 / 990 个回答，198 元/年。
> **加入福利**：加入星球后请加爱卫生微信，拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题，另有群内分享。
> **AI 加持**：51学通信知识星球已作为 skill 接入 WorkBuddy，使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例，做总结、找文档和 PPT 等场景全覆盖。

![51学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
