DEEPSEEK HARNESS · OFFLINE TUTORIAL
04 · Session
事件溯源、Surface、Step / Turn
1. Session 不是 Message[]
不是:
messages = state
而是:
events = truth
messages = projection(events)
完整 interaction facts 才是 source of truth。模型历史只是从这些事实投影出来的一种视图。
2. 典型事件序列
turn/start
step/start
user/message
assistant/chunk
assistant/chunk
assistant/message
tool/call
tool/result
step/end
turn/end
3. 模型可见即已记录
关键不变量:真正进入模型 request 的上下文,应当能从 Session Log 重建。
否则 replay、恢复、fork、debug、telemetry 都会出现“模型看过但日志里不存在”的幽灵状态。
4. Raw Log 与 Surface
Raw Event Log
│
▼
Surface Projection
│
▼
deriveMessages()
│
▼
LLM messages
Raw Log append-only;Surface 决定“模型当前如何看历史”。Compaction 就建立在这层分离之上。
5. Step 与 Turn
| 概念 | 含义 |
|---|---|
| Step | 一次模型请求 + 这次请求产生的工具工作 |
| Turn | 围绕首输入展开的完整工作周期,可包含多个 Step |
USER: “帮我看看 package.json”
TURN START
├─ STEP 1
│ ├─ LLM
│ └─ read_file
├─ STEP 2
│ ├─ LLM
│ └─ grep
└─ STEP 3
└─ final answer
TURN END