乐于分享
好东西不私藏

openclaw和大模型交互的「上下文黑箱之困」:三个痛点与一条出路

openclaw和大模型交互的「上下文黑箱之困」:三个痛点与一条出路

楔子:一个代价昂贵的「找不到」

最近让 AI 帮我做一件事:在我自己的笔记库里找一篇公众号文章。

这个任务看起来再简单不过——一个搜索命令,几秒钟的事。

但 AI 的实际行为是:

  1. 1. 第一轮:在错误的路径 /home/bermin/Obsidian(大写 O)里反复搜索,找到的都是空结果
  2. 2. 第二轮:切换到 Windows 文件系统,从 C:\Users\zhuba\Documents 翻到 C:\Users\zhuba\AppData\Roaming……绕了整整六大圈
  3. 3. 第三轮:最后是我直接在系统消息里告诉它"路径是 /home/bermin/obsidian",它才终于用对命令找到了文章

这个过程消耗了多少 token?我没有精确统计,但保守估计够生成一篇 3000 字的文章了。

这不是个案。这个经历让我认真思考了一个问题:大模型到底在想什么?为什么我们看不见?


痛点一:Token 烧了,但不知道烧在哪里

很多人抱怨大模型"太费 token"。但很少有人追问:贵的到底是什么?

让我们拆解一下大模型一次对话的上下文(context)里都有什么:

组成部分
大概体量
你能看到多少
System Prompt(系统指令)
2万~5万字符
❌ 完全看不见
Tools(工具列表 + JSON Schema)
每个工具几百~几千字符
❌ 只能靠猜
你的对话历史
取决于对话长度
✅ 聊天记录里能看到
工具调用 + 返回结果
每次调用几百~几万字符
⚠️ 只显示最终结果
模型「思考过程」
几千~几万字符
❌ 对你不透明

结论:用户实际只看到了输出的文字,而产生这些文字的"成本"——系统指令、工具规范、历史上下文——全部是黑箱。

token 账单上的大头,恰恰是你看不见的部分。


痛点二:AI 答错了,但不知道错在哪里

回到开头那个找文章的例子。

AI 在找不到文章后,给出了一段"反思":

"这篇文章可能是用户自己保存的,不太可能是公开发表在网上能搜索到的。"

**它错了。**文章就躺在我的笔记库 /home/bermin/obsidian/ 目录下,路径完全正确,文件名一字不差。

问题出在哪里?如果 AI 的"思考过程"是可见的,我们会看到:

我正在搜索路径:/home/bermin/Obsidian(大写O)
但这个路径存在吗?—— 存在性检查...
发现:路径不存在或为空
是否尝试了小写?—— 没有
是否应该尝试 /home/bermin/obsidian?—— 跳过了,直接进入下一步

它不是"找不到",而是从一开始就没有用正确的路径去试

但这个错误决策的中间过程——它为什么选了 /home/bermin/Obsidian 而不是 /home/bermin/obsidian?它在哪个节点做出了错误假设?——完全不可见。直到最后输出一个看似合理、实则错误的结论,用户才会发现不对劲。

如果能看见 AI 的思考过程,错误可以在第三步就被发现和纠正,而不是等到最后。


痛点三:AI 到底是聪明还是笨,看不出来

这是第三个、也是最深层的痛点。

很多 AI 的回答看起来"差不多对",但仔细一看:逻辑跳跃、前提错误、关键变量漏掉……一个缺乏经验的人很难判断——这个回答到底是深度思考后的结论,还是模型在"一本正经地胡说八道"?

比如上面的例子,AI 搜了半天没找到文章,给出的解释是"文章可能不在本地,在云端"——听起来很有道理对吧?但实际上只是因为它用了大写字母的路径。

没有思考过程可见性的情况下,AI 的输出质量几乎无法被外部验证。

你只能选择相信,或者不相信。但你无法判断它是"聪明的错误"还是"愚蠢的错误",也就无法针对性地纠正或引导。

一条出路:把思考过程导出为可读文件

最近一直在想能不能看到龙虾喂给大模型的prompt到底是什么?反正问龙虾他是没告诉我,他告诉我的是我知道的,就是那个session文件,但是那个文件可读性太差了,后来还是claud给了我答案,其实龙虾自身就有这样的功能:

在支持 OpenClaw 的 AI 对话中,输入 /export 命令,系统会导出一个完整的 HTML 文件,包含:System Prompt、用户消息、AI 回复、工具调用记录,以及——关键的是——整个会话的完整上下文结构。

这个方法的价值在于:它把 AI 内部的"黑箱"变成了一份可以打开、可以搜索、可以分析的 HTML 文档。

执行导出命令后,你会看到这样的总结:

✅ Session exported! 
📄 File: openclaw-session-23c2d317-2026-04-01T09-09-34.html 
📊 Entries: 87 
🧠 System prompt: 69,910 chars
 🔧 Tools: 17

File:在智能体的workspace下。
Entries:含义: "对话条目总数,拆解: "87 = N个用户消息 + M个助手响应 + K个系统消息",分析:、估算约43-44轮完整对话",对话密度": "87 entries / 预估值 ~3.5 条信息每轮。
System prompt:System Prompt字符数,token估算约 17,500-20,000 tokens (假设3.5-4 chars/token)。

再去工作区打开html文件。所有大模型的思考秘密都展现出来了。

这才叫"看见"——不是猜,而是真实看到 AI 在每一步做了什么决策、用了什么工具、收到了什么结果。

!!!重要:不过openclaw有个BUG,在你导出前要修复下模板,修复方法如下:

首先找到模板文件:

# 如果是全局安装
npm root -g
# 找到 openclaw/dist/export-html/template.html


# 或者直接找

find ~/.openclaw -name "template.html" 2>/dev/null

修改 template.html,找到被破坏的部分:

<!-- 错误的(被 Prettier 格式化了) -->
<script>

  {
    {
      MARKED_JS;
    }
  }
</script>

修改为:

<!-- 正确的 -->
<script>
{{MARKED_JS}}</script>
<script>
{{HIGHLIGHT_JS}}</script>
<script>
{{JS}}</script>

这样导出的文件才是可正常查看的。

不过还没完,因为上面的 /export 解决了"导出"的问题,但如果想自动化、可视化、随时查看所有导出的会话,我做了一个进阶工具:Session Archive

功能特性:

  1. 1. 自动监听:开启后,每次执行 /export,约 30 秒内自动同步到网站
  2. 2. 可视化浏览:在网页上查看所有会话列表,按 Agent 分类
  3. 3. 全文搜索:支持搜索消息内容、思考块、Token 统计
  4. 4. 会话详情:每个会话有独立详情页,显示 Token 消耗、工具调用、思考块预览
  5. 5. 删除功能:可以删除已导出的不需要的会话记录

结语

总结一下:

痛点
本质
解决思路
Token 不知道花在哪
System Prompt / Tools 不可见
导出完整上下文结构
回答错了不知错哪
中间决策过程不可见
记录工具调用链 + 中间输出
无法判断 AI 聪明还是笨
推理路径不透明
思考过程可视化

这三个问题的本质是同一个:信息不对称

AI 知道自己用了什么路径、调用了什么工具、哪一步失败了;但用户不知道。当 AI 的信息优势导致用户无法有效纠错时,AI 的错误成本就被无限放大了。

回到开头的那个找文章的例子。

如果 AI 在第一次搜索失败时就导出当时的完整上下文给我看,我会立刻知道:它在用大写 O 的路径搜索,而我的实际路径是小写 o。我三秒钟就能纠正它,而不是等它绕了六大圈、烧了一堆 token、最后还给出一个错误的解释。

让 AI 的思考过程可见,本质上是把"人机协作"从单向依赖变成双向校准。

你不是在信任 AI,你是在和 AI 一起工作。