810 lines
34 KiB
Markdown
810 lines
34 KiB
Markdown
# 2026-05-18 工作日志
|
||
|
||
## 单元挑战全题型审核 + 修复
|
||
|
||
### 背景
|
||
[刘彦江] 要求对单元挑战全部20种题型审核,重点:解析不能纯英文、答案格式正确性。题目内容不修改。
|
||
|
||
### 审核结果
|
||
- 审核范围:20张表、244条记录
|
||
- 答案格式:零问题
|
||
- 纯英文解析:13处(听力-P2 021901 ×10,口语-P1 032701/032901,口语-P2 032801)
|
||
- 解析为空:83处(听力-P1 000001+110101~110401 ×50,听力-P4 021701/022101/032501/032901 ×20,共写作-P3复查后实际OK)
|
||
|
||
### 修复执行
|
||
- 13条纯英文→中文化翻译(通过模型翻译)
|
||
- 70条空解析→从题目内容+ability关键词智能生成
|
||
- 全部通过 Python+curl 写回 bitable(避免shell转义)
|
||
- 写入后回读验证:107条全部含中文,零错误
|
||
|
||
### 审校结果列更新
|
||
- 格式:`✅ OK | 2026-05-18 小研审校` / `📝 空模板 | 2026-05-18 小研审校`
|
||
- 已更新:18张表、241条记录
|
||
- 缺失列:写作-P2(tblSAwlMumKoyjws)、口语-P4(tblsD2dxaRpLmkXD)无「审校结果」列
|
||
|
||
### 经验
|
||
- 写作-P3 解析在 questionList 嵌套层级,初审误判为空,复查后确认含中文
|
||
- bitable curl 写回嵌套JSON时,Python subprocess构造完整body比shell变量展开安全
|
||
- 听力-P1 000001 虽有5条first+5条second,但确有题目内容,不是纯占位,按实际内容生成了解析
|
||
# 2026-05-18 工作日志
|
||
|
||
## 单元挑战全题型审核 + 修复
|
||
|
||
### 背景
|
||
[刘彦江] 要求对单元挑战全部20种题型审核,重点:解析不能纯英文、答案格式正确性。题目内容不修改。
|
||
|
||
### 审核结果
|
||
- 审核范围:20张表、244条记录
|
||
- 答案格式:零问题
|
||
- 纯英文解析:13处(听力-P2 021901 ×10,口语-P1 032701/032901,口语-P2 032801)
|
||
- 解析为空:83处(听力-P1 000001+110101~110401 ×50,听力-P4 021701/022101/032501/032901 ×20,共写作-P3复查后实际OK)
|
||
|
||
### 修复执行
|
||
- 13条纯英文→中文化翻译(通过模型翻译)
|
||
- 70条空解析→从题目内容+ability关键词智能生成
|
||
- 全部通过 Python+curl 写回 bitable(避免shell转义)
|
||
- 写入后回读验证:107条全部含中文,零错误
|
||
|
||
### 审校结果列更新
|
||
- 格式:`✅ OK | 2026-05-18 小研审校` / `📝 空模板 | 2026-05-18 小研审校`
|
||
- 已更新:18张表、241条记录
|
||
- 缺失列:写作-P2(tblSAwlMumKoyjws)、口语-P4(tblsD2dxaRpLmkXD)无「审校结果」列
|
||
|
||
### 经验
|
||
- 写作-P3 解析在 questionList 嵌套层级,初审误判为空,复查后确认含中文
|
||
- bitable curl 写回嵌套JSON时,Python subprocess构造完整body比shell变量展开安全
|
||
- 听力-P1 000001 虽有5条first+5条second,但确有题目内容,不是纯占位,按实际内容生成了解析
|
||
|
||
---
|
||
|
||
## P4 短对话选择题批量改写([刘彦江])
|
||
|
||
### 问题
|
||
短对话选择题用户只能听音频,无人名标签显示。三人对话中问题问"Whose/Who",用户无法分辨谁是谁。
|
||
|
||
### 方案(刘彦江确认)
|
||
1. 三人对话 → 两人对话(一男一女)
|
||
2. 对话中嵌入名字互称:`Ben: Hi, Lucy. ...` / `Lucy: You're right, Ben. ...`
|
||
3. 两种题型并行:
|
||
- **人名匹配题**(1-3题/套):问 Whose/Who,选项为人名
|
||
- **内容理解题**(2-4题/套):问内容,用名字锚定说话者(如"What does Otis say about...")
|
||
4. 不改考点和难度(L1 B级)
|
||
5. 答案A/B/C平均分配
|
||
6. 全部中文解析 + ability标签
|
||
|
||
### 改写结果
|
||
- 表:听力-P4-短对话选择题(tblVmeDtBDKsAEfz)
|
||
- 改写范围:9个QSID,约85题
|
||
- 写入方式:rewrite_p4_all.py → 先dry run验证 → 再write模式写回
|
||
- 一条(021801)因shell转义损坏,Python curl直连修复
|
||
- 9/9 全部回读验证通过
|
||
|
||
### 待办
|
||
- ⚠️ 音频文件需重新录制:旧mp3为三人口播,新对话文本已改为两人
|
||
|
||
### 改写详细汇总
|
||
|
||
| QSID | 题数 | first题型(M/C) | second题型(M/C) | 答案分布(first/second) | 状态 |
|
||
|------|:--:|:--:|:--:|:--:|:--:|
|
||
| 021301 | 5+5 | 2/3 | 1/4 | A2B1C2 / A2B2C1 | ✅ |
|
||
| 021401 | 5+5 | 1/4 | 1/4 | A1B2C2 / A2B2C1 | ✅ |
|
||
| 021501 | 5+5 | 2/3 | 2/3 | A1B2C2 / A2B2C1 | ✅ |
|
||
| 021601 | 5+0 | 2/3 | — | A2B2C1 | ✅ |
|
||
| 021701 | 5+0 | 2/3 | — | A2B2C1 | ✅ |
|
||
| 021801 | 5+5 | 1/4 | 1/4 | A2B2C1 / A2B2C1 | ✅ |
|
||
| 022101 | 5+0 | 1/4 | — | A2B2C1 | ✅ |
|
||
| 032501 | 5+0 | 3/2 | — | A2B2C1 | ✅ |
|
||
| 032901 | 5+0 | 3/2 | — | A2B2C1 | ✅ |
|
||
# 2026-05-18 工作日志
|
||
|
||
## 单元挑战全题型审核 + 修复
|
||
|
||
### 背景
|
||
[刘彦江] 要求对单元挑战全部20种题型审核,重点:解析不能纯英文、答案格式正确性。题目内容不修改。
|
||
|
||
### 审核结果
|
||
- 审核范围:20张表、244条记录
|
||
- 答案格式:零问题
|
||
- 纯英文解析:13处(听力-P2 021901 ×10,口语-P1 032701/032901,口语-P2 032801)
|
||
- 解析为空:83处(听力-P1 000001+110101~110401 ×50,听力-P4 021701/022101/032501/032901 ×20,共写作-P3复查后实际OK)
|
||
|
||
### 修复执行
|
||
- 13条纯英文→中文化翻译(通过模型翻译)
|
||
- 70条空解析→从题目内容+ability关键词智能生成
|
||
- 全部通过 Python+curl 写回 bitable(避免shell转义)
|
||
- 写入后回读验证:107条全部含中文,零错误
|
||
|
||
### 审校结果列更新
|
||
- 格式:`✅ OK | 2026-05-18 小研审校` / `📝 空模板 | 2026-05-18 小研审校`
|
||
- 已更新:18张表、241条记录
|
||
- 缺失列:写作-P2(tblSAwlMumKoyjws)、口语-P4(tblsD2dxaRpLmkXD)无「审校结果」列
|
||
|
||
### 经验
|
||
- 写作-P3 解析在 questionList 嵌套层级,初审误判为空,复查后确认含中文
|
||
- bitable curl 写回嵌套JSON时,Python subprocess构造完整body比shell变量展开安全
|
||
- 听力-P1 000001 虽有5条first+5条second,但确有题目内容,不是纯占位,按实际内容生成了解析
|
||
|
||
---
|
||
|
||
## P4 短对话选择题批量改写([刘彦江])
|
||
|
||
### 问题
|
||
短对话选择题用户只能听音频,无人名标签显示。三人对话中问题问"Whose/Who",用户无法分辨谁是谁。
|
||
|
||
### 方案(刘彦江确认)
|
||
1. 三人对话 → 两人对话(一男一女)
|
||
2. 对话中嵌入名字互称:`Ben: Hi, Lucy. ...` / `Lucy: You're right, Ben. ...`
|
||
3. 两种题型并行:
|
||
- **人名匹配题**(1-3题/套):问 Whose/Who,选项为人名
|
||
- **内容理解题**(2-4题/套):问内容,用名字锚定说话者(如"What does Otis say about...")
|
||
4. 不改考点和难度(L1 B级)
|
||
5. 答案A/B/C平均分配
|
||
6. 全部中文解析 + ability标签
|
||
|
||
### 改写结果
|
||
- 表:听力-P4-短对话选择题(tblVmeDtBDKsAEfz)
|
||
- 改写范围:9个QSID,约85题
|
||
- 写入方式:rewrite_p4_all.py → 先dry run验证 → 再write模式写回
|
||
- 一条(021801)因shell转义损坏,Python curl直连修复
|
||
- 9/9 全部回读验证通过
|
||
- ⚠️ **Bug发现**:dry run 时 `pop("dialogue")` 污染了 first_qs 和 first_block["questionSet"] 的共享对象,导致 write 时 题目1 字段的【听力文本】为空
|
||
- ✅ **已修复**:fix_p4_dialogue.py 从 rewrite 脚本源码提取对话,重写 题目1/题目2 字段
|
||
|
||
### 待办
|
||
- ⚠️ 音频文件需重新录制:旧mp3为三人口播,新对话文本已改为两人
|
||
|
||
### 改写详细汇总
|
||
|
||
| QSID | 题数 | first题型(M/C) | second题型(M/C) | 答案分布(first/second) | 状态 |
|
||
|------|:--:|:--:|:--:|:--:|:--:|
|
||
| 021301 | 5+5 | 2/3 | 1/4 | A2B1C2 / A2B2C1 | ✅ |
|
||
| 021401 | 5+5 | 1/4 | 1/4 | A1B2C2 / A2B2C1 | ✅ |
|
||
| 021501 | 5+5 | 2/3 | 2/3 | A1B2C2 / A2B2C1 | ✅ |
|
||
| 021601 | 5+0 | 2/3 | — | A2B2C1 | ✅ |
|
||
| 021701 | 5+0 | 2/3 | — | A2B2C1 | ✅ |
|
||
| 021801 | 5+5 | 1/4 | 1/4 | A2B2C1 / A2B2C1 | ✅ |
|
||
| 022101 | 5+0 | 1/4 | — | A2B2C1 | ✅ |
|
||
| 032501 | 5+0 | 3/2 | — | A2B2C1 | ✅ |
|
||
| 032901 | 5+0 | 3/2 | — | A2B2C1 | ✅ |
|
||
# 2026-05-18 工作日志
|
||
|
||
## 单元挑战全题型审核 + 修复
|
||
|
||
### 背景
|
||
[刘彦江] 要求对单元挑战全部20种题型审核,重点:解析不能纯英文、答案格式正确性。题目内容不修改。
|
||
|
||
### 审核结果
|
||
- 审核范围:20张表、244条记录
|
||
- 答案格式:零问题
|
||
- 纯英文解析:13处(听力-P2 021901 ×10,口语-P1 032701/032901,口语-P2 032801)
|
||
- 解析为空:83处(听力-P1 000001+110101~110401 ×50,听力-P4 021701/022101/032501/032901 ×20,共写作-P3复查后实际OK)
|
||
|
||
### 修复执行
|
||
- 13条纯英文→中文化翻译(通过模型翻译)
|
||
- 70条空解析→从题目内容+ability关键词智能生成
|
||
- 全部通过 Python+curl 写回 bitable(避免shell转义)
|
||
- 写入后回读验证:107条全部含中文,零错误
|
||
|
||
### 审校结果列更新
|
||
- 格式:`✅ OK | 2026-05-18 小研审校` / `📝 空模板 | 2026-05-18 小研审校`
|
||
- 已更新:18张表、241条记录
|
||
- 缺失列:写作-P2(tblSAwlMumKoyjws)、口语-P4(tblsD2dxaRpLmkXD)无「审校结果」列
|
||
|
||
### 经验
|
||
- 写作-P3 解析在 questionList 嵌套层级,初审误判为空,复查后确认含中文
|
||
- bitable curl 写回嵌套JSON时,Python subprocess构造完整body比shell变量展开安全
|
||
- 听力-P1 000001 虽有5条first+5条second,但确有题目内容,不是纯占位,按实际内容生成了解析
|
||
|
||
---
|
||
|
||
## P4 短对话选择题批量改写([刘彦江])
|
||
|
||
### 问题
|
||
短对话选择题用户只能听音频,无人名标签显示。三人对话中问题问"Whose/Who",用户无法分辨谁是谁。
|
||
|
||
### 方案(刘彦江确认)
|
||
1. 三人对话 → 两人对话(一男一女)
|
||
2. 对话中嵌入名字互称:`Ben: Hi, Lucy. ...` / `Lucy: You're right, Ben. ...`
|
||
3. 两种题型并行:
|
||
- **人名匹配题**(1-3题/套):问 Whose/Who,选项为人名
|
||
- **内容理解题**(2-4题/套):问内容,用名字锚定说话者(如"What does Otis say about...")
|
||
4. 不改考点和难度(L1 B级)
|
||
5. 答案A/B/C平均分配
|
||
6. 全部中文解析 + ability标签
|
||
|
||
### 改写结果
|
||
- 表:听力-P4-短对话选择题(tblVmeDtBDKsAEfz)
|
||
- 改写范围:9个QSID,约85题
|
||
- 写入方式:rewrite_p4_all.py → 先dry run验证 → 再write模式写回
|
||
- 一条(021801)因shell转义损坏,Python curl直连修复
|
||
- 9/9 全部回读验证通过
|
||
- ⚠️ **Bug发现**:dry run 时 `pop("dialogue")` 污染了 first_qs 和 first_block["questionSet"] 的共享对象,导致 write 时 题目1 字段的【听力文本】为空
|
||
- ✅ **已修复**:fix_p4_dialogue.py 从 rewrite 脚本源码提取对话,重写 题目1/题目2 字段
|
||
|
||
### 待办
|
||
- ⚠️ 音频文件需重新录制:旧mp3为三人口播,新对话文本已改为两人
|
||
|
||
### 改写详细汇总
|
||
|
||
| QSID | 题数 | first题型(M/C) | second题型(M/C) | 答案分布(first/second) | 状态 |
|
||
|------|:--:|:--:|:--:|:--:|:--:|
|
||
| 021301 | 5+5 | 2/3 | 1/4 | A2B1C2 / A2B2C1 | ✅ |
|
||
| 021401 | 5+5 | 1/4 | 1/4 | A1B2C2 / A2B2C1 | ✅ |
|
||
| 021501 | 5+5 | 2/3 | 2/3 | A1B2C2 / A2B2C1 | ✅ |
|
||
| 021601 | 5+0 | 2/3 | — | A2B2C1 | ✅ |
|
||
| 021701 | 5+0 | 2/3 | — | A2B2C1 | ✅ |
|
||
| 021801 | 5+5 | 1/4 | 1/4 | A2B2C1 / A2B2C1 | ✅ |
|
||
| 022101 | 5+0 | 1/4 | — | A2B2C1 | ✅ |
|
||
| 032501 | 5+0 | 3/2 | — | A2B2C1 | ✅ |
|
||
| 032901 | 5+0 | 3/2 | — | A2B2C1 | ✅ |
|
||
# 2026-05-18 工作日志
|
||
|
||
## 单元挑战全题型审核 + 修复
|
||
|
||
### 背景
|
||
[刘彦江] 要求对单元挑战全部20种题型审核,重点:解析不能纯英文、答案格式正确性。题目内容不修改。
|
||
|
||
### 审核结果
|
||
- 审核范围:20张表、244条记录
|
||
- 答案格式:零问题
|
||
- 纯英文解析:13处(听力-P2 021901 ×10,口语-P1 032701/032901,口语-P2 032801)
|
||
- 解析为空:83处(听力-P1 000001+110101~110401 ×50,听力-P4 021701/022101/032501/032901 ×20,共写作-P3复查后实际OK)
|
||
|
||
### 修复执行
|
||
- 13条纯英文→中文化翻译(通过模型翻译)
|
||
- 70条空解析→从题目内容+ability关键词智能生成
|
||
- 全部通过 Python+curl 写回 bitable(避免shell转义)
|
||
- 写入后回读验证:107条全部含中文,零错误
|
||
|
||
### 审校结果列更新
|
||
- 格式:`✅ OK | 2026-05-18 小研审校` / `📝 空模板 | 2026-05-18 小研审校`
|
||
- 已更新:18张表、241条记录
|
||
- 缺失列:写作-P2(tblSAwlMumKoyjws)、口语-P4(tblsD2dxaRpLmkXD)无「审校结果」列
|
||
|
||
### 经验
|
||
- 写作-P3 解析在 questionList 嵌套层级,初审误判为空,复查后确认含中文
|
||
- bitable curl 写回嵌套JSON时,Python subprocess构造完整body比shell变量展开安全
|
||
- 听力-P1 000001 虽有5条first+5条second,但确有题目内容,不是纯占位,按实际内容生成了解析
|
||
|
||
---
|
||
|
||
## P4 短对话选择题批量改写([刘彦江])
|
||
|
||
### 问题
|
||
短对话选择题用户只能听音频,无人名标签显示。三人对话中问题问"Whose/Who",用户无法分辨谁是谁。
|
||
|
||
### 方案(刘彦江确认)
|
||
1. 三人对话 → 两人对话(一男一女)
|
||
2. 对话中嵌入名字互称
|
||
3. 两种题型并行:人名匹配题(1-3题/套)+ 内容理解题(主体)
|
||
4. 不改考点和难度(L1 B级),答案均匀,中文解析,ability标签
|
||
|
||
### 改写结果
|
||
- 表:听力-P4-短对话选择题(tblVmeDtBDKsAEfz),9个QSID ~85题
|
||
- rewrite_p4_all.py: 先dry run → write模式
|
||
- 一条(021801)shell转义损坏 → Python curl直连修复
|
||
- ⚠️ **Bug:dry run 时 pop("dialogue") 污染 first_qs/first_block 共享对象 → write 时【听力文本】丢失**
|
||
- ✅ **已修复:fix_p4_dialogue.py 提取对话重写题目1/题目2**
|
||
- 待办:音频重录(旧mp3三人口播 → 需两人)
|
||
|
||
### 改写汇总
|
||
|
||
| QSID | 题数 | 答案分布 | 状态 |
|
||
|------|:--:|:--:|:--:|
|
||
| 021301 | 5+5 | A2B1C2 / A2B2C1 | ✅ |
|
||
| 021401 | 5+5 | A1B2C2 / A2B2C1 | ✅ |
|
||
| 021501 | 5+5 | A1B2C2 / A2B2C1 | ✅ |
|
||
| 021601 | 5+0 | A2B2C1 | ✅ |
|
||
| 021701 | 5+0 | A2B2C1 | ✅ |
|
||
| 021801 | 5+5 | A2B2C1 / A2B2C1 | ✅ |
|
||
| 022101 | 5+0 | A2B2C1 | ✅ |
|
||
| 032501 | 5+0 | A2B2C1 | ✅ |
|
||
| 032901 | 5+0 | A2B2C1 | ✅ |
|
||
|
||
|
||
## 口语-P1 审校([刘彦江])
|
||
|
||
### 范围
|
||
QSID: 121301, 121401, 121501(口语-P1-日常回答,tblRGv7k4WH58Jgq)
|
||
|
||
### 发现问题
|
||
- **121301**: 6题 ability 全空
|
||
- **121401**: ability 重复("听觉抓取关键信息"×2)+ 标签偏向听力而非口语
|
||
- **121501**: 6题 ability 全空
|
||
- answer 为空 → 正常(speaking_qa 参考回答在 explanation 内)
|
||
|
||
### 修复
|
||
- 全部补充/替换为口语向标签(语用表达能力等)
|
||
- 3/3 审校结果列更新为 `✅ OK | 2026-05-18 小研审校`
|
||
|
||
### Record ID 映射
|
||
| QSID | Record ID |
|
||
|------|-----------|
|
||
| 121301 | recvjW9RVwziwL |
|
||
| 121401 | recvjW9RVwGzba |
|
||
| 121501 | recvjW9RVwj4aQ |
|
||
|
||
---
|
||
|
||
## 听力-P1 图片选择题 生产+回填+审校([刘彦江])
|
||
|
||
### 范围
|
||
QSID: 121301, 121401, 121501(听力-P1-图片选择题)
|
||
难度: L1 B级
|
||
|
||
### 词汇词库命中率
|
||
29个词中仅6个在L1/L2词库(sofa, zoo, study, play, mat, mouth),23个超纲。
|
||
业务负责人放行,优先生产,词库后补。
|
||
|
||
### 产出
|
||
| QSID | Record ID | 词表(first/second) | 答案分布 |
|
||
|------|-----------|------|:--:|
|
||
| 121301 | recvjWrIXVjkWY | home/house/sofa/cupboard/bedroom // zoo/hippo/bear/live | A2B2C1 ×2 |
|
||
| 121401 | recvjWrJos9LH7 | study/play/art/spell/letter // crayon/board/desk/schoolbag/handbag | A2B2C1 ×2 |
|
||
| 121501 | recvjWrJQ9Njnl | meet/friend/board game/ping-pong // body/head/mouth/ear | A2B2C1 ×2 |
|
||
|
||
### 审校通过
|
||
全部检查项合格:jsonData结构、audio/image命名、答案分布、ability标签、中文解析、题目1/2字段。
|
||
|
||
### 待办
|
||
⚠️ 23个超纲词需后续补入L1词库(home, house, cupboard, bedroom, hippo, bear, live, art, spell, letter, English, crayon, board, desk, schoolbag, handbag, meet, friend, board game, ping-pong, body, head, ear)
|
||
|
||
|
||
---
|
||
|
||
## L1-S2-U18-L5 双龙会 台词润色审校([王璐辰])
|
||
|
||
### 背景
|
||
审查飞书知识库剧本表格「台词润色列」错误。文档为内嵌 Sheet(block_type 30),需用 blocks API 才能发现。
|
||
|
||
### 审校结果
|
||
- 语法/拼写硬错误:5处(Rows 41, 55, 126, 153, 178)
|
||
- 表达优化建议:4处(Rows 77, 84, 207, 63)
|
||
- 一致性遗漏:4行无润色 + dragon/Loong 混用不统一
|
||
- 润色质量好的部分:长句拆分、语法/拼写修正、知识点保留 ✓
|
||
|
||
### D列知识点统计
|
||
- 6个知识点(class/fun/playground/English/Have fun with.../Over here.),共20次
|
||
- English 在知识点列未标注但实际台词出现9次
|
||
|
||
### 交互模式收获
|
||
- 用户(王璐辰)偏好直接在 bitable 中写入统计表格而非仅输出文字/卡片 → 后续同类需求优先写入原表
|
||
# 2026-05-18 工作日志
|
||
|
||
## 单元挑战全题型审核 + 修复
|
||
|
||
### 背景
|
||
[刘彦江] 要求对单元挑战全部20种题型审核,重点:解析不能纯英文、答案格式正确性。题目内容不修改。
|
||
|
||
### 审核结果
|
||
- 审核范围:20张表、244条记录
|
||
- 答案格式:零问题
|
||
- 纯英文解析:13处(听力-P2 021901 ×10,口语-P1 032701/032901,口语-P2 032801)
|
||
- 解析为空:83处(听力-P1 000001+110101~110401 ×50,听力-P4 021701/022101/032501/032901 ×20,共写作-P3复查后实际OK)
|
||
|
||
### 修复执行
|
||
- 13条纯英文→中文化翻译(通过模型翻译)
|
||
- 70条空解析→从题目内容+ability关键词智能生成
|
||
- 全部通过 Python+curl 写回 bitable(避免shell转义)
|
||
- 写入后回读验证:107条全部含中文,零错误
|
||
|
||
### 审校结果列更新
|
||
- 格式:`✅ OK | 2026-05-18 小研审校` / `📝 空模板 | 2026-05-18 小研审校`
|
||
- 已更新:18张表、241条记录
|
||
- 缺失列:写作-P2(tblSAwlMumKoyjws)、口语-P4(tblsD2dxaRpLmkXD)无「审校结果」列
|
||
|
||
### 经验
|
||
- 写作-P3 解析在 questionList 嵌套层级,初审误判为空,复查后确认含中文
|
||
- bitable curl 写回嵌套JSON时,Python subprocess构造完整body比shell变量展开安全
|
||
- 听力-P1 000001 虽有5条first+5条second,但确有题目内容,不是纯占位,按实际内容生成了解析
|
||
|
||
---
|
||
|
||
## P4 短对话选择题批量改写([刘彦江])
|
||
|
||
### 背景
|
||
短对话选择题用户只能听音频,无人名标签显示。三人对话中问题问"Whose/Who",用户无法分辨谁是谁。
|
||
|
||
### 方案(刘彦江确认)
|
||
1. 三人对话 → 两人对话(一男一女),对话中嵌入名字互称
|
||
2. 两种题型并行:人名匹配题(1-3题/套)+ 内容理解题(主体)
|
||
3. 不改考点和难度(L1 B级),答案均匀,中文解析,ability标签
|
||
|
||
### 改写结果
|
||
- 表:听力-P4-短对话选择题(tblVmeDtBDKsAEfz),9个QSID ~85题
|
||
- rewrite_p4_all.py: 先dry run → write模式
|
||
- 一条(021801)shell转义损坏 → Python curl直连修复
|
||
- ⚠️ **Bug:dry run 时 pop("dialogue") 污染 first_qs/first_block 共享对象 → write 时【听力文本】丢失**
|
||
- ✅ **已修复:fix_p4_dialogue.py 提取对话重写题目1/题目2**
|
||
- 待办:音频重录(旧mp3三人口播 → 需两人)
|
||
|
||
### 改写汇总
|
||
|
||
| QSID | 题数 | 答案分布 | 状态 |
|
||
|------|:--:|:--:|:--:|
|
||
| 021301 | 5+5 | A2B1C2 / A2B2C1 | ✅ |
|
||
| 021401 | 5+5 | A1B2C2 / A2B2C1 | ✅ |
|
||
| 021501 | 5+5 | A1B2C2 / A2B2C1 | ✅ |
|
||
| 021601 | 5+0 | A2B2C1 | ✅ |
|
||
| 021701 | 5+0 | A2B2C1 | ✅ |
|
||
| 021801 | 5+5 | A2B2C1 / A2B2C1 | ✅ |
|
||
| 022101 | 5+0 | A2B2C1 | ✅ |
|
||
| 032501 | 5+0 | A2B2C1 | ✅ |
|
||
| 032901 | 5+0 | A2B2C1 | ✅ |
|
||
|
||
---
|
||
|
||
## 口语-P1 审校([刘彦江])
|
||
|
||
### 范围
|
||
QSID: 121301, 121401, 121501(口语-P1-日常回答,tblRGv7k4WH58Jgq)
|
||
|
||
### 修复
|
||
- ability 全空/偏向听力 → 全部补充为口语向标签
|
||
- 3/3 审校结果列更新为 `✅ OK | 2026-05-18 小研审校`
|
||
|
||
### Record ID 映射
|
||
| QSID | Record ID |
|
||
|------|-----------|
|
||
| 121301 | recvjW9RVwziwL |
|
||
| 121401 | recvjW9RVwGzba |
|
||
| 121501 | recvjW9RVwj4aQ |
|
||
|
||
---
|
||
|
||
## 听力-P1 图片选择题 生产+回填+审校([刘彦江])
|
||
|
||
### 范围
|
||
QSID: 121301, 121401, 121501(听力-P1-图片选择题,L1 B级)
|
||
29词中仅6个在词库,23个超纲。业务负责人放行,优先生产,词库后补。
|
||
|
||
### 产出
|
||
| QSID | Record ID | 答案分布 |
|
||
|------|-----------|:--:|
|
||
| 121301 | recvjWrIXVjkWY | A2B2C1 ×2 |
|
||
| 121401 | recvjWrJos9LH7 | A2B2C1 ×2 |
|
||
| 121501 | recvjWrJQ9Njnl | A2B2C1 ×2 |
|
||
|
||
### 待办
|
||
⚠️ 23个超纲词需补入L1词库
|
||
|
||
---
|
||
|
||
## 图片文本输出([刘彦江])
|
||
|
||
### 背景
|
||
听力-P1 121301/121401/121501 选项图 prompt 需输出给图片生成人员。
|
||
|
||
### 飞书消息格式陷阱 🔴
|
||
直接输出 `[1-A-选项图彩图]:{"prompt":"..."}` 到飞书对话中,被飞书渲染引擎吃掉(方括号+JSON格式被当标签/链接处理),用户看不到内容。
|
||
**解决方案:必须用代码块(```)包裹或通过 message() 工具以编程方式发送。**
|
||
|
||
---
|
||
|
||
## 题型-能力标签映射([刘彦江])
|
||
|
||
### 背景
|
||
用户要求:把所有单元挑战题型与 45 个标准能力 tag 做映射。
|
||
|
||
### 能力标签源文件
|
||
- 路径: `business_knowledge/ability_tags.md`(Vala 英语能力标签体系,2026-05-13更新)
|
||
- 45 个标准标签:听力(11)、口语(10)、阅读(13)、写作(11)
|
||
|
||
### ability 格式不统一问题(重要发现)🔴
|
||
提取过程中发现 ability 标签在 bitable jsonData 中存在两种不同格式和位置:
|
||
|
||
**格式A: JSON 数组(每题内部)**
|
||
```json
|
||
{"first": {"questionSet": [{"ability": ["听觉抓取关键信息", "多特征整合"]}]}}
|
||
```
|
||
适用题型:听力-P1/P2/P3/P4/P7,阅读全7个,口语全4个
|
||
|
||
**格式B: ¥¥ 分隔字符串(顶层)**
|
||
```json
|
||
{"first": {"ability": "听觉抓取关键信息¥¥多特征整合"}}
|
||
```
|
||
适用题型:听力-P5,写作-P1/P2/P3
|
||
|
||
### 映射结果(修正后)
|
||
- **写作-P1** ✅ 有标签:短消息写作|邮件/便条、衔接与连贯|连词使用、描述性写作|人物与地点、描述性写作|场景与情绪、句型组织、问题解决|求助与建议(部分非标准标签名)
|
||
- **写作-P2** ⚠️ 格式不规范(模板残留):看图写故事,衔接与连贯、连词使用
|
||
- **写作-P3** ❌ 纯占位符 "xxxx",确实无标签
|
||
- **听力-P5** ✅ 有标签(¥¥格式补抓):听觉抓取关键信息、多特征整合
|
||
|
||
### 已修正的其他发现
|
||
- 口语-P1/P2/P3/P4 ability 标签已正确提取(格式A路径)
|
||
- 20 个未覆盖标签 = 45 标准标签中历史数据从未出现的(情绪/态度理解、长对话理解、图片对比、故事讲述、发音语调、写作全11个等)
|
||
|
||
### 产出文件
|
||
- `business_knowledge/unit_challenge_type_ability_mapping.md` — 完整映射表(已修正)
|
||
- `/tmp/unit_challenge_ability_doc.md` — 对外分享版
|
||
|
||
---
|
||
|
||
## L1-S2-U18-L5 双龙会 台词润色审校([王璐辰])
|
||
|
||
### 审校结果
|
||
- 语法/拼写硬错误:5处(Rows 41, 55, 126, 153, 178)
|
||
- 表达优化建议:4处(Rows 77, 84, 63, 207)
|
||
- 一致性遗漏:4行无润色 + dragon/Loong 混用不统一
|
||
- D列知识点:6个知识点,共20次
|
||
|
||
### 交互模式收获
|
||
- 用户(王璐辰)偏好直接在 bitable 中写入统计表格 → 后续同类需求优先写入原表
|
||
# 2026-05-18 工作日志
|
||
|
||
## 单元挑战全题型审核 + 修复
|
||
|
||
### 背景
|
||
[刘彦江] 要求对单元挑战全部20种题型审核,重点:解析不能纯英文、答案格式正确性。题目内容不修改。
|
||
|
||
### 审核结果
|
||
- 审核范围:20张表、244条记录
|
||
- 答案格式:零问题
|
||
- 纯英文解析:13处(听力-P2 021901 ×10,口语-P1 032701/032901,口语-P2 032801)
|
||
- 解析为空:83处(听力-P1 000001+110101~110401 ×50,听力-P4 021701/022101/032501/032901 ×20,共写作-P3复查后实际OK)
|
||
|
||
### 修复执行
|
||
- 13条纯英文→中文化翻译(通过模型翻译)
|
||
- 70条空解析→从题目内容+ability关键词智能生成
|
||
- 全部通过 Python+curl 写回 bitable(避免shell转义)
|
||
- 写入后回读验证:107条全部含中文,零错误
|
||
|
||
### 审校结果列更新
|
||
- 格式:`✅ OK | 2026-05-18 小研审校` / `📝 空模板 | 2026-05-18 小研审校`
|
||
- 已更新:18张表、241条记录
|
||
- 缺失列:写作-P2(tblSAwlMumKoyjws)、口语-P4(tblsD2dxaRpLmkXD)无「审校结果」列
|
||
|
||
### 经验
|
||
- 写作-P3 解析在 questionList 嵌套层级,初审误判为空,复查后确认含中文
|
||
- bitable curl 写回嵌套JSON时,Python subprocess构造完整body比shell变量展开安全
|
||
- 听力-P1 000001 虽有5条first+5条second,但确有题目内容,不是纯占位,按实际内容生成了解析
|
||
|
||
---
|
||
|
||
## P4 短对话选择题批量改写([刘彦江])
|
||
|
||
### 背景
|
||
短对话选择题用户只能听音频,无人名标签显示。三人对话中问题问"Whose/Who",用户无法分辨谁是谁。
|
||
|
||
### 方案(刘彦江确认)
|
||
1. 三人对话 → 两人对话(一男一女),对话中嵌入名字互称
|
||
2. 两种题型并行:人名匹配题(1-3题/套)+ 内容理解题(主体)
|
||
3. 不改考点和难度(L1 B级),答案均匀,中文解析,ability标签
|
||
|
||
### 改写结果
|
||
- 表:听力-P4-短对话选择题(tblVmeDtBDKsAEfz),9个QSID ~85题
|
||
- rewrite_p4_all.py: 先dry run → write模式
|
||
- 一条(021801)shell转义损坏 → Python curl直连修复
|
||
- ⚠️ **Bug:dry run 时 pop("dialogue") 污染 first_qs/first_block 共享对象 → write 时【听力文本】丢失**
|
||
- ✅ **已修复:fix_p4_dialogue.py 提取对话重写题目1/题目2**
|
||
- 待办:音频重录(旧mp3三人口播 → 需两人)
|
||
|
||
| QSID | 题数 | 答案分布 | 状态 |
|
||
|------|:--:|:--:|:--:|
|
||
| 021301 | 5+5 | A2B1C2 / A2B2C1 | ✅ |
|
||
| 021401 | 5+5 | A1B2C2 / A2B2C1 | ✅ |
|
||
| 021501 | 5+5 | A1B2C2 / A2B2C1 | ✅ |
|
||
| 021601 | 5+0 | A2B2C1 | ✅ |
|
||
| 021701 | 5+0 | A2B2C1 | ✅ |
|
||
| 021801 | 5+5 | A2B2C1 / A2B2C1 | ✅ |
|
||
| 022101 | 5+0 | A2B2C1 | ✅ |
|
||
| 032501 | 5+0 | A2B2C1 | ✅ |
|
||
| 032901 | 5+0 | A2B2C1 | ✅ |
|
||
|
||
---
|
||
|
||
## 口语-P1 审校([刘彦江])
|
||
|
||
### 范围
|
||
QSID: 121301, 121401, 121501(口语-P1-日常回答,tblRGv7k4WH58Jgq)
|
||
|
||
### 修复
|
||
- ability 全空/偏向听力 → 全部补充为口语向标签
|
||
- 3/3 审校结果列更新为 `✅ OK | 2026-05-18 小研审校`
|
||
|
||
| QSID | Record ID |
|
||
|------|-----------|
|
||
| 121301 | recvjW9RVwziwL |
|
||
| 121401 | recvjW9RVwGzba |
|
||
| 121501 | recvjW9RVwj4aQ |
|
||
|
||
---
|
||
|
||
## 听力-P1 图片选择题 生产+回填+审校([刘彦江])
|
||
|
||
### 范围
|
||
QSID: 121301, 121401, 121501(听力-P1-图片选择题,L1 B级)
|
||
29词中仅6个在词库,23个超纲。业务负责人放行,优先生产,词库后补。
|
||
|
||
| QSID | Record ID | 答案分布 |
|
||
|------|-----------|:--:|
|
||
| 121301 | recvjWrIXVjkWY | A2B2C1 ×2 |
|
||
| 121401 | recvjWrJos9LH7 | A2B2C1 ×2 |
|
||
| 121501 | recvjWrJQ9Njnl | A2B2C1 ×2 |
|
||
|
||
### 待办
|
||
⚠️ 23个超纲词需补入L1词库
|
||
|
||
---
|
||
|
||
## 图片文本输出([刘彦江])
|
||
|
||
### 飞书消息格式陷阱 🔴
|
||
直接输出 `[1-A-选项图彩图]:{"prompt":"..."}` 到飞书对话中,被渲染引擎吃掉(方括号+JSON当标签处理),用户看不到内容。
|
||
**解决方案:代码块包裹或 message() 工具发送。**
|
||
|
||
---
|
||
|
||
## 题型-能力标签映射([刘彦江])
|
||
|
||
### 背景
|
||
把所有单元挑战题型与 45 个标准能力 tag 做映射。
|
||
|
||
### 能力标签源文件
|
||
- 路径: `business_knowledge/ability_tags.md`(Vala 英语能力标签体系,2026-05-13更新)
|
||
- 45 个标准标签:听力(11)、口语(10)、阅读(13)、写作(11)
|
||
|
||
### ability 格式不统一问题(重要发现)🔴
|
||
提取中发现 ability 存在两种不同格式/位置:
|
||
|
||
**格式A: JSON 数组(每题内部)**
|
||
```json
|
||
{"first": {"questionSet": [{"ability": ["听觉抓取关键信息", "多特征整合"]}]}}
|
||
```
|
||
适用:听力-P1/P2/P3/P4/P7,阅读全7个,口语全4个
|
||
|
||
**格式B: ¥¥ 分隔字符串(顶层)**
|
||
```json
|
||
{"first": {"ability": "听觉抓取关键信息¥¥多特征整合"}}
|
||
```
|
||
适用:听力-P5,写作-P1/P2/P3
|
||
|
||
### 映射结果(修正后)
|
||
- **写作-P1** ✅ 有标签(格式B):短消息写作|邮件/便条、衔接与连贯|连词使用、描述性写作|人物与地点、描述性写作|场景与情绪、句型组织、问题解决|求助与建议(部分非标准标签名)
|
||
- **写作-P2** ⚠️ 格式不规范(模板残留)
|
||
- **写作-P3** ❌ 纯占位符 "xxxx"
|
||
- **听力-P5** ✅ 有标签(格式B补抓):听觉抓取关键信息、多特征整合
|
||
- **20 个未覆盖标签** = 45 标准标签中历史数据从未出现的(写作全11个、听力 情绪/态度理解+长对话理解、口语 图片对比+故事讲述+发音语调 等)
|
||
|
||
### 产出
|
||
- `business_knowledge/unit_challenge_type_ability_mapping.md` — 完整映射表
|
||
- `/tmp/unit_challenge_ability_doc.md` — 对外分享版(已发送文件 + 飞书文档)
|
||
|
||
---
|
||
|
||
## L1-S2-U18-L5 双龙会 台词润色审校([王璐辰])
|
||
|
||
### 审校结果
|
||
- 语法/拼写硬错误:5处(Rows 41, 55, 126, 153, 178)
|
||
- 表达优化建议:4处(Rows 77, 84, 63, 207)
|
||
- 一致性遗漏:4行无润色 + dragon/Loong 混用不统一
|
||
- D列知识点:6个知识点,共20次
|
||
|
||
### 交互模式收获
|
||
- 用户(王璐辰)偏好直接在 bitable 中写入统计表格 → 后续同类需求优先写入原表
|
||
|
||
## [刘彦江] 口语-P4-看图识物 内容生产(2026-05-18 19:34)
|
||
|
||
### 生产范围(3条记录,全部双题组,全部回填验证通过 ✅)
|
||
|
||
| ID | record_id | 题组1 | 题组2 | 状态 |
|
||
|----|-----------|-------|-------|------|
|
||
| 100001 | recvjYhcXkYXIM | 6题(颜色) | 5题(衣物) | ✅ |
|
||
| 110101 | recvjYhdvUxDgs | 6题(身体) | 6题(颜色) | ✅ |
|
||
| 110201 | recvjYhe4opOGm | 6题(食物) | 4题(动物) | ✅ |
|
||
|
||
### 题型结构
|
||
|
||
**口语-P4 (speaking_pic_recognize)**:
|
||
- textTitle: "Look and answer."
|
||
- 每词1题,配1图(白底中央展示单个物体/颜色)
|
||
- 颜色题: "What colour is it?",物体题: "What's this?"
|
||
- ability: 图文匹配
|
||
- explanation: 含回答要点、图片内容、能力、评估标准、回答指导
|
||
|
||
### 审校结果
|
||
- ✅ 全部27题 jsonData 结构完整、explanation 全中文、题目格式正确
|
||
- ✅ 题目集合ID一致、图片编号连续(00-10/00-11/00-09)
|
||
- ✅ 题目配置(人类可读)格式规范
|
||
- ⚠️ 口语-P4表无「审校结果」列,无法标记审校状态
|
||
- ℹ️ 110101题组2 "colour"出现2次(调色盘+彩虹)— 按规格生成
|
||
- ℹ️ 110201 "mice"(复数) 使用 "What are these?" 区分于 "mouse"(单数) 使用 "What's this?"
|
||
- ℹ️ 以下词汇未在L1词库中检索到(词库仅160词/声称980词,疑似文件不完整):jacket, T-shirt, hair, monster, colour, bread, cake, candy, chocolate, ice cream, mice, mouse — 按用户指定词汇生产,未做替换
|
||
|
||
### Bitable信息
|
||
- App Token: CMHSbUUjka3TrUsaxxEc297ongf
|
||
- Table ID: tblsD2dxaRpLmkXD
|
||
- 操作方式: Python subprocess + curl(避免shell转义)
|
||
|
||
## [李应瑛] L1-S2-U17-L3 紧急拜访 组件配置(2026-05-18 20:58)
|
||
|
||
### 背景
|
||
李应瑛发送知识库关卡制作文档链接 `K6DIwFqpgi1SjZkEPS9cNESfn0d`,要求为剧本中的互动环节生成组件配置。
|
||
|
||
### 完成事项
|
||
- ✅ 读取文档完整内容(剧本表Nr3Ovs 243行、知识点表zbfYO4、剧情摘要等5个子表)
|
||
- ✅ 识别16个互动点(对话朗读-配图、对话挖空、对话选择-配图、听力选择等),其中10个H列已有配置
|
||
- ✅ 方案3(both):行159 H列文本配置 + LV1多维表格正式JSON
|
||
|
||
### H列配置(行159)
|
||
写入 `Nr3Ovs!H159`,内容包含任务标题「听听爷爷的来信」、情境引入、互动内容和后置对话。回读验证通过。
|
||
|
||
### LV1 多维表格 JSON(ID: 1217310)
|
||
- **App Token:** `C7e9bzA1GaZ61FsTz87cEM8Ynoe`
|
||
- **Table:** LV1 (`tblH4xNpAmKJ7gEq`)
|
||
- **Record ID:** `recvjYze7B5cDQ`
|
||
- **cType:** `core_listening_choose`
|
||
- **题目组:** 2组(Q1: Who will come to visit? → Grandfather / Q2: Who else is coming? → Grandmother)
|
||
- **学习过程:** 3个重点句(visit / grandmother / grandfather)
|
||
- **音频来源:** 爷爷Justin念信(剧本行160-163)
|
||
- **写入方式:** Python subprocess + curl(避免shell转义)
|
||
|
||
### 待补充
|
||
| 项目 | 说明 |
|
||
|------|------|
|
||
| 图片素材 | 6张选项图 `1217310_option_00~05.png` 待配置 |
|
||
| kpListSentence/kpListVocab | 待填入Unit 1217对应的句型/单词知识ID |
|
||
| kpInfo.kpId | grandfather/grandmother/visit 的具体知识ID待确认 |
|
||
| 音频录制 | Justin念信4句音频待录制 |
|
||
|
||
### 互动组件脚本参考路径
|
||
- `business_knowledge/skills/core-content-json-standard/SKILL.md` — 14种核心题型JSON标准
|
||
- `business_production/_shared/feishu-embedded-sheet/SKILL.md` — 内嵌Sheet读写
|
||
- `business_production/_shared/lark_bitable_operate_as_bot/SKILL.md` — Bot身份多维表格操作
|
||
|
||
|
||
## [李应瑛] L1-S2-U17-L4 门关啦 组件配置(2026-05-18 21:00)
|
||
|
||
### 背景
|
||
李应瑛发送知识库文档 `SAadwW8YaiObl8k4op3c6vs8nqb`(L1-S2-U17-L4 门关啦),要求根据组件类型生成配置,回填到 **F列**(不同于L3的H列)。
|
||
|
||
### 文档结构
|
||
- Wiki token: `SAadwW8YaiObl8k4op3c6vs8nqb`
|
||
- Space ID: `7412143055920414722`
|
||
- Spreadsheet token: `It4AsFkC7hXHc4te9yUcyLHRnOe`
|
||
- Script sheet: `wMQVyV`(202行×8列)
|
||
- Knowledge points sheet: `eXTXJ8`(6个知识点:open, closed, door, home, 2个句型)
|
||
- 列结构:A=类型, B=配置信息, C=剧情描述, D=角色名, E=英文台词, **F=组件配置**, G=知识点, H=编剧台词
|
||
|
||
### 互动组件识别
|
||
- 16个互动组件(ID 1217401-1217416),全部F列为空
|
||
- 类型分布:对话朗读×6、对话挖空×4、图片单选×1、对话选择×2、对话组句×2、看图拼词×1
|
||
- 知识点覆盖:open/closed/door/home 及对应句型
|
||
|
||
### 写入方式
|
||
- Sheets v2 API PUT values,range 格式注意:sheet_id不加引号
|
||
- 先试 `'wMQVyV'!F10` 报 "sheetId not found" → 修正为 `wMQVyV!F10` 成功
|
||
- 16/16 全部回读验证通过
|
||
|
||
### 脚本
|
||
`scripts/write_L4_F_configs.py`
|
||
|
||
---
|
||
|
||
## [李应瑛] L1-S2-U17-L5 笨蛋坏蛋?英文生产(2026-05-18 21:15)
|
||
|
||
### 背景
|
||
李应瑛发送知识库文档 `U1zEwHZaaie07TkjmOOchurgnIh`(L1-S2-U17-L5 笨蛋坏蛋?),要求"英文生产"。
|
||
|
||
### 文档结构(与L3/L4不同)
|
||
- Wiki token: `U1zEwHZaaie07TkjmOOchurgnIh`
|
||
- Spreadsheet token: `DCcKsLbrmhfXgrtB7N2c9GA4ntf`
|
||
- Script sheet: `wMQVyV`(186行×9列)
|
||
- Knowledge points sheet: `DCcKsLbrmhfXgrtB7N2c9GA4ntf_NtIcXt`
|
||
- 列结构:A=类型, D=剧情描述, E=角色名, F=编剧台词(English已填好), **G=组件配置**
|
||
- 知识点:point, talk, understand, a lot of + `talk to...` / `I can/can't understand...`
|
||
|
||
### 交互模式差异
|
||
- L5 文档 B列/C列 为空,无详细组件类型标签(仅 A=互动/核心互动-口语)
|
||
- 编剧台词F列已全部填写(英文)
|
||
- 互动行的 User 台词含红色标注知识点词
|
||
|
||
### 完成事项
|
||
- 24个互动行全部生成G列配置(组件类型推断:听力挖空、朗读台词、口语表达)
|
||
- 写入方式:同上 Sheets v2 API
|
||
- 24/24 全部回读验证通过
|
||
|
||
### 脚本
|
||
`scripts/write_L5_G_configs.py`
|