Skip to content

Commit 476b4e3

Browse files
committed
docs: 更新备忘录+规划至v12.2完成
1 parent 6f634e1 commit 476b4e3

2 files changed

Lines changed: 73 additions & 13 deletions

File tree

开发备忘录.md

Lines changed: 59 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# TestPilot AI 开发备忘录
22

3-
> 最后更新:2026-03-12(桌面测试增强 | 97%通过率 | client区域截图+pywinauto+AI OCR | 坑16-22)
3+
> 最后更新:2026-03-15(AI中枢v12.0-12.2完成 | L0.5规则预判+L2归因+FaultType标签 | 坑16-22)
44
> 项目结构详见 README.md,此处不重复。
55
66
---
@@ -107,6 +107,9 @@ git pull && poetry install && cd desktop && npm install && npm run build
107107
| v10.1 | ✅ IDE插件蓝本生成重设计:<br>**废弃**:URL→AI爬取HTML→生成蓝本(原理缺陷:看不到JS逻辑/未触发状态/容易超时)<br>**新方案**:插件提供「📋 复制蓝本生成提示词」按钮 → 用户粘贴到Cursor/Windsurf → 编程AI读源码生成精准蓝本<br>核心哲学:**编程AI是第一负责人**,TestPilot只做执行器 |
108108
| v10.2 | ✅ 蓝本生成提示词13条黄金规则(含深度Bug挖掘+功能文档参考+截图策略+功能模块拆分+增量更新)|
109109
| v10.3 |**截图策略修复+Session管理**(commit 2115af2):<br>**Bug修复**:引擎每步都截图→改为按需截图(仅蓝本写了screenshot或有expected时)<br>**Session清理**:安卓项目切换后旧session残留→自动检测失效并清理<br>**蓝本拆分验证**:mobile-demo拆为5个功能模块蓝本,PC测试249/251通过(99.2%) |
110+
| v12.0 |**AI中枢决策层AIHub**(commit 85b0481):跨平台统一AI大脑,L0直通→L1弹窗自愈→L2失败诊断→L3场景熔断,Bridge模式接入三大Runner |
111+
| v12.1 |**L2升级:截图+步骤历史**(commit bea4c10):StepRecord自然语言描述,L2发截图+历史问AI像人一样分析,三Runner统一record_step |
112+
| v12.2 |**归因预判FaultType**(commit 6f634e1):L0.5规则预判零token判定APP Bug,L2提示词加fault归因,Bug标签[应用Bug]/[测试问题] |
110113

111114
- 测试总数:**932个**,全部通过
112115
- 引擎端口:**8900**(统一)
@@ -2116,3 +2119,58 @@ if bp_dir.name == "testpilot":
21162119
- `mobile_blueprint_runner.py` 导入测试:✅ OK
21172120
- 引擎启动(端口8900):✅ 正常,无报错
21182121
- API健康检查:✅ 200 OK
2122+
2123+
#### 13.23.4 L2升级:截图+步骤历史直接问AI(v12.1, 2026-03-14)
2124+
2125+
**核心改进:** L2不再只看当前步骤,而是把最近8步操作历史一起发给AI,像"坐在你旁边的同事看图说话"。
2126+
2127+
**新增类/字段:**
2128+
- `StepRecord` dataclass:step_num/action/target/value/passed/error + `describe()` 方法(自然语言描述)
2129+
- `AIHub._step_history`:最近8步操作记录列表
2130+
- `AIHub.record_step()`:Runner每步执行完都调用
2131+
- `AIHub._build_history_context()`:拼成大白话历史供L2分析
2132+
- `AIHub.on_scenario_start()`:场景开始时清空历史
2133+
2134+
**L2提示词核心改变:** 把步骤历史+当前失败+截图三合一发给多模态AI,AI像人一样观察分析。
2135+
2136+
**三Runner改造:**
2137+
- 每步执行后统一调用 `hub.record_step(step_num, action, target, value, passed, error)`
2138+
- SKIP_STEP 处理:三个Runner统一支持
2139+
2140+
**验证(故意打破蓝本测试L2):**
2141+
- 改坏 `add_priority.testpilot.json`:选择器写错 + 断言不可能通过
2142+
- L2成功诊断:"添加的High优先级任务实际显示为Medium优先级"(AI看截图看到了`[M] Fix critical bug`
2143+
- 结果:7/9通过,2个Bug正确识别,L1调2次,L2调2次
2144+
2145+
**发现的问题:**
2146+
- JSON中文引号导致`json.loads`失败(`"xxx"` → 需替换为`"xxx"`
2147+
- 大截图(393KB)可能超AI超时(25秒)
2148+
2149+
#### 13.23.5 归因预判:谁的锅?(v12.2, 2026-03-14)
2150+
2151+
**问题:** 所有失败都调AI分析 → 浪费token。但"文本不匹配"这种100%是应用Bug,不需要AI看。
2152+
2153+
**L0.5规则预判(零token):**
2154+
```
2155+
步骤失败 → AIHub.on_step_failed()
2156+
→ L3 熔断(无AI)
2157+
→ L0.5 规则预判(无AI)
2158+
├─ "文本断言失败: 预期'X', 实际'Y'" → APP Bug,不调AI ✅
2159+
├─ "计算验证失败" → APP Bug,不调AI ✅
2160+
└─ 其他 → 继续L1/L2(调AI)
2161+
→ L1 弹窗自愈(AI截图)
2162+
→ L2 失败诊断+归因(AI截图+历史)
2163+
```
2164+
2165+
**新增 `FaultType` 枚举:**
2166+
- `APP` — 应用的Bug(数据错误/崩溃/功能异常)→ 报给编程AI
2167+
- `TEST` — 测试脚本/框架问题(选择器错/时序/弹窗)→ 中枢自己处理
2168+
- `UNKNOWN` — 无法判断
2169+
2170+
**Bug标签系统:** Runner根据 `decision.fault` 给Bug.category加前缀:
2171+
- `[应用Bug]文本断言失败` → 编程AI该修
2172+
- `[测试问题]步骤执行错误` → 我们的问题,编程AI不用管
2173+
2174+
**L2提示词升级:** 要求AI同时判断fault归因 + 中文引号容错修复
2175+
2176+
**统计新增:** `hub.stats["rule_judgments"]` — 规则预判次数(省了多少次AI调用)

项目规划.md

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# TestPilot AI - 项目规划文档
22

3-
> **项目状态**v10.5全部完成✅ | Web+小程序+Android端到端验证通过 | 5平台蓝本各1本 | AI蓝本生成提示词已验证
4-
> **最后更新**:2026-03-10
3+
> **项目状态**v12.2完成✅ | AI中枢决策层+归因预判 | 5平台蓝本+三大Runner统一AIHub
4+
> **最后更新**:2026-03-15
55
> **项目名称**:TestPilot AI(已确认)
66
> **项目文件夹**:TestPilotAI
77
@@ -1207,17 +1207,17 @@
12071207
| v10.5 小程序蓝本测试闭环 | 通用执行器+AI蓝本生成提示词+地雷挖掘验证 | ✅ 2026-03-08 |
12081208
| v10.6 Android真机实测 | Flutter真机92%通过率+U2自动恢复+蓝本提示词同步 | ✅ 2026-03-10 |
12091209

1210-
**当前执行顺序:v11.0**
1210+
**当前执行顺序:v13(后续)**
12111211

12121212
| 步骤 | 内容 | 优先级 | 状态 |
12131213
|------|------|:---:|------|
1214-
| **v10.6+ 弹窗自愈+蓝本拆分** | 弹窗自愈机制+TodoApp蓝本独立模块化 | 🔴 最高 | 🔄 进行中 |
1215-
| **v11.0-A 端到端实测验证** | Windows桌面蓝本实测验证 | 🔴 高 | 下一步 |
1216-
| **v11.0-B 调试记忆+社区经验库** | 个人记忆增强+匿名云端共享+成就勋章 | 🔴 高 | 紧随其后 |
1217-
| **v11.0-C 商业化上线准备** | 用户注册API对接前端+付费积分系统+部署方案 | 🔴 高 | 之后做 |
1214+
| **v10.6+ 弹窗自愈+蓝本拆分** | 弹窗自愈机制+TodoApp蓝本独立模块化 | 🔴 最高 | ✅ 已完成 |
1215+
| **v11.0-A 端到端实测验证** | Windows桌面蓝本实测验证(97%通过率) | 🔴 高 | ✅ 已完成 |
1216+
| **v12.0-12.2 AI中枢决策层** | AIHub+L2截图诊断+归因预判FaultType | 🔴 高 | ✅ 已完成 |
1217+
| **v11.0-B 调试记忆+社区经验库** | 个人记忆增强+匿名云端共享+成就勋章 | 🔴 高 | 📋 下一步 |
1218+
| **v11.0-C 商业化上线准备** | 用户注册API对接前端+付费积分系统+部署方案 | 🔴 高 | 📋 下一步 |
12181219
| **v11.0-D API开放+文档** | RESTful API文档+第三方接入指南+SDK | 🟡 中 | 之后做 |
12191220
| **v11.0-E 发布准备** | VSCode Marketplace+安装包+官网+文档 | 🟡 中 | 最后 |
1220-
| **v12.0 AI中枢决策层** | 引擎从"AI当工具"升级为"AI当大脑" | 🟡 中 | 蓝本拆分+弹窗自愈完成后 |
12211221

12221222
---
12231223

@@ -1253,7 +1253,7 @@ todo-demo/testpilot/
12531253

12541254
---
12551255

1256-
## v12.0 AI中枢决策层(架构规划
1256+
## v12.0 AI中枢决策层(✅ 已完成 v12.0-12.2
12571257

12581258
> **愿景**:引擎从"AI当工具"升级为"AI当大脑",像真人测试员一样观察→理解→决策→行动。
12591259
@@ -1397,13 +1397,15 @@ TestPilot AI 核心引擎(通用,只需写一次)
13971397
| v10.3 | 插件改造:项目隔离+平台路由+Tooltip分区+前置检查 || 2026-03-08完成 |
13981398
| v10.5 | 小程序蓝本测试闭环:通用执行器+AI蓝本提示词+地雷验证 || 2026-03-08完成 |
13991399
| v10.6 | Android真机实测:Flutter 92%通过+U2自动恢复+提示词同步 || 2026-03-10完成 |
1400-
| v10.6+ | 弹窗自愈机制+TodoApp蓝本独立模块化 | 🔄 | 进行中 |
1401-
| v11.0-A | 端到端实测:Windows桌面蓝本测试验证 | 📋 下一步 | 近期 |
1400+
| v10.6+ | 弹窗自愈机制+TodoApp蓝本独立模块化 || 2026-03-12完成 |
1401+
| v11.0-A | 端到端实测:Windows桌面蓝本测试验证(97%通过率) || 2026-03-12完成 |
1402+
| v12.0 | AI中枢决策层:L0直通→L1弹窗自愈→L2诊断→L3熔断 || 2026-03-14完成 |
1403+
| v12.1 | L2升级:截图+步骤历史直接问AI,像人一样分析 || 2026-03-14完成 |
1404+
| v12.2 | 归因预判FaultType:L0.5零token判APP Bug+Bug标签 || 2026-03-14完成 |
14021405
| v11.0-B | 调试记忆+社区经验库:个人记忆增强+匿名云端+成就勋章 | 📋 下一步 | 近期 |
14031406
| v11.0-C | 商业化上线:注册API前端对接+积分系统+部署 | 📋 中期 | 按需 |
14041407
| v11.0-D | API开放:RESTful文档+第三方接入+SDK | 📋 中期 | 按需 |
14051408
| v11.0-E | 发布准备:Marketplace+安装包+官网+文档 | 📋 中期 | 按需 |
1406-
| v12.0 | AI中枢决策层:L1弹窗自愈→L2上下文理解→L3全局决策 | 📋 中期 | 蓝本拆分后 |
14071409
| v13.0 | Mac/Linux/iOS+高级手势+性能基准 | 📋 远期 | 按用户反馈 |
14081410

14091411
---

0 commit comments

Comments
 (0)