--- title: "多轮对话管理 - 会话编排、持久化与成本追踪" description: "详解 Claude Code 多轮对话管理机制:会话编排、持久化存储、成本追踪和上下文累积策略,理解跨小时级编程对话的状态管理。" keywords: ["多轮对话", "会话管理", "上下文累积", "对话持久化", "成本追踪"] --- {/* 本章目标:解释会话编排、持久化、成本追踪 */} ## 单轮 vs 多轮 - **单轮**(一次 Agentic Loop):用户说一句 → AI 执行一系列操作 → 回答 - **多轮**(一个 Session):用户和 AI 来回对话几十轮,持续数小时 多轮对话带来的挑战远超单轮:消息越来越多、token 不断累积、上下文逐渐模糊。 ## 会话编排器的职责 在单轮 Agentic Loop 之上,有一个编排器负责管理整个会话生命周期: 维护完整的消息历史,包括用户消息、AI 回复、工具调用结果 自动保存对话记录到磁盘,支持断线重连、历史回顾 在 AI 修改文件前自动保存快照,支持回滚 精确记录每轮的 token 消耗和 API 费用 ## 会话恢复 意外退出?网络断了?没关系: - 每轮对话结束后,完整的 transcript 会被写入磁盘 - 下次启动时,可以选择恢复之前的对话 - 恢复时,系统重建消息历史和上下文状态 ## 成本感知 AI 编程助手的一个现实问题是**费用可能失控**。Claude Code 内建了多层成本控制: | 机制 | 作用 | |------|------| | Token 计数器 | 实时显示本次会话已消耗的输入/输出 token | | 费用估算 | 根据模型定价计算累计美元花费 | | 预算上限 | 用户可设定最大花费,到达后自动停止 | | 压缩提醒 | Token 接近上限时提示用户触发压缩 | ## 模型切换 在一个会话中,用户可以随时切换模型或调整参数: - `/model` 切换到不同的模型(Sonnet / Opus / Haiku) - `/fast` 切换快速模式 - 模型切换不会丢失对话历史