全エングラム エングラム

Time_awareness Scroll 1.2+

呼び出しごとに選ぶ配信フォームです。フォーム対応モデル(Scroll 1.2 以降)への任意の呼び出しに form - memoir または archive - を渡すと、そのレスポンスがその流儀で描画されて返ります: 通常の検索、recall、任意のエングラムまで。SDK では tz と同じく form フィールド、HTTP では X-WOS-Form ヘッダーです。Memoir は人が思い出すように読め、Archive は正確な記録を保ちます - 違いが最も表れるのは、時間の書き方です。

Memoir

form: "memoir"
人のように思い出す · 物語として

何が起き、その瞬間が次にどうつながったかを、人が思い出すときのやわらかな時間感覚とともに語ります - リストではなく、体験として読めます。

Archive

form: "archive"
記録として保つ · 正確な時間

マッチを正確な記録として返します - 精密な経過時間と絶対的なアンカーを備え、モデルがそのまま読み取れる構造です。

すでに保存された記憶を描画するのであって、記憶を作るのではありません。各記憶は user_id の下でのひとつの store / add 呼び出しです(その user_id がその人のストアそのものです)。まず保存してください。その後はどのリコールも - 下の通常検索も含めて - 時間タグ付きで返ります。保存の方法は クイックスタート を参照してください。
# the memoir form on a plain search — and on recall, the LLM's one-call context
r   = mem.search("what does Alice drink?", user_id="alice", model="scroll-1.2", form="memoir", tz=9)
ctx = mem.recall("what does Alice drink?", user_id="alice", model="scroll-1.2", form="memoir", tz=9)
# every memory's .time reads "a couple weeks ago" (archive → "2 weeks ago (Jun 09)") — the LLM sees human time
// the memoir form on search — and on recall, the LLM's one-call context
const s = await mem.withModel("scroll-1.2").search("what does Alice drink?", "alice", 10, { form: "memoir", tz: 9 });
const ctx = await mem.withModel("scroll-1.2").recall("what does Alice drink?", "alice", { form: "memoir", tz: 9 });
// form on search AND recall — the _with helpers merge extra fields into the body
let s = mem.with_model("scroll-1.2").search_with("what does Alice drink?", "alice", 10, json!({"form": "memoir", "tz": 9})).await?;
let ctx = mem.with_model("scroll-1.2").recall_with("what does Alice drink?", "alice", json!({"form": "memoir", "tz": 9})).await?;
# same X-WOS-Form header on /search, /recall, or /engram/run
curl -X POST https://api.wontopos.com/api/v1/memory/recall \
  -H "X-API-Key: wos-live-..." -H "X-WOS-Model: scroll-1.2" -H "X-WOS-Form: memoir" -H "X-WOS-Timezone: 9" \
  -d '{"user_id":"alice","query":"what does Alice drink?"}'
# every memory comes back with a "time" field; use X-WOS-Form: archive for exact time

tz は呼び出し側の UTC オフセット(時間単位)です - これにより "this morning" のような表現や午前 4 時の日付境界が、その人の現地時間で決まります。省略すると UTC、HTTP では X-WOS-Timezone ヘッダーです。地域別の目安: 米国東部 -5、米国中部 -6、米国西部 -8 · 英国 / リスボン 0 · 中央ヨーロッパ +1 · 東ヨーロッパ +2 · インド +5.5 · 中国 / シンガポール +8 · 韓国 / 日本 +9 · シドニー +10。(標準時基準です - 夏時間で +1 になる地域もあるため、ユーザーが実際に使っている値を渡してください。)

同じ検索を 2 つのフォームで - 記憶は同一で、変わるのは time だけです:

結果 · form: memoir
{ "count": 3, "memories": [
  { "content": "Alice prefers tea over coffee", "time": "a couple weeks ago" },
  { "content": "met Alice at the cafe downtown",  "time": "yesterday afternoon" },
  { "content": "Alice moved to Brooklyn",          "time": "about half a year ago" }
] }
結果 · form: archive
{ "count": 3, "memories": [
  { "content": "Alice prefers tea over coffee", "time": "2 weeks ago (Jun 09)" },
  { "content": "met Alice at the cafe downtown",  "time": "yesterday at 14:00" },
  { "content": "Alice moved to Brooklyn",          "time": "6 months ago (Dec 2025)" }
] }
経過時間MemoirArchive
3 分a few minutes ago3 minutes ago
14 分about 15 minutes ago14 minutes ago
30 分half an hour ago30 minutes ago
50 分about an hour ago50 minutes ago
2 時間a couple hours ago2 hours ago, at 13:10
8 時間this morning8 hours ago, at 07:10
昨日の午後yesterday afternoonyesterday at 14:00
昨夜last night17 hours ago, at 22:00
2 日a couple days ago2 days ago (Tue 15:10)
6 日several days ago6 days ago (Fri 15:10)
9 日about a week agolast week (Jun 16)
16 日a couple weeks ago2 weeks ago (Jun 09)
35 日about a month agolast month (May 21)
60 日a couple months ago2 months ago (Apr 2026)
180 日about half a year ago6 months ago (Dec 2025)
380 日about a year agolast year (Jun 2025)
800 日a couple years ago2 years ago (Apr 2024)
1500 日about 4 years ago4 years ago (May 2022)

上の値はすべてレンダラーの実際の出力です。「昨日」の 2 行を見てください。Memoir は昨日の午後と昨夜を分けます - 一日とはひと眠りのことだからです。一方 Archive は時計の時刻ひとつで書き、昼と夜の線を引きません。

各モードの時間の読み方

Memoir - 人が実際に口にする言い方。直近はかなり鮮明なまま(15 分ほど前30 分前)、遡るほど言い回しが広がっていきます - 2 週間ほど前半年ほど前数年前 - 記憶そのものが、距離とともにゆるんでいくように。一日の中では時計を捨てて目印で語ります:今朝昨夜昨日の午後。そして一日はカレンダーの一目盛りではなく、ひと眠りです。境界は現地時間の午前 4 時ごろにあり、夜更かしはまだ同じ夜のままで、もう明日にはなりません。

Archive - 正確に、常にアンカーとともに。すべての行に、正確な経過時間と、モデルが計算に使える絶対的な基準が付きます。近いほどアンカーは細かくなります。今日は時計(8 時間前、07:10)、今週は曜日と時計(2 日前(火 15:10))、今月は日付(先週(6 月 16 日))、それより前は月と年(6 か月前(2025 年 12 月))。曖昧にならず、間違えません。

Memoir と Archive はレスポンスのすべてのリコール - 通常の検索、recall、エングラム - をその流儀で描画します。モデルのティア(Tablet → Scroll → Book)はエンジンがどこまでやるかを決め、フォーム(memoir / archive)は時間の書き方を決めます。Scroll 1.2 以降で利用できます。