Anthropic 的 J-space 研究发现,Claude 内部存在一个小型工作区。它能在不输出文字的情况下保存概念、完成中间推理,并把同一信息路由给不同下游任务。把它理解成 Agent 的新型记忆系统很有诱惑力,却会跨过一条关键边界:J-space 运行在模型当前计算内部,而 Agent 需要让身份、进度、证据、权限与恢复状态跨越模型调用、上下文压缩、进程失败和时间。
准确的工程结论是:隐式工作区与外部记忆解决不同时间尺度的问题。J-space 管理一次推理中的认知带宽,上下文决定模型现在能看到什么,检查点与长期记忆决定系统以后能恢复什么,Tracing 则记录 Agent 实际做了什么。
可靠 Agent 需要同时设计这些层,并明确它们之间的边界。
J-space 是内部工作总线,不是记忆数据库
Anthropic 的全局工作区研究使用 Jacobian lens 找到 Claude 激活中与 token 关联的表示方向。少量活跃方向组成稀疏的 J-space。当 France 概念进入其中后,不同下游计算都可以读取它,分别回答首都、语言、货币和所属大洲。把 France 替换为 China,四类回答会一起改变。
实验验证了五种 workspace-like 属性:内容可以被报告,可以按指令调节,可以参与多步推理,可以被不同任务灵活复用,并且只在部分任务中选择性启用。整体消融 J-space 后,日常语言与简单事实处理仍能运行,需要主动组合的任务则明显下降。
这是重要的可解释性发现,也有明确边界。
J-space 一次只能容纳少量 token 级概念,并在单次前向计算的层与位置之间持续变化。它无法在会话结束后保留用户偏好,无法在 worker 崩溃后恢复半完成流程,也无法为数据库更新提供审计记录。普通 Agent 开发者也无法访问读取它所需的闭源模型权重。
更准确的类比是内部工作总线。它把紧凑概念广播给当前需要的计算组件。它不承担文件系统、数据库、事件日志或 Agent 单一真实来源的职责。
Scratchpad、上下文与 J-space 是三种表面
Agent 讨论经常把所有临时信息都叫作工作记忆,结果是不同失败模式被混在一起。
J-space:隐式且只存在于推理内部
J-space 位于神经激活中,可以承载没有输出为 token 的中间概念。它只能通过专用可解释性工具进行部分读取,读出仍然不完整,并依赖具体模型。
Scratchpad:Token 化并可被重新读取
Scratchpad 或 Chain of Thought 是模型生成的文字,后续位置再通过注意力读取。中间结果进入 token 序列后,模型可以延长串行推理。J-space 论文也发现,在部分任务中,显式 Scratchpad 可以分担内部工作区的负荷。
文本更容易记录和检查,却不天然等于忠实因果解释。Anthropic 对思维链忠实度的研究表明,模型可能使用某条信息而不说出来,也可能生成一套合理解释,却没有完整描述答案背后的机制。
上下文窗口:当前证据预算
上下文包含系统指令、消息、工具结果、检索文档与被选中的记忆。Anthropic 的 Context Engineering 指南把它视为有限注意力预算。历史越多,信号之间的竞争越强,也越容易出现 context rot。设计目标是支持下一次决策的最小高信号工作集。
三种表面分别回答:
- J-space:本次计算正在广播哪些概念?
- Scratchpad:模型把哪些中间结果外化成了 token?
- Context:当前调用能看到哪些证据和指令?
它们都不会自动形成持久应用状态。
持久化从模型外部开始
重要状态离开模型调用后仍然存在,Agent 才具备可靠连续性。外部状态至少分成检查点和长期记忆两类。
Checkpoint 回答从哪里继续
检查点保存流程运行状态:已经完成的步骤、等待中的批准、工具结果、重试次数和下一个节点。它服务于暂停恢复、人在回路中、故障回放和 time travel。
LangGraph 等框架明确区分线程检查点与跨线程存储。OpenAI Agents SDK 的 Session 也会跨 run 保存会话 items,并可利用保留状态恢复中断流程。
长期记忆回答未来要召回什么
长期记忆保存被挑选出来供未来使用的信息:用户偏好、稳定事实、历史决策、成功经验与可复用流程。它需要 provenance、更新规则、删除能力、权限控制和检索评估。
MemGPT 把这个问题类比为 virtual context。控制器在有限工作上下文和更大存储层之间移动信息。这个操作系统类比依然有效,因为真正困难的并非存多少,而是哪些信息进入工作集、何时退出、哪个版本是权威版本。
Conversation history、workflow checkpoint 与 semantic memory 如果都被叫作 memory,架构讨论就会失焦。三者的一致性、保留时间、隐私和故障恢复要求完全不同。
生产 Agent 的六层状态栈
| 层级 | 载体 | 生命周期 | 主要用途 | 审计强度 |
|---|---|---|---|---|
| 1. 隐式工作区 | J-space 与内部激活 | 单次推理 | 中间概念与灵活路由 | 没有权重级探针时很低 |
| 2. 显式 Scratchpad | 生成 token | 当前上下文 | 串行推理与中间结果 | 可读,但可能不忠实 |
| 3. 活跃上下文 | Prompt、消息、工具结果、检索 | 当前 run 或压缩前会话 | 即时证据与指令 | 可记录,受注意力限制 |
| 4. 流程检查点 | 结构化状态快照 | 跨调用与故障 | 恢复、批准、回放 | 高 |
| 5. 长期记忆 | 文件、关系库、向量库 | 跨会话 | 偏好、事实、经验、流程 | 保留来源时较高 |
| 6. 生产遥测 | Trace、Span、Diff、回执 | 长期 | 调试、合规、事故调查 | 对外部动作最高 |
这套分层也明确了责任。模型负责内部激活,Agent Harness 负责上下文选择、检查点、记忆策略、权限和遥测。把所有状态都当作模型能力,会让真正可控的工程层变得不可见。
哪些东西应该进入长期记忆
默认答案应该少于完整对话。一个清晰的记忆策略至少区分四类内容。
事实
事实描述用户、环境或领域,需要记录来源、时间、可信度和替换规则。2024 年的偏好不能静默覆盖用户今天的明确选择。
决策
决策记录选择、备选项、约束和批准人,避免上下文压缩后反复重开已经结束的讨论。
经验
经验记录一次行动的假设、动作、观察结果和教训。只存成功摘要会丢掉成功所依赖的条件。
流程
流程是可复用 Skill、检查清单或策略。它们需要版本控制与测试,因为错误流程会把错误复制到未来所有 run。
原始 transcript 可以放在审计归档中。用于检索的记忆应是经过提炼且带来源的条目。两者分开可以减少 Prompt 噪声,也让纠正与删除真正可执行。
可观测性是证据,不是对思想的重建
J-space 为可观测性工具箱增加了一种内部信号。它可能发现 evaluation awareness、隐藏目标、数据捏造或 Prompt Injection 相关概念,即使这些概念没有出现在输出中。Anthropic 也明确把它定位为有盲区的补充传感器。
生产控制仍应首先依赖外部证据。
OpenAI Agents SDK 的 Tracing 会把模型生成、工具调用、handoff、guardrail 与自定义事件记录为 Trace 和 Span。应用还可以补充 memory read/write、checkpoint transition、人工批准、文件 diff、数据库事务 ID 与 API 回执。
这些记录回答系统读取和改变了什么,无法直接证明模型为什么形成某个意图。内部探针与显式推理适合生成认知假设,外部轨迹提供可回放的结果证据。
一个可辩护的证据模型包含四层:
- 自述证据:最终回答与解释。
- 内部探针:J-lens、SAE 或 activation probe。
- 执行轨迹:模型调用、工具动作、记忆读取、handoff、重试与 guardrail。
- 外部世界证据:数据库事务、文件 diff、浏览器事件、权限决策和人工批准。
越靠后的证据越适合安全控制,因为它连接可阻断的外部状态。越靠前的证据越适合解释意图与表示。真正的信任来自多层证据互相吻合。
记忆也需要闭环校准
每一条持久记忆都应该经过一条可验证生命周期:
观察 → 提议记忆 → 验证 → 带来源存储 → 召回 → 测量影响 → 修订或删除
这个闭环回答向量检索经常忽略的问题:
- 哪些事件值得形成记忆?
- 谁或什么机制确认条目正确?
- 正确记忆是否进入了正确上下文?
- 召回改善了结果,还是引入偏见?
- 新证据何时替代旧条目?
- 用户或政策能否彻底删除记忆?
评估指标应覆盖检索精度、关键状态遗漏、过期记忆率、冲突处理、任务成功、延迟、token 成本和隐私事件。缺少这些指标的记忆功能,本质上是一套不可观测的 Prompt 变更系统。
J-space 真正改变了什么
J-space 改变了我们对模型认知的理解,改变外部存储架构的程度相对有限。它证明可见输出只暴露了参与主动推理的部分概念,也说明显式 Scratchpad 与内部工作区可以共同承担多步计算。
对 Agent 工程来说,至少有三个直接结论。
第一,Chain of Thought 不能充当完整生产 Trace,外部动作与状态变化必须独立记录。
第二,上下文与记忆属于基础设施。更强模型无法恢复从未持久化的状态,也无法验证从未记录的副作用。
第三,内部探针未来可能改善监控,但它应该补充检查点、权限、评估与回执。绝大多数防守方也无法读取第三方 Agent 的内部激活。
边界可以压缩成三句话:隐式工作区帮助模型现在思考,外部记忆帮助 Agent 以后继续,生产遥测帮助所有人确认发生了什么。可靠系统保留三者差异,并用明确接口连接它们。
FAQ
J-space 等于 Agent 记忆吗?
不等于。J-space 是模型计算期间的内部激活格式,Agent 记忆通常指跨调用或跨会话持久化、检索的外部状态。
J-space 等于 Chain of Thought 吗?
不等于。Chain of Thought 是被生成并重新进入上下文的文字,J-space 可以在内部激活中静默表示概念。
更大的上下文窗口能否替代长期记忆?
不能。大上下文扩大当前证据预算,同时仍面临注意力稀释、成本、压缩、进程失败和跨会话持久化问题。
Checkpoint 与长期记忆有什么区别?
Checkpoint 保存恢复流程所需的运行状态,长期记忆保存未来任务可能召回的事实、偏好、经验或流程。
Trace 能否说明 Agent 为什么这样做?
Trace 能显示输入、调用、状态变化和外部结果,适合诊断与回放。它无法直接揭示所有内部因果表示。
参考资料
- Anthropic:A Global Workspace in Language Models
- J-space 完整研究论文
- Anthropic:Effective Context Engineering for AI Agents
- Anthropic:Effective Harnesses for Long-Running Agents
- MemGPT: Towards LLMs as Operating Systems
- CoALA: Cognitive Architectures for Language Agents
- OpenAI Agents SDK Sessions
- OpenAI Agents SDK Tracing