{
  "version": 1,
  "updatedAt": "2026-05-18T11:35:23.341Z",
  "entries": {
    "memory:memory/2026-05-07.md:57:74": {
      "key": "memory:memory/2026-05-07.md:57:74",
      "path": "memory/2026-05-07.md",
      "startLine": 57,
      "endLine": 74,
      "source": "memory",
      "snippet": "3. **第三轮（用户要求重新发送三份文件后重算）：** 最终确认 **表1有但表2表3都没有 = 255个** - **第三轮详细统计：** - 三表共有：230 - 表1 ∩ 表2：492 - 表1 ∩ 表3：448 - 表2 ∩ 表3：427 - 表1有，表2没有：472（其中217个表3也有） - 最终：255个 - **关键发现：** - 表1（分类词表）覆盖了大量基础生活词汇，表3（L1词表）覆盖了其中的448个 - 最终的255个独有词主要集中在：抽象名词（advantage, attitude, courage）、学术/学科词汇（composition, grammar, pronunciation）、专业/特定领域词（cancer, clone, industry）等偏中高难度的词汇 - 表1和表3有大量重叠（448个），说明两个L1级别的词表覆盖范围高度一致 - 从上一轮260变成255（差5个），差异主要来自表2/表3重新解析后个别单词的增删 - **输出文件：** `/root/.openclaw/workspace-xiaoyan/output/单词对比结果_最终版.xlsx` - Sheet 1：255个单词完整清单（序号+单词+中文释义） - Sheet 2：全部统计指标汇总 - **用户 user_id：** `58fd6864`（租户级） - **发送消息时踩坑记录：** ou_xxx 是 open_id 非 user_id，Bot 缺少 contact:user.id:readonly 权限",
      "recallCount": 1,
      "dailyCount": 0,
      "groundedCount": 0,
      "totalScore": 0.6621249966506227,
      "maxScore": 0.6621249966506227,
      "firstRecalledAt": "2026-05-07T08:48:55.437Z",
      "lastRecalledAt": "2026-05-07T08:48:55.437Z",
      "queryHashes": [
        "c2c576894acd"
      ],
      "recallDays": [
        "2026-05-07"
      ],
      "conceptTags": [
        "学术/学科词汇",
        "专业/特定领域词",
        "差异主要来自表2/表3重新解析后个别单词的增删",
        "user-id",
        "ou-xxx",
        "open-id",
        "user.id",
        "第三"
      ]
    },
    "memory:memory/2026-05-07.md:215:235": {
      "key": "memory:memory/2026-05-07.md:215:235",
      "path": "memory/2026-05-07.md",
      "startLine": 215,
      "endLine": 235,
      "source": "memory",
      "snippet": "3. He is (4) Japan. → from（男孩穿和服，背景富士山） 4. She is a (7). → student（女孩背书包进校门） - **JSON 结构：** questionSetID=020102, category=writing, type=writing_pic_qa - **关键教训：** - 初版设计错误：让学手写 Anna/China 等非知识点词，被用户纠正 - 初版 questionDesc \"She is a (7) girl.\" 不自然，修正为 \"She is a (7).\" - writing_pic_qa 题型核心考察点：知识点词本身（am/from），而非题干已知信息 - 挖空字母数标记（如(4)）必须与答案单词字母数一致 - **词库缺口发现：** L1和L2词库均缺失人称代词(I/you/he/she)、be动词(am/is/are)、介词(from)、国家名等基础功能词，写题时先绕过词汇校验硬性约束 ### 刘彦江 (ou_5af74c1fb96042e33cc0f16b5ca02cf4) — 单元挑战新增3个题型（已完结） - 详见上文 11:19-11:28 记录 ### 刘彦江 (ou_5af74c1fb96042e33cc0f16b5ca02cf4) — 写作看图回答题 \"I am ready / Thank you\" 样题生产 - **时间：** 15:53 ~ 15:55 - **需求：** 使用知识点 \"I am ready! / Thank you for...\" 再生产一套",
      "recallCount": 2,
      "dailyCount": 0,
      "groundedCount": 0,
      "totalScore": 2,
      "maxScore": 1,
      "firstRecalledAt": "2026-05-08T01:18:18.412Z",
      "lastRecalledAt": "2026-05-11T02:37:23.203Z",
      "queryHashes": [
        "390d35f8d143",
        "be437071312f"
      ],
      "recallDays": [
        "2026-05-08",
        "2026-05-11"
      ],
      "conceptTags": [
        "writing-pic-qa",
        "anna/china",
        "am/from",
        "i/you/he/she",
        "am/is/are",
        "19-11",
        "japan",
        "男孩"
      ]
    },
    "memory:memory/2026-05-07.md:199:219": {
      "key": "memory:memory/2026-05-07.md:199:219",
      "path": "memory/2026-05-07.md",
      "startLine": 199,
      "endLine": 219,
      "source": "memory",
      "snippet": "### 刘彦江 (ou_5af74c1fb96042e33cc0f16b5ca02cf4) — 写作看图回答题 \"I am... / I am from...\" 样题生产 - **时间：** 15:38 ~ 15:52 - **需求：** 使用知识点 \"I am... / I am from...\" 生产一套写作看图回答题（writing_pic_qa） - **状态：** ✅ 已完成，用户确认 - **题型级别：** L2（因L1词库缺少所有代词/be动词/介词/国家名） - **难度：** A级 - **题量：** 4小题 - **核心原则（用户明确）：** 1. 挖空必须是考察知识点本身的单词（am/from/student），不是手写姓名/国名等附带信息 2. 只能为1个单词挖空，不能两个及以上 3. 正确模式示例：`I (2) Anna.` → 挖空am，数字标记字母数 4. 图片提供语境线索（名牌→am，地标→from国家，书包→student），学生填写核心知识点词 - **输出文件：** `output/writing_pic_qa_I_am_from_020102.json` - **题目清单：** 1. I (2) Anna. → am（女孩指着名牌，图片语境提示姓名已给出） 2. I am (4) China. → from（女孩站在长城前，国家名已给出） 3. He is (4) Japan. → from（男孩穿和服，背景富士山） 4. She is a (7). → student（女孩背书包进校门） - **JSON",
      "recallCount": 2,
      "dailyCount": 0,
      "groundedCount": 0,
      "totalScore": 2,
      "maxScore": 1,
      "firstRecalledAt": "2026-05-08T01:18:18.412Z",
      "lastRecalledAt": "2026-05-11T02:37:23.203Z",
      "queryHashes": [
        "390d35f8d143",
        "be437071312f"
      ],
      "recallDays": [
        "2026-05-08",
        "2026-05-11"
      ],
      "conceptTags": [
        "writing-pic-qa",
        "因l1词库缺少所有代词/be动词/介词/国家名",
        "am/from/student",
        "不是手写姓名/国名等附带信息",
        "彦江",
        "写作",
        "回答",
        "生产"
      ]
    },
    "memory:memory/2026-05-07.md:1:20": {
      "key": "memory:memory/2026-05-07.md:1:20",
      "path": "memory/2026-05-07.md",
      "startLine": 1,
      "endLine": 20,
      "source": "memory",
      "snippet": "# 2026-05-07 工作日志 ## 会话记录 ### 刘彦江 (ou_5af74c1fb96042e33cc0f16b5ca02cf4) — 单元挑战新增3个题型 - **时间：** 11:19 ~ 11:28 - **需求：** 单元挑战新增3个题型：阅读看图回答题（reading_pic_qa）、阅读看图判断题（reading_pic_judge）、写作看图回答题（writing_pic_qa） - **状态：** ✅ 已完成题型规范落地 - **交付内容：** 1. 创建3个题型SKILL.md： - `reading/common/reading_pic_qa/SKILL.md` — 阅读看图回答题（共享大图+多题Yes/No判断） - `reading/common/reading_pic_judge/SKILL.md` — 阅读看图判断题（每题独立配图+Yes/No判断） - `writing/common/writing_pic_qa/SKILL.md` — 写作看图回答题（看图+提示答案开头+填空） 2. 更新 `MEMORY.md` 全题型阶段归属规则 3. 明确题型JSON结构、难度等级（A/B/C/D四级）、能力标签、校验规则 - **关键决策：** 3个题型均为 L1&L2 共用，通过难度参数区分阶段；reading_pic_qa 共享大图，reading_pic_judge 每题独立配图 ### 李应瑛 (ou_1bd7317ae2ccfeb57e1132028847279e) — 单词表对比请求",
      "recallCount": 9,
      "dailyCount": 0,
      "groundedCount": 0,
      "totalScore": 9,
      "maxScore": 1,
      "firstRecalledAt": "2026-05-08T01:18:18.412Z",
      "lastRecalledAt": "2026-05-17T06:05:07.385Z",
      "queryHashes": [
        "390d35f8d143",
        "fd4c9b7de37b",
        "be437071312f",
        "0e27779653c1",
        "5c08c6f8788a",
        "4ab75020b1ab",
        "7ca0207f1308",
        "d592c9ed5e0a",
        "5f858a7d5e0b"
      ],
      "recallDays": [
        "2026-05-08",
        "2026-05-09",
        "2026-05-11",
        "2026-05-12",
        "2026-05-14",
        "2026-05-17"
      ],
      "conceptTags": [
        "reading-pic-qa",
        "reading-pic-judge",
        "writing-pic-qa",
        "创建3个题型skill.md",
        "多题yes/no判断",
        "yes/no判断",
        "memory.md",
        "a/b/c/d四级"
      ]
    },
    "memory:memory/2026-04-13.md:1:5": {
      "key": "memory:memory/2026-04-13.md:1:5",
      "path": "memory/2026-04-13.md",
      "startLine": 1,
      "endLine": 5,
      "source": "memory",
      "snippet": "## 2026-04-13 12:28 [童瑶需求] 读取飞书文档https://makee-interactive.feishu.cn/wiki/QkY5wkcZYindgzkv5O0cpApRnzh内L1S1_Unit 11【其他需求】中所有的图片，并根据【描述】列的ID重命名为\"ID.png\" [执行结果] 完成35张图片的提取和重命名，保存到unit11_final_images/目录下，包含L1-L5全级别教研图、选项图，全部符合命名规则。",
      "recallCount": 1,
      "dailyCount": 0,
      "groundedCount": 0,
      "totalScore": 1,
      "maxScore": 1,
      "firstRecalledAt": "2026-05-11T02:19:37.985Z",
      "lastRecalledAt": "2026-05-11T02:19:37.985Z",
      "queryHashes": [
        "6f88450e9f9b"
      ],
      "recallDays": [
        "2026-05-11"
      ],
      "conceptTags": [
        "id.png",
        "保存到unit11-final-images/目录下",
        "包含l1-l5全级别教研图",
        "需求",
        "https",
        "makee",
        "interactive.feishu.cn",
        "wiki"
      ]
    },
    "memory:memory/2026-05-08.md:33:55": {
      "key": "memory:memory/2026-05-08.md:33:55",
      "path": "memory/2026-05-08.md",
      "startLine": 33,
      "endLine": 55,
      "source": "memory",
      "snippet": "**图片资源新规：** - 每个题组共享一张图（非每题独立配图） - 产出 JSON 同时输出图片描述 prompt（英文，卡通简线条风格） - prompt 写入 bitable `图片描述` 列，格式 `{\"first\": \"...\", \"second\": \"...\"}` **通用化写入流程：** - 单元挑战全题型适用：定位 bitable 表 → 创建/更新记录 → 写入 `题目集合 ID` + `jsonData` + `图片描述` - 各题型仅 jsonData 结构不同，写入流程统一 **重写文件：** - `business_production/单元挑战/skills/unit_challenge/questions/writing/common/writing_pic_qa/SKILL.md`（11节完整规范） - `business_production/单元挑战/skills/unit_challenge/questions/writing/writing_pic_qa/SKILL.md`（简化为快速入口） **bitable 更新：** 已将新 JSON（每题组1图2题）+ 图片描述写入 `recviZlAxxXlAb` ### 刘彦江 (ou_5af74c1fb96042e33cc0f16b5ca02cf4) — 图片描述格式修正 - **时间：** 09:46 ~ 09:51 - **修正：** 用户给出中文样例格式，要求图片描述从英文 prompt 改为纯中文结构化列表 - **新格式：** 编号 `1.` / `2.` 自上而下，每段",
      "recallCount": 5,
      "dailyCount": 0,
      "groundedCount": 0,
      "totalScore": 5,
      "maxScore": 1,
      "firstRecalledAt": "2026-05-11T02:19:37.985Z",
      "lastRecalledAt": "2026-05-18T08:44:36.808Z",
      "queryHashes": [
        "6f88450e9f9b",
        "be437071312f",
        "11ea0881b126",
        "08b6f3142a2b",
        "d3bb2a2fd2ad"
      ],
      "recallDays": [
        "2026-05-11",
        "2026-05-13",
        "2026-05-18"
      ],
      "conceptTags": [
        "创建/更新记录",
        "图片",
        "资源",
        "共享",
        "一张",
        "每题",
        "独立",
        "同时"
      ]
    },
    "memory:memory/2026-05-08.md:1:23": {
      "key": "memory:memory/2026-05-08.md:1:23",
      "path": "memory/2026-05-08.md",
      "startLine": 1,
      "endLine": 23,
      "source": "memory",
      "snippet": "### 刘彦江 (ou_5af74c1fb96042e33cc0f16b5ca02cf4) — writing_pic_qa 样题生产 \"I am / I am going to / I am ready / Thank you for\" - **时间：** 09:26 ~ 09:34 - **需求：** 生产 writing_pic_qa A级样题，ID=000001，2题组各2小题 - **状态：** ✅ 已完成，已写入飞书多维表格 - **目标表格：** 单元挑战 → 写作-P3-看图回答题 (tblFc9TVl2PeM2tg)，record_id=recviZlAxxXlAb - **题目清单：** 题组1 (first): 1. I (2) a student. → am（女孩穿校服举手，考察be动词am） 2. I am (5) to school. → going（男孩背书包走向校门，考察going） 题组2 (second): 3. I am (5)! → ready（男孩穿泳衣戴泳镜，考察状态词ready） 4. Thank you (3) the book. → for（女孩接书微笑，考察介词for） - **核心修正（用户反馈）：** 1. 挖空必须考察知识点核心词，非附带信息（you → for） 2. 不能挖空题干已有信息（如姓名/国家名），只挖知识点词本身 3. 只能为1个单词挖空 4. question与questionDesc人称必须一致（统一改为 What does [角色] say? → 第一人称直接",
      "recallCount": 1,
      "dailyCount": 0,
      "groundedCount": 0,
      "totalScore": 1,
      "maxScore": 1,
      "firstRecalledAt": "2026-05-11T02:37:23.203Z",
      "lastRecalledAt": "2026-05-11T02:37:23.203Z",
      "queryHashes": [
        "be437071312f"
      ],
      "recallDays": [
        "2026-05-11"
      ],
      "conceptTags": [
        "writing-pic-qa",
        "写作-p3-看图回答题",
        "record-id",
        "如姓名/国家名",
        "彦江",
        "生产",
        "going",
        "ready"
      ]
    },
    "memory:memory/2026-05-11.md:39:55": {
      "key": "memory:memory/2026-05-11.md:39:55",
      "path": "memory/2026-05-11.md",
      "startLine": 39,
      "endLine": 55,
      "source": "memory",
      "snippet": "- `基础信息表达｜个人信息问答` — 姓名/年龄/家庭/外貌类 - `表达喜好与理由` — 偏好/观点/意愿类 - `过去经历描述｜Past Activities` — 过去事件类 - `互动应答｜问答交流` — 社交场景类 - `信息交换｜双向问答` — 物品归属/需求类 - 未使用标签（属看图/发音题型专用）：图片描述类(3个)、图片对比、故事讲述、发音与语调 - **分类逻辑**：基于关键词匹配（what do you say → 互动应答; what did you/last → 过去经历; favorite/like/want → 喜好; name/age/from/family → 个人信息; whose/need → 信息交换） ### 刘彦江 — reading_matchInfo 阅读信息匹配题（4套: 010901/011001/011101/011201，18:55 ~ 19:15） - **需求：** 4套 reading_matchInfo，L2 A级，能力标签 标识与通知理解｜标识 & 通知 - 每套 first=5q + second=5q，每题含 questionImage/question/options/answer/ability/explanation - **表：** 阅读-P1-信息匹配题（tblCgfYDnnqwLfgH） - **自动化问题：** 该表存在异步自动化，创建后会将 jsonData 改写为模板壳（减少题量+覆盖 ability） - **解决方案：** 两阶段延迟写入（先创建空记录→等35s让",
      "recallCount": 2,
      "dailyCount": 0,
      "groundedCount": 0,
      "totalScore": 2,
      "maxScore": 1,
      "firstRecalledAt": "2026-05-12T01:33:44.968Z",
      "lastRecalledAt": "2026-05-12T01:41:17.155Z",
      "queryHashes": [
        "4ab75020b1ab",
        "7ca0207f1308"
      ],
      "recallDays": [
        "2026-05-12"
      ],
      "conceptTags": [
        "姓名/年龄/家庭/外貌类",
        "偏好/观点/意愿类",
        "物品归属/需求类",
        "属看图/发音题型专用",
        "you/last",
        "favorite/like/want",
        "name/age/from/family",
        "whose/need"
      ]
    },
    "memory:memory/2026-05-11.md:20:43": {
      "key": "memory:memory/2026-05-11.md:20:43",
      "path": "memory/2026-05-11.md",
      "startLine": 20,
      "endLine": 43,
      "source": "memory",
      "snippet": "- **需求：** 2套 reading_pic_qa，L2 A级，能力标签 图文判断｜句图一致性 - 每套5+5道 Y/N 判断，3Y2N平衡，4-7词陈述句 - **状态：** ✅ 已完成，2套全部入库 + 图片描述回填验证通过 - **脚本：** `scripts/batch_reading_pic_qa_2.py` | ID | 题组1 | 题组2 | record_id | |----|-------|-------|-----------| | 010701 | notebook/star/folder/diary/contact | friendly/crazy/brilliant/kind/afraid | recvjiQuGtsVp8 | | 010801 | uncle/aunt/grandma/neighbour/pet | expensive/entrance/upstairs/downstairs/toast | recvjiQvc8EsB8 | - 表：阅读-P7-看图回答题（tblweY65jGBiwSdt） - 当前该表累计：11条记录（000001~010801，含reading_pic_judge类型 4 条及其他） ### 刘彦江 — 口语-P1-日常回答 ability 标签填充（18:15 ~ 18:25） - **需求：** 从能力标签名称图片中，选择与已生成题目契合的标签填入 jsonData - 表：口语-P1-日常回答（tblRGv7k4WH58Jgq），26条有效记录，185道题 - **状态：** ✅ 全部完成 - *",
      "recallCount": 1,
      "dailyCount": 0,
      "groundedCount": 0,
      "totalScore": 1,
      "maxScore": 1,
      "firstRecalledAt": "2026-05-12T01:33:44.968Z",
      "lastRecalledAt": "2026-05-12T01:33:44.968Z",
      "queryHashes": [
        "4ab75020b1ab"
      ],
      "recallDays": [
        "2026-05-12"
      ],
      "conceptTags": [
        "reading-pic-qa",
        "y/n",
        "4-7词陈述句",
        "record-id",
        "uncle/aunt/grandma/neighbour/pet",
        "阅读-p7-看图回答题",
        "含reading-pic-judge类型",
        "口语-p1-日常回答"
      ]
    },
    "memory:memory/2026-05-11.md:66:83": {
      "key": "memory:memory/2026-05-11.md:66:83",
      "path": "memory/2026-05-11.md",
      "startLine": 66,
      "endLine": 83,
      "source": "memory",
      "snippet": "1. 图片应是**真实标识/通知**（非标签式），如零售楼层导览那种 2. 图片上的文字**至少为一句话**，L2 A级难度，不能只有一个词 - **处理：** 4 套 reading_matchInfo 全部重新设计（题目+图片描述），两阶段延迟写入 - **新record_ids:** recvjj2Nuw9MJd / recvjj2NZz75zb / recvjj2Ov8Stks / recvjj2OX0Dmo5 - **改进要点：** - 每张图改为真实通知/标识，如 \"TRAINS to the NORTH. Go to Platform 3.\" - 图片文字至少 1 句完整陈述，含足够信息供阅读提取 - 题目围绕通知/标识内容提问，考察学生从标识中抓取关键信息的能力 ### 刘彦江 — reading_matchInfo 阅读信息匹配题（6套L2 B级: 021301-021801，19:30 ~ 19:45） - **需求：** 6套 reading_matchInfo，L2 B级，能力标签 标识与通知理解｜标识 & 通知 - **B级规范：** 文本3-5词短句，图片为同类差异，简单对应；每张图是真实的标识/通知（非标签式） - **状态：** ✅ 全部完成（两阶段延迟写入策略，避免自动化覆盖） - **脚本：** `scripts/batch_reading_matchInfo.py` | ID | 题组1 | 题组2 | record_id | |----|-------|-------|-----------| | 021301 |",
      "recallCount": 1,
      "dailyCount": 0,
      "groundedCount": 0,
      "totalScore": 1,
      "maxScore": 1,
      "firstRecalledAt": "2026-05-12T01:41:17.155Z",
      "lastRecalledAt": "2026-05-12T01:41:17.155Z",
      "queryHashes": [
        "7ca0207f1308"
      ],
      "recallDays": [
        "2026-05-12"
      ],
      "conceptTags": [
        "真实标识/通知",
        "reading-matchinfo",
        "新record-ids",
        "每张图改为真实通知/标识",
        "题目围绕通知/标识内容提问",
        "021301-021801",
        "文本3-5词短句",
        "每张图是真实的标识/通知"
      ]
    },
    "memory:memory/2026-05-11.md:51:68": {
      "key": "memory:memory/2026-05-11.md:51:68",
      "path": "memory/2026-05-11.md",
      "startLine": 51,
      "endLine": 68,
      "source": "memory",
      "snippet": "- **自动化问题：** 该表存在异步自动化，创建后会将 jsonData 改写为模板壳（减少题量+覆盖 ability） - **解决方案：** 两阶段延迟写入（先创建空记录→等35s让自动化完成→PUT jsonData），010901/011201 修复后验证通过 | ID | 题组1 | 题组2 | record_id | |----|-------|-------|-----------| | 010901 | north/east/south/west/exit（方向标识） | businessman/job/letter/call/guard（职场） | recvjiYAHtp05c | | 011001 | beat/dancer/drum/player/work（音乐体育） | aged/good-looking/mistake/weakness/be good at（人物描述） | recvjiXLdt5itq | | 011101 | dangerous/badly/worst/steal/run away（危险） | minute/close/kilometre/second/away（时间距离） | recvjiXLOOWMsq | | 011201 | summer/winter/Earth/holiday/term（季节） | examination/plus/minus/biology/study（学校） | recvjiYBd8Mejs | - **脚本：** `scripts/batch_reading_matchInfo.py` - *",
      "recallCount": 1,
      "dailyCount": 0,
      "groundedCount": 0,
      "totalScore": 1,
      "maxScore": 1,
      "firstRecalledAt": "2026-05-12T01:41:17.155Z",
      "lastRecalledAt": "2026-05-12T01:41:17.155Z",
      "queryHashes": [
        "7ca0207f1308"
      ],
      "recallDays": [
        "2026-05-12"
      ],
      "conceptTags": [
        "010901/011201",
        "record-id",
        "north/east/south/west/exit",
        "beat/dancer/drum/player/work",
        "dangerous/badly/worst/steal/run",
        "summer/winter/earth/holiday/term",
        "自动",
        "问题"
      ]
    },
    "memory:memory/2026-05-12.md:206:226": {
      "key": "memory:memory/2026-05-12.md:206:226",
      "path": "memory/2026-05-12.md",
      "startLine": 206,
      "endLine": 226,
      "source": "memory",
      "snippet": "- **10 条 sentenceMeaningMeaning JSON 修复：** - 根因：explanation 中 ASCII `\"` 被用作中文引号 - 修复策略演变：状态机拆分失败 → 正则重建 → 发现Q2丢失 → 从中文列完整重建 - 最终：10/10 可正确解析，审校结果同步更新 - 受影响：1213004/1213006/1213010/1214008/1215005/1216001/1216004/1216007/1216008/1216010 ### 刘彦江 — 核心互动全题型 JSON 配置标准沉淀（17:05 ~ 17:50） - **产出 Skill 1：** `skills/bitable-reader/SKILL.md` — 通用 bitable 读取（任何 bitable 通用） - **产出 Skill 2：** `skills/core-content-json-standard/SKILL.md` v2.0 — 全题型 JSON 标准（393行） - **架构：** 通用字段在前（ID/kpInfo/taskData）+ 5大题型分类（📖阅读2 🎧听力3 🗣口语4 ✏️写作5）+ 审校规则 + 扩展指南 - **覆盖率：** 14/15 种题型（口语探讨 S0 无数据） - **产出脚本：** `scripts/audit_core_reading_S0.py` — 合作阅读 S0 审校 ## 经验教训 ### bitable 写入需严格流程管控（2026-05-12） - 批量更新 JSON：写入前完整提取",
      "recallCount": 2,
      "dailyCount": 0,
      "groundedCount": 0,
      "totalScore": 2,
      "maxScore": 1,
      "firstRecalledAt": "2026-05-13T03:09:54.362Z",
      "lastRecalledAt": "2026-05-15T07:13:08.147Z",
      "queryHashes": [
        "f151bc633ad1",
        "a0932e0e2749"
      ],
      "recallDays": [
        "2026-05-13",
        "2026-05-15"
      ],
      "conceptTags": [
        "10/10",
        "skills/bitable-reader/skill.md",
        "v2.0",
        "id/kpinfo/taskdata",
        "14/15",
        "scripts/audit-core-reading-s0.py",
        "sentencemeaningmeaning",
        "修复"
      ]
    },
    "memory:memory/2026-04-30.md:50:63": {
      "key": "memory:memory/2026-04-30.md:50:63",
      "path": "memory/2026-04-30.md",
      "startLine": 50,
      "endLine": 63,
      "source": "memory",
      "snippet": "格式: 【任务标题】【情境引入】【互动内容】【互动反馈】【后置对话】。目标词用$...$包裹，选项为图片区域编号(00/01/02)。 #### 5. 对话选择 (1条) — 规则: 参考 teaching_config 示例格式 + mid_dialog_choose prompt | ID | 任务标题 | 选项 | 知识点 | |---|---------|------|--------| | 1115514 | 判断蕃茄的好坏 | It is a good one. / It is a bad one. | one | 格式: 【任务标题】【资源配置】【情境引入】【互动内容】【后置对话】。互动内容含要求+选项+反馈。 ### 关键经验 - **组件配置列位置变更**: 本轮操作中发现sheet新增了「配置信息」列(C列)，导致组件配置从F列移至G列。后续操作需先确认列结构。 - **Bot身份操作**: 所有飞书 sheet 写入均使用 Bot 身份（App ID: cli_a931175d41799cc7），Feishu API Token: t-g1044ubUXXMPFXBW75RILL7YZKRGAKQGWWDV2R3D - **对话选择组件**: 无独立 SKILL.md，需参照 interactive-component-json 的 prompt_registry.py 中 mid_dialog_choose 模板 + bitable 中已有的 teaching_config 示例格式",
      "recallCount": 1,
      "dailyCount": 0,
      "groundedCount": 0,
      "totalScore": 1,
      "maxScore": 1,
      "firstRecalledAt": "2026-05-13T03:09:54.362Z",
      "lastRecalledAt": "2026-05-13T03:09:54.362Z",
      "queryHashes": [
        "f151bc633ad1"
      ],
      "recallDays": [
        "2026-05-13"
      ],
      "conceptTags": [
        "00/01/02",
        "teaching-config",
        "mid-dialog-choose",
        "cli-a931175d41799cc7",
        "skill.md",
        "interactive-component-json",
        "prompt-registry.py",
        "格式"
      ]
    },
    "memory:memory/2026-04-30.md:23:41": {
      "key": "memory:memory/2026-04-30.md:23:41",
      "path": "memory/2026-04-30.md",
      "startLine": 23,
      "endLine": 41,
      "source": "memory",
      "snippet": "| 8 | 对话朗读 | 我来刷漆吧 | Let me paint it. | 格式: 【任务标题】【资源配置】【情景引入】【互动内容】【后置对话】。情景引入和后置对话默认「无」。 #### 2. 对话挖空 (2条) — 规则: dialogue-fill-in-blanks-config | ID | 任务标题 | 挖空句 | 正确选项 | 干扰项 | 知识点 | |---|---------|--------|---------|--------|--------| | 9 | 告诉May这刷子是我的 | It is ___. | mine | May | mine | | 11 | 给稻草人John画张脸 | We need to ___ a face on John! | paint | make | paint | 格式: 【任务标题】【资源配置】【情境引入】【互动内容】【互动反馈】【后置对话】。挖空句结尾标注（音频），选项标注（正确），反馈台词贴合剧情。 #### 3. 对话组句 (3条) — 规则: dialogue-sentence-building-config | ID | 任务标题 | 答案 | 选项词 | 知识点 | |---|---------|------|-------|--------| | 10 | 制止BoBo拿我的刷子 | BoBo stop, it is mine! | BoBo/stop/it/is/mine | mine | | 12 | 告诉May我也有一顶帽子 | I have one too! | I/have/one/",
      "recallCount": 1,
      "dailyCount": 0,
      "groundedCount": 0,
      "totalScore": 1,
      "maxScore": 1,
      "firstRecalledAt": "2026-05-13T03:09:54.362Z",
      "lastRecalledAt": "2026-05-13T03:09:54.362Z",
      "queryHashes": [
        "f151bc633ad1"
      ],
      "recallDays": [
        "2026-05-13"
      ],
      "conceptTags": [
        "dialogue-fill-in-blanks-config",
        "bobo/stop/it/is/mine",
        "i/have/one",
        "对话",
        "朗读",
        "我来",
        "let",
        "paint"
      ]
    },
    "memory:memory/2026-04-02.md:1:16": {
      "key": "memory:memory/2026-04-02.md:1:16",
      "path": "memory/2026-04-02.md",
      "startLine": 1,
      "endLine": 16,
      "source": "memory",
      "snippet": "# 2026-04-02 工作日志 ## 【规则沉淀】对话台词优化通用规则（来自11-4棒球单元案例） ### 适用场景：所有英语教研内容对话台词润色、优化、修改 --- #### 核心修改规则 1. **精简原则**：删除所有冗余重复表述（重复提到的核心名词如baseball可省略，前文已交代的背景信息不再重复） 2. **口语化原则**：所有台词符合日常对话习惯，避免书面化、生硬的表达，适当增加语气词（Haha、Oops、Uh-oh、Oh boy等） 3. **拆分原则**：长度超过8个单词的长句拆分为2-3个短句，每句对应一个动作/情绪节点，增强交互节奏 4. **情绪匹配原则**：台词语气严格匹配角色当前情绪（惊讶时拆分句子加问号，欢呼时用短词，失落时用省略号） 5. **场景适配原则**：可通过动画/画面表达的内容，不再用台词重复表述，减少信息冗余 --- #### 统一风格标准 整体风格定位：低龄友好、活泼生动、节奏感强、代入感高 - 单句最长不超过10个单词，核心知识点相关句子不超过7个单词 - 每个角色的台词符合其人设（Matt阳光直率、Tom活泼有趣、Amber骄傲好胜） - 对话节奏快，每2-3句台词对应一个剧情节点或互动环节",
      "recallCount": 1,
      "dailyCount": 0,
      "groundedCount": 0,
      "totalScore": 1,
      "maxScore": 1,
      "firstRecalledAt": "2026-05-13T03:18:48.153Z",
      "lastRecalledAt": "2026-05-13T03:18:48.153Z",
      "queryHashes": [
        "633af3858f54"
      ],
      "recallDays": [
        "2026-05-13"
      ],
      "conceptTags": [
        "来自11-4棒球单元案例",
        "uh-oh",
        "长度超过8个单词的长句拆分为2-3个短句",
        "每句对应一个动作/情绪节点",
        "可通过动画/画面表达的内容",
        "每2-3句台词对应一个剧情节点或互动环节",
        "工作",
        "日志"
      ]
    },
    "memory:memory/2026-05-13.md:88:108": {
      "key": "memory:memory/2026-05-13.md:88:108",
      "path": "memory/2026-05-13.md",
      "startLine": 88,
      "endLine": 108,
      "source": "memory",
      "snippet": "### kids-english-script-production 触发机制 - [刘彦江] 要求增加防误触发 - 更新文件： - `business_production/剧本翻译/skills/kids-english-script-production/assets/skill.yml` — 注册描述 - `business_production/剧本翻译/skills/kids-english-script-production/SKILL.md` — 新增触发方式章节 - 触发指令：`/英文台词 --feishu-url <链接> --stage <S1~S4>` （命令触发，推荐） - 短语触发：消息含\"英文台词生产\" - 不会触发：仅含\"翻译\"/\"台词\"/\"英文\" (防误匹配) ## 刘彦江 — 课程组件生产/审校/回填技能创建 ### script-component-production 技能 - 路径：`business_production/课程组件/skills/script-component-production/` - 覆盖：27种中互动 + 14种核心互动组件类型 - 6节点流程：读取文档→解析Sheet→识别组件行→匹配组件类型→LLM生成JSON→审校→回填 - 触发：`/组件配置 --feishu-url <链接>` （命令触发，推荐） - 防误触发：仅含\"互动\"/\"配置\"/\"JSON\"不触发 - 与 /英文台词 技能协作：先英文台词回填列F，后组件配置回填列G - 创建文件： - `SKILL.md` — 完整技能文档（",
      "recallCount": 1,
      "dailyCount": 0,
      "groundedCount": 0,
      "totalScore": 1,
      "maxScore": 1,
      "firstRecalledAt": "2026-05-13T07:40:28.541Z",
      "lastRecalledAt": "2026-05-13T07:40:28.541Z",
      "queryHashes": [
        "3beb30f546c9"
      ],
      "recallDays": [
        "2026-05-13"
      ],
      "conceptTags": [
        "kids-english-script-production",
        "feishu-url",
        "课程组件生产/审校/回填技能创建",
        "script-component-production",
        "skill.md",
        "kids",
        "english",
        "script"
      ]
    },
    "memory:memory/2026-05-13.md:71:92": {
      "key": "memory:memory/2026-05-13.md:71:92",
      "path": "memory/2026-05-13.md",
      "startLine": 71,
      "endLine": 92,
      "source": "memory",
      "snippet": "## 刘彦江 — 教学大纲文档结构解析 + 英文台词回填 + skill触发机制 ### S1/S2 大纲文档结构 - 文档：https://makee-interactive.feishu.cn/wiki/IOmNwV55Si6JTykCAM5c1HM1nSd - 类型：独立电子表格，含 2 个子表 - S1 大纲：264行×22列，Unit 0~12，2行冻结表头 - S2 大纲：204行×22列，Unit 13~18 - 列结构：A=Unit / B=Lesson / C~F=Vocabulary(知识模块/单词/词性/词义) / G~I=Sentences(知识模块/句型/例句) / J~V=未使用 - 每Unit有 Lesson 1~5，每行=一条词汇+可选句型（知识模块维度独立） ### 英文台词生产并回填：L1-S2-U17-L3 紧急拜访 - 文档：https://makee-interactive.feishu.cn/wiki/FkKgw4jBPix9lNkRemLcSwYOnid - spreadsheet_token: DA7csROG6hmnQMt59oScOLRfnWc, sheet: Nr3Ovs - 知识点：grandmother, grandfather, visit, today + 句型 Today is... / ...visit+sb - 操作：清空列F → 按MEMORY.md对话台词优化规则重新生产116条 → 写入并验证通过 - 规则应用：知识点保留/精简/口语化(收缩)/拆分(>8词)/情绪匹配/正向引导(mad→up",
      "recallCount": 1,
      "dailyCount": 0,
      "groundedCount": 0,
      "totalScore": 1,
      "maxScore": 1,
      "firstRecalledAt": "2026-05-13T07:40:28.541Z",
      "lastRecalledAt": "2026-05-13T07:40:28.541Z",
      "queryHashes": [
        "3beb30f546c9"
      ],
      "recallDays": [
        "2026-05-13"
      ],
      "conceptTags": [
        "s1/s2",
        "知识模块/单词/词性/词义",
        "知识模块/句型/例句",
        "l1-s2-u17-l3",
        "spreadsheet-token",
        "按memory.md对话台词优化规则重新生产116条",
        "知识点保留/精简/口语化",
        "情绪匹配/正向引导"
      ]
    },
    "memory:memory/2026-05-13.md:105:115": {
      "key": "memory:memory/2026-05-13.md:105:115",
      "path": "memory/2026-05-13.md",
      "startLine": 105,
      "endLine": 115,
      "source": "memory",
      "snippet": "- 与 /英文台词 技能协作：先英文台词回填列F，后组件配置回填列G - 创建文件： - `SKILL.md` — 完整技能文档（触发/流程/组件类型速查/审校项/使用示例） - `assets/skill.yml` — 技能注册（依赖 interactive-component-json/core-content-json-standard 等） - `assets/component_rules.yaml` — 组件类型自动匹配信号规则 - `assets/review_checklist.yaml` — 15项审校清单（ID/字段/题型/知识点/选项/高亮/反馈/超纲等） ### 已更新文件 - `component-design/SKILL.md` — 增加触发方式章节（防误触发） - `kids-english-script-production/assets/skill.yml` + `SKILL.md` — 增加 /英文台词 触发（上轮）",
      "recallCount": 1,
      "dailyCount": 0,
      "groundedCount": 0,
      "totalScore": 1,
      "maxScore": 1,
      "firstRecalledAt": "2026-05-13T07:40:28.541Z",
      "lastRecalledAt": "2026-05-13T07:40:28.541Z",
      "queryHashes": [
        "3beb30f546c9"
      ],
      "recallDays": [
        "2026-05-13"
      ],
      "conceptTags": [
        "skill.md",
        "触发/流程/组件类型速查/审校项/使用示例",
        "assets/skill.yml",
        "assets/component-rules.yaml",
        "assets/review-checklist.yaml",
        "id/字段/题型/知识点/选项/高亮/反馈/超纲等",
        "component-design/skill.md",
        "英文"
      ]
    },
    "memory:memory/2026-05-13.md:1:33": {
      "key": "memory:memory/2026-05-13.md:1:33",
      "path": "memory/2026-05-13.md",
      "startLine": 1,
      "endLine": 33,
      "source": "memory",
      "snippet": "# 2026-05-13 工作记忆 ## 王璐辰 — 剧本台词润色审校 ### 审校#1: L1-S2-U18-L1 中国周 - 文档：https://makee-interactive.feishu.cn/wiki/PgWrwllW2ikQKgkLTYKcmKFonXc - 🔴 必须修改 4 项（行70句子过长、行72 you→your、行157 It this→Is this、行159全角？） - 🟡 建议关注 9 项 | ⚠️ 缺失润色 2 项（行47图片单选4、行185核心听力17） ### 审校#2: L1-S2-U18-L2 登龙秘笈 - 文档：https://makee-interactive.feishu.cn/wiki/KNAZwTYXsib2Ijk6BrGciRelnSf - 🔴 必须修改 1 项（行120空格缺失） - 🟡 建议关注：全文 dragon/loong 混用 - ⚠️ 缺失润色 2 项 ### 格式约定 [王璐辰确认] 后续\"审校\"请求默认输出格式： 1. 表格概况（行数/覆盖） 2. 🔴 必须修改 → 表格列出（行号/角色/问题/当前值/建议修改） 3. 🟡 建议关注 → 表格列出 4. ⚠️ 缺失项（如有） 5. ✅ 整体评价 # 2026-05-13 工作记忆 ## 王璐辰 — 剧本台词润色审校 ### 审校#1: L1-S2-U18-L1 中国周 - 文档：https://makee-interactive.feishu.cn/wiki/PgWrwllW2ikQKgkLTYKcmKFonXc - 🔴 必须修改",
      "recallCount": 1,
      "dailyCount": 0,
      "groundedCount": 0,
      "totalScore": 1,
      "maxScore": 1,
      "firstRecalledAt": "2026-05-13T09:14:31.249Z",
      "lastRecalledAt": "2026-05-13T09:14:31.249Z",
      "queryHashes": [
        "4906de25dd2a"
      ],
      "recallDays": [
        "2026-05-13"
      ],
      "conceptTags": [
        "l1-s2-u18-l1",
        "l1-s2-u18-l2",
        "dragon/loong",
        "行数/覆盖",
        "行号/角色/问题/当前值/建议修改",
        "工作",
        "记忆",
        "剧本"
      ]
    },
    "memory:memory/2026-05-12.md:189:209": {
      "key": "memory:memory/2026-05-12.md:189:209",
      "path": "memory/2026-05-12.md",
      "startLine": 189,
      "endLine": 209,
      "source": "memory",
      "snippet": "- **脚本：** `scripts/fix_matchInfo_0213_0218_desc.py` - **技能更新：** 图片描述规范写入 `business_production/单元挑战/skills/unit_challenge/questions/reading/reading_info_match/SKILL.md` ### 刘彦江 — L1 配置表审校 + 技能沉淀（11:50 ~ 12:10） - **数据源：** `Nq3Zb258aae7SRs2QfXcqsQYnxJ` / `tblTxGpf6GQ5c7DZ` - **ID 编码：** 7位 = S(2位) + U(2位) + 序列号(3位) - **技能沉淀：** `scripts/audit_l1_config.py` + `skills/audit_l1_config/SKILL.md` ### 刘彦江 — 1213001-1216010 批量审校 40 条（12:10 ~ 14:00） - **范围：** L1S2 Units 13-16 - **脚本修复（过程中）：** sort 大小写误报 / ID 末尾空格 / 朗读跟读题误报 - **结果：** 系统性 classificationInfo 互换(已标记不视为错误) + 17条具体错误 + 23条通过 - **脚本：** `scripts/audit_l1_config.py` + `scripts/audit_batch_1213001_1216010.py` ### 刘彦江 — 审校结果修正 + JSON 修复（14:00 ~",
      "recallCount": 2,
      "dailyCount": 0,
      "groundedCount": 0,
      "totalScore": 2,
      "maxScore": 1,
      "firstRecalledAt": "2026-05-13T09:14:31.249Z",
      "lastRecalledAt": "2026-05-17T04:51:21.297Z",
      "queryHashes": [
        "4906de25dd2a",
        "0e7edf653be7"
      ],
      "recallDays": [
        "2026-05-13",
        "2026-05-17"
      ],
      "conceptTags": [
        "scripts/audit-l1-config.py",
        "skills/audit-l1-config/skill.md",
        "1213001-1216010",
        "13-16",
        "脚本",
        "scripts",
        "fix-matchinfo-0213-0218-desc.py",
        "技能"
      ]
    },
    "memory:memory/2026-05-12.md:92:113": {
      "key": "memory:memory/2026-05-12.md:92:113",
      "path": "memory/2026-05-12.md",
      "startLine": 92,
      "endLine": 113,
      "source": "memory",
      "snippet": "- L2 B级及以上图片文字需为完整陈述句（3-5词+） ### 刘彦江 — L1 配置表审校 + 技能沉淀（11:50 ~ 12:10） - **数据源：** 飞书多维表格「互动知识点 - 句子」→「Level 1 配置表」(`Nq3Zb258aae7SRs2QfXcqsQYnxJ` / `tblTxGpf6GQ5c7DZ`) - **ID 编码规则：** 7位 = 前2位(Season) + 中2位(Unit) + 后3位(序列号) - 例: 1214001 = L1S2(12) + U14(14) + 001 - **审校记录 1214001 (You need to...) 发现：** 1. ❌ classificationInfo 值互换: cambridgeLevel=A1 vs cefrLevel=YLE（与列字段反了） 2. ❌ sentenceStructureSort 题2: 单词库有need无needs，三单主语Otis语法错误 3. ⚠️ sentenceStructureClozeWordMcq: \"put your toys\" 省略 away 不够自然 - **技能沉淀：** - 脚本: `scripts/audit_l1_config.py` — 7项自动检查 - SKILL.md: `skills/audit_l1_config/SKILL.md` — 含完整审校流程 + 4项人工审核清单 ### 刘彦江 — 1213001-1216010 批量审校 40 条（12:10 ~ 14:00） - **范围：** L1",
      "recallCount": 2,
      "dailyCount": 0,
      "groundedCount": 0,
      "totalScore": 2,
      "maxScore": 1,
      "firstRecalledAt": "2026-05-13T09:14:31.249Z",
      "lastRecalledAt": "2026-05-17T04:51:21.297Z",
      "queryHashes": [
        "4906de25dd2a",
        "0e7edf653be7"
      ],
      "recallDays": [
        "2026-05-13",
        "2026-05-17"
      ],
      "conceptTags": [
        "3-5词",
        "scripts/audit-l1-config.py",
        "skill.md",
        "skills/audit-l1-config/skill.md",
        "1213001-1216010",
        "以上",
        "图片",
        "文字"
      ]
    },
    "memory:memory/2026-05-12.md:1:20": {
      "key": "memory:memory/2026-05-12.md:1:20",
      "path": "memory/2026-05-12.md",
      "startLine": 1,
      "endLine": 20,
      "source": "memory",
      "snippet": "# 2026-05-12 工作日志 ## 会话记录 ### 刘彦江 — 021301-021801 图片描述修正 + 技能更新（09:35 ~ 09:45） - **问题：** 021301-021801 信息匹配题的图片描述缺少 `【Notice Type】` 标签，格式不符合参考规范 - **处理：** 1. 查询 bitable 获取6条记录当前图片描述（tblCgfYDnnqwLfgH） 2. 按每道题的上下文匹配对应的标识/通知类型标签（如 Show Poster、Wanted Notice、School Notice 等） 3. 批量更新6条记录的图片描述字段，全部10个 `【Type】` 标签验证通过 4. 脚本：`scripts/fix_matchInfo_0213_0218_desc.py` - **技能更新：** 将图片描述规范（格式要求、核心规则、参考示例、常用类型标签参考表）更新到 `business_production/单元挑战/skills/unit_challenge/questions/reading/reading_info_match/SKILL.md` - **规范要点：** - 每张图片 → `图片材料文本：\\n【Type】\\nActual text` - 图片必须是真实标识/通知（非标签式） - L2 B级及以上图片文字需为完整陈述句（3-5词+） ### 刘彦江 — L1 配置表审校 + 技能沉淀（11:50 ~ 12:10） - **数据源：** 飞书多维表格「互动知识点 - 句子」→「Level",
      "recallCount": 3,
      "dailyCount": 0,
      "groundedCount": 0,
      "totalScore": 3,
      "maxScore": 1,
      "firstRecalledAt": "2026-05-13T13:40:33.965Z",
      "lastRecalledAt": "2026-05-14T02:49:02.264Z",
      "queryHashes": [
        "11ea0881b126",
        "08b6f3142a2b",
        "d592c9ed5e0a"
      ],
      "recallDays": [
        "2026-05-13",
        "2026-05-14"
      ],
      "conceptTags": [
        "021301-021801",
        "按每道题的上下文匹配对应的标识/通知类型标签",
        "图片必须是真实标识/通知",
        "3-5词",
        "工作",
        "日志",
        "会话",
        "记录"
      ]
    },
    "memory:memory/2026-05-12.md:36:52": {
      "key": "memory:memory/2026-05-12.md:36:52",
      "path": "memory/2026-05-12.md",
      "startLine": 36,
      "endLine": 52,
      "source": "memory",
      "snippet": "1. 查询 bitable 获取6条记录当前图片描述（tblCgfYDnnqwLfgH） 2. 按每道题的上下文匹配对应的标识/通知类型标签（如 Show Poster、Wanted Notice、School Notice 等） 3. 批量更新6条记录的图片描述字段，全部10个 `【Type】` 标签验证通过 4. 脚本：`scripts/fix_matchInfo_0213_0218_desc.py` - **技能更新：** 将图片描述规范（格式要求、核心规则、参考示例、常用类型标签参考表）更新到 `business_production/单元挑战/skills/unit_challenge/questions/reading/reading_info_match/SKILL.md` - **规范要点：** - 每张图片 → `图片材料文本：\\n【Type】\\nActual text` - 图片必须是真实标识/通知（非标签式） - L2 B级及以上图片文字需为完整陈述句（3-5词+） ### 刘彦江 — L1 配置表审校 + 技能沉淀（11:50 ~ 12:10） - **数据源：** 飞书多维表格「互动知识点 - 句子」→「Level 1 配置表」(`Nq3Zb258aae7SRs2QfXcqsQYnxJ` / `tblTxGpf6GQ5c7DZ`) - **ID 编码规则：** 7位 = 前2位(Season) + 中2位(Unit) + 后3位(序列号) - 例: 1214001 = L1S2(12) + U14(14) + 001",
      "recallCount": 2,
      "dailyCount": 0,
      "groundedCount": 0,
      "totalScore": 2,
      "maxScore": 1,
      "firstRecalledAt": "2026-05-13T13:40:33.965Z",
      "lastRecalledAt": "2026-05-13T13:40:41.646Z",
      "queryHashes": [
        "11ea0881b126",
        "08b6f3142a2b"
      ],
      "recallDays": [
        "2026-05-13"
      ],
      "conceptTags": [
        "按每道题的上下文匹配对应的标识/通知类型标签",
        "图片必须是真实标识/通知",
        "3-5词",
        "查询",
        "bitable",
        "获取",
        "记录",
        "当前"
      ]
    },
    "memory:memory/2026-05-12.md:170:193": {
      "key": "memory:memory/2026-05-12.md:170:193",
      "path": "memory/2026-05-12.md",
      "startLine": 170,
      "endLine": 193,
      "source": "memory",
      "snippet": "- 每个题型：cType + bitable 定位 + JSON 字段表 + 结构特点 + 与同类题型的差异说明 #### 发现 - 写作互动和邮件组句 cType 相同（`core_writing_questionMakeSentence`），通过 textInfo 区分素材 - 口语快答/妙问 JSON 结构几乎相同，差异在 prompt 配置和对话样例内容 - 合作阅读和合作听力的核心差异：`textData.text[]` ↔ `textData.audio[]` - meaning 标签（合作阅读）为开放型自由文本，非受控词表 #### 产出文件 - `skills/bitable-reader/SKILL.md` — 通用 bitable 读取技能（164行） - `skills/core-content-json-standard/SKILL.md` — 全题型 JSON 标准 v2.0（393行） - `scripts/audit_core_reading_S0.py` — 合作阅读 S0 审校脚本（含审校发现） # 2026-05-12 工作日志 ## 会话记录 ### 刘彦江 — 021301-021801 图片描述修正 + 技能更新（09:35 ~ 09:45） - **问题：** 021301-021801 信息匹配题的图片描述缺少 `【Notice Type】` 标签 - **处理：** 批量更新6条记录的图片描述字段，全部10个标签验证通过 - **脚本：** `scripts/fix_matchInfo_0213_0218_desc.py`",
      "recallCount": 2,
      "dailyCount": 0,
      "groundedCount": 0,
      "totalScore": 2,
      "maxScore": 1,
      "firstRecalledAt": "2026-05-14T02:49:02.264Z",
      "lastRecalledAt": "2026-05-17T06:05:07.385Z",
      "queryHashes": [
        "d592c9ed5e0a",
        "5f858a7d5e0b"
      ],
      "recallDays": [
        "2026-05-14",
        "2026-05-17"
      ],
      "conceptTags": [
        "口语快答/妙问",
        "textdata.text",
        "textdata.audio",
        "skills/bitable-reader/skill.md",
        "v2.0",
        "scripts/audit-core-reading-s0.py",
        "021301-021801",
        "ctype"
      ]
    },
    "memory:memory/2026-05-12.md:76:95": {
      "key": "memory:memory/2026-05-12.md:76:95",
      "path": "memory/2026-05-12.md",
      "startLine": 76,
      "endLine": 95,
      "source": "memory",
      "snippet": "- **脚本回填脚本：** `scripts/audit_batch_1213001_1216010.py` # 2026-05-12 工作日志 ## 会话记录 ### 刘彦江 — 021301-021801 图片描述修正 + 技能更新（09:35 ~ 09:45） - **问题：** 021301-021801 信息匹配题的图片描述缺少 `【Notice Type】` 标签，格式不符合参考规范 - **处理：** 1. 查询 bitable 获取6条记录当前图片描述（tblCgfYDnnqwLfgH） 2. 按每道题的上下文匹配对应的标识/通知类型标签（如 Show Poster、Wanted Notice、School Notice 等） 3. 批量更新6条记录的图片描述字段，全部10个 `【Type】` 标签验证通过 4. 脚本：`scripts/fix_matchInfo_0213_0218_desc.py` - **技能更新：** 将图片描述规范（格式要求、核心规则、参考示例、常用类型标签参考表）更新到 `business_production/单元挑战/skills/unit_challenge/questions/reading/reading_info_match/SKILL.md` - **规范要点：** - 每张图片 → `图片材料文本：\\n【Type】\\nActual text` - 图片必须是真实标识/通知（非标签式） - L2 B级及以上图片文字需为完整陈述句（3-5词+） ### 刘彦江 — L1 配置表审校 + 技",
      "recallCount": 2,
      "dailyCount": 0,
      "groundedCount": 0,
      "totalScore": 2,
      "maxScore": 1,
      "firstRecalledAt": "2026-05-14T02:49:02.264Z",
      "lastRecalledAt": "2026-05-17T06:05:07.385Z",
      "queryHashes": [
        "d592c9ed5e0a",
        "5f858a7d5e0b"
      ],
      "recallDays": [
        "2026-05-14",
        "2026-05-17"
      ],
      "conceptTags": [
        "021301-021801",
        "按每道题的上下文匹配对应的标识/通知类型标签",
        "图片必须是真实标识/通知",
        "3-5词",
        "脚本",
        "回填",
        "scripts",
        "audit-batch-1213001-1216010"
      ]
    },
    "memory:memory/2026-05-07.md:354:368": {
      "key": "memory:memory/2026-05-07.md:354:368",
      "path": "memory/2026-05-07.md",
      "startLine": 354,
      "endLine": 368,
      "source": "memory",
      "snippet": "- **需求：** 将 020102（I am...）和 020103（I am ready / Thank you）两套题合并为一个 `{first:..., second:...}` JSON，统一 questionSetID=0000001 - **状态：** ✅ 已完成 - **核心考点分析（用户强调）：** 需分析每个句型的核心考点（孩子最容易犯错的地方），挖空对准核心考点 - I am/from 组：am（系动词第一人称）、from（介词选择）、student（a+名词结构） - Thank you for 组：for（介词选择，非 you）、helping（for+动名词，非 help/to help） - **输出文件：** `output/writing_pic_qa_combined.json` ### 刘彦江 — 组件配置-json 请求（L1-S2-U13-L4 沙漠之花） - **时间：** 16:45 ~ 17:51 - **文档：** `https://makee-interactive.feishu.cn/wiki/K5E1wzwk7it9t7kXvcbc6Xugnhc` - **状态：** ⚠️ 未完成 — pipeline 识别到 0 组件 - **根因：** 剧本文档的13个组件数据存储在 markdown 内联表格中（lark-table，5列×36行），而非内嵌 Sheet。当前 pipeline 的 parse_script 只从内嵌 Sheet 读取组件数据，不支持 markdown 表格组件解析 - **已识别组件（ma",
      "recallCount": 5,
      "dailyCount": 0,
      "groundedCount": 0,
      "totalScore": 5,
      "maxScore": 1,
      "firstRecalledAt": "2026-05-15T07:13:08.147Z",
      "lastRecalledAt": "2026-05-18T08:52:44.266Z",
      "queryHashes": [
        "08364c8746ab",
        "4f08741ab4fd",
        "6a1144a866c9",
        "65b539c56ec3",
        "19c873a71799"
      ],
      "recallDays": [
        "2026-05-15",
        "2026-05-17",
        "2026-05-18"
      ],
      "conceptTags": [
        "am/from",
        "help/to",
        "组件配置-json",
        "l1-s2-u13-l4",
        "lark-table",
        "parse-script",
        "需求",
        "ready"
      ]
    },
    "memory:memory/2026-04-22.md:1:8": {
      "key": "memory:memory/2026-04-22.md:1:8",
      "path": "memory/2026-04-22.md",
      "startLine": 1,
      "endLine": 8,
      "source": "memory",
      "snippet": "[李应瑛 2026-04-22 提出要求] 所有需要包含对话的内容（如剧本、互动组件等）必须要有【后置对话】字段，无后置对话时填写“无”。 [李应瑛 2026-04-22 确认规则] 剧本内嵌表格组件填写位置规则：仅当表格第一列（A列）明确标注为对话类类型（对话朗读/对话挖空/对话选读/对话组句等）时，才在同一行的H列（【组件】列）填写对应的组件内容，其他类型行（TL/场景/角色/图片/非对话类等）无需填写。 [李应瑛 2026-04-22 确认格式规则] 对话类组件字段换行规则：每个结构单独占一行，格式为： 【任务标题】xxx 【情境引入】xxx 【互动内容】xxx 【后置对话】xxx 单元格内使用\\n作为换行符实现，后续所有组件均遵循此格式。",
      "recallCount": 4,
      "dailyCount": 0,
      "groundedCount": 0,
      "totalScore": 4,
      "maxScore": 1,
      "firstRecalledAt": "2026-05-15T07:13:08.147Z",
      "lastRecalledAt": "2026-05-18T08:52:44.266Z",
      "queryHashes": [
        "08364c8746ab",
        "4f08741ab4fd",
        "6a1144a866c9",
        "19c873a71799"
      ],
      "recallDays": [
        "2026-05-15",
        "2026-05-17",
        "2026-05-18"
      ],
      "conceptTags": [
        "对话朗读/对话挖空/对话选读/对话组句等",
        "tl/场景/角色/图片/非对话类等",
        "提出",
        "要求",
        "所有",
        "需要",
        "包含",
        "对话"
      ]
    },
    "memory:memory/2026-04-30.md:1:27": {
      "key": "memory:memory/2026-04-30.md:1:27",
      "path": "memory/2026-04-30.md",
      "startLine": 1,
      "endLine": 27,
      "source": "memory",
      "snippet": "# 2026-04-30 工作日志 ## 李应瑛 — L1-S2-U15-L5 剧本组件配置生产 ### 文档信息 - **剧本**: 另一个BoBo 副本 - **Wiki**: https://makee-interactive.feishu.cn/wiki/HSSRwUqxSi8p51k6FtIcA7UAn8y - **Spreadsheet Token**: SD3Fs2zv8hM5evtHA5Nc7UjQncd - **Sheet ID**: wMQVyV - **Sheet 列结构**（注意：中间新增了\"配置信息\"列C，组件配置列从F移至G）: - A: 类型, B: ID, C: 配置信息, D: 剧情描述, E: 角色名, F: 英文台词, G: 组件配置, H: 知识点, I: 编剧台词 ### 已完成组件配置 #### 1. 对话朗读 (6条) — 规则: dialogue-reading-config | ID | 类型 | 任务标题 | 互动内容 | |---|------|---------|---------| | 1 | 对话朗读-配图 | 给May看照片 | I have a photo. | | 2 | 对话朗读-配图 | 指认照片中的房子 | Look at this one. | | 3 | 对话朗读-配图 | 告诉May这是我的房子 | This house is mine. | | 4 | 对话朗读 | 赞叹May有一个农场 | You have a farm! | | 7 | 对话朗读 | 夸May刷漆刷得好 | You",
      "recallCount": 1,
      "dailyCount": 0,
      "groundedCount": 0,
      "totalScore": 1,
      "maxScore": 1,
      "firstRecalledAt": "2026-05-17T05:52:07.611Z",
      "lastRecalledAt": "2026-05-17T05:52:07.611Z",
      "queryHashes": [
        "65b539c56ec3"
      ],
      "recallDays": [
        "2026-05-17"
      ],
      "conceptTags": [
        "l1-s2-u15-l5",
        "dialogue-reading-config",
        "对话朗读-配图",
        "工作",
        "日志",
        "u15",
        "剧本",
        "配置"
      ]
    },
    "memory:memory/2026-05-12.md:137:149": {
      "key": "memory:memory/2026-05-12.md:137:149",
      "path": "memory/2026-05-12.md",
      "startLine": 137,
      "endLine": 149,
      "source": "memory",
      "snippet": "- **根因：** explanation 文本中的 ASCII `\"` (U+0022) 被当作中文双引号使用，JSON 解析器将其视为字符串终止符 - **修复策略：** 从「句意选择题」中文列提取英文原句和选项 → json.dumps 重建标准 JSON（只修格式，不修内容） - **1216007 特殊处理：** 原始 JSON 损坏严重，需从中文列完全重建 - **二次修复（Q2 丢失问题）：** 首次不完全修复导致 9 条记录的 Q2 被覆盖丢失，且 Q1 被 JSON 垃圾污染 → 从中文列全面重建 Q1+Q2 - **最终结果：10/10 条记录 sentenceMeaningMeaning 均可 json.loads 正确解析，每条含 2 题，无残留垃圾数据** - **受影响记录：** 1213004, 1213006, 1213010, 1214008, 1215005, 1216001, 1216004, 1216007, 1216008, 1216010 - **审校结果同步更新：** 移除所有 10 条的 `❌ JSON 解析失败` 标记 - **注意：** Q1 explanation 在重建时词表述可能微调（内容含义一致），如需精确原始 wording 可从中文列恢复后人工微调 ## 经验教训 ### bitable 写入需严格流程管控（2026-05-12） - 批量更新 JSON 字段时必须：写入前完整提取原始数据 → 写入后逐字段 diff 验证 → 发现异常立即回滚",
      "recallCount": 2,
      "dailyCount": 0,
      "groundedCount": 0,
      "totalScore": 2,
      "maxScore": 1,
      "firstRecalledAt": "2026-05-18T02:42:25.325Z",
      "lastRecalledAt": "2026-05-18T09:02:50.278Z",
      "queryHashes": [
        "6b577a0b3971",
        "3069a934195d"
      ],
      "recallDays": [
        "2026-05-18"
      ],
      "conceptTags": [
        "json.dumps",
        "10/10",
        "json.loads",
        "根因",
        "explanation",
        "文本",
        "中的",
        "ascii"
      ]
    },
    "memory:memory/2026-05-17.md:19:41": {
      "key": "memory:memory/2026-05-17.md:19:41",
      "path": "memory/2026-05-17.md",
      "startLine": 19,
      "endLine": 41,
      "source": "memory",
      "snippet": "- `raw_content` API 不暴露此类嵌入 Sheet，需通过 blocks API 查找 `block_type=30` 的 grid_column 节点来发现 sheet token - 该文档含 2 个嵌入 Sheet：`zbfYO4`（知识点区）和 `Nr3Ovs`（243 行 × 8 列脚本表） ### 已完成的组件回填（14/14 对话组件） | 组件类型 | 数量 | 所用 skill | |---------|:--:|-----------| | 对话朗读 | 6 | dialogue-reading-config | | 对话朗读-配图 | 2 | dialogue-reading-config | | 对话挖空 | 2 | dialogue-fill-in-blanks-config | | 对话挖空-配图 | 1 | dialogue-fill-in-blanks-config | | 对话选择-配图 | 1 | dialogue-choose-config | | 对话选读 | 1 | **dialogue-selective-reading-config（新建）** | | 对话组句 | 1 | dialogue-sentence-building-config | ### Skill 库补全 - **新建 skill**：`~/.openclaw/workspace-xiaoyan/skills/dialogue-selective-reading-config/SKILL.md` - 格式来源：`dialogue-inter",
      "recallCount": 1,
      "dailyCount": 0,
      "groundedCount": 0,
      "totalScore": 1,
      "maxScore": 1,
      "firstRecalledAt": "2026-05-18T02:42:25.325Z",
      "lastRecalledAt": "2026-05-18T02:42:25.325Z",
      "queryHashes": [
        "eb45753e9aa6"
      ],
      "recallDays": [
        "2026-05-18"
      ],
      "conceptTags": [
        "raw-content",
        "block-type",
        "grid-column",
        "14/14",
        "dialogue-reading-config",
        "对话朗读-配图",
        "dialogue-fill-in-blanks-config",
        "对话挖空-配图"
      ]
    },
    "memory:memory/2026-05-14.md:1:29": {
      "key": "memory:memory/2026-05-14.md:1:29",
      "path": "memory/2026-05-14.md",
      "startLine": 1,
      "endLine": 29,
      "source": "memory",
      "snippet": "## [刘彦江] 单元挑战听力审校（2026-05-14 10:23） ### 审校范围 单元挑战多维表格（App Token: `CMHSbUUjka3TrUsaxxEc297ongf`）听力部分 P1-P7，排除P3。 ### 审校结果 - 总记录数：90条（含空记录），有内容54条 - ✅ 通过：45条 | 🔴 需修改：9条 ### 🔴 需修改记录 | 表 | record_id | 问题 | |---|---|---| | P4-短对话选择 | recvjufM76lEsW | 题目集合ID不匹配: field=021501, jsonData=032901 | | P4-短对话选择 | recvjufM76lRHQ | 题目集合ID不匹配: field=021801, jsonData=173601 | | P7-听力拖拽 | recv9G4M8EitVx | ability用¥¥分隔, 应为逗号 | | P7-听力拖拽 | recvhYCmybrzzx | second[0].ability为空 | | P7-听力拖拽 | recviZIWmT91yS | QSID=\"L1\"异常, 题目1/2文本字段空 | | P7-听力拖拽 | recvj5t2UBNxx3 | second[0].ability为空 | | P1-图片选择 | recuUjgbwn3Lkm | explanation过短 | | P1-图片选择 | recuXeaDe2DMco | explanation过短(4处) | | P1-图片选择 | recv2vIWOdExGi | exp",
      "recallCount": 2,
      "dailyCount": 0,
      "groundedCount": 0,
      "totalScore": 2,
      "maxScore": 1,
      "firstRecalledAt": "2026-05-18T02:42:35.690Z",
      "lastRecalledAt": "2026-05-18T02:42:52.167Z",
      "queryHashes": [
        "6f2558e71aa6",
        "88190dc3b5bc"
      ],
      "recallDays": [
        "2026-05-18"
      ],
      "conceptTags": [
        "p1-p7",
        "record-id",
        "p4-短对话选择",
        "p7-听力拖拽",
        "题目1/2文本字段空",
        "p1-图片选择",
        "彦江",
        "单元"
      ]
    },
    "memory:memory/2026-05-14.md:24:47": {
      "key": "memory:memory/2026-05-14.md:24:47",
      "path": "memory/2026-05-14.md",
      "startLine": 24,
      "endLine": 47,
      "source": "memory",
      "snippet": "- `scripts/audit_unit_challenge_listening.py` — 第1轮基础审校（结构/字段完整性） - `scripts/audit_unit_challenge_listening_v2.py` — 第2轮深度审校（能力标签/内容一致性） - `scripts/write_audit_results_v3.py` — 结果写回bitable（Python直接调API） ### 注意事项 - P6 表格部分记录 dataStatus 为 None（非\"0\"），已手动补写 - 写入脚本直接使用 Python requests 调飞书 API，绕过 bash 脚本，避免 shell 变量转义和阻塞问题 ## [刘彦江] 单元挑战听力审校修复（2026-05-14 10:30） ### 已修复 9 条 | # | 表 | record_id | 修复内容 | |---|-----|-----------|----------| | 1 | P7 | recv9G4M8EitVx | ability ¥¥→逗号 + explanation ¥¥→分号 | | 2 | P7 | recvhYCmybrzzx | second ability补全（复用first）+ explanation补充 | | 3 | P7 | recvj5t2UBNxx3 | second ability补全（复用first） | | 4 | P4 | recvjufM76lEsW | QSID字段 021501→032901（统一为jsonData内部值） | | 5 |",
      "recallCount": 1,
      "dailyCount": 0,
      "groundedCount": 0,
      "totalScore": 1,
      "maxScore": 1,
      "firstRecalledAt": "2026-05-18T02:42:35.690Z",
      "lastRecalledAt": "2026-05-18T02:42:35.690Z",
      "queryHashes": [
        "6f2558e71aa6"
      ],
      "recallDays": [
        "2026-05-18"
      ],
      "conceptTags": [
        "结构/字段完整性",
        "能力标签/内容一致性",
        "record-id",
        "scripts",
        "基础",
        "结构",
        "完整性",
        "深度"
      ]
    },
    "memory:memory/2026-05-14.md:42:71": {
      "key": "memory:memory/2026-05-14.md:42:71",
      "path": "memory/2026-05-14.md",
      "startLine": 42,
      "endLine": 71,
      "source": "memory",
      "snippet": "| 6 | P7 | recviZIWmT91yS | QSID \"L1\"→\"L1-TBD-REVIEW\"；标记需人工审核（first/second内容重复） | | 7 | P1 | recuUjgbwn3Lkm | 标记为占位数据（QSID=000001） | | 8 | P1 | recuXeaDe2DMco | explanation优化：通用模板→带选项字母的版本 | | 9 | P1 | recv2vIWOdExGi | explanation优化：通用模板→带选项字母的版本 | ### 需人工跟进 - recviZIWmT91yS: QSID需确认正确值，first/second内容重复（都是park场景），文本字段空 ## [刘彦江] 第二轮修复（2026-05-14 10:40） ### 修复内容 | # | 表 | record_id | 修复内容 | |---|-----|-----------|----------| | 1 | P4 | recvjufM76hNv5 | JSON清理重写（原解析报错） | | 2 | P4 | recvjufM76eMKs | QSID 021701→032901 | | 3 | P1 | recuVgdFqcW20X | explanation补全 | | 4 | P1 | recvj1lf9upJNH | explanation补全 | | 5 | P1 | recvj1lfsXqshG | explanation已OK（无须改） | | 6 | P4 | recvjufM76o6of | explanati",
      "recallCount": 1,
      "dailyCount": 0,
      "groundedCount": 0,
      "totalScore": 1,
      "maxScore": 1,
      "firstRecalledAt": "2026-05-18T02:42:52.167Z",
      "lastRecalledAt": "2026-05-18T02:42:52.167Z",
      "queryHashes": [
        "88190dc3b5bc"
      ],
      "recallDays": [
        "2026-05-18"
      ],
      "conceptTags": [
        "l1-tbd-review",
        "first/second内容重复",
        "record-id",
        "recviziwmt91ys",
        "qsid",
        "tbd",
        "review",
        "标记"
      ]
    },
    "memory:memory/2026-05-18.md:23:29": {
      "key": "memory:memory/2026-05-18.md:23:29",
      "path": "memory/2026-05-18.md",
      "startLine": 23,
      "endLine": 29,
      "source": "memory",
      "snippet": "- 缺失列：写作-P2（tblSAwlMumKoyjws）、口语-P4（tblsD2dxaRpLmkXD）无「审校结果」列 ### 经验 - 写作-P3 解析在 questionList 嵌套层级，初审误判为空，复查后确认含中文 - bitable curl 写回嵌套JSON时，Python subprocess构造完整body比shell变量展开安全 - 听力-P1 000001 虽有5条first+5条second，但确有题目内容，不是纯占位，按实际内容生成了解析",
      "recallCount": 1,
      "dailyCount": 0,
      "groundedCount": 0,
      "totalScore": 1,
      "maxScore": 1,
      "firstRecalledAt": "2026-05-18T02:42:52.167Z",
      "lastRecalledAt": "2026-05-18T02:42:52.167Z",
      "queryHashes": [
        "88190dc3b5bc"
      ],
      "recallDays": [
        "2026-05-18"
      ],
      "conceptTags": [
        "写作-p2",
        "口语-p4",
        "写作-p3",
        "听力-p1",
        "缺失",
        "写作",
        "tblsawlmumkoyjws",
        "口语"
      ]
    },
    "memory:memory/2026-05-18.md:1:27": {
      "key": "memory:memory/2026-05-18.md:1:27",
      "path": "memory/2026-05-18.md",
      "startLine": 1,
      "endLine": 27,
      "source": "memory",
      "snippet": "# 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变量展开安全",
      "recallCount": 3,
      "dailyCount": 0,
      "groundedCount": 0,
      "totalScore": 3,
      "maxScore": 1,
      "firstRecalledAt": "2026-05-18T02:42:52.167Z",
      "lastRecalledAt": "2026-05-18T11:35:23.341Z",
      "queryHashes": [
        "88190dc3b5bc",
        "2a58080272be",
        "e3188fdd52d6"
      ],
      "recallDays": [
        "2026-05-18"
      ],
      "conceptTags": [
        "听力-p2",
        "口语-p1",
        "032701/032901",
        "口语-p2",
        "听力-p1",
        "听力-p4",
        "021701/022101/032501/032901",
        "共写作-p3复查后实际ok"
      ]
    },
    "memory:memory/2026-05-14.md:123:144": {
      "key": "memory:memory/2026-05-14.md:123:144",
      "path": "memory/2026-05-14.md",
      "startLine": 123,
      "endLine": 144,
      "source": "memory",
      "snippet": "## [刘彦江] 写作+口语 C级 032501-032901 生产（2026-05-14 15:42） ### 生产内容（10条） | # | 表 | QSID | record_id | 题型 | 主题 | 难度 | |---|-----|------|-----------|------|------|------| | 1 | 写作-P1 | 032501 | recvjzXjMKAQ4i | 邮件组句 | 鼓励朋友参加音乐会 | C | | 2 | 写作-P1 | 032601 | recvjzXklYIE05 | 邮件组句 | 给老师写感谢信 | C | | 3 | 写作-P1 | 032701 | recvjzXkYnsQ8r | 邮件组句 | 描述咖啡馆和遇到的人 | C | | 4 | 写作-P1 | 032801 | recvjzXlxz4r3i | 邮件组句 | 科学项目求助 | C | | 5 | 写作-P1 | 032901 | recvjzXm5yEXBY | 邮件组句 | 妈妈的生日派对 | C | | 6 | 口语-P1 | 032501 | recvjzWP7IcA8O | 日常回答 | 观点转变与过去习惯 | C | | 7 | 口语-P1 | 032701 | recvjzWPQc5JZW | 日常回答 | 好奇心与想法改变 | C | | 8 | 口语-P1 | 032901 | recvjzWQr0Kif7 | 日常回答 | 团队合作与沟通 | C | | 9 | 口语-P2 | 032601 | recvjzWR07LSna |",
      "recallCount": 2,
      "dailyCount": 0,
      "groundedCount": 0,
      "totalScore": 2,
      "maxScore": 1,
      "firstRecalledAt": "2026-05-18T11:35:06.740Z",
      "lastRecalledAt": "2026-05-18T11:35:23.341Z",
      "queryHashes": [
        "2a58080272be",
        "e3188fdd52d6"
      ],
      "recallDays": [
        "2026-05-18"
      ],
      "conceptTags": [
        "032501-032901",
        "record-id",
        "写作-p1",
        "口语-p1",
        "口语-p2",
        "彦江",
        "写作",
        "口语"
      ]
    },
    "memory:memory/2026-05-14.md:64:93": {
      "key": "memory:memory/2026-05-14.md:64:93",
      "path": "memory/2026-05-14.md",
      "startLine": 64,
      "endLine": 93,
      "source": "memory",
      "snippet": "| 10 | P5 | recvjuiypW7mZY | 补审校结果（之前漏写） | | 11 | P4 | recvjufM76frUP | 缺second题组→人工确认豁免 | | - | P7 | recviZIWmT91yS | ⏭️ 人工确认跳过 | ### 最终状态 - ✅ 通过 48条 | ⏭️ 跳过 2条 | 🔴 0条 - 全部有内容的记录审校通过 ## [刘彦江] 写作+口语题目生产（2026-05-14 12:10） ### 生产内容（6条） | # | 表 | QSID | record_id | 题型 | first | second | |---|-----|------|-----------|------|-------|--------| | 1 | 写作-P1-邮件回复 | 021801 | recvjz5GeTe9aB | writing_email | 6句排序 | — | | 2 | 写作-P1-邮件回复 | 021901 | recvjz5GE2LKi9 | writing_email | 7句排序 | — | | 3 | 写作-P1-邮件回复 | 022001 | recvjz5H3s5k8y | writing_email | 6句排序 | — | | 4 | 口语-P2-话题讨论 | 021801 | recvjz5Hs8gpCJ | speaking_topic | 5题 | 5题 | | 5 | 口语-P1-日常回答 | 021901 | recvjz5HSdc0nZ | speaking_qa | 4题 | 4题",
      "recallCount": 2,
      "dailyCount": 0,
      "groundedCount": 0,
      "totalScore": 2,
      "maxScore": 1,
      "firstRecalledAt": "2026-05-18T11:35:06.740Z",
      "lastRecalledAt": "2026-05-18T11:35:23.341Z",
      "queryHashes": [
        "2a58080272be",
        "e3188fdd52d6"
      ],
      "recallDays": [
        "2026-05-18"
      ],
      "conceptTags": [
        "record-id",
        "写作-p1-邮件回复",
        "writing-email",
        "口语-p2-话题讨论",
        "speaking-topic",
        "口语-p1-日常回答",
        "speaking-qa",
        "recvjuiypw7mzy"
      ]
    },
    "memory:memory/2026-05-14.md:138:165": {
      "key": "memory:memory/2026-05-14.md:138:165",
      "path": "memory/2026-05-14.md",
      "startLine": 138,
      "endLine": 165,
      "source": "memory",
      "snippet": "| 10 | 口语-P2 | 032801 | recvjzWRISLiD9 | 话题讨论 | 挑战与习惯管理 | C | ### 落款多样化 - Yours truly, Sam / Warm regards, Lucy / Kind regards, Emma / Gratefully, Tom / With love, Jessica ### 图片描述（口语-P2） - 032601: 梦想与未来（仰望星空、选择困难、职业海报、老师写\"梦想\"） - 032801: 挑战与习惯（作业压力、游戏打到深夜、考试不及格、图书馆讨论） ### 写作表字段名 - 写作-P1 字段为\"题目1\"（非\"题目1 完整配置\"），口语-P1 使用\"题目1热词\"/\"题目2热词\" ## [刘彦江] 口语-P1 explanation 全量补充（2026-05-14 16:01） ### 背景 口语-P1-日常回答表（tblRGv7k4WH58Jgq）共39条记录，其中23条历史记录的171道题目 explanation 字段为空。 ### 补齐结果 - 更新记录：23条 → 全部写回成功 - 生成 explanation：171题 - 最终验证：258题全通过（0空、0偏短） - 新增3条（032501/032701/032901）在前序批次中已含完整 explanation，本次未改动 ### 生成规则 按 ability 标签分类匹配模板生成中文解析： - 基础信息表达｜个人信息问答 → 细分：年龄/姓名/家庭/外貌/物品位置 - 表达喜好与理由 → 喜好+because原因引导",
      "recallCount": 2,
      "dailyCount": 0,
      "groundedCount": 0,
      "totalScore": 2,
      "maxScore": 1,
      "firstRecalledAt": "2026-05-18T11:35:06.740Z",
      "lastRecalledAt": "2026-05-18T11:35:23.341Z",
      "queryHashes": [
        "2a58080272be",
        "e3188fdd52d6"
      ],
      "recallDays": [
        "2026-05-18"
      ],
      "conceptTags": [
        "口语-p2",
        "写作-p1",
        "口语-p1",
        "口语-p1-日常回答表",
        "032501/032701/032901",
        "年龄/姓名/家庭/外貌/物品位置",
        "口语",
        "recvjzwrislid9"
      ]
    },
    "memory:memory/2026-05-13.md:1:29": {
      "key": "memory:memory/2026-05-13.md:1:29",
      "path": "memory/2026-05-13.md",
      "startLine": 1,
      "endLine": 29,
      "source": "memory",
      "snippet": "## [刘彦江] 单元挑战口语写作内容生产（2026-05-13 21:40） ### 生产范围（10条记录，全部单题组，全部回填验证通过 ✅） | ID | 写作-P1 | 口语-P1 | 写作-P2 | 口语-P2 | 状态 | |----|---------|---------|---------|---------|------| | 011301 | ✅ 邮件回复 | ✅ 日常回答 | - | - | 全部通过 | | 011401 | ✅ 邮件回复 | ✅ 日常回答 | - | - | 全部通过 | | 011501 | ✅ 邮件回复 | ✅ 日常回答 | - | - | 全部通过 | | 011701 | ✅ 邮件回复 | ✅ 日常回答 | - | - | 全部通过 | | 011601 | - | - | ✅ 看图写作 | ✅ 话题讨论 | 全部通过 | ### 题型结构总结 **写作-P1 (writing_email)**: - 6句段落排序（含3句知识点作为范文核心句） - 能力标签：短消息写作｜邮件/便条, 衔接与连贯｜连词使用 - 场景：火灾求助/宠物照顾/惊喜派对/故事分享 **口语-P1 (speaking_qa)**: - 4个引导问题，每问引导1个知识点句型 - 能力标签：基础信息表达｜个人信息问答, 表达喜好与理由, 互动应答｜问答交流 - 问题设计引导关键词：外貌描述/主动帮忙/耐心等待/购物清单 **写作-P2 (writing_picWrite)**: - 6句故事排序（含3句知识点作为故事核心句） - 能力标签：叙述故",
      "recallCount": 2,
      "dailyCount": 0,
      "groundedCount": 0,
      "totalScore": 2,
      "maxScore": 1,
      "firstRecalledAt": "2026-05-18T11:35:06.740Z",
      "lastRecalledAt": "2026-05-18T11:35:23.341Z",
      "queryHashes": [
        "2a58080272be",
        "e3188fdd52d6"
      ],
      "recallDays": [
        "2026-05-18"
      ],
      "conceptTags": [
        "写作-p1",
        "口语-p1",
        "写作-p2",
        "口语-p2",
        "writing-email",
        "邮件/便条",
        "火灾求助/宠物照顾/惊喜派对/故事分享",
        "speaking-qa"
      ]
    }
  }
}
