← 全部极客知识库

主流 Agent 入门教程 / Kimi Code

5. 会话与上下文管理

原文备份 · 第 6 / 14 篇 · 查看极客时间原知识库 ↗

本篇目录 · 5 节

来源:Kimi Code

到目前为止,我们的工作都发生在"一次对话"里。但真实的项目是要做好多天的:晚上关掉终端,明天早上接着干;聊了一个小时,上下文越积越多;聊得好好的,突然想试试另一个方向……这些都要靠会话管理来解决。

这一章学四件事:会话的保存与恢复、上下文压缩、会话分叉、会话导出。学完后,你和 Kimi 的协作就从"一次性聊天"升级成了"可持续的项目搭档"。

5.1 会话就是存档,而且会自动保存

先建立一个关键认知:每一次对话都会自动保存为一个"会话"(session),存在本地 ~/.kimi-code/sessions/ 目录下,并且按工作目录分组——你在 weight-tracker 里聊的内容,和在别的目录里聊的内容,各存各的,互不干扰。你不需要手动保存任何东西,反过来,也不要去手动修改 sessions 目录里的文件,那可能导致会话无法恢复。

基于这个机制,常用的操作是这些:

接着上次干。 在 weight-tracker 目录里运行:

kimi --continue

就会恢复这个目录下最近的会话,之前的对话上下文原封不动。简写是 kimi -c。你可以现在就试试:退出 Kimi(/exit),重新运行 kimi -c,看它是不是还记得我们的体重管理项目。

浏览历史会话。 两种入口:终端里运行 kimi --session(不带参数会进入交互式列表),或者在会话中输入 /sessions(别名 /resume),用方向键挑选、回车进入。想直达某个会话,用 kimi --session <会话ID>。

给会话起名。 会话多了以后,列表里全是一串 ID 可不好认。输入:

/title v0.2-每日热量预算

给当前会话起个好认的名字(别名 /rename;不带参数时显示当前标题)。

开新会话。 输入 /new(别名 /clear)。什么时候该开新的?记住一个原则:话题切换就开新会话。上下文是 Kimi 的记忆也是它的注意力——里面堆着无关内容,它反而容易分心。同一个功能接着聊,换个功能换个话题,就 /new 一下。

5.2 上下文压缩:/compact

聊得越久,上下文就越长。接近模型上限时,Kimi Code 会自动压缩历史消息腾出空间,但自动压缩的时机未必合你意,所以你也可以随时手动来一下:

/compact

还可以带一句提示,告诉它压缩时重点保留什么:

/compact 保留关于数据存储结构的讨论和尚未完成的任务

什么时候压缩?可以类比 git commit 的时机:一个阶段性工作收尾时。比如刚完成"每日热量预算"功能、准备开始下一个功能,先 /compact 一下,把前面的讨论浓缩成摘要,轻装上阵。

而如果你要切换到完全不相关的任务,就别压缩了,直接 /new——压缩是为了"接着做",新会话是为了"换着做"。

5.3 /fork:给会话开一个"分支"

/fork 分叉对话,但仍可能操作同一目录。实验前确认工作已提交,在终端运行 git worktree add -b experiment/theme ../weight-theme HEAD,再到新目录启动 Kimi。

喜欢结果时提交并在主目录合并该分支;不满意时先查看实验目录的 git status --short、git diff 和 git diff --cached,保存仍有价值的内容,再由你决定是否删除实验副本。git restore . 只恢复已跟踪文件的未暂存修改,既不撤销暂存,也不删除新文件。

会话 fork、分支、worktree 分别管理对话、提交历史和文件工作目录,不应互相替代。

5.4 导出会话:存档与分享

有些对话值得留下来:一次精彩的排错过程、一段重要的方案讨论。在会话中输入:

/export-md

就能把当前对话导出成一份可读的 Markdown 文件(别名 /export;可带路径参数,不带就写到当前目录,文件名类似 kimi-export-a1b2c3-20260923.md)。我们之前给界面定方案的讨论,就可以导出存进项目的 docs/ 目录,作为"设计决策记录"——这是很多专业团队都在用的习惯。

如果是遇到了程序异常、需要反馈问题,则在终端里用 kimi export <会话ID>,它会把会话打包成 ZIP(含诊断日志),方便提交给官方排查。

分享前检查一下内容。 导出的文件里可能包含代码、命令输出、文件路径等敏感信息,发给别人之前先翻一遍。

本章小结

这一章让项目具备了"跨天续命"的能力:

  • 会话自动保存、按工作目录分组;kimi --continue 接着上次干,/sessions 浏览历史,/title 起名,/new 开新话题;
  • 阶段性收尾用 /compact 压缩上下文,换任务用 /new 开新会话;
  • /fork 分叉会话做零成本实验,记住对话分叉归 fork,代码后悔归 git,两者搭配使用;
  • /export-md 导出对话存档,重要讨论留作设计记录。

工具层面的基本功到这里就齐了。下一章是全书的核心章:我们回到项目本身,完整走几遍专业的开发流程——写清需求与验收标准、给应用配测试、用正确的方法修 bug、放心大胆地重构,以及 git 分支与项目文档。