教育与培训
教育和培训场景用三类模型配合:主力模型按教材出题、写培训内容,另一家厂商的模型独立作答核对答案、按评分细则辅助批改,课程助教根据课程资料回答学员提问。题目入库、成绩发布都由老师确认。按每月出 1 万道题、批改 2 万份主观题、学员提问 3 万次估算,用各模型最低价分组的实时价格计算,模型费用每月约 ¥346。
价格更新于 2026年11月13日 17:53
月成本估算
假设:每月出 1 万道题,每次请求出 5 道,共 2,000 次,每次输入约 1,500 tokens(资料片段与出题要求)、输出约 1,500 tokens;1 万道题逐题核对答案,每题输入约 400、输出约 200 tokens;批改 2 万份主观题,每份输入约 1,500 tokens(评分细则、题目和作答)、输出约 300 tokens;学员每月提问 3 万次,每次带约 3,000 tokens 资料,回答约 400 tokens。
业务问题
老师和培训师的大量时间花在重复劳动上:每个知识点要出几套不同难度的题,几百份简答题要逐份批改,学员问的很多问题课件里其实写过。企业培训还要把制度、产品手册改写成课程和测验。
大模型出题很快,但给出的答案可能是错的,题目也可能超出教材范围;直接让模型打分,同一份作答评两次可能分数不同,也说不清扣分的依据。
可行的做法是模型出初稿、做初评,老师做决定:题目只依据给定的教材生成,由另一家厂商的模型独立作答核对答案;批改按书面评分细则逐项给分,并引用学生原文;课程助教只依据课程资料回答。题目入库、成绩发布都要经过老师。
推荐模型组合
推荐模型按实时目录自动选取,价格取各模型最低价分组,更新于 2026年11月13日 17:53。点模型名可查看全部分组价格。
出题与培训内容(主力模型)
deepseek-v4.1-flashDeepSeek
输入 ¥2.8 / 输出 ¥11.2 每百万 tokens国产模型分组
读教材或培训资料,写出题干、选项、答案和解析,并标注难度;也用来把制度和产品手册改写成讲义。题量不大,但每道题都要准确,用主力模型;输出比输入长,输出单价对这一项的费用影响更大。
答案核对与批改辅助(另一家厂商的模型)
gpt-5.4-miniOpenAI
输入 ¥1.5 / 输出 ¥9 每百万 tokens标准分组
在看不到答案的情况下独立作答,和出题模型答案不一致的题交给老师优先审核;批改主观题时按评分细则逐项给分并引用学生原文。换一家厂商的模型,能减少同一个模型自己出错、自己又发现不了的情况。批改手写作答的照片时,可以换成备选里支持识图的模型。
课程助教(主力模型)
qwen3.5-plus通义千问
输入 ¥1.12 / 输出 ¥6.72 每百万 tokens国产模型分组
学员提问时,先从课件、讲义和题目解析里检索相关段落,再让模型只根据这些资料讲解并注明章节。提问量最大,通常是总费用里最大的一项,输入单价影响最大;检索做法见企业知识库方案。
参考架构
- 1
整理课程资料
把教材、课件、讲义按章节和知识点整理成文本,每段注明章节和知识点编号;企业培训把制度、产品手册、操作规范整理成同样的格式。
- 2
按知识点出题
主力模型按指定的知识点、题型和难度出题,只能使用给定的资料,按 JSON 返回题干、选项、答案、解析和难度;程序检查格式和选项是否齐全。
- 3
独立作答核对答案
另一家厂商的模型在看不到答案的情况下作答。答案一致的进入老师审核,不一致的标记为答案存疑、优先审核;题目经老师确认后才进入题库。
- 4
按细则辅助批改
每道主观题配一份书面评分细则,写清每个得分点和分值。模型逐项给分并引用学生原文,程序把每项分数限制在分值以内再求和,作为建议分交给老师确认。
- 5
课程助教答疑
课程资料按知识库方案切块入库,学员提问时检索相关段落,模型只依据资料讲解并注明章节;遇到作业和考试题,可以设置成只讲思路、不给答案。
- 6
老师抽查与迭代
老师定期抽查题目、批改结果和答疑记录,把发现的问题补进出题要求、评分细则和课程资料。
成本估算
假设:每月出 1 万道题,每次请求出 5 道,共 2,000 次,每次输入约 1,500 tokens(资料片段与出题要求)、输出约 1,500 tokens;1 万道题逐题核对答案,每题输入约 400、输出约 200 tokens;批改 2 万份主观题,每份输入约 1,500 tokens(评分细则、题目和作答)、输出约 300 tokens;学员每月提问 3 万次,每次带约 3,000 tokens 资料,回答约 400 tokens。
| 项目 | 模型 | 用量假设 | 费用 |
|---|---|---|---|
| 出题 | deepseek-v4.1-flash | 2,000 次 × 输入 1,500 + 输出 1,500 tokens | ¥42 |
| 答案核对 | gpt-5.4-mini | 10,000 次 × 输入 400 + 输出 200 tokens | ¥24 |
| 主观题批改 | gpt-5.4-mini | 20,000 次 × 输入 1,500 + 输出 300 tokens | ¥99 |
| 课程助教答疑 | qwen3.5-plus | 30,000 次 × 输入 3,000 + 输出 400 tokens | ¥181.44 |
| 合计(每月) | ¥346.44 | ||
按各模型最低价分组的实时价格计算,价格更新于 2026年11月13日 17:53。
只含模型调用费用,不含老师审核、题库系统和检索成本(向量化费用很低,见企业知识库方案)。批改手写作答的照片时,图片按输入 tokens 计费,数量和图片尺寸有关,实际以响应里的 usage 为准。学员和作答数量翻倍,对应那一项的费用大致翻倍。
示例代码
主力模型只依据给定资料出题,另一家厂商的模型独立作答,答案不一致的题优先交给老师;批改时按评分细则逐项给分,程序把每项限制在分值以内再求和,作为建议分交老师确认。
import json
import os
from openai import OpenAI
client = OpenAI(base_url="https://www.tutujin.com/v1", api_key=os.environ["TUTUJIN_API_KEY"])
def ask_json(model, system, user):
resp = client.chat.completions.create(
model=model,
messages=[{"role": "system", "content": system}, {"role": "user", "content": user}],
temperature=0,
)
raw = resp.choices[0].message.content
return json.loads(raw[raw.find("{"): raw.rfind("}") + 1])
def write_questions(material, topic, n=5):
return ask_json(
"deepseek-v4.1-flash",
"You write multiple-choice questions for a course. Use only facts stated in the material. "
'Reply with JSON only: {"questions": [{"stem": "", "options": {"A": "", "B": "", "C": "", "D": ""}, '
'"answer": "A", "explanation": "", "difficulty": "easy|medium|hard"}]}',
"Topic: " + topic + "\nWrite " + str(n) + " questions.\n\nMaterial:\n" + material,
)["questions"]
def solve(q):
"""A model from another vendor answers without seeing the key."""
options = "\n".join(k + ". " + v for k, v in q["options"].items())
return ask_json("gpt-5.4-mini", 'Answer the question. Reply with JSON only: {"answer": "A"}', q["stem"] + "\n" + options)["answer"]
def suggest_score(question, rubric, answer):
"""Rubric-based suggestion for a written answer; the teacher confirms or changes it."""
result = ask_json(
"gpt-5.4-mini",
"Score the student answer against each rubric item and quote the words that earn the points. "
'Reply with JSON only: {"items": [{"id": "R1", "points": 0, "evidence": "", "comment": ""}]}',
"Question:\n" + question + "\n\nRubric:\n" + json.dumps(rubric, ensure_ascii=False) + "\n\nAnswer:\n" + answer,
)
cap = {r["id"]: r["max"] for r in rubric}
total = sum(min(max(float(i.get("points", 0)), 0), cap.get(i.get("id"), 0)) for i in result["items"])
return {"suggested": total, "out_of": sum(cap.values()), "items": result["items"], "status": "teacher_to_confirm"}
with open("chapter-3.txt", encoding="utf-8") as f:
questions = write_questions(f.read(), "Reading a cash flow statement")
for q in questions:
# every question is reviewed by a teacher; disagreements are reviewed first
q["status"] = "teacher_review" if solve(q) == q["answer"] else "answer_disputed"
print(json.dumps(questions, ensure_ascii=False, indent=2))
rubric = [
{"id": "R1", "max": 2, "text": "Names operating, investing and financing activities"},
{"id": "R2", "max": 2, "text": "Explains why profit and operating cash flow can differ"},
]
print(suggest_score("Why can a profitable company run out of cash?", rubric, "Customers pay late, so..."))常见问题
每月出 1 万道题、批改 2 万份作答要多少钱?
按每月出 1 万道题并逐题核对答案、批改 2 万份主观题、学员提问 3 万次估算,用最低价分组计算约 ¥346。课程助教的提问量通常是最大的一项。
模型出的题,答案一定对吗?
不一定。模型可能算错、给出两个都对的选项,或者用到教材以外的知识。所以示例里让另一家厂商的模型独立作答核对,不一致的优先给老师审;所有题目都要经过老师确认才进入题库。
模型批改的分数能直接发给学生吗?
不建议。模型给的是建议分,附每个得分点的依据,老师确认或修改后再发布。评分细则写得越具体,建议分和老师的评分越接近;上线前可以拿一批老师已经评过的作答测一遍两者的差距。
课程助教会不会直接把作业答案告诉学生?
可以在系统提示词里规定:遇到作业和考试题只讲思路和相关知识点,不给最终答案;同时只依据课程资料回答,资料里没有的说不知道,并提示学员去问老师。
企业内部培训也能用吗?
可以。把制度、产品手册、操作规范当作课程资料,用同样的流程生成讲义和测验、搭建答疑助手。涉及内部敏感资料的,建议先隐去不必要的信息,并按公司的数据要求评估。
