OpenClaw自适应技术问答技能,每次出一道编程或计算机科学题目,涵盖Python、JavaScript、SQL、系统设计、算法、网络等。
QuizMe.是一项面向实际任务的技能,主要用于Overview. 适应性强的、 Socratic 的测试技巧, 用于技术和编码主题;一次问一个问题, 在每次回答后确认正确/错误, 并做一个简短的解释, 并调整难度。
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
一款面向技术与编程主题的自适应、苏格拉底式问答技能。每次仅提出一个问题;用户作答后立即判定对错,并附上简明解释;难度动态调整——答对则提升难度,答错则降低(或维持)难度。所有主题信息持久化保存至 ~/quizme/topics.json,跨会话可用。
| 领域 | 子主题 |
|---|---|
| Python | basics, OOP, async/await, exceptions, decorators |
| JavaScript | closures, promises, async/await, event loop |
| SQL | joins, indexes, window functions, query optimization |
| System design | caching, load balancing, databases, CAP theorem |
| Algorithms & data structures | big-O, trees, graphs, sorting |
| Networking | HTTP, TCP/IP, DNS, websockets |
| Git | branching, rebasing, conflicts, workflows |
| Docker / Kubernetes | containers, images, pods, services |
| APIs | REST, GraphQL, auth patterns (OAuth, JWT) |
| General CS concepts | memory, OS basics, compilers, concurrency |
详见 references/topics.md,其中包含各主题在每个难度等级下的详细概念覆盖范围,以及对应难度的示例问题。
始终向用户询问其希望练习的主题,即使该主题已通过命令行参数传入。若 ~/quizme/topics.json 存在,则同时展示已保存的主题列表:
“今天想练习什么?”
[若存在已保存主题] “你已保存的主题:1. Python async 2. SQL joins (或输入新主题)”
主题确认后,询问难度等级;若该用户此前练习过该主题,则从 ~/quizme/progress.json 加载当前难度:
“你上次练习 Python 的难度为 intermediate —— 是否继续?(yes / pick another)”
若无历史记录,则默认设为 beginner,或主动询问:“难度等级?(beginner / intermediate / advanced)”
检查文件 ~/quizme/bank/{topic_slug}-{difficulty}.json,其中 topic_slug 为小写主题名,空格及特殊字符统一替换为短横线(-):
"seen": false 的题目数量少于 3 道:需内联生成题目(无需调用外部 API —— 你即为 LLM):~/quizme/topics.json 中,则将其加入该文件。如何内联生成:按下方题库格式生成合法 JSON 数组形式的题目对象,再使用 write 工具将结果写入题库文件。禁止调用任何外部脚本或 API。
题库文件格式:
{
"topic": "system design",
"difficulty": "beginner",
"generated_at": "YYYY-MM-DD",
"questions": [
{
"id": "{topic_slug}-{diff_prefix}-{3-digit-index}",
"concept": "short concept name",
"question": "The question text",
"code": null,
"language": null,
"options": {"A": "...", "B": "...", "C": "...", "D": "..."},
"answer": "A",
"explanation": "2-3 sentence explanation of why the answer is correct.",
"seen": false,
"correct_count": 0,
"seen_count": 0
}
]
}
针对含代码的题目:将代码片段字符串(≤15 行)赋值给 "code" 字段,"language" 字段填入对应语言名称。
针对概念性题目(如 networking、system design、algorithms theory):两个字段均设为 null。
从题库中随机选取一道 未见过 的题目("seen": false)。题目展示后,立即将该题目的 "seen": true 并保存题库文件。
题目格式规范:
"code" 字段非空:在代码块中展示代码片段,语言标识符使用 "language" 字段值"code" 为空:仅展示纯文本题目"options" 字段中的全部 4 个选项(A/B/C/D)**Question N** — [Topic] ([difficulty]) [question text] ```[language] [code snippet]
A) ...
B) ...
C) ...
D) ...
#### 题目模板(概念类)
Question N — [Topic] ([difficulty])
[question text]
A) ...
B) ...
C) ...
D) ...
### 步骤 4 — 每次作答后执行
1. 公布正误结果,并展示题库中该题的 `"explanation"` 字段内容(2–3 句话)。
2. 更新题库中该题目的字段:
- `"seen_count"` 加 1
- 若回答正确:`"correct_count"` 加 1
3. 保存题库文件。
4. **检查是否毕业:** 统计该题库中所有 `"seen_count" > 0` 的题目总数。若满足 ≥15 道,且 `(correct_count 总和 / seen_count 总和) >= 0.80` → 触发毕业流程(进入步骤 5)。
5. **检查是否需补题:** 统计剩余未见题目数(`"seen": false`)。若少于 5 道 → 静默内联生成 10 道新题,并追加至题库文件。
6. 提出下一题。
### 步骤 5 — 毕业
当触发毕业条件时:
- 宣告:*“你已掌握 [difficulty] 等级的 [topic]!升级至 [next level]。”*
- 删除旧题库文件(`~/quizme/bank/{slug}-{difficulty}.json`)
- 更新 `~/quizme/progress.json`:标记当前难度为已毕业(含今日日期),并将 `current_difficulty` 设为下一等级
- 内联生成 20 道新题(对应下一难度),写入新的题库文件
- 会话继续,以新难度进行后续问答
难度等级顺序:**beginner → intermediate → advanced**
在 **advanced** 等级:不设毕业机制;仅当未见题目不足时持续补题。
### 步骤 6 — 结束会话
当用户输入 “stop”、“quit”、“done” 或类似指令时:
- 展示总结信息:主题、本会话答题数、答对数、准确率 %
- 将本次会话统计写入 `~/quizme/progress.json`(对应 topic+difficulty 的 answered/correct 计数器递增)
## 存储结构
~/quizme/
├── topics.json # { "topics": ["python async", "SQL joins"] }
├── progress.json # 各主题对应的难度等级与统计信息
└── bank/
├── python-beginner.json
├── sql-joins-intermediate.json
└── ... # 每个主题仅保留当前难度的题库文件
### progress.json 格式
```json
{
"python": {
"current_difficulty": "intermediate",
"beginner": { "answered": 17, "correct": 14, "graduated": true, "graduated_at": "2026-05-22" },
"intermediate": { "answered": 4, "correct": 3, "graduated": false }
}
}
{ "topics": ["python async", "SQL joins", "system design"] }
| 等级 | 说明 |
|---|---|
| Beginner | 核心语法、定义、基础使用模式 |
| Intermediate | 底层原理、常见模式、易混淆的边界情况 |
| Advanced | 性能优化、内部机制、架构权衡、隐蔽缺陷 |
topics.md — 各主题在每个难度等级下的详细概念覆盖清单,含示例问题思路。生成题目时务必加载此文件,确保所选概念符合目标难度。相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习