Claude Code 会把会话记到本地。反常点在这里:一位开发者检查本地日志后发现,所谓 “Extended Thinking” 并没有留下可读的完整推理文本。
日志里的 thinking block,可见部分主要是一个约 600 字符的 signature。Anthropic 文档也说明,extended thinking 返回的是“完整思考过程的 summary”,不是原始思考文本。
这件事不该被讲成“Anthropic 一定藏了什么”。目前材料只能说明:用户本地拿不到明文推理。
但它确实会影响一类人:用 Claude Code 构建代理、自动化工作流,或者需要给 AI 行为留审计记录的团队。
主线很简单:摘要能解释大意,但不能替代审计轨迹。
本地有日志,但不是完整推理
Claude Code 的本地会话记录不是空的。它记录了会话,也能看到 thinking block。
问题在于,可见内容和很多人想象的不一样。
本地能看到 signature。推理内容被加密。Anthropic 文档说明,密钥由 Anthropic 持有,用户机器不会收到密钥。API 返回给用户的是推理摘要。
这几项放在一起看,差别会清楚很多。
| 项目 | 用户侧能看到什么 | 对审计意味着什么 |
|---|---|---|
| Claude Code 本地日志 | 会话记录、thinking block、约 600 字符 signature | 能证明存在记录,不能读取完整推理 |
| Extended thinking 返回内容 | 完整思考过程的 summary | 能帮助理解大意,但有信息损失 |
| 加密推理内容 | 密钥不在用户机器上 | 用户无法自行还原原始推理 |
| 企业路径 | 完整 thinking output 需要企业协议 | 是否可取用,取决于合同和访问边界 |
这里要分清两件事:解释和证据。
摘要可以解释模型大概为什么这么做。它不等于伪造,也不能直接说成篡改。
但摘要经过压缩。压缩就会丢信息。对普通问答,这可能够用;对审计,它就不够硬。
如果团队事后要回答“模型当时到底基于哪一步判断执行了这个命令”,本地 summary 很难承担这个责任。
最容易误判的是代理团队
Claude Code 和普通聊天机器人不同。它面向开发者,可以读文件、改代码、调用工具,甚至接入更复杂的自动化流程。
模型一旦能行动,日志的性质就变了。
聊天记录更像解释材料。代理日志更像责任材料。出了问题,团队不只想知道模型说了什么,还要知道它为什么动手、动了哪里、谁批准、能不能回滚。
这也是“看似可审计”最危险的地方。
开发者看到本地会话日志、thinking block、signature,很容易以为自己拿到了完整轨迹。文档里 “summary of Claude’s full thinking process” 这类表述,如果读得不细,也容易让人高估它的审计价值。
但现实约束也要讲清楚。
模型服务商不开放完整 chain-of-thought,并不罕见。常见理由包括减少提示词攻击、保护模型行为细节、降低敏感信息泄露风险。这些理由不是空的。
所以问题不在于“供应商为什么不把一切摊开”。真正的问题是:产品界面和文档是否足够明确,让开发者知道自己拿到的是摘要,不是原始推理账本。
对两类人影响最大。
一类是做内部 AI 代理平台的开发者。他们应该把日志设计重心放到可验证动作上:输入、输出、工具调用、命令、文件 diff、权限、审批、回滚结果。
另一类是技术负责人和合规负责人。他们采购或上线前,不能把“本地保存会话”写成“保存完整推理审计”。如果合规要求必须保留可复盘推理,就要延后上线,或者把完整 thinking output 的访问条件写进企业协议。
这不是洁癖。是责任边界。
接下来要看三条边界
这件事后面不该只看公关表述。更该看文档和合同怎么写。
我更在意三条边界。
| 需要确认的边界 | 为什么重要 | 团队该怎么做 |
|---|---|---|
| 原始推理、加密推理、推理摘要是否被明确区分 | 避免把 summary 当成原始记录 | 在内部文档中改写口径,不再称其为完整推理日志 |
| 完整 thinking output 的企业访问条件 | 决定是否满足审计和合规要求 | 采购前要求写入合同或安全评估材料 |
| 本地日志能否覆盖代理动作链 | 决定事故复盘是否可用 | 记录工具调用、命令、diff、审批和回滚,而不是依赖 thinking 文本 |
目前能确定的是,用户本地无法直接读取明文推理。不能进一步推成“Anthropic 完全不保存推理”,材料并不支持这个说法。
也不能把摘要说成骗局。摘要有它的价值。
但如果一个系统会改代码、跑命令、串工具,它的审计就不能停在摘要层。摘要像旁白,动作日志才像账本。
回到开头那个 signature。它证明那里有一段被处理过的 thinking block,却不能让用户读到原始推理。
这就是 Claude Code 这次争议最值得开发者记住的地方:本地有记录,不等于手里有证据。
