Agent 的 Session 里到底装了什么?
很多人把 Agent 的 Session 当成"一段聊天记录",其实远不止。
一个 Session 是 Agent 一次连续工作的完整上下文容器,至少包含 5 类内容。
看懂它,你才能理解上下文压缩、断点续聊、Token 暴涨这些现象。
消息历史:最核心的主干
用户消息、Assistant 回复、工具调用和工具返回,按顺序排列。
它是 Session 的本体,决定了 Agent"记得"什么。
工具返回的原始输出往往比对话本身占更多 Token,这是上下文膨胀的主要来源。
系统提示词:隐形的开场白
角色设定、工具说明、环境信息、项目指令(比如 AGENTS.md),通常在 Session 开头就注入。
它不占对话条数,但每一轮都会被重复发送,是固定成本。
工具状态与副作用
文件读写记录、运行中的后台任务、TODO 列表、计划模式的计划文件。
这些内容有的存在磁盘上,有的存在运行时,Session 恢复时要能对得上。
元数据:让 Session 可管理
Session ID、创建时间、使用的模型、Token 用量统计、权限模式。
续聊、搜索历史、核算成本,靠的都是这层数据。
上下文被压缩后还剩什么?
上下文快满时,Agent 会把早期对话压缩成摘要,原文被替换。
所以 Session 里"看到的"和"真实发生活过的"可能不一致——摘要有损,细节会丢。
重要结论尽量落盘成文件或记忆,不要只留在对话里。
Meta(发布信息)
建议标题
- Agent 的 Session 里到底装了什么?
- 搞懂 Agent Session,就看这 5 块内容
- 为什么你的 Agent 越聊越"健忘"?
- Session ≠ 聊天记录,它比这复杂多了
正文描述
介绍 AI Agent 中 Session 的完整构成:消息历史、系统提示词、工具状态、元数据,以及上下文压缩后的变化。适合正在使用或开发 Coding Agent 的读者,帮助理解上下文膨胀、断点续聊和会话恢复的原理。内容为通用概念科普,不针对特定产品。
参考资料
- Kimi Code CLI 官方文档中关于 Session 与上下文管理的说明
- 各主流 Coding Agent(Claude Code、Codex 等)的会话与上下文压缩机制公开文档
话题标签
#AIAgent #CodingAgent #LLM #上下文管理 #Agent开发 #程序员 #人工智能 #提示工程
封面文件
cover.png(未生成:本机无可用的栅格生图后端——Codex CLI 已登录,但 baoyu-codex-imagegen wrapper 与 baoyu-image-gen 均未安装)