第 16 期:Q&A — Session、上下文、Token 基础

⏱ 预计阅读 4 分钟 更新于 2026/5/7
💡 进群学习加 wx: agentupdate
(申请发送: agentupdate)

本期场景:汇集开发者在初次使用 Claude HUD 后最常问的 7 个基础问题。


Q1:Session 和对话有什么区别?

没有区别。一个 Session = 一次 Claude Code 会话 = 从启动到退出(或 /clear)。Session ID 就是 .jsonl 文件名里的 UUID。

/clear 会重置 Session(清空对话历史,开始新对话),但 Transcript 文件不变。退出 Claude Code 再启动才是真正的新 Session。


Q2:上下文窗口 200K 是什么意思?

200K = 200,000 tokens。Token 和字不是 1:1 对应:

语言 1 Token ≈
英文 0.75 个单词
中文 1-2 个汉字
代码 不规则,const x = 1; ≈ 5-7 tokens

200K tokens ≈ 15 万个英文单词,或 30-40 万个中文字符。一本《三体》大约 88 万字,200K tokens 大概能装半本。


Q3:为什么第一次读文件上下文就跳了 40%?

Read 工具把文件全部内容作为 tool_result 塞进上下文。6 个文件(每个 200-400 行)≈ 40K-60K tokens,直接吃掉 200K 窗口的 20-30%。

避免方法:用 Grep 只搜相关行,或 Read file.ts:100:50 只读 50 行。


Q4:Input tokens 和 Output tokens 哪个贵?

Output 贵 5 倍(Opus 模型):

Token 类型 Opus 单价 Sonnet 单价
Input $3/MTok $0.80/MTok
Output $15/MTok $4/MTok
Cache read $0.30/MTok $0.08/MTok

省 output 比省 input 更重要。caveman 模式、明确指令、"只改代码不解释" 都是在省 output。


Q5:HUD 上显示的 输入: 318 是整个会话累计的吗?

不是。Identity 行的 (输入: 318, 缓存: 66k)当前单次 API 请求的值。

Session Tokens 独立行(tokens 1.3M)才是会话累计。两者互补。


Q6:Session Tokens 行和 Identity 行有什么区别?

Identity 行 Session Tokens 行
范围 单次 API 请求 整个会话累计
数据来源 stdin current_usage transcript sessionTokens
用途 看这一轮花了多少 看一共花了多少

Q7:上下文 95% 自动压缩会丢什么?

早期对话的细节全部丢失,只保留摘要:

  • 丢失:文件内容、工具返回结果、具体代码片段、精确的错误信息
  • 保留:对话的语义摘要

压缩不可逆。建议在 85% 时主动处理,而不是等到 95%。


下期预告:第 17 期继续 Q&A——Cache 机制与 Token 优化的进阶问题。