multi-turn.mdx 2.2 KB

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