docs/testing/context_compression_test_plan.md
验证三层渐进式上下文压缩功能的正确性、稳定性和成本优化效果。
启动应用:
cd /Users/lbjlaq/Desktop/xin
npm run tauri dev
启用调试日志:
export RUST_LOG=debug
准备测试账号:
目标:验证工具消息智能裁剪功能
步骤:
预期结果:
[Layer-1] Tool trimming triggered验证命令:
# 查看日志
tail -f ~/Library/Application\ Support/com.antigravity.tools/logs/antigravity.log | grep "Layer-1"
目标:验证 Thinking 内容压缩 + 签名保留
步骤:
预期结果:
[Layer-2] Thinking compression triggeredsignature 字段完整保留验证命令:
# 查看签名保留情况
tail -f ~/Library/Application\ Support/com.antigravity.tools/logs/antigravity.log | grep -E "(Layer-2|signature)"
目标:验证 XML 摘要生成和会话 Fork
步骤:
预期结果:
[Layer-3] Critical context pressuregemini-2.5-flash-lite 生成 XML 摘要[User: XML摘要] + [Assistant: 确认] + [用户最新消息]验证命令:
# 查看 Layer 3 触发和摘要生成
tail -f ~/Library/Application\ Support/com.antigravity.tools/logs/antigravity.log | grep -E "(Layer-3|XML summary|Fork)"
目标:验证三层压缩的渐进式触发机制
步骤:
预期结果:
验证命令:
# 查看所有层级的触发
tail -f ~/Library/Application\ Support/com.antigravity.tools/logs/antigravity.log | grep -E "Layer-[123]"
目标:验证 Layer 3 失败时的容错机制
步骤:
预期结果:
BAD_REQUEST 错误Context too long and automatic compression failed/compact 或切换模型验证命令:
# 查看错误处理
tail -f ~/Library/Application\ Support/com.antigravity.tools/logs/antigravity.log | grep -E "(Layer-3.*failed|BAD_REQUEST)"
测试方法:
预期结果:
测试方法:
time 命令测量响应时间预期结果:
测试以下客户端:
测试以下模型:
验证点:
验证点:
# Layer 1 触发
grep "Layer-1.*Tool trimming" antigravity.log
# Layer 2 触发
grep "Layer-2.*Thinking compression" antigravity.log
# Layer 3 触发
grep "Layer-3.*Fork successful" antigravity.log
# Token 节省统计
grep "Compression result.*saved" antigravity.log
## 测试结果
### 场景 1: Layer 1 工具消息裁剪
- [ ] 触发成功
- [ ] 保留最近 5 轮
- [ ] 无 400 错误
- [ ] 响应速度正常
### 场景 2: Layer 2 Thinking 压缩
- [ ] 触发成功
- [ ] 签名完整保留
- [ ] 无签名错误
- [ ] 压缩率达标
### 场景 3: Layer 3 Fork 会话
- [ ] 触发成功
- [ ] XML 摘要生成
- [ ] 压缩率 86-97%
- [ ] 无 Cache 破坏
### 场景 4: 渐进式触发
- [ ] 顺序正确 (1→2→3)
- [ ] Token 重新估算
- [ ] 日志清晰
### 场景 5: 错误处理
- [ ] 失败时友好提示
- [ ] 无崩溃
- [ ] 建议明确
### 性能验证
- Token 节省: ____%
- 响应速度: 正常/慢 (___ms)
### 兼容性
- Claude Code: ✅/❌
- Cherry Studio: ✅/❌
- Cursor: ✅/❌
- Python SDK: ✅/❌
### 回归测试
- 签名链完整: ✅/❌
- 工具调用正常: ✅/❌
## 问题记录
(记录测试中发现的问题)
## 结论
(总体评价和建议)
#!/bin/bash
# 快速测试三层压缩
echo "=== 测试 Layer 1 (工具裁剪) ==="
# 使用 Claude Code 执行多次文件搜索
claude "请搜索项目中所有 .rs 文件,然后读取其中 5 个文件的内容"
echo "=== 测试 Layer 2 (Thinking 压缩) ==="
# 使用 Thinking 模型进行复杂推理
claude --model claude-opus-4-5-thinking "请详细分析这段代码的性能瓶颈并提出优化方案"
echo "=== 测试 Layer 3 (Fork 会话) ==="
# 超长对话触发 Fork
for i in {1..20}; do
claude "继续上一个话题,请提供更多细节 (第 $i 轮)"
done
echo "=== 查看日志 ==="
tail -100 ~/Library/Application\ Support/com.antigravity.tools/logs/antigravity.log | grep -E "Layer-[123]"
RUST_LOG=debug 才能看到详细日志compress_thinking_preserve_signature 函数call_gemini_sync 函数如有问题,请在 GitHub 提 Issue: https://github.com/lbjlaq/Antigravity-Manager/issues