Phase2验证测试指南.md

Coco 协调日志

Phase 2: 三层检索架构 - 验证测试指南

目标:验证Token压缩效果,确保对话质量无下降 预计时间:30-60分钟 负责人:William(测试) + Coco(监测)


步骤1:启动Flask服务(带检索功能)

方法A:使用虚拟环境启动(推荐)

cd "/Users/jiawei/Library/Mobile Documents/com~apple~CloudDocs/My Project/日记/数字员工团队/09-虚拟办公区系统"

# 激活虚拟环境(包含sentence-transformers)
source venv/bin/activate

# 启动Flask服务
python app.py

预期输出

[EmbeddingIndexer] 初始化完成
  模型: sentence-transformers/all-MiniLM-L6-v2
  索引目录: .../chat_data/_embeddings
[ContextRetriever] 加载共享经验库: 15条
[ContextRetriever] 初始化完成
  工作区: .../日记/数字员工团队
  Agent数: 17
  共享patterns: 15条
[CocoSupervisor] V6.0 三层检索架构已启用(Token降本Layer 2)
 * Running on http://127.0.0.1:8080

如果遇到错误: - ModuleNotFoundError: No module named 'flask':需要在虚拟环境安装Flask bash pip install flask flask-socketio flask-cors pyyaml

方法B:标准启动(不使用虚拟环境)

如果方法A遇到依赖问题,可以尝试标准启动:

cd "/Users/jiawei/Library/Mobile Documents/com~apple~CloudDocs/My Project/日记/数字员工团队/09-虚拟办公区系统"

python3 app.py

注意:标准启动时,如果缺少sentence-transformers,检索功能会自动降级(不影响正常对话,但不会启用Token压缩)。


步骤2:访问虚拟办公区

打开浏览器访问:http://localhost:8080/office

或者访问看板首页:http://localhost:8080


步骤3:对话测试(10组测试用例)

测试对象:Alex(行业研究员,13条历史对话)

为什么选Alex: - 已有13条对话历史(最多) - 可以测试Embedding检索效果 - 可以验证上下文记忆能力

测试用例1-3:短对话(验证基本功能)

点击Alex头像,在ChatPanel中依次发送:

  1. "你好Alex"
  2. 预期:正常打招呼,提到自己是行业研究员
  3. 检查点:回复语气是否符合Alex性格(专业、数据驱动)

  4. "你最近在做什么"

  5. 预期:提到自己的工作(如果有recent_files会提到)
  6. 检查点:是否能正确识别自己的职责

  7. "你擅长什么"

  8. 预期:介绍自己的核心职责(行业研究、竞争分析、趋势判断等)
  9. 检查点:职责描述是否准确

测试用例4-6:上下文记忆测试(验证检索效果)

  1. "帮我分析一下AI芯片行业"
  2. 预期:可能会联想到之前的对话(如果Embedding检索到相关历史)
  3. 检查点:回复是否切题,是否有深度

  4. "这个行业的市场规模有多大"

  5. 预期:基于上一条对话(AI芯片)给出市场规模分析
  6. 检查点:是否能记住上一条对话的主题(关键测试)

  7. "主要玩家有哪些"

  8. 预期:继续讨论AI芯片行业的主要玩家
  9. 检查点:上下文连贯性(3轮对话是否保持主题)

测试用例7-8:跨主题切换(验证检索精准度)

  1. "换个话题,我想了解新能源汽车行业"
  2. 预期:切换话题,开始讨论新能源汽车
  3. 检查点:是否能正确切换主题,不会混淆之前的AI芯片话题

  4. "这个行业的增长趋势如何"

  5. 预期:讨论新能源汽车的增长趋势
  6. 检查点:主题是否正确(新能源汽车,不是AI芯片)

测试用例9-10:长对话压力测试

  1. "请你写一份200字左右的AI芯片行业竞争格局分析"
  2. 预期:可能会联想到之前的AI芯片对话(测试用例4-6)
  3. 检查点:回复长度、内容深度、是否能利用历史上下文

  4. "谢谢,辛苦了"

    • 预期:礼貌回应
    • 检查点:语气是否自然

步骤4:对话质量评估(人工打分)

对每组对话打分(1-5分):

测试用例 切题度 上下文记忆 专业深度 语气自然度 总分
1. 你好Alex _/5 N/A N/A _/5 _/10
2. 最近在做什么 _/5 N/A _/5 _/5 _/15
3. 擅长什么 _/5 N/A _/5 _/5 _/15
4. 分析AI芯片 _/5 _/5 _/5 _/5 _/20
5. 市场规模 _/5 _/5 _/5 _/5 _/20
6. 主要玩家 _/5 _/5 _/5 _/5 _/20
7. 新能源汽车 _/5 _/5 _/5 _/5 _/20
8. 增长趋势 _/5 _/5 _/5 _/5 _/20
9. 写分析报告 _/5 _/5 _/5 _/5 _/20
10. 谢谢 _/5 N/A N/A _/5 _/10
总分 _/170

合格标准:总分≥140/170(82%)


步骤5:检索功能验证(技术层面)

5.1 查看CocoSupervisor日志

在Flask终端查看启动日志,确认: - ✅ [CocoSupervisor] V6.0 三层检索架构已启用 - ✅ [ContextRetriever] 初始化完成 - ✅ Agent数: 17(或至少>0) - ✅ 共享patterns: 15条

5.2 查看对话历史文件

# 查看Alex的对话历史(新增的10条)
tail -20 "/Users/jiawei/Library/Mobile Documents/com~apple~CloudDocs/My Project/日记/数字员工团队/09-虚拟办公区系统/chat_data/Alex/history.jsonl"

检查点: - 新增10条对话记录(5对Q&A) - 每条记录包含timestamp、role、content字段

5.3 查看Embedding索引更新

# 查看索引文件
ls -lh "/Users/jiawei/Library/Mobile Documents/com~apple~CloudDocs/My Project/日记/数字员工团队/09-虚拟办公区系统/chat_data/_embeddings/Alex.pkl"

检查点: - 文件大小应该略有增长(如果对话后重新构建索引) - 文件修改时间应该是最近


步骤6:Token消耗对比(成本验证)

6.1 理论计算

Phase 2之前(V5.5b): - System Prompt:~1500 tokens(完整职责+固定上下文) - 对话历史:6轮对话 × 平均50 tokens = 300 tokens - 每次对话输入:~1800 tokens

Phase 2之后(检索压缩): - System Prompt:~1500 tokens(静态部分)+ 200 tokens(动态部分+patterns)= 1700 tokens - 对话历史:3-5条精选 × 平均10 tokens = 30-50 tokens - 每次对话输入:~1730-1750 tokens

压缩比:(1800 - 1750) / 1800 = -2.8%(实际会更高,因为长对话时历史更多)

注意:实际压缩效果取决于对话长度。长对话(历史>10轮)压缩效果更显著。

6.2 实际监控(可选)

如果William有Anthropic API Key,可以在model_selector.py中启用成本日志:

# model_selector.py L834左右
if route_result.get('usage'):
    print(f"[ModelSelector] Token消耗: {route_result['usage']}")

验收标准

必须通过(P0):

应该通过(P1):

可选验证(P2):


预期问题与解决方案

问题1:sentence-transformers模型下载慢

现象:首次启动时卡在"Loading model..." 解决:已在测试中完成模型下载(~1.2GB),正常情况下应该直接加载缓存

问题2:检索功能未启用

现象:启动日志中无"V6.0 三层检索架构已启用" 原因:虚拟环境未激活或sentence-transformers未安装 解决

source venv/bin/activate
pip list | grep sentence-transformers  # 确认已安装

问题3:对话质量下降

现象:回复不切题、上下文记忆缺失 可能原因: - 检索策略过于激进(过滤了太多历史) - patterns或CLAUDE.md未加载(Layer 3未完善) 解决:调整context_retrieval.py的参数(top_k, threshold)

问题4:Agent数显示为0

现象:启动日志显示"Agent数: 0" 影响:不影响核心功能(检索仍然工作) 原因:employees参数传递问题 解决:后续修复(不阻塞当前测试)


测试完成后

请将以下信息反馈给Coco:

  1. 对话质量评分表(步骤4)
  2. 是否遇到问题(问题描述+解决方式)
  3. 主观感受
  4. 回复速度是否变慢
  5. 回复质量是否下降
  6. 上下文记忆是否改善
  7. 是否继续Phase 3(智能工具选择器)

测试指南版本:V1.0 生成时间:2026-02-11 16:30 作者:Coco(黄蓉 KT-002)