---
name: audit_l1_config
description: Level 1 配置表（句子知识点）自动化审校技能。覆盖基础信息完整性、分类字段互换检测、题型JSON结构、单词库-答案一致性、第三人称单数语法等7项自动检查 + 4项人工审核清单。触发关键词：L1配置表审校、句子知识点审校、巩固题审校、audit l1 config
---

# L1 配置表审校 — 句子知识点

## 目标数据源

- **多维表格**: 「互动知识点 - 句子」→「Level 1 配置表」
- **App Token**: `Nq3Zb258aae7SRs2QfXcqsQYnxJ`
- **Table ID**: `tblTxGpf6GQ5c7DZ`
- **字段结构**: ID(7位数字化) / 基础信息(basicInfo/classificationInfo/config/usageInfo) / 8种题型JSON / 中文字段描述 / 审校结果

## ID 编码规则

| 位 | 含义 | 示例 |
|----|------|------|
| 1-2 | Level + Season | 10=L1S0, 11=L1S1, 12=L1S2 |
| 3-4 | Unit | 00=U1, 01=U2, ... 14=U14 |
| 5-7 | 序列号 | 001-010 |

例: 1214001 = L1 Season2, Unit14, 序列001



## 文本输出规范（强制执行）

所有输出的文本内容（台词、题目、选项、解析、音频文本、阅读文章等）必须遵守以下规则：

1. 禁止 Markdown 标记：禁止使用 ** * __ _ 等加粗/斜体标识，也禁止使用 # > - 等块级 Markdown 语法。所有文本纯文本输出。
2. 英式拼写优先：单词涉及英美式拼写差异时（如 colour/color、centre/center、travelling/traveling），统一选择英式拼写。
3. 标点符号规范：严格区分全角/半角符号。中文内容使用全角标点（，。！？），英文内容使用半角标点（. , ! ?），不得混用。

## 审校流程

```
Step 1: 运行自动审校脚本 → python3 scripts/audit_l1_config.py [app_token] [table_id] [record_id]
Step 2: 对自动检查发现的问题，确认真实性（排除误报）
Step 3: 按人工审核清单逐项检查
Step 4: 汇总结果写入 bitable「审校结果」列
```

## 自动化检查项（7项）

### 1. basicInfo/config/usageInfo 字段完整性
- 检查 JSON 是否包含必填字段：type, id, meaning, desc, structure, valaLevel
- 检查 id 与 record ID 是否一致

### 2. classificationInfo 值互换检测 ⚠️ 高频问题
- 检查 `cambridgeLevel` 是否与列字段「剑桥考试级别」一致（应为 YLE/PET/KET 等）
- 检查 `cefrLevel` 是否与列字段「欧标等级」一致（应为 A1/A2/B1 等）
- **常见问题**: 两个字段值互换，如 cambridgeLevel="A1" 而 cefrLevel="YLE"

### 3. 题型 JSON 结构完整性
- 8种题型 JSON 是否存在，内容是否为空数组
- 每道题必含: category, skill, type, pointId, question, options, answer
- pointId 与 record ID 一致性
- answer 索引不超出 options 范围
- 发音类题型（句子朗读/跟读）豁免 options/answer 检查

### 4. sentenceStructureSort 单词库-答案一致性
- 按 answer 索引从单词库拼出句子
- 与 explanation 中「正确答案是 "..."」对比（去标点后）
- **常见问题**: 单词库给 "need" 但正确形式应为 "needs"（三单）

### 5. sentenceStructureSort 第三人称单数语法
- 主语为 He/She/It/人名 时，检查动词是否有三单变形
- 特殊检查: 单词库有 "need" 但无 "needs"，且主语为三单 → 报错

### 6. 题型覆盖率
- 确认所有8种题型字段非空且 JSON 可解析
- 缺失题型标记为 ⚠️

### 7. 中文字段 × JSON 字段一致性
- 中文描述列（句意选择题/句型结构题等）与对应 JSON 字段双向校验
- 一边有数据另一边为空 → 标记 ⚠️

## 人工审核清单（4项）

### A. 填空题选项自然度
- 如 sentenceStructureClozeWordMcq 中 "put your toys" 省略 "away" 是否可接受
- 需结合 L1 级别和教学目标判断省略形式的合理性

### B. 解释文本质量
- 解释是否准确、完整、易于理解
- 语法术语是否符合目标年龄段

### C. 选项干扰项合理性
- 干扰项是否与正确答案有足够的区分度（不能太明显）
- 干扰项是否过于混淆（不能太接近）

### D. 图片描述与题型匹配
- sentenceMeaningPic2SentMcq 的图片描述是否符合场景
- 图片是否清晰传达目标知识点

## 使用示例

### 单条记录审校
```bash
python3 scripts/audit_l1_config.py Nq3Zb258aae7SRs2QfXcqsQYnxJ tblTxGpf6GQ5c7DZ 1214001
```

### 全表扫描
```bash
python3 scripts/audit_l1_config.py
```

### 输出示例
```
🔍 Level 1 配置表审校 | Nq3Zb258aae7SRs2QfXcqsQYnxJ/tblTxGpf6GQ5c7DZ
   目标: 1214001

=== 1214001 === 共 3 个问题
  ❌ classificationInfo 值互换: cambridgeLevel=A1(应为YLE), cefrLevel=YLE(应为A1)
  ❌ sentenceStructureSort 单词拼出 "Otis need to pack his schoolbag" ≠ 解释声明 "Otis needs to pack his schoolbag."
  ❌ sentenceStructureSort Otis三单主语，单词库有need无needs
```

## 审校结果写入规范

写入 bitable「审校结果」列时遵循：
1. ❌ 标记真实错误（带具体定位和修正方案）
2. ⚠️ 标记需确认项（带评估建议）
3. ✅ 全量通过时写 `✅`
4. 自动检查命中的问题需人工二次确认后再写入（排除误报）

## 常见误报场景（脚本使用者须知）

| 误报类型 | 原因 | 处理 |
|---------|------|------|
| 发音类题型报缺少 options/answer | sentencePronRead/sentencePronRepeatSentence 无选项 | 脚本已豁免 |
| 单词拼出句子 ≠ 解释声明（仅标点差异） | 末尾句号差异 | 脚本已去标点后比较 |
| 句子朗读 pointId ≠ record ID | 可能是跨知识点复用 | 人工判断是否为合理复用 |
