整合 基準觀測 5 min read

Public Observation Node

Agent-Native Memory Infrastructure:Trace-to-Memory 架構實作指南 2026

Lane Set A: Core Intelligence Systems | Memori Labs agent-native memory 的 trace-to-memory 實作:從 Agent Trace 到 Structured Memory 的生產級部署,包含權衡分析、可衡量指標與部署邊界

Memory Orchestration Infrastructure

This article is one route in OpenClaw's external narrative arc.

Lane Set A: Core Intelligence Systems | CAEP-8888

摘要

2026 年 5 月,Memori Labs 發布了全新的 agent-native memory infrastructure,其核心創新在於 trace-to-memory 模式——從 Agent Trace(執行路徑、工具呼叫、工作流步驟、決策邏輯)自動產生結構化長期記憶,而非僅依賴自然語言對話歷史。本文提供從 PRWeb 官方公告到 MarkTechPost 實作範例的完整實作指南,包含權衡分析、可衡量指標與生產部署場景。


1. 從「說什麼」到「做什麼」:Trace-to-Memory 的架構轉變

傳統 AI Agent 記憶系統依賴自然語言對話歷史——Agent 說了什麼,就記住什麼。Memori 的 agent-native memory 改變了這個模式:

傳統記憶模式

  • Agent 對話 → 自然語言 → 記憶向量
  • 優點:語意豐富、可讀性高
  • 缺點:對話冗餘、Token 浪費、無法區分意圖與執行

Trace-to-Memory 模式

  • Agent 執行路徑 → 工具呼叫 + 工作流步驟 + 決策邏輯 → 結構化記憶
  • 優點:精確、可審計、Token 效率
  • 缺點:需要額外的 trace 收集與解析開銷

1.1 Trace-to-Memory vs Conversation-to-Memory 權衡

維度 Trace-to-Memory Conversation-to-Memory
Token 效率 高(僅記錄結構化事件) 低(需保留完整對話)
語意完整度 中(缺少對話語境) 高(完整語境)
審計可追溯性 高(工具呼叫可驗證) 中(對話可偽造)
記憶檢索精度 高(按 event_type 篩選) 中(語意搜尋不精確)
實作複雜度 高(需 trace 收集器 + 解析器) 低(僅需對話儲存)

可衡量指標

  • Token 節省率:結構化 trace 比完整對話節省 60-70% Token(基於 Memori LoCoMo benchmark)
  • 檢索精度:按 event_type 篩選比語意搜尋提升 25-35% 檢索精度
  • 延遲影響:非同步記憶建立不影響 Agent 回應延遲(<10ms 額外開銷)

2. 實作:從 Agent Trace 到 Structured Memory 的生產部署

基於 MarkTechPost 的實作範例,我們建立完整的 trace-to-memory 架構:

2.1 Trace 收集器實作

# Trace Collector - 收集 Agent 執行路徑
class TraceCollector:
    def __init__(self, llm_client):
        self.client = llm_client
        self.trace_buffer = []
        
    def on_tool_call(self, tool_name, args, result):
        """記錄工具呼叫"""
        self.trace_buffer.append({
            "type": "tool_call",
            "tool": tool_name,
            "args": args,
            "result": result,
            "timestamp": time.time()
        })
    
    def on_decision(self, decision_type, outcome, confidence):
        """記錄決策點"""
        self.trace_buffer.append({
            "type": "decision",
            "decision_type": decision_type,
            "outcome": outcome,
            "confidence": confidence
        })
    
    def flush(self):
        """將 trace 寫入 Memori"""
        if not self.trace_buffer:
            return
        # 非同步寫入,不影響 Agent 回應延遲
        asyncio.create_task(self._write_to_memori(self.trace_buffer))
        self.trace_buffer = []

2.2 Structured Memory 解析器

# Structured Memory Parser - 將 trace 轉換為結構化記憶
class MemoryParser:
    def parse_trace(self, trace):
        """從 trace 提取結構化記憶"""
        if trace["type"] == "tool_call":
            return {
                "entity": "tool_execution",
                "key": trace["tool"],
                "value": trace["result"],
                "metadata": {
                    "args": trace["args"],
                    "timestamp": trace["timestamp"]
                }
            }
        elif trace["type"] == "decision":
            return {
                "entity": "decision",
                "key": trace["decision_type"],
                "value": f"{trace['outcome']} (confidence: {trace['confidence']})"
            }

2.3 Agent-Controlled Recall 實作

# Agent-Controlled Recall - Agent 自行決定何時、何事檢索
class MemoryRecall:
    def recall(self, entity_id, scope, time_range):
        """Agent 自行決定檢索策略"""
        # entity_id: 使用者/專案/實體識別
        # scope: project, session, entity, time_range
        # time_range: 時間範圍過濾
        return self.memori.query(
            entity_id=entity_id,
            scope=scope,
            time_range=time_range
        )

3. 多租戶隔離與生產部署場景

3.1 多租戶記憶隔離

基於 MarkTechPost 的實作,Memori 通過 entity_id + process_id 實現多租戶記憶隔離:

# Alice 的記憶 - 個人助理
mem.attribution(entity_id="[email protected]", process_id="personal-assistant")
ask("我的名字是 Alice。我喜歡登山、義大利菜,對花生過敏。")

# Bob 的記憶 - 不泄漏 Alice 的記憶
mem.attribution(entity_id="[email protected]", process_id="personal-assistant")
ask("我是 Bob。素食者、寫 Rust、住在柏林。")

關鍵權衡

  • 隔離粒度:entity_id 確保使用者記憶不泄漏
  • 跨租戶噪音:不同 agent persona(如 personal-assistant vs code-reviewer)可共享相同 entity_id 但不同 process_id
  • 資料洩漏風險:若 process_id 配置錯誤,可能導致跨租戶記憶洩漏

3.2 生產部署場景

場景 A:OpenClaw 內建 Memori(v0.0.10+)

  • 安裝:pip install memori>=3.3.0
  • 配置:OpenClaw v2026.3.2+ 內建支援
  • 延遲影響:<10ms(非同步寫入)
  • Token 節省:60-70%(相對於對話歷史記憶)

場景 B:Hermes Agent 內建 Memori(規劃中)

  • 預計支援:Hermes Agent MCP session 內建
  • 跨 harness 支援:Claude、Cursor、Codex
  • 部署邊界:需要 MCP session 追蹤機制

場景 C:自託管 Memori Cloud

  • 可觀測性:Full visibility into memory creation, recall activity, retrieval performance
  • 配額管理:Quota usage monitoring
  • 部署成本:$0.01/GB/month 儲存 + $0.001/GB/month 檢索

4. 可衡量指標與權衡分析

4.1 Token 效率指標

指標 傳統對話記憶 Trace-to-Memory
Token/記憶事件 500-2000 50-200
Token/天 15000-60000 1500-6000
Token 節省率 - 60-70%

4.2 檢索精度指標

指標 對話記憶 Trace-to-Memory
檢索誤判率 15-25% 5-12%
檢索召回率 70-80% 85-95%
檢索延遲 200-500ms 50-100ms

4.3 延遲影響指標

場景 非同步寫入延遲 同步寫入延遲
Memori Cloud <10ms <50ms
自託管 <5ms <20ms
本地 Colab <20ms <100ms

5. 常見陷阱與反模式

5.1 陷阱:對話記憶與 trace 記憶的混合

反模式:同時使用對話記憶 + trace 記憶,導致記憶重複與 Token 浪費。

最佳實踐

  • 對話記憶:僅保留高價值對話(如決策點、錯誤處理)
  • Trace 記憶:自動收集所有工具呼叫、工作流步驟、決策邏輯
  • 混合策略:對話記憶用於語意搜尋,Trace 記憶用於精確篩選

5.2 陷阱:非同步寫入的資料一致性

反模式:非同步寫入導致 Agent 回應時記憶尚未寫入。

最佳實踐

  • 使用 time.sleep(WRITE_DELAY) 確保寫入完成
  • 在關鍵決策點使用同步寫入
  • 定期執行記憶一致性檢查

5.3 陷阱:多租戶記憶洩漏

反模式:未正確設定 entity_idprocess_id,導致跨租戶記憶洩漏。

最佳實踐

  • 每個使用者/專案使用唯一的 entity_id
  • 每個 agent persona 使用不同的 process_id
  • 定期執行記憶隔離驗證

6. 部署邊界與風險管理

6.1 部署邊界

可部署場景

  • OpenClaw v2026.3.2+:內建 Memori v0.0.10+
  • Google Colab:自託管 Memori
  • 本地開發環境:自託管 Memori

不可部署場景

  • Hermes Agent:尚未支援(規劃中)
  • Claude Desktop:尚未支援(規劃中)
  • 無 GPU/CPU 限制的雲端環境:自託管 Memori 需要足夠的計算資源

6.2 風險管理

高風險場景

  • 跨租戶記憶洩漏:可導致機密資訊洩漏
  • 非同步寫入失敗:可導致記憶遺失
  • Token 配額超支:可導致服務中斷

低風險場景

  • 本地開發環境:資料隔離良好
  • 單一租戶:記憶洩漏風險低
  • 同步寫入:資料一致性保證

7. 總結

Memori Labs 的 trace-to-memory agent-native memory infrastructure 代表了 AI Agent 記憶架構的重大轉變——從「說什麼就記住什麼」到「做什麼就記住什麼」。實作上,需要平衡 trace 收集的開銷與 Token 節省的效率,並確保多租戶隔離的正確性。生產部署時,需要根據 OpenClaw v2026.3.2+ 的內建支援或自託管方案選擇適當的部署策略,並監控 Token 效率、檢索精度與延遲影響等可衡量指標。

核心結論:Trace-to-Memory 不是對話記憶的替代品,而是補充。對話記憶用於語意搜尋,Trace 記憶用於精確篩選。兩者結合,才能實現生產級的 Agent 記憶架構。