就绪
成功: 0 失败: 0

# L1-S2-U14-L1 到你上学啦 (组件录入测试)

生成时间: 2026-04-30 12:43:10 模型: doubao-seed-2.0-pro Wiki: AEPJwf0DUiDkWska4SbceSAbnyc
21
总组件
19
成功
1
失败
1
跳过
1 对话朗读 cId: 0000800 mid_dialog_repeat
生成成功 ▶
jsonData
{ "cType": "mid_dialog_repeat", "cId": "0000800", "title": "表示大家一起上学", "resourceMapping": { "Eva": 663, "Peter": 653, "Vicky": 658 }, "preDialog": [ { "type": "user", "content": "Great!" }, { "type": "user", "content": "Oh, there's no time left." } ], "imgShowTimingList": [ "content" ], "img": "0000800.png", "question": { "type": "user", "content": "Let's go to school now." }, "postDialog": [] }
kpInfo (1个知识点)

# | kpId | kpType | kpTitle | kpSkill | kpSkillName
--- | --- | --- | --- | --- | ---
[0] |  |  | school |  |

2 对话挖空 cId: 0000801 mid_dialog_fillin
生成成功 ▶
jsonData
{ "cType": "mid_dialog_fillin", "cId": "0000801", "title": "表示一起去上学", "resourceMapping": { "Eva": 663, "Peter": 653, "Vicky": 658 }, "preDialog": [ { "type": "user", "content": "Peter, Eva!" } ], "imgShowTimingList": [], "question": { "type": "user", "desc": "Let's go to ___.", "content": "Let's go to school." }, "optionGroupList": [ { "optionList": [ { "option": "school", "needAudio": true }, { "option": "zoo", "needAudio": true } ], "answer": [ 0 ] } ], "corFeedback": {}, "errFeedback": { "type": "npc", "npcName": "Vicky", "content": "I don't think so." }, "postDialog": [] }
kpInfo (1个知识点)

# | kpId | kpType | kpTitle | kpSkill | kpSkillName
--- | --- | --- | --- | --- | ---
[0] |  |  | school |  |

3 对话朗读 cId: 0000802 mid_dialog_repeat
生成成功 ▶
jsonData
{ "cType": "mid_dialog_repeat", "cId": "0000802", "title": "告诉 Eva 和 Peter 需要学习", "resourceMapping": { "Eva": 663, "Peter": 653, "Vicky": 658 }, "preDialog": [], "imgShowTimingList": [], "question": { "type": "user", "content": "You need to study." }, "postDialog": [ { "type": "npc", "npcName": "Eva", "content": "No, we want to play!" } ] }
kpInfo (3个知识点)

# | kpId | kpType | kpTitle | kpSkill | kpSkillName
--- | --- | --- | --- | --- | ---
[0] |  |  | You need to... |  |
[1] |  |  | study |  |
[2] |  |  | play |  |

4 对话朗读 cId: 0000803 mid_dialog_repeat
生成成功 ▶
jsonData
{ "cType": "mid_dialog_repeat", "cId": "0000803", "title": "表示在学校里也可以玩", "resourceMapping": { "Eva": 663, "Peter": 653, "Vicky": 658 }, "preDialog": [], "imgShowTimingList": [], "question": { "type": "user", "content": "We can play at school." }, "postDialog": [ { "type": "npc", "npcName": "Peter", "content": "That's not fun!" } ] }
kpInfo (3个知识点)

# | kpId | kpType | kpTitle | kpSkill | kpSkillName
--- | --- | --- | --- | --- | ---
[0] |  |  | We can... |  |
[1] |  |  | play |  |
[2] |  |  | school |  |

5 对话朗读 cId: 0000804 mid_dialog_repeat
生成成功 ▶
jsonData
{ "cType": "mid_dialog_repeat", "cId": "0000804", "title": "询问 Eva 和 Peter 是否想做学生", "resourceMapping": { "Eva": 663, "Peter": 653, "Vicky": 658 }, "preDialog": [], "imgShowTimingList": [], "question": { "type": "user", "content": "Do you want to be a student?" }, "postDialog": [] }
kpInfo (1个知识点)

# | kpId | kpType | kpTitle | kpSkill | kpSkillName
--- | --- | --- | --- | --- | ---
[0] |  |  | student |  |

6 对话组句 cId: 0000805 mid_dialog_sentence
生成成功 ▶
jsonData
{ "cType": "mid_dialog_sentence", "cId": "0000805", "title": "表示自己是学生", "resourceMapping": { "Eva": 663, "Peter": 653, "Vicky": 658 }, "preDialog": [ { "type": "user", "content": "Hey, look at me." } ], "imgShowTimingList": [], "question": { "desc": "表示我是一个学生。", "content": "I'm a student." }, "optionList": [ { "option": "I'm", "needAudio": true }, { "option": "student", "needAudio": true }, { "option": "a", "needAudio": true } ], "answer": [ 0, 2, 1 ], "tip": "student 指“学生”。", "corFeedback": {}, "errFeedback": { "type": "npc", "npcName": "Vicky", "content": "Try again." }, "postDialog": [] }
kpInfo (1个知识点)

# | kpId | kpType | kpTitle | kpSkill | kpSkillName
--- | --- | --- | --- | --- | ---
[0] |  |  | student |  |

7 对话朗读 cId: 0000806 mid_dialog_repeat
生成成功 ▶
jsonData
{ "cType": "mid_dialog_repeat", "cId": "0000806", "title": "表示自己在学校学习", "resourceMapping": { "Eva": 663, "Peter": 653, "Vicky": 658 }, "preDialog": [], "imgShowTimingList": [ "content" ], "img": "0000806.png", "question": { "type": "user", "content": "I study at school." }, "postDialog": [] }
8 对话朗读 cId: 0000807 mid_dialog_repeat
生成成功 ▶
jsonData
{ "cType": "mid_dialog_repeat", "cId": "0000807", "title": "表示自己也玩", "resourceMapping": { "Eva": 663, "Peter": 653, "Vicky": 658 }, "preDialog": [], "imgShowTimingList": [ "content" ], "img": "0000807.png", "question": { "type": "user", "content": "And I play too." }, "postDialog": [] }
9 对话挖空 cId: 0000808 mid_dialog_fillin
生成成功 ▶
jsonData
{ "cType": "mid_dialog_fillin", "cId": "0000808", "title": "表示并不是要学习", "resourceMapping": { "Eva": 663, "Peter": 653, "Vicky": 658 }, "preDialog": [], "imgShowTimingList": [], "question": { "type": "user", "desc": "We're not here to ___.", "content": "We're not here to study." }, "optionGroupList": [ { "optionList": [ { "option": "study", "needAudio": true }, { "option": "student", "needAudio": true } ], "answer": [ 0 ] } ], "corFeedback": {}, "errFeedback": { "type": "npc", "npcName": "Grace", "content": "Are you sure?" }, "postDialog": [] }
kpInfo (1个知识点)

# | kpId | kpType | kpTitle | kpSkill | kpSkillName
--- | --- | --- | --- | --- | ---
[0] |  |  | study |  |

10 对话朗读 cId: 0000809 mid_dialog_repeat
生成成功 ▶
jsonData
{ "cType": "mid_dialog_repeat", "cId": "0000809", "title": "说出书名", "resourceMapping": { "Eva": 663, "Peter": 653, "Vicky": 658 }, "preDialog": [], "imgShowTimingList": [ "content" ], "img": "0000809.png", "question": { "type": "user", "content": "It's \"Go to School\"." }, "postDialog": [] }
11 听力选择 cId: 0000810 ? 失败 ▶
错误: LLM返回内容不是合法JSON: Expecting value: line 1 column 1 (char 0) 内容: 无
12 对话组句 cId: 0000811 mid_dialog_sentence
生成成功 ▶
jsonData
{ "cType": "mid_dialog_sentence", "cId": "0000811", "title": "表示你们需要学习", "resourceMapping": { "Eva": 663, "Peter": 653, "Vicky": 658 }, "preDialog": [], "imgShowTimingList": [], "question": { "desc": "表示你们需要学习。", "content": "You need to study." }, "optionList": [ { "option": "need to", "needAudio": true }, { "option": "you", "needAudio": true }, { "option": "study", "needAudio": true } ], "answer": [ 1, 0, 2 ], "tip": "study 指“学习”。", "corFeedback": {}, "errFeedback": { "type": "npc", "npcName": "Peter", "content": "Huh?" }, "postDialog": [] }
kpInfo (2个知识点)

# | kpId | kpType | kpTitle | kpSkill | kpSkillName
--- | --- | --- | --- | --- | ---
[0] |  |  | You need to... |  |
[1] |  |  | study |  |

13 对话组句 cId: 0000812 mid_dialog_sentence
生成成功 ▶
jsonData
{ "cType": "mid_dialog_sentence", "cId": "0000812", "title": "表示你们需要上学", "resourceMapping": { "Eva": 663, "Peter": 653, "Vicky": 658 }, "preDialog": [], "imgShowTimingList": [], "question": { "desc": "表示你们需要上学。", "content": "You need to go to school." }, "optionList": [ { "option": "need to", "needAudio": true }, { "option": "go to school", "needAudio": true }, { "option": "you", "needAudio": true } ], "answer": [ 2, 0, 1 ], "tip": "go to school 指“上学”。", "corFeedback": {}, "errFeedback": { "type": "npc", "npcName": "Grace", "content": "Try again." }, "postDialog": [] }
kpInfo (2个知识点)

# | kpId | kpType | kpTitle | kpSkill | kpSkillName
--- | --- | --- | --- | --- | ---
[0] |  |  | You need to... |  |
[1] |  |  | school |  |

14 对话挖空 cId: 0000813 mid_dialog_fillin
生成成功 ▶
jsonData
{ "cType": "mid_dialog_fillin", "cId": "0000813", "title": "表示可以在学校玩耍", "resourceMapping": { "Eva": 663, "Peter": 653, "Vicky": 658 }, "preDialog": [], "imgShowTimingList": [], "question": { "type": "user", "desc": "Then you can ___ there.", "content": "Then you can play there." }, "optionGroupList": [ { "optionList": [ { "option": "play", "needAudio": true }, { "option": "catch", "needAudio": true } ], "answer": [ 0 ] } ], "corFeedback": {}, "errFeedback": { "type": "npc", "npcName": "Grace", "content": "I don't think so." }, "postDialog": [] }
kpInfo (1个知识点)

# | kpId | kpType | kpTitle | kpSkill | kpSkillName
--- | --- | --- | --- | --- | ---
[0] |  |  | play |  |

15 对话组句 cId: 0000814 mid_dialog_sentence
生成成功 ▶
jsonData
{ "cType": "mid_dialog_sentence", "cId": "0000814", "title": "表示可以坐校车上学", "resourceMapping": { "Eva": 738, "Peter": 739 }, "preDialog": [], "imgShowTimingList": [], "question": { "desc": "表示我们可以坐校车上学。", "content": "We can take the school bus." }, "optionList": [ { "option": "we can", "needAudio": true }, { "option": "the school bus", "needAudio": true }, { "option": "take", "needAudio": true } ], "answer": [ 0, 2, 1 ], "tip": "句子以 we can 开头。", "corFeedback": {}, "errFeedback": { "type": "npc", "npcName": "Vicky", "content": "No, try again." }, "postDialog": [] }
kpInfo (1个知识点)

# | kpId | kpType | kpTitle | kpSkill | kpSkillName
--- | --- | --- | --- | --- | ---
[0] |  |  | We can... |  |

16 对话挖空 cId: 0000815 mid_dialog_fillin
生成成功 ▶
jsonData
{ "cType": "mid_dialog_fillin", "cId": "0000815", "title": "表示 Peter 是学生了", "resourceMapping": { "Eva": 738, "Peter": 739 }, "preDialog": [], "imgShowTimingList": [], "question": { "type": "user", "desc": "You are a ___ now.", "content": "You are a student now." }, "optionGroupList": [ { "optionList": [ { "option": "play", "needAudio": true }, { "option": "student", "needAudio": true } ], "answer": [ 1 ] } ], "corFeedback": {}, "errFeedback": { "type": "npc", "npcName": "Grace", "content": "Try again." }, "postDialog": [] }
kpInfo (1个知识点)

# | kpId | kpType | kpTitle | kpSkill | kpSkillName
--- | --- | --- | --- | --- | ---
[0] |  |  | student |  |

17 核心合作阅读 cId: 0000800 core_reading_order
生成成功 ▶
taskInfo
{ "cType": "core_reading_order", "cId": "0000800", "title": "加入社团", "sceneDesc": "你们听说 Vala 学院没有考试，正在欢呼雀跃。突然发现 Pioneer 的一项重要任务：加入社团！为什么 Pioneer 一定要加入社团呢？快来阅读 Brainy 的介绍吧。", "img": "", "key": [ { "desc": "词汇类", "keyList": [ { "type": "default", "content": "plant", "desc": "n. 植物" }, { "type": "default", "content": "club", "desc": "n. 俱乐部" }, { "type": "default", "content": "join", "desc": "v. 加入" }, { "type": "default", "content": "member", "desc": "n. 成员" }, { "type": "default", "content": "choose", "desc": "v. 选择" }, { "type": "default", "content": "interested", "desc": "adj. 感兴趣的" } ] } ], "resourceMapping": { "Eva": 738, "Peter": 739 } }
materialInfo
{ "text": [ { "textType": "Lcd", "textTitle": "How to Join Clubs?", "textBody": "<sp>You can choose your favourite club to join. If you are interested in something, you can find a club for it. The robot club, the plant club, the sports club, and the reading club are all popular choices.<br>If you are not interested in any club, you can start a new one with friends!<br><sp>图片:[0101106_core reading2]" } ], "question": [ { "type": "npc", "npcName": "Brainy", "content": "At Vala Academy, how can Pioneers get points?", "optionList": [ { "option": "Take many exams.", "feedback": { "type": "npc", "npcName": "Otis", "content": "No! We have no exams!" } }, { "option": "Join clubs.", "feedback": { "type": "npc", "npcName": "Otis", "content": "Right. We need to join a club to get points." } }, { "option": "Level up.", "feedback": { "type": "npc", "npcName": "Otis", "content": "We have to get points first, then we can level up." } } ], "answer": [ 1 ], "meaning": "", "explain": "" }, { "type": "npc", "npcName": "Brainy", "content": "What can you do in a club?", "optionList": [ { "option": "We can earn some money.", "feedback": { "type": "npc", "npcName": "Skylar", "content": "No, that's not right." } }, { "option": "We can play, study and work together.", "feedback": { "type": "npc", "npcName": "Skylar", "content": "That's right! That's what clubs are for!" } }, { "option": "We can only play.", "feedback": { "type": "npc", "npcName": "Skylar", "content": "Hmm… We play, but we also study and work." } } ], "answer": [ 1 ], "meaning": "", "explain": "" }, { "type": "npc", "npcName": "Otis", "content": "How can we choose a club?", "optionList": [ { "option": "We can only choose the plant club and the robot club.", "feedback": { "type": "npc", "npcName": "Skylar", "content": "Nope! We can choose from many clubs." } }, { "option": "We can choose a club we are interested in.", "feedback": { "type": "npc", "npcName": "Skylar", "content": "Yes, exactly! Choose what you like!" } }, { "option": "We must start a new club.", "feedback": { "type": "npc", "npcName": "Skylar", "content": "No, not must. Only if you want to." } } ], "answer": [ 1 ], "meaning": "", "explain": "" }, { "type": "npc", "npcName": "Skylar", "content": "If we are not interested in any club, what should we do?", "optionList": [ { "option": "We can't join any clubs.", "feedback": { "type": "npc", "npcName": "Otis", "content": "Uh… That sounds bad." } }, { "option": "We can start a new club.", "feedback": { "type": "npc", "npcName": "Otis", "content": "Yes! That sounds okay." } }, { "option": "We can only join the plant club.", "feedback": { "type": "npc", "npcName": "Otis", "content": "I don't think so… We have other choices." } } ], "answer": [ 1 ], "meaning": "", "explain": "" } ] }
flowInfo
{ "sequence": [ { "text": [ 0 ] }, { "dialog": { "type": "npc", "npcName": "Brainy", "content": "Now, let’s make sure you understand everything." } }, { "question": [ 0 ] }, { "question": [ 1 ] }, { "text": [ 1 ] }, { "question": [ 2 ] }, { "question": [ 3 ] } ] }
studyInfo
{ "closing": { "type": "npc", "content": "太棒了！你已经完成了全部的学习流程，对这两段内容的掌握很不错哦！", "npcName": "Brainy" }, "learningPart": [ { "leadIn": { "desc": "At Vala Academy, Pioneers don't have exams. But you need points to level up!" }, "type": "npc", "content": "我们来认识一下这段话中的关键单词 points。points 在这里是积分的意思，攒够积分才能升级，可以说 collect points to level up。", "npcName": "Brainy", "learning": [ { "answer": [ 1 ], "meaning": "句意选择题", "optionList": [ { "option": "但是你需要通过考试才能升级。", "feedback": { "type": "npc", "content": "不对哦，句子里的重点词汇是points表示积分，不是考试，再确认下正确答案吧。", "npcName": "Brainy" } }, { "option": "但是你需要积分才能升级。", "feedback": { "type": "npc", "content": "完美回答！你已经掌握了句中的关键单词 points 和整个句子的意思了～", "npcName": "Brainy" } } ], "question": { "type": "npc", "content": "接下来，我们来看下包含 points 的句子 But you need points to level up! 是什么意思呢？", "npcName": "Brainy" } }, { "answer": [ 0 ], "meaning": "段落大意题", "optionList": [ { "option": "瓦拉学院的先锋们没有考试，靠积分升级。", "feedback": { "type": "npc", "content": "太棒了！你抓住了don't have exams和need points to level up这两个重点！", "npcName": "Brainy" } }, { "option": "瓦拉学院的先锋们需要通过考试获得积分。", "feedback": { "type": "npc", "content": "不太对哦，文中明确说先锋们没有考试，再读一读试试看！", "npcName": "Brainy" } } ], "question": { "type": "npc", "content": "了解了关键单词和关键句子的意思，那我们来一起看看这一段主要在说什么呢？", "npcName": "Brainy" } } ] }, { "leadIn": { "desc": "You can choose your favourite club to join. If you are interested in something, you can find a club for it." }, "type": "npc", "content": "本段围绕一个关键词 club 展开，你认识这个单词吗？club 是俱乐部的意思，参加俱乐部可以说 join a club。", "npcName": "Brainy", "learning": [ { "answer": [ 1 ], "meaning": "句意选择题", "optionList": [ { "option": "你可以选择你最喜欢的课程去上。", "feedback": { "type": "npc", "content": "课程的英文表达是 course 哦，并不是我们讲的 club，再认真看看正确的释义吧", "npcName": "Brainy" } }, { "option": "你可以选择你最喜欢的俱乐部加入。", "feedback": { "type": "npc", "content": "完美回答！你已经掌握了文中的关键单词 club 和关键句子的意思了～", "npcName": "Brainy" } } ], "question": { "type": "npc", "content": "接下来我们看看包含 club 的句子 You can choose your favourite club to join. 你知道它是什么意思吗？", "npcName": "Brainy" } }, { "answer": [ 0 ], "meaning": "段落大意题", "optionList": [ { "option": "你可以根据自己的兴趣选择合适的俱乐部加入。", "feedback": { "type": "npc", "content": "答得好！你完全理解了段落表达的核心意思啦！", "npcName": "Brainy" } }, { "option": "所有的俱乐部都非常受欢迎，你必须加入一个。", "feedback": { "type": "npc", "content": "小心看哦～文中并没有说必须加入俱乐部，还提到如果没感兴趣的可以自己创办新的，再仔细看看内容吧！", "npcName": "Brainy" } } ], "question": { "type": "npc", "content": "下面，让我们来看看这一段主要在讲什么。", "npcName": "Brainy" } } ] } ] }
kpInfo (6个知识点)

# | kpId | kpType | kpTitle | kpSkill | kpSkillName
--- | --- | --- | --- | --- | ---
[0] |  |  | plant n. 植物 |  |
[1] |  |  | club n. 俱乐部 |  |
[2] |  |  | join v. 加入 |  |
[3] |  |  | member n. 成员 |  |
[4] |  |  | choose v. 选择 |  |
[5] |  |  | interested adj. 感兴趣的 |  |

中间结果: 阅读材料格式化

    ```
    # 材料2
    类型：电子屏
    标题：How to Join Clubs?
    正文:
    <sp>You can choose your favourite club to join. If you are interested in something, you can find a club for it. The robot club, the plant club, the sports club, and the reading club are all popular choices.<br>If you are not interested in any club, you can start a new one with friends!<br><sp>图片:[0101106_core reading2]
    ```

中间结果: 学习材料格式化

    ```
    # 段落1
    重点词汇:
    正文:
    ---
    At Vala Academy, Pioneers don't have exams. But you need points to level up!
    ---
    ```
    ```
    # 段落2
    重点词汇:
    正文:
    ---
    You can choose your favourite club to join. If you are interested in something, you can find a club for it.
    ---
    ```

中间结果: 学习过程配置

    ```
    # 段落1
    ## 段落内容
    ---
    At Vala Academy, Pioneers don't have exams. But you need points to level up!
    ---
    ## 互动题目
    Brainy: 我们来认识一下这段话中的关键单词 points。points 在这里是积分的意思，攒够积分才能升级，可以说 collect points to level up。
    1. 句意选择题
    Brainy：接下来，我们来看下包含 points 的句子 But you need points to level up! 是什么意思呢？
    - 但是你需要通过考试才能升级。
      Brainy：不对哦，句子里的重点词汇是points表示积分，不是考试，再确认下正确答案吧。
    - 但是你需要积分才能升级。[正确]
      Brainy：完美回答！你已经掌握了句中的关键单词 points 和整个句子的意思了～
    2. 段落大意题
    Brainy：了解了关键单词和关键句子的意思，那我们来一起看看这一段主要在说什么呢？
    - 瓦拉学院的先锋们没有考试，靠积分升级。[正确]
      Brainy：太棒了！你抓住了don't have exams和need points to level up这两个重点！
    - 瓦拉学院的先锋们需要通过考试获得积分。
      Brainy：不太对哦，文中明确说先锋们没有考试，再读一读试试看！

    # 段落2
    ## 段落内容
    ---
    You can choose your favourite club to join. If you are interested in something, you can find a club for it.
    ---
    ## 互动题目
    Brainy: 本段围绕一个关键词 club 展开，你认识这个单词吗？club 是俱乐部的意思，参加俱乐部可以说 join a club。
    1. 句意选择题
    Brainy：接下来我们看看包含 club 的句子 You can choose your favourite club to join. 你知道它是什么意思吗？
    - 你可以选择你最喜欢的课程去上。
      Brainy：课程的英文表达是 course 哦，并不是我们讲的 club，再认真看看正确的释义吧
    - 你可以选择你最喜欢的俱乐部加入。[正确]
      Brainy：完美回答！你已经掌握了文中的关键单词 club 和关键句子的意思了～

    2. 段落大意题
    Brainy：下面，让我们来看看这一段主要在讲什么。
    - 你可以根据自己的兴趣选择合适的俱乐部加入。[正确]
      Brainy：答得好！你完全理解了段落表达的核心意思啦！
    - 所有的俱乐部都非常受欢迎，你必须加入一个。
      Brainy：小心看哦～文中并没有说必须加入俱乐部，还提到如果没感兴趣的可以自己创办新的，再仔细看看内容吧！
    # 完结反馈
    Brainy: 太棒了！你已经完成了全部的学习流程，对这两段内容的掌握很不错哦！
    ```

18 核心看图选词 cId: 0000800 core_reading_imageDrag
生成成功 ▶
taskInfo
{ "cType": "core_reading_imageDrag", "cId": "0000800", "title": "将单词拖拽到对应句子的空白处补全句子", "taskDesc": "观察主图内容，将下方选项池中的单词拖拽到对应句子的空白处，补全所有句子。", "sceneDesc": "你来到了神奇的单词城堡，城堡的墙上有很多缺了单词的句子，你需要找到正确的单词把它们补全，才能打开城堡的大门哦！", "key": [ { "desc": "", "keyList": [ { "type": "default", "content": "lake", "desc": "n. 湖" }, { "type": "default", "content": "monkey", "desc": "n. 猴子" }, { "type": "default", "content": "three", "desc": "num. 三" }, { "type": "default", "content": "How many ...?", "desc": "多少……？" }, { "type": "default", "content": "There be ...", "desc": "有……" } ] } ], "resourceMapping": { "Eva": 738, "Peter": 739 }, "cDesc": "你要进入单词城堡，先完成关于河马栖息地的句子，填入lake说明河马生活在湖里。接着你完成关于动物园动物的内容，选出tree说明动物园里还有栖息在树上的动物。" }
questionGroup
[{'image': '1201001_02.png', 'questionList': [{'type': 'npc', 'npcName': 'Ben', 'content': 'Where do hippos live？', 'desc': 'in the ___', 'optionList': [{'option': 'lake'}, {'option': 'tree'}, {'option': 'grass'}], 'answer': [0]}, {'type': 'npc', 'npcName': 'Brainy', 'title': 'What other animals are there in the zoo？', 'desc': '___', 'optionList': [{'option': 'lake'}, {'option': 'tree'}, {'option': 'grass'}], 'answer': [1]}]}]
studyInfo
{ "learningPart": [ { "image": "1201001_02.png", "learning": [ { "question": { "type": "npc", "npcName": "Brainy", "content": "小朋友你好呀，这道题我们要先认识三个和地点相关的英文单词，看看哪个可以用来回答河马住在哪里的问题哦。" }, "optionList": [ { "option": "tree", "feedback": { "type": "npc", "npcName": "Brainy", "content": "这个单词的意思是“树”，河马是体型很大的动物，没办法住在树上哦，再想想看？" } }, { "option": "grass", "feedback": { "type": "npc", "npcName": "Brainy", "content": "这个单词的意思是“草”，河马虽然有时候会在草地上活动，但这不是它们主要的居住地点哦，再选一次吧。" } }, { "option": "lake", "feedback": { "type": "npc", "npcName": "Brainy", "content": "太棒啦！lake的意思是“湖”，河马喜欢待在水里，湖泊就是它们常居住的地方，你掌握得很好哦。" } } ], "answer": [ 2 ] }, { "question": { "type": "npc", "npcName": "Brainy", "content": "现在我们来看题目哦，Ben问“Where do hippos live？”意思就是“河马住在哪里呀？”，你要选一个合适的单词填到横线上，说明河马的居住地~" }, "optionList": [ { "option": "lake", "feedback": { "type": "npc", "npcName": "Brainy", "content": "答对啦！河马本来就喜欢生活在湖泊里，\"in the lake\"就是“在湖里”的意思，现在试着大声把这句话读出来吧：Where do hippos live? In the lake." } }, { "option": "tree", "feedback": { "type": "npc", "npcName": "Brainy", "content": "树是小鸟、小松鼠这些小动物会待的地方，河马这么大，可住不到树上哦，结合图片里河马的生活环境再试试呀。" } }, { "option": "grass", "feedback": { "type": "npc", "npcName": "Brainy", "content": "草地是长颈鹿、小羊这些动物会活动的地方，河马大部分时间都待在水里，不是住在草地上哦，再想想看。" } } ], "answer": [ 0 ] } ] }, { "image": "1201001_02.png", "learning": [ { "question": { "type": "npc", "npcName": "Brainy", "content": "这道题我们要看看哪个单词是动物相关的，可以用来回答动物园里还有什么其他动物的问题哦。" }, "optionList": [ { "option": "lake", "feedback": { "type": "npc", "npcName": "Brainy", "content": "这个单词的意思是“湖”，是地点不是动物哦，不符合问题问的“动物”的要求，再选一次吧。" } }, { "option": "grass", "feedback": { "type": "npc", "npcName": "Brainy", "content": "这个单词的意思是“草”，是植物不是动物哦，没办法回答“有什么其他动物”的问题，再想想看。" } }, { "option": "monkey", "feedback": { "type": "npc", "npcName": "Brainy", "content": "太厉害啦！monkey的意思是“猴子”，是一种动物，正好可以用来回答动物园里的动物相关问题，你记住这个单词啦。" } } ], "answer": [ 2 ] }, { "question": { "type": "npc", "npcName": "Brainy", "content": "现在看题目哦，Brainy问“What other animals are there in the zoo？”意思是“动物园里还有什么其他的动物呀？”，你要选出属于动物的那个选项哦。" }, "optionList": [ { "option": "lake", "feedback": { "type": "npc", "npcName": "Brainy", "content": "湖是一个地方，不是动物哦，问题问的是动物，再仔细看看选项呀。" } }, { "option": "monkey", "feedback": { "type": "npc", "npcName": "Brainy", "content": "答对啦！猴子是很常见的动物园动物，正好回答了问题哦，现在试着大声把这句话读出来吧：What other animals are there in the zoo? Monkey." } }, { "option": "grass", "feedback": { "type": "npc", "npcName": "Brainy", "content": "草是植物，不是动物哦，不符合问题的要求，再选一次试试。" } } ], "answer": [ 1 ] } ] } ], "closing": { "type": "npc", "npcName": "Brainy", "content": "太棒了！你今天不仅认识了lake、monkey这些新的英文单词，还学会了怎么回答和动物居住地、动物园动物相关的英语问题，你的英语表达能力又进步啦，继续加油哦！" } }
kpInfo (5个知识点)

# | kpId | kpType | kpTitle | kpSkill | kpSkillName
--- | --- | --- | --- | --- | ---
[0] |  |  | lake n. 湖 |  |
[1] |  |  | monkey n. 猴子 |  |
[2] |  |  | three num. 三 |  |
[3] |  |  | How many ...? 多少……？ |  |
[4] |  |  | There be ... 有…… |  |

中间结果: 学习流程配置

    ```
    # 小题 4
    ## 材料内容
    【展示该小题对应的图片 ID：1201001_02.png】

    ## 互动题目
    ### 1. 句意选词题
    Brainy：小朋友你好呀，这道题我们要先认识三个和地点相关的英文单词，看看哪个可以用来回答河马住在哪里的问题哦。
    - 选项 A：tree
      Brainy：这个单词的意思是“树”，河马是体型很大的动物，没办法住在树上哦，再想想看？
    - 选项 B：grass
      Brainy：这个单词的意思是“草”，河马虽然有时候会在草地上活动，但这不是它们主要的居住地点哦，再选一次吧。
    - 选项 C：lake [正确]
      Brainy：太棒啦！lake的意思是“湖”，河马喜欢待在水里，湖泊就是它们常居住的地方，你掌握得很好哦。

    ### 2. 原题降级
    Brainy：现在我们来看题目哦，Ben问“Where do hippos live？”意思就是“河马住在哪里呀？”，你要选一个合适的单词填到横线上，说明河马的居住地~
    - 选项 A：lake [正确]
      Brainy：答对啦！河马本来就喜欢生活在湖泊里，"in the lake"就是“在湖里”的意思，现在试着大声把这句话读出来吧：Where do hippos live? In the lake.
    - 选项 B：tree
      Brainy：树是小鸟、小松鼠这些小动物会待的地方，河马这么大，可住不到树上哦，结合图片里河马的生活环境再试试呀。
    - 选项 C：grass
      Brainy：草地是长颈鹿、小羊这些动物会活动的地方，河马大部分时间都待在水里，不是住在草地上哦，再想想看。

    ---

    # 小题 5
    ## 材料内容
    【展示该小题对应的图片 ID：1201001_02.png】

    ## 互动题目
    ### 1. 句意选词题
    Brainy：这道题我们要看看哪个单词是动物相关的，可以用来回答动物园里还有什么其他动物的问题哦。
    - 选项 A：lake
      Brainy：这个单词的意思是“湖”，是地点不是动物哦，不符合问题问的“动物”的要求，再选一次吧。
    - 选项 B：grass
      Brainy：这个单词的意思是“草”，是植物不是动物哦，没办法回答“有什么其他动物”的问题，再想想看。
    - 选项 C：monkey [正确]
      Brainy：太厉害啦！monkey的意思是“猴子”，是一种动物，正好可以用来回答动物园里的动物相关问题，你记住这个单词啦。

    ### 2. 原题降级
    Brainy：现在看题目哦，Brainy问“What other animals are there in the zoo？”意思是“动物园里还有什么其他的动物呀？”，你要选出属于动物的那个选项哦。
    - 选项 A：lake
      Brainy：湖是一个地方，不是动物哦，问题问的是动物，再仔细看看选项呀。
    - 选项 B：monkey [正确]
      Brainy：答对啦！猴子是很常见的动物园动物，正好回答了问题哦，现在试着大声把这句话读出来吧：What other animals are there in the zoo? Monkey.
    - 选项 C：grass
      Brainy：草是植物，不是动物哦，不符合问题的要求，再选一次试试。

    ---

    # 完结反馈
    Brainy：太棒了！你今天不仅认识了lake、monkey这些新的英文单词，还学会了怎么回答和动物居住地、动物园动物相关的英语问题，你的英语表达能力又进步啦，继续加油哦！
    ```

中间结果: 互动描述

    To enter the Word Castle, you help finish the first sentence about hippos' habitat, filling the blank with "lake" to confirm hippos live in the lake.（你要进入单词城堡，先完成关于河马栖息地的句子，填入lake说明河马生活在湖里。）
    Then you go on to solve the second part about zoo animals, picking "tree" to point out there are animals living in trees in the zoo.（接着你完成关于动物园动物的内容，选出tree说明动物园里还有栖息在树上的动物。）

19 核心口语快答 cId: 0000800 core_speaking_reply
生成成功 ▶
taskInfo
{ "cType": "core_speaking_reply", "cId": "0000800", "title": "请你告诉清洁站的工人，大象需要洗澡，你们乐意帮助，希望送一些干净的水过来。", "taskDesc": "请你告诉清洁站的工人，大象需要洗澡，你们乐意帮助，希望送一些干净的水过来。", "sceneDesc": "你是Logan，在 Wander Port 的清洁站工作。清洁站附近有一只大象，人们都很喜欢她，喂她吃香蕉，帮她洗澡。这天你接到电话，几个孩子说大象需要洗澡，你意识到一定是饲养员粗心忘记了！孩子们说愿意帮助大象洗澡，需要借一些干净的水，你立刻答应。", "img": "", "key": [ { "desc": "邀请一起做某事的表达", "keyList": [ { "type": "default", "content": "Let's...", "desc": "让我们……" } ] }, { "desc": "表达建议的句式", "keyList": [ { "type": "default", "content": "Instead of..., we'd better...", "desc": "与其……，我们不如……" } ] }, { "desc": "表达意愿的句式", "keyList": [ { "type": "default", "content": "... love(s) to...", "desc": "……很乐意……" } ] } ], "resourceMapping": { "Eva": 738, "Peter": 739 } }
dialogSetting
{ "setting": { "npcName": "Logan", "round": 5, "checkRound": 3 } }
dialogConfig
{ "config": { "asrPrompt": "elephant,shower,water,keepers,help,clean", "promptInfo": { "default": "\n# 1. 角色（你要扮演谁）\n你是Logan，在Wander Port的清洁站工作。你的语言风格亲切自然，简单易懂，适合儿童理解。\n# 2. 任务（你如何参与对话）\n1. 首轮对话使用规定开场白，询问大象的情况。\n2. 当用户告知大象需要洗澡后，先确认是不是还没洗澡，再告诉用户可以先等等，也许饲养员很快会来。\n3. 接下来询问用户是否愿意帮忙给大象洗澡。\n4. 如果用户表示愿意帮忙，先表达感谢，再告知会马上送干净的水过去，之后友好结束对话。\n5. 如果用户表示不愿意帮忙，告诉用户没关系，你会联系饲养员来处理，自然结束对话。\n6. 如果用户的回答和当前问题不相关，先用简单的话引导用户回到当前问题上，不要推进到下一个任务环节。\n7. 如果用户说的内容你听不懂，礼貌地请用户再说一遍，例如\"Pardon?\"。\n8. 所有环节都要按照顺序推进，不要一次性提出多个问题。\n# 3. 背景信息\n你是Logan，在 Wander Port 的清洁站工作。清洁站附近有一只大象，人们都很喜欢她，喂她吃香蕉，帮她洗澡。这天你接到电话，几个孩子说大象需要洗澡，你意识到一定是饲养员粗心忘记了！孩子们说愿意帮助大象洗澡，需要借一些干净的水，你立刻答应。\n# 4. 语言风格\n- 使用 CEFR A1-A2 等级英语，避免复杂句，每句话不超过 10 个词，比如\n \"目的地\" 可以用句子 Where are you going？，不用 destination，确保小学2-4年级的孩子能听懂\n- 回答一般不超过两句话\n- 避免重复表达，适当变换措辞\n# 5. 开场白 (仅用于首轮)\n由你开始对话，你会问用户：\"Hi. What happened to the elephant?\"\n# 6. 回应方式\n- 无论用户如何对话，你都应基于你的身份做出合理反应。\n- 每次最多只提问一个问题，等待用户回答后再继续。\n- 除开场轮次外，每次回应，可以先基于用户的话给一句反馈。然后再推进你的任务。\n", "scene": "你是Logan，在 Wander Port 的清洁站工作。清洁站附近有一只大象，人们都很喜欢她，喂她吃香蕉，帮她洗澡。这天你接到电话，几个孩子说大象需要洗澡，你意识到一定是饲养员粗心忘记了！孩子们说愿意帮助大象洗澡，需要借一些干净的水，你立刻答应。", "in_progress_goal": "用户告诉清洁站的工人，大象需要洗澡，并且表示乐意帮助，要求 Logan 送一些干净的水过来。", "final_goal": "用户告诉清洁站的工人，大象需要洗澡，并提出需要一些水。", "reference_dialog": "Logan: Hi. What happened to the elephant?\nUser: The elephant needs a shower. Let's set up a shower for her.\nLogan: Are you saying she hasn't had a shower yet? Maybe someone will probably come soon.\nUser: Instead of waiting here, we'd better get some water for her first.\nLogan: The keepers are too careless! Thank you! Can you help her shower?\nUser: We'd love to help.\nLogan: Great. We will send some water to her right away.", "user_task": "请你告诉清洁站的工人，大象需要洗澡，你们乐意帮助，希望送一些干净的水过来。", "user_scene": "你是Logan，在 Wander Port 的清洁站工作。清洁站附近有一只大象，人们都很喜欢她，喂她吃香蕉，帮她洗澡。这天你接到电话，几个孩子说大象需要洗澡，你意识到一定是饲养员粗心忘记了！孩子们说愿意帮助大象洗澡，需要借一些干净的水，你立刻答应。", "user_knowledge": "Let's... 让我们……\nInstead of..., we'd better... 与其……，我们不如……\n... love(s) to... ……很乐意……" } } }
studyInfo
{ "learningPart": { "opening": { "type": "npc", "npcName": "Logan", "content": "Hi. What happened to the elephant?" }, "wrongReadLeadIn": { "type": "npc", "content": "请根据提词框内的内容大声地朗读这句话", "npcName": "Brainy" }, "learning": [ { "question": { "type": "npc", "npcName": "Brainy", "content": "Logan问你大象怎么啦，现在你需要告诉对方大象需要洗澡，我们可以帮她安排洗浴哦。" }, "optionList": [ { "option": "The elephant needs a shower. Let's set up a shower for her.", "feedback": { "type": "npc", "npcName": "Brainy", "content": "回答正确！太棒啦，现在试着大声把这句话读出来吧~" } }, { "option": "The elephant is hungry. We can feed her some bananas.", "feedback": { "type": "npc", "npcName": "Brainy", "content": "现在我们的任务是说大象需要洗澡哦，这句话是说大象饿了、我们可以喂她香蕉，和当前情境不匹配，你再选一次呀~" } }, { "option": "The elephant is lost. Let's help her find the keeper.", "feedback": { "type": "npc", "npcName": "Brainy", "content": "这句话的意思是大象走丢了，我们要帮她找饲养员，和我们要表达的大象需要洗澡的内容不一样哦，再试试吧~" } } ], "answer": [ 0 ], "read": { "type": "user", "content": "The elephant needs a shower. Let's set up a shower for her." }, "feedback": { "type": "npc", "npcName": "Logan", "content": "Are you saying she hasn't had a shower yet? Maybe someone will probably come soon." } }, { "question": { "type": "npc", "npcName": "Brainy", "content": "Logan说你是说她还没洗澡吗，可能很快就有人过来了。现在你要回应对方，比起在这儿等，我们最好先去给她拿点水。" }, "optionList": [ { "option": "You're right, let's just wait here for the keeper.", "feedback": { "type": "npc", "npcName": "Brainy", "content": "这句话是说你说得对，我们就在这儿等饲养员吧，不是我们要表达的先去拿水的意思哦，再选一次呀~" } }, { "option": "Instead of waiting here, we'd better get some water for her first.", "feedback": { "type": "npc", "npcName": "Brainy", "content": "完全正确！你太厉害啦，现在试着把这句话流利地读出来吧~" } }, { "option": "We can go to the zoo and see other animals first.", "feedback": { "type": "npc", "npcName": "Brainy", "content": "这句话的意思是我们可以先去动物园看其他动物，和当前要帮大象拿水的情境不符哦，再试一次吧~" } } ], "answer": [ 1 ], "read": { "type": "user", "content": "Instead of waiting here, we'd better get some water for her first." }, "feedback": { "type": "npc", "npcName": "Logan", "content": "The keepers are too careless! Thank you! Can you help her shower?" } }, { "question": { "type": "npc", "npcName": "Brainy", "content": "Logan说饲养员太粗心了！谢谢你，问你能不能帮大象洗澡。现在你要告诉对方你很乐意帮忙哦。" }, "optionList": [ { "option": "We'd love to help.", "feedback": { "type": "npc", "npcName": "Brainy", "content": "回答正确！你表现得超棒，现在大声把这句话读出来就好啦~" } }, { "option": "Sorry, we have no time to help her.", "feedback": { "type": "npc", "npcName": "Brainy", "content": "这句话是说抱歉，我们没时间帮她，我们的任务是要表示乐意帮忙哦，再选一次吧~" } }, { "option": "We need to go home now, goodbye.", "feedback": { "type": "npc", "npcName": "Brainy", "content": "这句话的意思是我们现在要回家了，再见，和我们要表达的愿意帮忙的意思不一样哦，再试试呀~" } } ], "answer": [ 0 ], "read": { "type": "user", "content": "We'd love to help." }, "feedback": { "type": "npc", "npcName": "Logan", "content": "Great. We will send some water to her right away." } } ], "closing": { "type": "npc", "npcName": "Brainy", "content": "太棒啦！你已经顺利完成了这次对话任务，你和Logan沟通得非常好，很快就能帮大象洗上舒服的澡啦~" } } }
kpInfo (3个知识点)

# | kpId | kpType | kpTitle | kpSkill | kpSkillName
--- | --- | --- | --- | --- | ---
[0] |  |  | Let's... 让我们…… |  |
[1] |  |  | Instead of..., we'd better... 与其……，我们不如…… |  |
[2] |  |  | ... love(s) to... ……很乐意…… |  |

中间结果: 学习流程配置

    ```
    # 开场回合
    Logan：Hi. What happened to the elephant?

    # 中间回合1
    Brainy：Logan问你大象怎么啦，现在你需要告诉对方大象需要洗澡，我们可以帮她安排洗浴哦。
    用户选项:
    （A）The elephant needs a shower. Let's set up a shower for her.
      Brainy：回答正确！太棒啦，现在试着大声把这句话读出来吧~
    （B）The elephant is hungry. We can feed her some bananas.
      Brainy：现在我们的任务是说大象需要洗澡哦，这句话是说大象饿了、我们可以喂她香蕉，和当前情境不匹配，你再选一次呀~
    （C）The elephant is lost. Let's help her find the keeper.
      Brainy：这句话的意思是大象走丢了，我们要帮她找饲养员，和我们要表达的大象需要洗澡的内容不一样哦，再试试吧~
    Logan：Are you saying she hasn't had a shower yet? Maybe someone will probably come soon.

    # 中间回合2
    Brainy：Logan说你是说她还没洗澡吗，可能很快就有人过来了。现在你要回应对方，比起在这儿等，我们最好先去给她拿点水。
    用户选项:
    （A）You're right, let's just wait here for the keeper.
      Brainy：这句话是说你说得对，我们就在这儿等饲养员吧，不是我们要表达的先去拿水的意思哦，再选一次呀~
    （B）Instead of waiting here, we'd better get some water for her first.
      Brainy：完全正确！你太厉害啦，现在试着把这句话流利地读出来吧~
    （C）We can go to the zoo and see other animals first.
      Brainy：这句话的意思是我们可以先去动物园看其他动物，和当前要帮大象拿水的情境不符哦，再试一次吧~
    Logan：The keepers are too careless! Thank you! Can you help her shower?

    # 中间回合3
    Brainy：Logan说饲养员太粗心了！谢谢你，问你能不能帮大象洗澡。现在你要告诉对方你很乐意帮忙哦。
    用户选项:
    （A）We'd love to help.
      Brainy：回答正确！你表现得超棒，现在大声把这句话读出来就好啦~
    （B）Sorry, we have no time to help her.
      Brainy：这句话是说抱歉，我们没时间帮她，我们的任务是要表示乐意帮忙哦，再选一次吧~
    （C）We need to go home now, goodbye.
      Brainy：这句话的意思是我们现在要回家了，再见，和我们要表达的愿意帮忙的意思不一样哦，再试试呀~
    Logan：Great. We will send some water to her right away.

    # 结尾回合
    Brainy：太棒啦！你已经顺利完成了这次对话任务，你和Logan沟通得非常好，很快就能帮大象洗上舒服的澡啦~
    ```

中间结果: promptInfo配置

    ```
    # 1. 角色（你要扮演谁）
    你是Logan，在Wander Port的清洁站工作。你的语言风格亲切自然，简单易懂，适合儿童理解。
    # 2. 任务（你如何参与对话）
    1. 首轮对话使用规定开场白，询问大象的情况。
    2. 当用户告知大象需要洗澡后，先确认是不是还没洗澡，再告诉用户可以先等等，也许饲养员很快会来。
    3. 接下来询问用户是否愿意帮忙给大象洗澡。
    4. 如果用户表示愿意帮忙，先表达感谢，再告知会马上送干净的水过去，之后友好结束对话。
    5. 如果用户表示不愿意帮忙，告诉用户没关系，你会联系饲养员来处理，自然结束对话。
    6. 如果用户的回答和当前问题不相关，先用简单的话引导用户回到当前问题上，不要推进到下一个任务环节。
    7. 如果用户说的内容你听不懂，礼貌地请用户再说一遍，例如"Pardon?"。
    8. 所有环节都要按照顺序推进，不要一次性提出多个问题。
    # 3. 背景信息
    你是Logan，在 Wander Port 的清洁站工作。清洁站附近有一只大象，人们都很喜欢她，喂她吃香蕉，帮她洗澡。这天你接到电话，几个孩子说大象需要洗澡，你意识到一定是饲养员粗心忘记了！孩子们说愿意帮助大象洗澡，需要借一些干净的水，你立刻答应。
    # 4. 语言风格
    - 使用 CEFR A1-A2 等级英语，避免复杂句，每句话不超过 10 个词，比如
      "目的地" 可以用句子 Where are you going？，不用 destination，确保小学2-4年级的孩子能听懂
    - 回答一般不超过两句话
    - 避免重复表达，适当变换措辞
    # 5. 开场白 (仅用于首轮)
    由你开始对话，你会问用户："Hi. What happened to the elephant?"
    # 6. 回应方式
    - 无论用户如何对话，你都应基于你的身份做出合理反应。
    - 每次最多只提问一个问题，等待用户回答后再继续。
    - 除开场轮次外，每次回应，可以先基于用户的话给一句反馈。然后再推进你的任务。
    ```

中间结果: 语音识别热词

    elephant,shower,water,keepers,help,clean

20 口语独白 cId: 0000800 ? 跳过 ▶
跳过: 类型 '口语独白' 尚未实现生成器
21 核心口语妙问 cId: 0000800 core_speaking_inquiry
生成成功 ▶
taskInfo
{ "cType": "core_speaking_inquiry", "cId": "0000800", "title": "向Chloe询问健身房位置并讨要毛巾", "taskDesc": "你要向 Chloe 询问健身房的位置，以及讨要毛巾，做好开始运动的准备。", "sceneDesc": "你是 Chloe，是 Twilight 的空乘，服务好每一位乘客是你的使命。用户之前帮你在另一位乘客面前解了围，你很感谢用户的帮忙，对用户的态度也格外友善热情。你发现用完餐的用户正在东张西望，似乎在寻找什么，你确认用户需要帮助，于是上前询问。你发现用户想去健身房消消食，但是不知道方向，于是回答了用户的问题，提供了你的帮助。", "img": "", "key": [ { "desc": "", "keyList": [ { "type": "default", "content": "Where can I find the gym？", "desc": "我在哪里能找到健身房？" }, { "type": "default", "content": "Can I have a towel please?？", "desc": "我能要一条毛巾吗？" }, { "type": "default", "content": "What else can I do there?", "desc": "我在那儿还能做些什么？" } ] } ], "resourceMapping": { "Eva": 738, "Peter": 739 } }
dialogSetting
{ "setting": { "npcName": "Chloe", "round": 5, "checkRound": 3 } }
dialogConfig
{ "config": { "asrPrompt": "gym,towel,exercise,sightseeing,relax,walkway", "promptInfo": { "default": "# 1. 角色（你要扮演谁）\n- 你是 Chloe，是 Twilight 的空乘，你的职责是服务好每一位乘客。\n- 你对用户格外友善热情，因为用户之前帮你解过围。\n\n# 2. 任务（你如何参与到整个对话）\n- 你只在用户提问时提供特定信息，不主动透露知识库中的信息。\n- 如果用户提问的内容在知识库范围内，你会准确回答。\n- 如果用户的问题不清晰，你会尝试确认问题。\n- 一般情况下，一次最多只回答知识库中的一条信息，除非用户明确地分别提问到多条信息。\n- 如果用户不提问，你会温和、自然地进行交谈。\n\n# 3. 背景信息\n你是 Chloe，是 Twilight 的空乘，服务好每一位乘客是你的使命。\n用户之前帮你在另一位乘客面前解了围，你很感谢用户的帮忙，对用户的态度也格外友善热情。\n你发现用完餐的用户正在东张西望，似乎在寻找什么，你确认用户需要帮助，于是上前询问。你发现用户想去健身房消消食，但是不知道方向，于是回答了用户的问题，提供了你的帮助。\n\n# 4. 知识库（你知道的信息）\n- 健身房就在前方过道的尽头。\n- 你会为有需要的用户准备一条新毛巾。\n- 健身房可以进行的活动：运动、看宇宙风光（sightseeing），或者可以拉伸放松、进行休息。\n- 对用户的任何提问，你都耐心安抚并一一回答。\n\n# 5. 语言风格\n- 使用 CEFR A1-A2 等级英语，避免复杂句，每句话不超过 10 个词，比如\n \"我要去...\" 可以用句子 I am going to ...，不用 My destination is ...，确保小学2-4年级的孩子能听懂\n- 回答一般不超过两句话\n- 避免重复表达，适当变换措辞\n\n# 6. 开场白\n你由你开始对话，你会说：\"Can I help you?\"\n\n# 7. 回应方式（固定内容）\n- 你只在用户提问时才根据知识库中的信息回答。其他时候，以符合你身份的方式，自然地进行交谈。\n- 不主动提供知识库的信息\n- 不主动提问题", "scene": "你是 Chloe，是 Twilight 的空乘，服务好每一位乘客是你的使命。\n用户之前帮你在另一位乘客面前解了围，你很感谢用户的帮忙，对用户的态度也格外友善热情。\n你发现用完餐的用户正在东张西望，似乎在寻找什么，你确认用户需要帮助，于是上前询问。你发现用户想去健身房消消食，但是不知道方向，于是回答了用户的问题，提供了你的帮助。", "in_progress_goal": "用户成功问出“健身房在哪里”、“可以给我一条毛巾吗”以及“在哪儿我还能做什么”的三个问题。", "final_goal": "Chloe回答了用户关于健身房的问题，提供了耐心友好的帮助。", "reference_dialog": "Chloe: Can I help you?\nUser: Where can I find the gym?\nChloe: Look, it's over there at the end of this walkway.\nUser: Oh, and can I have a towel please? \nChloe: Of course! I'll bring a new one for you soon.\nUser: What else can I do there? \nChloe: Well, you can do some exercise and enjoy sightseeing there. Or you can just relax.", "user_task": "你要向 Chloe 询问健身房的位置，以及讨要毛巾，做好开始运动的准备。", "user_scene": "你是 Chloe，是 Twilight 的空乘，服务好每一位乘客是你的使命。\n用户之前帮你在另一位乘客面前解了围，你很感谢用户的帮忙，对用户的态度也格外友善热情。\n你发现用完餐的用户正在东张西望，似乎在寻找什么，你确认用户需要帮助，于是上前询问。你发现用户想去健身房消消食，但是不知道方向，于是回答了用户的问题，提供了你的帮助。", "user_knowledge": "Where can I find the gym？我在哪里能找到健身房？\nCan I have a towel please?？我能要一条毛巾吗？\nWhat else can I do there? 我在那儿还能做些什么？" } } }
studyInfo
{ "learningPart": { "opening": { "type": "npc", "npcName": "Chloe", "content": "Can I help you?" }, "wrongReadLeadIn": { "type": "npc", "content": "请根据提词框内的内容大声地朗读这句话", "npcName": "Brainy" }, "learning": [ { "question": { "type": "npc", "npcName": "Brainy", "content": "空乘Chloe主动问你是否需要帮助，现在你需要向她询问健身房的位置。" }, "optionList": [ { "option": "Where can I find the gym?", "feedback": { "type": "npc", "npcName": "Brainy", "content": "太棒了！你正确地问出了健身房的位置。请大声朗读这句话！" } }, { "option": "Can I have a towel please?", "feedback": { "type": "npc", "npcName": "Brainy", "content": "这句话是用来要毛巾的，现在我们首先要问健身房的位置哦，请再选一次吧。" } }, { "option": "What else can I do there?", "feedback": { "type": "npc", "npcName": "Brainy", "content": "这句话是询问在健身房还能做什么的，不是询问位置的，请再试一次。" } } ], "answer": [ 0 ], "read": { "type": "user", "content": "Where can I find the gym?" }, "feedback": { "type": "npc", "npcName": "Chloe", "content": "Look, it's over there at the end of this walkway." } }, { "question": { "type": "npc", "npcName": "Brainy", "content": "Chloe已经告诉你健身房在走道的尽头啦，现在你需要向她要一条毛巾，为运动做准备。" }, "optionList": [ { "option": "Where can I find the gym?", "feedback": { "type": "npc", "npcName": "Brainy", "content": "你已经问过健身房的位置啦，现在需要向Chloe要毛巾哦，再试试吧。" } }, { "option": "Can I have a towel please?", "feedback": { "type": "npc", "npcName": "Brainy", "content": "太对啦！你正确地向Chloe提出了要毛巾的请求。请大声朗读这句话！" } }, { "option": "What else can I do there?", "feedback": { "type": "npc", "npcName": "Brainy", "content": "这句话是询问在健身房还能做什么的，不是要毛巾的表达哦，请再选一次。" } } ], "answer": [ 1 ], "read": { "type": "user", "content": "Can I have a towel please?" }, "feedback": { "type": "npc", "npcName": "Chloe", "content": "Of course! I'll bring a new one for you soon." } }, { "question": { "type": "npc", "npcName": "Brainy", "content": "Chloe答应会马上给你拿一条新毛巾，现在你可以问问她在健身房还能做些什么。" }, "optionList": [ { "option": "Where can I find the gym?", "feedback": { "type": "npc", "npcName": "Brainy", "content": "你已经知道健身房的位置啦，现在是要询问健身房的其他相关内容哦，再试试吧。" } }, { "option": "Can I have a towel please?", "feedback": { "type": "npc", "npcName": "Brainy", "content": "你已经要过毛巾啦，Chloe也答应给你拿了，不需要再问啦，再选一次吧。" } }, { "option": "What else can I do there?", "feedback": { "type": "npc", "npcName": "Brainy", "content": "你真厉害！正确问出了在健身房的其他可做事项。请大声朗读这句话！" } } ], "answer": [ 2 ], "read": { "type": "user", "content": "What else can I do there?" }, "feedback": { "type": "npc", "npcName": "Chloe", "content": "Well, you can do some exercise and enjoy sightseeing there. Or you can just relax." } } ], "closing": { "type": "npc", "npcName": "Brainy", "content": "Chloe已经告诉你在健身房可以运动、观光或者放松，你已经问清了健身房的位置、要到了毛巾，也了解了健身房的相关信息，任务圆满完成啦！" } } }
kpInfo (3个知识点)

# | kpId | kpType | kpTitle | kpSkill | kpSkillName
--- | --- | --- | --- | --- | ---
[0] |  |  | Where can I find the gym？我在哪里能找到健身房？ |  |
[1] |  |  | Can I have a towel please?？我能要一条毛巾吗？ |  |
[2] |  |  | What else can I do there? 我在那儿还能做些什么？ |  |

中间结果: 学习流程配置

    ```
    # 开场回合
    Chloe：Can I help you?

    # 中间回合1
    Brainy：空乘Chloe主动问你是否需要帮助，现在你需要向她询问健身房的位置。
    用户选项:
    （选项A）Where can I find the gym? [正确]
      Brainy：太棒了！你正确地问出了健身房的位置。请大声朗读这句话！
    （选项B）Can I have a towel please?
      Brainy：这句话是用来要毛巾的，现在我们首先要问健身房的位置哦，请再选一次吧。
    （选项C）What else can I do there?
      Brainy：这句话是询问在健身房还能做什么的，不是询问位置的，请再试一次。

    Chloe：Look, it's over there at the end of this walkway.

    # 中间回合2
    Brainy：Chloe已经告诉你健身房在走道的尽头啦，现在你需要向她要一条毛巾，为运动做准备。
    用户选项:
    （选项A）Where can I find the gym?
      Brainy：你已经问过健身房的位置啦，现在需要向Chloe要毛巾哦，再试试吧。
    （选项B）Can I have a towel please? [正确]
      Brainy：太对啦！你正确地向Chloe提出了要毛巾的请求。请大声朗读这句话！
    （选项C）What else can I do there?
      Brainy：这句话是询问在健身房还能做什么的，不是要毛巾的表达哦，请再选一次。

    Chloe：Of course! I'll bring a new one for you soon.

    # 中间回合3
    Brainy：Chloe答应会马上给你拿一条新毛巾，现在你可以问问她在健身房还能做些什么。
    用户选项:
    （选项A）Where can I find the gym?
      Brainy：你已经知道健身房的位置啦，现在是要询问健身房的其他相关内容哦，再试试吧。
    （选项B）Can I have a towel please?
      Brainy：你已经要过毛巾啦，Chloe也答应给你拿了，不需要再问啦，再选一次吧。
    （选项C）What else can I do there? [正确]
      Brainy：你真厉害！正确问出了在健身房的其他可做事项。请大声朗读这句话！

    Chloe：Well, you can do some exercise and enjoy sightseeing there. Or you can just relax.

    # 结尾回合
    Brainy：Chloe已经告诉你在健身房可以运动、观光或者放松，你已经问清了健身房的位置、要到了毛巾，也了解了健身房的相关信息，任务圆满完成啦！
    ```

中间结果: promptInfo配置

    ```
    # 1. 角色（你要扮演谁）
    - 你是 Chloe，是 Twilight 的空乘，你的职责是服务好每一位乘客。
    - 你对用户格外友善热情，因为用户之前帮你解过围。

    # 2. 任务（你如何参与到整个对话）
    - 你只在用户提问时提供特定信息，不主动透露知识库中的信息。
    - 如果用户提问的内容在知识库范围内，你会准确回答。
    - 如果用户的问题不清晰，你会尝试确认问题。
    - 一般情况下，一次最多只回答知识库中的一条信息，除非用户明确地分别提问到多条信息。
    - 如果用户不提问，你会温和、自然地进行交谈。

    # 3. 背景信息
    你是 Chloe，是 Twilight 的空乘，服务好每一位乘客是你的使命。
    用户之前帮你在另一位乘客面前解了围，你很感谢用户的帮忙，对用户的态度也格外友善热情。
    你发现用完餐的用户正在东张西望，似乎在寻找什么，你确认用户需要帮助，于是上前询问。你发现用户想去健身房消消食，但是不知道方向，于是回答了用户的问题，提供了你的帮助。

    # 4. 知识库（你知道的信息）
    - 健身房就在前方过道的尽头。
    - 你会为有需要的用户准备一条新毛巾。
    - 健身房可以进行的活动：运动、看宇宙风光（sightseeing），或者可以拉伸放松、进行休息。
    - 对用户的任何提问，你都耐心安抚并一一回答。

    # 5. 语言风格
    - 使用 CEFR A1-A2 等级英语，避免复杂句，每句话不超过 10 个词，比如
      "我要去..." 可以用句子 I am going to ...，不用 My destination is ...，确保小学2-4年级的孩子能听懂
    - 回答一般不超过两句话
    - 避免重复表达，适当变换措辞

    # 6. 开场白
    你由你开始对话，你会说："Can I help you?"

    # 7. 回应方式（固定内容）
    - 你只在用户提问时才根据知识库中的信息回答。其他时候，以符合你身份的方式，自然地进行交谈。
    - 不主动提供知识库的信息
    - 不主动提问题
    ```

中间结果: 语音识别热词

    gym,towel,exercise,sightseeing,relax,walkway