엔그램 목록 엔그램

Time_awareness Scroll 1.2+

호출마다 고르는 전달 형식. 형식을 지원하는 모델(Scroll 1.2 이상)에서 아무 호출에나 form(memoir 또는 archive)을 넘기면 - 그냥 검색이든 recall이든 엔그램이든 - 그 응답이 그 방식으로 렌더링되어 돌아옵니다. SDK에서는 tz처럼 form 필드로, HTTP에서는 X-WOS-Form 헤더로 넘깁니다. 회고록은 사람이 기억하듯, 아카이브는 정확한 기록 그대로 - 차이는 시간을 적는 방식에서 가장 잘 드러납니다.

회고록

form: "memoir"
사람이 기억하듯 · 서사로

무슨 일이 어떻게 다음으로 이어졌는지, 사람이 떠올리는 흐릿한 시간 감각과 함께 들려줍니다 - 목록이 아니라 경험으로.

아카이브

form: "archive"
기록 그대로 · 정밀한 시각

맞는 것을 정밀한 경과 시간과 절대 앵커로, 기록 그대로 돌려줍니다 - 모델이 바로 읽도록 구조화되어.

이미 저장한 기억을 렌더할 뿐, 기억을 만들지는 않습니다. 기억 하나는 user_id 아래 store / add 호출 한 번 (그 user_id가 곧 그 사람의 저장소). 먼저 저장해야, 그 다음 어떤 회수든 - 아래 그냥 검색 포함 - 시간 태그가 붙어 돌아옵니다. 저장은 Quickstart 참고.
# 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, 사용자가 실제로 쓰는 값을 그대로 넣으세요.)

같은 검색, 두 형식 - 기억은 똑같고 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)" }
] }
경과회고록아카이브
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)

위 값은 전부 렌더러의 실제 출력입니다. "어제" 두 줄을 보세요: 회고록은 낮과 밤을 가르지만 - 하루는 잠 한 번 - 아카이브는 시계 시각 하나로 적고 낮·밤을 나누지 않습니다.

모드별 시간 읽는 법

회고록 - 사람이 실제로 말하는 방식. 최근은 비교적 또렷하다가(약 15분 전, 30분 전) 멀어질수록 표현이 넓어집니다 - 2주쯤 전, 반년쯤 전, 몇 년 전 - 기억 자체가 멀수록 풀어지듯. 하루 안에서는 시계 대신 landmark를 씁니다: 오늘 아침, 어젯밤, 어제 오후. 그리고 하루는 달력 한 칸이 아니라 잠 한 번: 경계가 현지 새벽 4시쯤이라, 늦은 밤도 여전히 '오늘 밤'으로 읽히지 벌써 내일이 되지 않습니다.

아카이브 - 정밀, 항상 앵커와 함께. 모든 줄에 정확한 경과 시간 + 모델이 계산할 수 있는 절대 기준이 붙고, 가까울수록 앵커가 촘촘해집니다: 오늘은 시계(8시간 전, 07:10), 이번 주는 요일+시계(2일 전 (화 15:10)), 이번 달은 날짜(지난주 (6월 16일)), 그 너머는 월·연도(6개월 전 (2025년 12월)). 모호함 없이, 틀림 없이.

회고록과 아카이브는 응답의 모든 회수(그냥 검색·recall·엔그램)를 그 방식으로 렌더링합니다. 모델 티어(Tablet → Scroll → Book)이 엔진이 하는 일의 깊이를, 형식(회고록/아카이브)이 시간을 적는 방식을 정합니다. Scroll 1.2 이상에서 사용할 수 있습니다.