ai_member_xiaoyan/memory/2026-05-12.md

19 KiB
Raw Blame History

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 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项人工审核清单

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 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

  • 范围: L1S2 Units 13-16每单元 10 条,共 40 条
  • 方法: scripts/audit_l1_config.py 自动化扫描 → 误报排除 → 分类汇总 → 逐条审校回填
  • 脚本修复(过程中):
    1. sentenceStructureSort 单词对比大小写误报 → 添加 normalize首字母大写 + 去标点)
    2. ID 末尾空格敏感 → strip 比较
    3. 句子朗读/跟读题误报 options/answer 缺失 → 跳过这两种题型

审校结果汇总

  • 🔴 系统性问题40/40100% classificationInfo JSON 内 cambridgeLevel="A1" 与 cefrLevel="YLE" 值互换,列字段正确但 JSON 存储写反,疑似模板/formula 级别 bug
  • 🟡 具体错误17/40
    • sentenceMeaningMeaning JSON 解析失败 × 101213004, 1213006, 1213010, 1214008, 1215005, 1216001, 1216004, 1216007, 1216008, 1216010后8题含中文引号冲突
    • ID 字段末尾空格 × 31213001, 1215001, 1216001
    • 看图选择题有CN无JSON × 31213008, 1215010, 1216005
    • sentenceStructureSort 语法/格式错误 × 31213004(缺逗号clean Otis→clean, Otis), 1213005(bird?连写应拆为bird+?), 1214001(need→needs三单)
    • 缺少 pointId 字段 × 11213001(sort 题2)
  • 🟢 仅有系统性问题的 23 条: 其余 23 条仅 classificationInfo 互换问题,其他题型均通过自动化检查
  • 回填: 全部 40 条审校结果已写入 bitable「审校结果」列逐条验证通过
  • 脚本回填脚本: 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 配置表审校 + 技能沉淀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

  • 范围: L1S2 Units 13-16每单元 10 条,共 40 条
  • 方法: scripts/audit_l1_config.py 自动化扫描 → 误报排除 → 分类汇总 → 逐条审校回填
  • 脚本修复(过程中):
    1. sentenceStructureSort 单词对比大小写误报 → 添加 normalize首字母大写 + 去标点)
    2. ID 末尾空格敏感 → strip 比较
    3. 句子朗读/跟读题误报 options/answer 缺失 → 跳过这两种题型

审校结果汇总(初版)

  • 🔴 系统性问题40/40100% classificationInfo JSON 内 cambridgeLevel="A1" 与 cefrLevel="YLE" 值互换
  • 🟡 具体错误17/40
    • sentenceMeaningMeaning JSON 解析失败 × 101213004, 1213006, 1213010, 1214008, 1215005, 1216001, 1216004, 1216007, 1216008, 1216010
    • ID 字段末尾空格 × 31213001, 1215001, 1216001
    • 看图选择题有CN无JSON × 31213008, 1215010, 1216005
    • sentenceStructureSort 语法/格式错误 × 31213004(缺逗号clean Otis→clean, Otis), 1213005(bird?连写应拆为bird+?), 1214001(need→needs三单)
    • 缺少 pointId 字段 × 11213001(sort 题2)
  • 🟢 仅有系统性问题的 23 条
  • 回填: 全部 40 条审校结果已写入 bitable「审校结果」列逐条验证通过
  • 脚本回填脚本: scripts/audit_batch_1213001_1216010.py

刘彦江 — 审校结果修正 + 解析一致检查 + JSON 修复14:00 ~ 15:38

  • YLE↔A1 误报排除: 刘彦江确认 YLE 与 A1 等级可互通classificationInfo 值互换不视为错误

    • 全部 40 条审校结果已更新,移除 classificationInfo 互换相关告警
    • 23 条变为 ✅ 通过无其他问题17 条保留具体错误
  • 解析与题目/答案对应性检查(人工审核项):

    • 检查题型:句意选择题 ×30、句子补全题、听句作答题、场景选择题、看图选择题
    • 验证方法:提取 explanation 中的英文引句 vs question 中的英文句子、正则提取"空处应填X" vs options[answer]
    • 结果: 0 条实质性不对应
  • 10 条 sentenceMeaningMeaning JSON 修复:

    • 根因: 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 验证 → 发现异常立即回滚
  • 本次 JSON 修复中首次写入不完整导致 Q2 丢失,原因:修复脚本未正确处理多题 JSON 结构
  • 教训: 任何涉及 JSON 重建/修复的批量操作,先单条试运行验证通过后再批量执行,不可并行甩出多条

sentenceMeaningMeaning 的 explanation 引号规范2026-05-12

  • explanation 字段中的中文双引号极易被误用为 ASCII " (U+0022)
  • 建议生产侧统一使用中文引号 " (U+201C) 和 " (U+201D),或在 explanation 写入前做引号归一化预处理
  • 此类问题在常规 JSON 校验中不会被发现JSON 仍有概率合法,取决于引号出现位置),一旦出现在 JSON 字符串边界附近即导致全段解析失败

刘彦江 — 核心互动全题型 JSON 配置标准沉淀17:05 ~ 17:50

  • 目标: 从互动内容库遍历全部核心互动题型,提取 JSON 配置结构,沉淀为统一 Skill
  • 方式: 先写 bitable-reader 通用读取 Skill → 遍历 15 个 bitable → 归纳通用字段 → 分类录入各题型

架构决策

  • 统一入口,通用在上: 一个 core-content-json-standard Skill 覆盖全部题型,不拆分为题型独立 Skill
  • 五大分类: 📖阅读(2) / 🎧听力(3) / 🗣口语(4) / ✏️写作(5) / 未完成(1)
  • 通用字段提取: ID/dataStatus/kpStatus/kpInfo/taskData 是所有题型共用的基础结构

覆盖率

  • 14 种题型已录入 1 种无数据:口语探讨)
  • 4 个一级板块:通用结构 / 题型专区 / 审校规则 / 扩展指南
  • 每个题型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.0393行
  • 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
  • 技能更新: 图片描述规范写入 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 ~ 15:38

  • YLE↔A1 误报排除: 确认等级互通40条审校结果已更新
  • 解析与题目一致性检查: 0条不对应
  • 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写入前完整提取 → 写入后逐字段 diff → 异常立即回滚
  • 首次修复多题 JSON 导致 Q2 丢失 → 先单条试跑验证再批量

sentenceMeaningMeaning 引号规范2026-05-12

  • explanation 中 ASCII " 与中文引号混用导致 JSON 解析失败
  • 建议:生产侧统一用中文引号 ""U+201C/D或写入前做引号归一化

写作互动 / 邮件组句 cType 相同2026-05-12

  • 两者 cType 均为 core_writing_questionMakeSentence,通过 textInfo.textList[].type 区分素材

刘彦江 — 中互动全题型录入18:00 ~ 18:25

发现

  • 中互动结构高度统一: 全部 27 类都用 jsonData(主配置)+ kpInfo(知识点绑定),没有核心互动那种多字段分散结构
  • 6 大分类: 🗨对话(7) / 📋信息(6) / 📦词汇(2) / 🖼图片选择(4) / 📝语法(3) / 🔧其他(5)
  • 对话类公共字段: cType, cId, title, resourceMapping, preDialog, imgShowTimingList
  • 写作互动和邮件组句 cType 相同(core_writing_questionMakeSentence

产出文件

  • skills/interactive-component-json/references/json_structure_guide.md — 27 种中互动 jsonData 字段结构8736 bytes
  • skills/interactive-component-json/references/component_registry.md — 核心互动部分从🔲更新为完整注册表(含 cType+bitable_token
  • skills/core-content-json-standard/SKILL.md 双向关联

覆盖率

  • 核心互动15/15 (口语探讨 S0 无数据已标注)
  • 中互动27/27
  • 关联文件3 个core-content-json-standard + component_registry + json_structure_guide

刘彦江 — 中互动+核心互动 回填任务18:37 待继续)

上下文

  • 用户提供剧本文档: https://makee-interactive.feishu.cn/wiki/YqzzwpjwjihK9YkyRhXccaqLnzu
  • 要求:识别文档中的 3 个中互动 + 1 个核心互动,回填到对应位置
  • 上次已读取文档,找到 1 个核心互动标记第4幕 听力拖拽),但 3 个中互动标记不明显
  • 用户让我"Continue"继续处理

当前状态

  • 需要重新拉取文档,仔细识别所有互动标记
  • 文档位于 space_id=7487521512283799556
  • 上次发现的场景:太空故事 / 太空船起飞 / 小行星带 / 发光的星球 + 尾声

中互动+核心互动 回填任务 — 继续18:37

本轮 Session — 实际写入 bitable

上一轮已确认:文档中 4 个场景对应 4 个互动类型3中+1核标签已写入文档。但用户说的"回填到对应为止"指的是写入 bitable 多维表格记录,而非仅文档标签。

需要写入的 4 条记录

场景 互动类型 cType bitable_token
第1幕 太空故事 对话朗读互动 mid_dialog_repeat MuwubKXoSaJe55sO4k9c63VSnmh
第2幕 太空船起飞 对话互动 mid_sentence_dialogue GH0hbBT0ZavkCesaVQ7c40Zfnub
第3幕 小行星带 指令互动 mid_vocab_instruction UorxbVCNYaqpx3sOUdTcF6bUnAh
第4幕 发光的星球 听力拖拽 core_listening_drag Uey8bhdLBa66TIsGrFBcIQKRnsg

下一步

  1. 读取 4 个 bitable 的表结构(字段名)
  2. 基于剧本内容和 JSON 结构标准,构造 jsonData/kpInfo 等字段
  3. 调用 Bot API create_record 写入
  4. 写后回读验证