目标:验证Token压缩效果,确保对话质量无下降 预计时间:30-60分钟 负责人:William(测试) + Coco(监测)
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
如果方法A遇到依赖问题,可以尝试标准启动:
cd "/Users/jiawei/Library/Mobile Documents/com~apple~CloudDocs/My Project/日记/数字员工团队/09-虚拟办公区系统"
python3 app.py
注意:标准启动时,如果缺少sentence-transformers,检索功能会自动降级(不影响正常对话,但不会启用Token压缩)。
打开浏览器访问:http://localhost:8080/office
或者访问看板首页:http://localhost:8080
为什么选Alex: - 已有13条对话历史(最多) - 可以测试Embedding检索效果 - 可以验证上下文记忆能力
点击Alex头像,在ChatPanel中依次发送:
检查点:回复语气是否符合Alex性格(专业、数据驱动)
"你最近在做什么"
检查点:是否能正确识别自己的职责
"你擅长什么"
检查点:回复是否切题,是否有深度
"这个行业的市场规模有多大"
检查点:是否能记住上一条对话的主题(关键测试)
"主要玩家有哪些"
检查点:是否能正确切换主题,不会混淆之前的AI芯片话题
"这个行业的增长趋势如何"
检查点:回复长度、内容深度、是否能利用历史上下文
"谢谢,辛苦了"
对每组对话打分(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%)
在Flask终端查看启动日志,确认:
- ✅ [CocoSupervisor] V6.0 三层检索架构已启用
- ✅ [ContextRetriever] 初始化完成
- ✅ Agent数: 17(或至少>0)
- ✅ 共享patterns: 15条
# 查看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字段
# 查看索引文件
ls -lh "/Users/jiawei/Library/Mobile Documents/com~apple~CloudDocs/My Project/日记/数字员工团队/09-虚拟办公区系统/chat_data/_embeddings/Alex.pkl"
检查点: - 文件大小应该略有增长(如果对话后重新构建索引) - 文件修改时间应该是最近
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轮)压缩效果更显著。
如果William有Anthropic API Key,可以在model_selector.py中启用成本日志:
# model_selector.py L834左右
if route_result.get('usage'):
print(f"[ModelSelector] Token消耗: {route_result['usage']}")
现象:首次启动时卡在"Loading model..." 解决:已在测试中完成模型下载(~1.2GB),正常情况下应该直接加载缓存
现象:启动日志中无"V6.0 三层检索架构已启用" 原因:虚拟环境未激活或sentence-transformers未安装 解决:
source venv/bin/activate
pip list | grep sentence-transformers # 确认已安装
现象:回复不切题、上下文记忆缺失 可能原因: - 检索策略过于激进(过滤了太多历史) - patterns或CLAUDE.md未加载(Layer 3未完善) 解决:调整context_retrieval.py的参数(top_k, threshold)
现象:启动日志显示"Agent数: 0" 影响:不影响核心功能(检索仍然工作) 原因:employees参数传递问题 解决:后续修复(不阻塞当前测试)
请将以下信息反馈给Coco:
测试指南版本:V1.0 生成时间:2026-02-11 16:30 作者:Coco(黄蓉 KT-002)