# T1 / T2 通用做题模板

## 0. 先读 5 分钟

1. 哪些文件可以改？
2. 函数签名是什么？
3. 输入字段、输出字段、数组长度分别是什么？
4. evaluate.py 如何解析输出、如何计分？
5. 公开数据和最终数据是否不同？

## T1 模板

```text
任务：输入一名学生的多题作业文本。
标准答案：逐题列出。
提取规则：每题取最终核心答案；忽略评论、过程、表情和无关数字。
输出：原样 student_id + N 个 true/false。
限制：只输出一个 JSON 对象，不要 Markdown 或解释。
```

## T2 模板

```python
query_emb = get_embedding_func(query, embedding_model, tokenizer)
scored = []
for index, item in enumerate(problem_bank):
    doc_emb = get_embedding_func(item["problem"], embedding_model, tokenizer)
    scored.append((compute_similarity(query_emb, doc_emb), index))
scored.sort(key=lambda pair: (-pair[0], pair[1]))
retrieved = [problem_bank[index] for _, index in scored[:top_k]]
```

## RAG 消息模板

```text
【当前问题】
...

【参考题】
题目、解析、答案

参考题仅用于学习方法；独立解当前问题。
```

## T2 输出模板

```json
{"reasoning":"简洁过程","answer":"数字"}
```

## 提交前 60 秒

- T1：ID、字段名、数组长度、全是 JSON bool。
- T2：cosine 是否除 norm；排序是否降序；answer 是否纯数字。
- 两题：是否只输出 JSON；是否存在公开样例硬编码。
