lineage
1 つの記憶の背後にある編集の連なりを、古い順に返します。revisions がストア全体の変化量を示すのに対し、こちらは 1 つの事実に何が起きたかを示します。
Tablet 2 以降で対応しています。読み取り専用です。
revisions とは異なり、記憶の内容を返すため通常どおり課金される呼び出しです。連なりに含まれる任意の記憶の id を渡します。置き換えられた版は削除されずに保持されるため、現在の事実だけを返す検索からでも遡ることができます。
chain = mem.lineage(memory_id=mid)["chain"]
for step in chain:
print(step["changed_at"], step["action"], step["content"])200
{ "memory_id": "m_9", "count": 3, "truncated": false,
"chain": [
{ "memory_id": "m_3", "content": "lives in Seoul",
"created_at": "2026-03-02T…", "changed_at": "2026-06-11T…",
"action": "replaced", "confidence": 0.94,
"superseded_by": "m_7", "is_current": false },
{ "memory_id": "m_7", "content": "moved to Busan", … },
{ "memory_id": "m_9", "content": "Haeundae, specifically",
"changed_at": null, "superseded_by": null, "is_current": true }
] }| フィールド | 動作 |
|---|---|
| chain | 各版を古い順に返します。それぞれ記憶と同じフィールドに加えて、以下の 4 つを持ちます。 |
| changed_at | この版が置き換えられた日時 (RFC3339) です。まだ有効な間は null になります。 |
| action | この連結点で何が起きたか、つまり置き換えた側がこの版とどう関係していたかを示します。 |
| confidence | その関係についてエンジンがどれだけ確信していたかを 0-1 で示します。 |
| is_current | まだ有効な 1 つの版で true になります。連なりごとにちょうど 1 つです。 |
| truncated | 連なりがサービスの辿る長さを超えていた場合に true になります。返される段は、その場合も最も古いものです。 |
用途
用途は 2 つです。1 つはデバッグで、記憶が現在の内容になっている理由を確認できます。もう 1 つはアシスタント自身の履歴の参照です。3 回訂正された事実は 1 回だけ書かれた事実とは性質が異なり、それは連なりからしか分かりません。