环境记忆写入限制

wesgine 的 L1 环境记忆(environment 层)不接受人工写入,只由宿主环境感知器自动产出。


为什么禁止人工写入

环境记忆的内容来自宿主环境感知器(memenv.SharedSnapshot),反映的是操作系统、运行时、包管理器等客观事实。人工写入会:

  1. 引入与真实环境不一致的信息
  2. 在下一次感知器刷新时被覆盖(RefreshEnvironment)
  3. 造成 Agent 决策基于错误前提

拒绝机制

API 层

POST /memory 收到 layer: environment 时返回:

{
  "error": "ErrLayerNotWritable",
  "message": "environment layer is not writable"
}

引擎层

SaveToLayer 的 LayerTarget 映射表中,environment 被标记为不可写。同样不可写的还有:


可写层对照

层可写?写入方式
environment❌感知器自动产出
consensus✅admin API / draft-vote / CognitiveSettlement
about_me✅memory tool / API
agent_memory✅memory tool / API
session❌引擎运行时管理
working❌引擎运行时管理

导入场景

POST /memory/import 同样拒绝 environment 层。用户可以导入 consensus、about_me、agent_memory,但不能导入环境信息。


刷新机制

环境记忆通过以下路径更新:

  1. Cell Boot 时自动感知
  2. RefreshEnvironment 定期刷新
  3. 共享快照 memenv.SharedSnapshot(ctx) 进程级缓存(5min TTL)

详见 memory-environment-sensing.md 和 memory-environment-refresh.md。


相关不变量


相关文档