# Kaoyan Qwen Drill

> 基于错题簇调用云端大模型（任意 OpenAI 兼容服务）生成原创变式复测题与二次精讲。用户说"云端陪练""针对这个错题簇出变式题""这题再讲一遍"时使用；单题首次讲解归学科教练，不替代端侧语义检索与错因聚类。

- Skill: `yq6666-66/kaoyan-qwen-drill` (Agent Skill)
- Install (CLI): `npx skillmds@latest add yq6666-66/kaoyan-qwen-drill`
- Raw SKILL.md: https://api.skillmd.com/api/skills/yq6666-66/kaoyan-qwen-drill/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: yq6666-66 (https://skillmd.com/u/yq6666-66)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/yq6666-66/kaoyan-qwen-drill

---


# 云端错题陪练

## 加载契约

- 始终读取并遵循[能力路由契约](../../references/capability-routing-contract.md)。
- 调用云端模型前必须读取 [云端引擎契约](../../references/qwen-engine-contract.md)。
- 输入为错题簇时，先确认已有 `kaoyan-error-loop-coach` 交接卡或用户直接提供的错题记录；缺少交接卡时，只请求用户提供错题记录；缺少错因描述时，只请求最小补充。
- 生成复测题时遵循[证据与版权契约](../../references/evidence-copyright-contract.md)。

## 陪练流程

1. **校验错题簇**：确认科目、知识点、错因描述、错因状态（`confirmed` / `hypothesis`）。错因缺失或状态不明时，只问一个最小补充问题；不得自行猜测错因。
2. **构造云端 prompt**：只使用知识点、错因、错因状态和必要出题目标组织 prompt；写明约束：**只输出原创变式题，不复制、改写或引用任何原题题面**。`confirmed` 错因用于设置陷阱，`hypothesis` 错因用于最小验证。
3. **dry-run 与隐私检查**：先运行 `python scripts/qwen_engine.py --dry-run` 预览请求体；确认不含姓名、学校、手机号、邮箱、住址、账号、可识别路径、原题可识别文本等个人信息或敏感内容。若含敏感内容，先脱敏或剔除；无法合规时跳过云端调用并降级。
4. **真实调用云端**：仅在 dry-run 通过、云端密钥已配置（环境变量 `OPENAI_API_KEY`，兼容历史变量）且请求只聚焦一个错题簇时调用；模型名默认取环境变量 `OPENAI_MODEL` 或引擎内置默认。不得合并多个错题簇，不得整卷生成。
5. **输出结果**：
   - 变式复测题：云端成功时标 `[原创练习][AI生成]`；作答前不附答案、提示或解析。
   - 二次精讲：云端成功时标 `[AI生成]`；对照用户原错因逐条回应，按"错因 → 易错点 → 正确思路 → 检查方法"展开。
   - 云端成功时附本次调用日志路径（`logs/qwen/…json`）；未调用或失败时不附云端日志，并说明未调用原因。
6. **失败降级**：未配置密钥、调用失败、超时或无法通过隐私检查时，降级为会话内出题；明示「本次未使用云端模型」；不得伪造 `[AI生成]` 标注，不得声称有云端日志；若用户请求二次精讲，不输出 `[AI生成]` 精讲。

## 边界

- 不做单题首次讲解（归学科教练）；不改写 `ReviewQueue` 状态——掌握判定仍由错题闭环的证据规则决定。
- 一次请求聚焦一个错题簇；不做整卷生成，不绕过版权约束。

