auto backup: 2026-06-17 08:10:01

This commit is contained in:
ai_member_only 2026-06-17 08:10:01 +08:00
parent b4a6441540
commit e1e91ea7d0
24 changed files with 63255 additions and 21 deletions

View File

@ -104,7 +104,7 @@ description: 教研互动组件设计规范结构化文本格式不涉及J
【互动内容】
User: It is still night.(朗读)
User: It is still night.
【后置对话】
@ -203,6 +203,7 @@ description: 教研互动组件设计规范结构化文本格式不涉及J
- 包含字段:【任务标题】【资源配置】【情境引入】【互动内容】【后置对话】
- 【资源配置】无内容时填「无」
- 【情境引入】【后置对话】无内容时填「无」
- ⚠️ 选项默认带音频标记`(音频)`,不需要音频时标注`(无音频)`
- 示例:
```
【任务标题】表达对棒球运动的态度
@ -266,6 +267,7 @@ description: 教研互动组件设计规范结构化文本格式不涉及J
---
## 版本更新记录
- v1.52026-06-16对话选读新增选项默认音频规则对话朗读/对话表达【互动内容】去掉"(朗读)"标注
- v1.42026-06-11强化规则8/9情境引入和后置对话审校规则禁止引用组件行前后台词新增审校检查点逐行对比E/F列
- v1.32026-06-08图片类互动删除【资源配置】字段、新增辅助信息规则对话朗读删除【互动反馈】字段新增配图组件资源配置规则新增情境引入/后置对话去重规则(禁止复制前后行台词原文)
- v1.22026-04-09修正图片类互动高亮规则仅知识点单词加$,非知识点不加),新增对话选择、对话选读、对话表达三类组件的配置规则及标准模板

View File

@ -46,7 +46,7 @@ metadata:
#### 核心结构
【任务标题】→【资源配置】→【情境引入】→【互动内容】→【后置对话】
#### 配置要点
- 【互动内容】格式:`User: 句子内容 (朗读)`
- 【互动内容】格式:`User: 句子内容`(不需要标注"(朗读)"
- 无互动反馈字段
#### 示例
```
@ -57,7 +57,7 @@ User: He already ran away.
Piper: I didn't see him on my way here.
Piper: You're lying! It must be your mistake!
【互动内容】
User: I'm sorry you lost the X-Juice. (朗读)
User: I'm sorry you lost the X-Juice.
【后置对话】无
```
@ -108,7 +108,7 @@ Piper: You're lying! It must be your mistake!
1. 第一行固定为:`要求:选择一个你想表达的观点`
2. 选项按"选项1/2/3"排列,每个选项后对应对话式反馈
3. 无正确/错误区分,任意选择均可,**每个选项的反馈为必填项**
4. 需要音频播放选项时标注`(音频)`,默认不含音频标记
4. 选项默认带音频,不需要音频时标注`(音频)`
5. ⚠️ 反馈角色不可是 User 自己,必须是当前场景中的其他角色
- 【互动反馈】:本类型不单独设置互动反馈字段,反馈内容已整合在互动内容的各选项中
- 【资源配置】:
@ -150,7 +150,7 @@ Johnny: What do you think of the club?
User : Yes, today is very messy.
【互动内容】
要求:选择一个你想表达的观点
选项:
选项:(音频)
选项1Today is a good day. No one is at home.
- 反馈 User : But grandparents are coming to visit!
选项2Today is very messy. We need to clean up.

View File

@ -94,6 +94,7 @@ description: 剧本互动组件内容生产/审校/回填技能不涉及JSON
- `互动`(中互动)→ 根据对话场景匹配:
- 台词含"(朗读)" → 对话朗读
- 台词含"选项"/"choose" → 对话选择/对话选读
- 对话选读:选项默认带音频`(音频)`,不需要音频时标注`(无音频)`
- 台词含"__"(挖空)→ 对话挖空
- 台词含"组句"/"拼句子" → 对话组句
- 剧情描述含"表达"/"说出" → 对话表达
@ -152,6 +153,29 @@ This is my picture. It's ___, green and orange.(音频)
【知识点】
单词blue, orange
句型It is...
---
## 对话选读输出示例
对话选读的选项默认带音频标记`(音频)`,不需要音频时标注`(无音频)`
```
【组件ID】020501
【任务标题】解释他们的歉意
【资源配置】无
【情境引入】无
【互动内容】
要求:选择一个你想表达的观点
选项:(音频)
选项1They feel sorry for what they did.
- 反馈 BoBo: It's okay.
选项2They feel bad about what they did.
- 反馈 DiDi: It's okay.
【后置对话】无
【知识点】
句型They feel...
```
```
**各组件类型的字段模板参考:**
@ -183,6 +207,7 @@ This is my picture. It's ___, green and orange.(音频)
| 15 | 对话朗读反馈 | 对话朗读**不包含【互动反馈】字段** |
| 16 | 配图资源配置 | A列含"配图"时,仅保留`图片时机`(不写`音频载体`),根据有内容的 section 动态列出 |
| 17 | 答案随机化 | 听力选择/对话选择等多小题组件,各题正确选项位置必须随机分布,禁止全部集中在同一序号。生成后统计各题正确选项序号,若全部相同则重新随机 |
| 18 | 对话选读选项音频 | 对话选读类型,选项默认带音频标记`(音频)`,不需要音频时标注`(无音频)`。生成后检查每个选项行是否包含音频标记 |
#### 回填
- 将生成的结构化文本写入列G组件配置
@ -261,7 +286,7 @@ This is my picture. It's ___, green and orange.(音频)
## 版本历史
- v1.3.02026-06-11强化 #9-#10 情境引入/后置对话审校规则禁止引用组件行前后台词必须逐行对比E/F列新增 #17 答案随机化检查(多小题正确选项必须随机分布)
- v1.4.02026-06-16新增 #18 对话选读选项音频审校规则选项默认带音频标记不需要时标注无音频节点4匹配逻辑补充对话选读音频默认规则新增对话选读输出示例对话朗读/对话表达【互动内容】去掉"(朗读)"标注
- v1.2.02026-06-08审校检查项新增 #13-#16图片类资源配置、辅助信息、对话朗读反馈、配图资源配置更新 #9-#10 情境引入/后置对话去重规则
- v1.1.02026-05-13明确职责边界产出格式从JSON改为结构化文本与 interactive-component-json 解耦
- v1.0.02026-05-13初始版本覆盖27种中互动 + 14种核心互动完整6节点流程

View File

@ -420,9 +420,9 @@ PROMPT_TEMPLATES["mid_dialog_fillin"] = r"""# 字段内容要求
...
],
"imgShowTimingList"({资源配置}中抽取对应关系为preDialog:情境引入content:互动内容feedback:互动反馈postDialog:后置对话如果为无则为空[]):["preDialog", "content", "feedback", "postDialog"],
"img"({资源配置}中存在图片时机时才有该字段): "{ID}.png",
"audioFile"({资源配置}中存在音频载体时才有该字段): "{ID}.mp3",
"itemName"({资源配置}中存在音频载体时才有该字段内容从音频载体中抽取): "xxxxx",
"img"({资源配置}中存在图片时机时才有该字段与audioFile互斥不可同时存在): "{ID}.png",
"audioFile"(严格规则只有当{资源配置}中明确包含"音频载体"字样时才生成此字段否则绝对不生成与img互斥不可同时存在特别注意{互动内容}题干中的"(音频)"标记仅用于控制选项的needAudio字段与此audioFile字段完全无关): "{ID}.mp3",
"itemName"(只有当{资源配置}中明确包含"音频载体"字样时才生成此字段否则绝对不生成内容从音频载体中抽取): "xxxxx",
"question"({互动内容}中抽取): {
"type": "user",
"desc": "This is my picture,It's ___, ___ and ___. ",

View File

@ -589,7 +589,7 @@ def parse_core_imagedrag_fields(teaching_config):
用户任务描述 = "\n\n".join(desc_parts) if desc_parts else ""
# 用户任务知识 / 通关知识
用户任务知识 = fields.get("用户任务知识", "") or fields.get("通关知识", "")
用户任务知识 = fields.get("用户任务知识", "") or fields.get("通关知识", "") or fields.get("知识", "")
# 互动配置 (包含 阅读材料 + 互动问题)
互动配置 = fields.get("互动配置", "") or fields.get("阅读材料", "")

View File

@ -123,3 +123,4 @@
{"type":"memory.recall.recorded","timestamp":"2026-06-15T03:58:35.454Z","query":"新课标 剑桥 校内教材 对应关系 curriculum alignment","resultCount":4,"results":[{"path":"memory/2026-05-08.md","startLine":90,"endLine":117,"score":1},{"path":"memory/2026-05-08.md","startLine":68,"endLine":98,"score":1},{"path":"memory/2026-05-12.md","startLine":61,"endLine":80,"score":1},{"path":"memory/2026-05-18.md","startLine":305,"endLine":346,"score":1}]}
{"type":"memory.recall.recorded","timestamp":"2026-06-15T03:59:02.486Z","query":"新课标 剑桥 课标 对标 校内 教材 alignment standards","resultCount":3,"results":[{"path":"memory/2026-05-08.md","startLine":90,"endLine":117,"score":1},{"path":"memory/2026-05-08.md","startLine":68,"endLine":98,"score":1},{"path":"memory/2026-05-12.md","startLine":61,"endLine":80,"score":1}]}
{"type":"memory.recall.recorded","timestamp":"2026-06-15T04:00:59.281Z","query":"宣发 增长 卖点 家长 新课标 剑桥 对标 KET YLE 话术 课程体系","resultCount":2,"results":[{"path":"memory/2026-05-08.md","startLine":90,"endLine":117,"score":1},{"path":"memory/2026-05-08.md","startLine":68,"endLine":98,"score":1}]}
{"type":"memory.recall.recorded","timestamp":"2026-06-16T04:20:48.039Z","query":"李若松 技术负责人 身份","resultCount":2,"results":[{"path":"memory/2026-04-30.md","startLine":50,"endLine":63,"score":1},{"path":"memory/2026-05-08.md","startLine":18,"endLine":38,"score":1}]}

View File

@ -1,6 +1,6 @@
{
"version": 1,
"updatedAt": "2026-06-15T04:00:59.281Z",
"updatedAt": "2026-06-16T04:20:48.039Z",
"entries": {
"memory:memory/2026-05-07.md:57:74": {
"key": "memory:memory/2026-05-07.md:57:74",
@ -452,22 +452,24 @@
"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_a931175d41799cc7Feishu API Token: t-g1044ubUXXMPFXBW75RILL7YZKRGAKQGWWDV2R3D - **对话选择组件**: 无独立 SKILL.md需参照 interactive-component-json 的 prompt_registry.py 中 mid_dialog_choose 模板 + bitable 中已有的 teaching_config 示例格式",
"recallCount": 3,
"recallCount": 4,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 3,
"totalScore": 4,
"maxScore": 1,
"firstRecalledAt": "2026-05-13T03:09:54.362Z",
"lastRecalledAt": "2026-06-01T10:44:47.489Z",
"lastRecalledAt": "2026-06-16T04:20:48.039Z",
"queryHashes": [
"f151bc633ad1",
"71e44ea68b09",
"f53c9769e692"
"f53c9769e692",
"db84c41f4b84"
],
"recallDays": [
"2026-05-13",
"2026-05-28",
"2026-06-01"
"2026-06-01",
"2026-06-16"
],
"conceptTags": [
"00/01/02",
@ -1578,13 +1580,13 @@
"endLine": 38,
"source": "memory",
"snippet": "4. question与questionDesc人称必须一致统一改为 What does [角色] say? → 第一人称直接引语) - **JSON wrapper格式** `{\"first\": 题组1完整JSON, \"second\": 题组2完整JSON}` - **输出文件:** `output/writing_pic_qa_000001_sample.json` ### 刘彦江 (ou_5af74c1fb96042e33cc0f16b5ca02cf4) — writing_pic_qa 生产流程标准化 + SKILL 重写 - **时间:** 09:34 ~ 09:46 - **需求:** 将完整生产流程补充到 SKILL.md强化核心规则 - **状态:** ✅ 已完成 **核心规则强化(用户明确):** 1. **挖空 = 考察句型结构本身**,不是复述图片信息(如 Thank you for → 挖 for 而非 you 2. **考察多样化**同句型覆盖多种搭配for + 名词 / for + 动名词、be + 身份 / be + 状态词等) 3. **语言难度匹配欧标 A1-A2**Starters/Movers 4. **题干不千篇一律**question 随语境微调(如 \"What does she say about herself?\" / \"Where does she say she is going?\" / \"What does she say to her friend?\" **图片资源新规:** - 每个题组共享一",
"recallCount": 9,
"recallCount": 10,
"dailyCount": 0,
"groundedCount": 0,
"totalScore": 9,
"totalScore": 10,
"maxScore": 1,
"firstRecalledAt": "2026-05-20T06:31:39.981Z",
"lastRecalledAt": "2026-06-10T02:20:12.701Z",
"lastRecalledAt": "2026-06-16T04:20:48.039Z",
"queryHashes": [
"688d2dceca9d",
"e637236fe74b",
@ -1594,14 +1596,16 @@
"ff8454ebcc30",
"9c790f74fc5b",
"71e44ea68b09",
"9018e8896dcd"
"9018e8896dcd",
"db84c41f4b84"
],
"recallDays": [
"2026-05-20",
"2026-05-25",
"2026-05-26",
"2026-05-28",
"2026-06-10"
"2026-06-10",
"2026-06-16"
],
"conceptTags": [
"writing-pic-qa",

115
memory/2026-06-16-1229.md Normal file
View File

@ -0,0 +1,115 @@
# Session: 2026-06-16 12:29:53 GMT+8
- **Session Key**: agent:xiaoyan:feishu:direct:ou_5af74c1fb96042e33cc0f16b5ca02cf4
- **Session ID**: 020a9638-7c05-4893-a657-b9559ae9c4fd
- **Source**: feishu
## Conversation Summary
user: [message_id: om_x100b6c3821f6acb0b2024f995bb34e7]
刘彦江: https://makee-interactive.feishu.cn/wiki/M8gLwowVQi3mGqkS1GucXV9tn1d?from=from_copylink
user: [message_id: om_x100b6c38dc0cbca0b36c98c0886dc52]
刘彦江: https://makee-interactive.feishu.cn/wiki/M8gLwowVQi3mGqkS1GucXV9tn1d?from=from_copylink
assistant: 已经读完了「瓦拉英语智能讲解结构规范」。这是你写的,内容很完整。核心框架总结一下:
---
**四段式智能讲解结构:**
| 段 | 名称 | 时长 | LLM参与度 | 核心职责 |
|---|------|------|-----------|----------|
| 1 | 导入 | 3-5秒 | 可控(框架内) | 三道数据决定基调(鼓励/中性/表扬),建立讲解基调 |
| 2 | 基础层 | 15-20秒 | **零参与** | RA朗读固定脚本发音/释义/词性 + 1道轻验证 |
| 3 | 拓展层 | 60-80%总时间 | 框架内执行 | 针对出问题维度深入讲解含7个维度固定flow + 三级互动穿插 |
| 4 | 总结 | 短 | 可控 | 判断逻辑总结 + 能力库反写 |
**第三段核心设计:**
- 7个维度各有固定讲解 flow反义对比/语境义/同义辨析/拼写规律/发音规律/功能意义/对话应用)
- 三级互动:封闭式→半开放→全开放,力度决定穿插密度
- L3 开放输入有三层边界控制(入口→意图分类→兜底)
**两个完整样例:** 阅读题(回原文找原词)+ 听力题(压制推断冲动、先听后判),都走同一套四段结构。
---
你想让我做什么?是讨论这个规范本身,还是基于它做下一步(比如生成具体知识点的讲解脚本、对接开发、或者补充更多题型样例)?
user: [message_id: om_x100b6c38d0c4fca8b32f7652ccd630f]
刘彦江: 我要补充互动形式,目标是在固定的讲解流程里,让用户拥有一定的自由度来参与学习流程。比如让用户选 AI 老师讲哪一部分;用户可以反馈听懂没听懂;用户不懂的地方可以提问等
我在文档最后的部分列了 1 2 两条要补充的部分。你结合听力、阅读的样例,来看下单元挑战的题目,在讲解方向上可以提供用户哪些维度?讲解过程中,又可以与用户进行什么样的封闭互动、半开放互动、全开放互动等
assistant: Let me first look at the unit challenge question types to understand the full landscape.
assistant: Now let me also look at the existing interaction section at the end of the document more carefully, and the ability tags:
assistant: Now let me also look at the end of the document to see the placeholder section that needs to be filled:
assistant: Now I have the full picture. Let me read the doc update skill and then write the content.
assistant: Now I have all the data I need. Let me write the comprehensive interaction supplement and append it to the document.
assistant: Now let me append this to the document. First, let me read the supplement content and use the append command:
assistant: Now let me append this to the document, replacing the placeholder at the end:
assistant: 已写入文档末尾。验证通过,旧占位内容已被替换为完整的互动形式补充。
---
彦江,内容已更新到「瓦拉英语智能讲解结构规范」文档末尾。核心补充了以下内容:
**一、讲解方向 — 用户可选维度**
- 讲知识点模式7 个维度(反义对比/语境义/同义辨析/拼写规律/发音规律/功能意义/对话应用),用户可在第一段导入后选择
- 讲题模式:按听力 4 种 + 阅读 7 种 + 写作 3 种 + 口语 4 种题型,每种题型拆出 2-3 个可选讲解方向,每个方向对应具体的 45 项能力标签
**二、三级互动 — 嵌入讲解流程**
- **封闭互动 (L1)**:确认理解、选择方向、节奏控制、难度选择 — 全部来自互动库LLM 零参与
- **半开放互动 (L2)**:诊断错误原因、追问判断依据、确认学习方法 — LLM 生成追问 + 关键词检测
- **全开放互动 (L3)**:学生主动提问、反馈没听懂、表达困惑 — LLM 处理 + 7 类意图分类 + 三层边界控制 + 兜底拉回
**三、互动嵌入位置** — 两张完整的流程图,标注了讲知识点和讲题两种模式下每个互动在四段中的精确位置
**四、全局互动** — 听懂/没听懂/太简单了(随时可用)、提问按钮(全程可见)、快一点/慢一点/跳过(节奏控制)
你看看方向和粒度对不对,需要调整的地方我直接改。
user: [message_id: om_x100b6c38908050acb3fa43eb7767c1f]
刘彦江: https://makee-interactive.feishu.cn/wiki/MWmowGXgeiPlBOkQjBXc8uN1n1c?from=from_copylink 这个是实际的单元挑战题型与能力标签的映射关系。在讲题的时候,能力标签是核心,知识点是辅助性内容
assistant: 明白了,核心纠正:**讲题时能力标签是核心,知识点是辅助**。我之前写的互动补充把讲解方向按题型策略拆的,需要改成按能力标签来组织。
让我基于这份真实的题型-能力标签映射表,重写互动补充部分。
assistant: 已更新。验证通过,文档现在包含基于真实映射表的修订版。
---
这次重写的核心变化:
**1. 定位纠正:讲题时能力标签是核心,知识点是辅助**
文档开头新增了关键定位说明,明确区分了讲知识点模式(以知识点为中心)和讲题模式(以能力标签为中心)。
**2. 讲解方向按能力标签组织,而非题型策略**
之前写的"可选讲解方向"是按题型策略拆的("怎么找关键词"、"怎么排除干扰"),现在改为按真实的 **题型 × 能力标签** 映射表组织:
- 听力15 条(听力拖拽/选图/填色/听写/信息匹配 × 对应能力标签)
- 口语10 条(看图识物/看图回答/日常回答/选择描述不同/讲不同/看图讲故事 × 对应能力标签)
- 阅读10 条(看图判断/看图回答/看图选词/单词释义/对话选择/选词填空/阅读填词 × 对应能力标签)
- 写作6 条(看图拼写/看图回答 × 对应能力标签)
每条都标注了出现单元,用户选择入口也改为以能力标签为引导。
**3. 封闭互动和半开放互动都按能力标签设计**
每个能力标签都有对应的封闭互动示例和半开放追问示例,不再泛泛地按"知识点讲解/讲题模式"分类。
**4. 讲题模式的四段结构重新定义**
第二段从"基础层"改为"结构拆解"(以能力标签为框架拆解题干),第三段从"选项分析"改为"能力迁移"(该能力的通用判断方法),知识点作为素材穿插出现。

54
memory/2026-06-16-1651.md Normal file
View File

@ -0,0 +1,54 @@
# Session: 2026-06-16 16:51:13 GMT+8
- **Session Key**: agent:xiaoyan:feishu:direct:ou_8b79b7f711e42a4004f3f3c225a1a99c
- **Session ID**: ea774a34-0a95-4f0b-95a4-066dc9a3c2d5
- **Source**: feishu
## Conversation Summary
user: [message_id: om_x100b6c2498bc94a4c196ac93fa8b533]
张昆鹏: https://makee-interactive.feishu.cn/wiki/RJSmwwFtOipDghkgC89ckRjZnYc 教研配置
assistant: 已读取文档 **L1-S2-U21-L4 开拓者公寓**,内容概览:
### 文档结构
- **知识点**(内嵌 Sheet4 个单词flat, hall, room, know+ 2 个句型Do you know..., What is in...
- **剧情梗概**4 段剧情,围绕开拓者公寓展开,涉及 flat/hall/room/know 四个核心词
- **剧本**(内嵌 Sheet285 行 × 9 列含类型、ID、配置信息、剧情描述、角色名、英文台词、组件配置、知识点、编剧台词
### 已观察到的内容
- 角色Sally、User主角后续可能涉及 Jay、Lin、速猴
- 剧本中有 1 处「对话朗读」组件配置ID: 1221401知识点: know
- 英文台词列F 列和编剧台词列I 列)均有内容
请问需要我做什么?是审校剧本、生产组件配置、还是其他操作?
user: [message_id: om_x100b6c24915b7cb0c35336d6a121ce6]
张昆鹏: 生产组件配置
assistant: 匹配到触发词「组件生产」,先读取对应技能。
assistant: 已读取技能规范。现在读取完整剧本 Sheet 数据,识别所有组件行。
assistant: 已完整读取剧本 Sheet285行识别出 **17 个组件行**,全部已有组件配置内容:
| # | 行号 | 类型 | ID | 知识点 | G列状态 |
|---|------|------|------|------|---------|
| 1 | 25 | 对话朗读 | 1221401 | know | ✅ 已有 |
| 2 | 49 | 对话挖空 | 1221402 | know | ✅ 已有 |
| 3 | 65 | 对话朗读 | 1221403 | hall | ✅ 已有 |
| 4 | 79 | 对话朗读 | 1221404 | room | ✅ 已有 |
| 5 | 93 | 对话挖空-配图 | 1221405 | hall | ✅ 已有 |
| 6 | 101 | 对话朗读 | 1221406 | What is in... | ✅ 已有 |
| 7 | 119 | 对话朗读 | 1221407 | Do you know... | ✅ 已有 |
| 8 | 135 | 对话挖空 | 1221408 | What is in... | ✅ 已有 |
| 9 | 146 | 图片单选 | 1221409 | hall | ✅ 已有 |
| 10 | 154 | 图片单选 | 1221410 | room | ✅ 已有 |
| 11 | 168 | 对话挖空 | 1221411 | Do you know... | ✅ 已有 |
| 12 | 184 | 对话挖空 | 1221412 | room | ✅ 已有 |
| 13 | 196 | 对话组句 | 1221413 | What is in... | ✅ 已有 |
| 14 | 204 | 对话挖空 | 1221414 | know | ✅ 已有 |
| 15 | 220 | 对话选择 | 1221415 | hall | ✅ 已有 |
| 16 | 236 | 对话组句 | 1221416 | room | ✅ 已有 |
| 17 | 252 | 看图选词 | 1221417 | flat/room/know | ✅ 已有 |
**结论:该文档 17 个组件配置已全部完成,无需新增生产。** 需要我对现有配置做审校吗?