Files
prompt-optimizer/mkdocs/docs/zh/advanced/context.md
T
linshen 232f04db60 mkdocs: 初始化 mkdocs 文档库
- 新增多个文档文件,覆盖基本使用、高级功能、部署指南等
- 创建数据管理、模型配置、历史记录等详细指南
- 添加上下文管理、工具调用、变量系统等高级功能文档
- 提供快速开始、常见问题、故障排除等实用信息
2025-09-13 23:43:27 +08:00

8.7 KiB
Raw Blame History

上下文管理(高级模式)

上下文管理是高级模式的核心功能之一,让你能够精确控制多轮对话的上下文,实现复杂的AI交互场景。

💬 多轮会话概述

什么是上下文管理

上下文管理允许你:

  • 编辑对话历史中的任意消息
  • 添加、删除、重排对话消息
  • 在消息中使用变量替换
  • 模拟复杂的对话场景
  • 测试AI在长对话中的表现

与基础模式的区别

功能 基础模式 高级模式
消息编辑 ❌ ✅ 完整编辑功能
变量替换 ❌ ✅ 消息级变量支持
多轮测试 ✅ 简单多轮 ✅ 复杂场景模拟
对话管理 ❌ ✅ 历史消息管理

🎛️ 会话编辑器(ContextEditor)

消息类型

1. 系统消息 (System)

设定AI的角色、行为规范和工作模式:

你是一个专业的{{role}},专长是{{expertise}}。
请遵循以下原则:
1. 提供准确、专业的建议
2. 保持{{tone}}的交流风格
3. 关注{{focus}}领域的问题

2. 用户消息 (User)

模拟用户的输入和问题:

我需要关于{{topic}}的建议,具体情况是:
{{situation}}

请帮我分析一下应该如何处理。

3. 助手消息 (Assistant)

AI的回复和响应,可以预设或编辑:

根据你描述的{{situation}},我建议采用以下策略:

1. 首先{{step1}}
2. 然后{{step2}}
3. 最后{{step3}}

这样做的原因是...

消息编辑操作

添加消息

  1. 选择插入位置

    • 点击目标位置的"添加消息"按钮
    • 选择在对话开头、中间或末尾添加
  2. 选择消息类型

    • System - 用于设定AI角色和规则
    • User - 模拟用户输入
    • Assistant - 预设AI回复
  3. 编写消息内容

    • 支持普通文本和Markdown格式
    • 可以使用变量占位符
    • 提供实时变量预览

编辑现有消息

  1. 消息选择

    • 点击要编辑的消息
    • 消息进入编辑模式
    • 显示消息类型和编号
  2. 内容修改

    • 修改消息文本内容
    • 更改消息类型(如需要)
    • 调整变量占位符
  3. 保存更改 / 持久化

    • 实时保存并写入 ContextRepo(刷新后可恢复)
    • 自动更新变量预览与缺失统计
    • 验证消息格式

消息管理操作

  1. 删除消息

    • 选择要删除的消息
    • 确认删除操作
    • 自动调整消息序号
  2. 复制消息

    • 复制消息内容到剪贴板
    • 复制到对话其他位置
    • 作为新消息模板
  3. 重新排序

    • 拖拽调整消息顺序
    • 自动更新消息编号
    • 保持对话逻辑连贯

🔄 变量在会话中的使用

消息级变量替换

基础语法

使用 {{变量名}} 在消息中插入变量:

系统: 你是一个{{role}},工作在{{company}}公司
用户: 请帮我解决{{problem}}这个问题
助手: 根据{{role}}的经验,对于{{problem}},我建议...

变量作用域

  1. 全局变量 - 在变量管理器中定义,作用于所有对话
  2. 会话变量 - 针对当前会话临时定义的变量
  3. 消息变量 - 仅在特定消息中有效的变量

变量合并与优先级

finalVars = 全局变量 ∪ 上下文变量覆盖;同名以上下文覆盖优先;预定义变量名不可覆盖。

动态变量更新

实时预览

  • 编辑变量时实时更新消息预览
  • 高亮显示变量替换位置
  • 显示变量当前值

批量替换

  • 一次性更新多个消息中的变量
  • 支持正则表达式匹配
  • 提供替换前的预览确认

变量历史

  • 记录变量值的修改历史
  • 支持回退到之前的变量状态
  • 对比不同版本的差异

缺失变量处理

自动检测

系统会自动检测并标记缺失的变量:

  • 🔴 未定义变量 - 红色标记
  • 🟡 空值变量 - 黄色标记
  • 🟢 正常变量 - 绿色标记

智能建议

  • 自动建议相似的已定义变量
  • 提供变量名称规范建议
  • 根据上下文推荐合适的变量值

快速创建

  • 点击缺失变量直接创建
  • 自动填充推荐的变量值
  • 批量创建多个缺失变量

📤 导入/导出与数量徽章

导出(标准格式)

  • 在 ContextEditor 中“导出 → 标准格式”可导出单个上下文
  • 结构包含:messages[]、metadata.variables、tools[]

数量徽章

  • 对话区显示“变量数/缺失数”与“工具数”徽章,便于总览

🎭 对话场景模拟

完整对话测试

1. 场景设计

角色扮演场景

System: 你是一名资深的产品经理,有10年互联网产品经验
User: 我们的APP用户留存率在下降,你觉得可能是什么原因?
Assistant: [让AI分析并回复]
User: 数据显示主要是新用户在第一周流失严重
Assistant: [让AI提供解决方案]

技术支持场景

System: 你是{{company}}的技术支持专家,擅长解决{{product}}相关问题
User: 我的{{product}}出现了{{error_message}}错误
Assistant: [AI诊断问题]
User: 按照你说的步骤操作后,现在出现了新的问题...
Assistant: [AI提供进一步支持]

2. 执行对话测试

逐步执行模式

  • 逐条发送消息进行测试
  • 观察AI在每轮的回应质量
  • 记录对话流程和关键节点

批量执行模式

  • 一次性发送完整对话序列
  • 测试AI对完整上下文的理解
  • 评估对话的连贯性和逻辑性

3. 结果分析

回复质量评估

  • 内容准确性和相关性
  • 回复的专业度和深度
  • 是否保持角色一致性

上下文理解分析

  • 是否正确理解对话历史
  • 能否引用之前的对话内容
  • 对话逻辑是否连贯

用户体验评价

  • 对话是否自然流畅
  • 回复是否满足用户期望
  • 整体交互体验如何

高级测试功能

对话分支测试

  • 在对话的关键节点创建分支
  • 测试不同用户回复的AI响应
  • 比较不同路径的对话效果

情境变化测试

  • 在对话中途更改系统设定
  • 测试AI对角色转换的适应性
  • 验证上下文切换的处理能力

压力测试

  • 测试极长对话的处理能力
  • 验证复杂嵌套对话的理解
  • 评估在信息过载时的表现

📊 对话管理和分析

对话保存和复用

场景模板

  • 将优质对话保存为模板
  • 支持变量化的场景复用
  • 建立常用场景的模板库

历史记录管理

  • 完整保存对话编辑历史
  • 支持对话版本对比
  • 快速回退到之前的状态

导入导出功能

  • 导出对话为JSON或文本格式
  • 导入外部对话进行测试
  • 与团队成员分享测试场景

批量测试管理

测试套件

  • 创建包含多个对话场景的测试套件
  • 批量执行不同场景的测试
  • 统一管理相关的测试用例

结果对比

  • 对比不同模型在同一场景下的表现
  • 分析不同参数配置的影响
  • 生成详细的性能对比报告

自动化测试

  • 设置定期执行的回归测试
  • 自动检测对话质量的变化
  • 预警性能下降或异常行为

协作和共享

团队协作

  • 分享测试场景和结果
  • 协作编辑复杂对话场景
  • 建立团队知识库

版本控制

  • 跟踪对话场景的修改历史
  • 支持多人协作的版本管理
  • 合并不同版本的修改

💡 最佳实践指南

对话设计原则

1. 渐进式复杂度

  • 从简单对话开始测试
  • 逐步增加对话的复杂性
  • 识别AI能力的边界

2. 真实场景模拟

  • 设计贴近真实使用场景的对话
  • 包含常见的用户行为模式
  • 考虑异常情况和边界案例

3. 上下文连贯性

  • 确保对话逻辑的连贯性
  • 避免突兀的话题转换
  • 维护角色设定的一致性

变量使用技巧

1. 合理的变量粒度

  • 避免过度细分变量
  • 保持变量的语义完整性
  • 平衡灵活性和复杂性

2. 描述性命名

  • 使用清晰的变量名称
  • 遵循一致的命名规范
  • 添加必要的使用说明

3. 默认值设置

  • 为变量提供合理的默认值
  • 确保在变量缺失时能正常工作
  • 提供变量使用示例

测试策略建议

1. 全面性测试

  • 覆盖不同类型的对话场景
  • 测试各种变量组合
  • 包含正常和异常情况

2. 可重复性

  • 确保测试结果的可重现性
  • 记录测试的环境和条件
  • 建立标准化的测试流程

3. 持续优化

  • 基于测试结果持续改进
  • 收集实际使用中的反馈
  • 定期更新测试场景

相关链接: