Mock Model(确定性脚本模型) 评测与工程
别名:
mock model · 脚本模型
不调用真实 LLM、按固定规则回复的确定性脚本模型,通过一个模拟 OpenAI chat/completions 接口的本地服务暴露。判题无需 API key、结果可复现,且与真实模型走同一个 HTTP 协议、同一种消息结构,学到的知识 100% 迁移。
它是什么
Mock Model(确定性脚本模型)是不调用真实 LLM、按固定规则回复的脚本模型:比如「复述用户最后一条消息并加上固定前缀」。它通过一个模拟 OpenAI chat/completions 接口的本地服务暴露——对客户端代码来说,mock 与真实模型走的是同一个 HTTP 协议、同一种消息结构。第 01 章结尾的环境准备就让你先体验一把「本地模型服务 + 客户端」的完整链路。
为什么它是本教程的根基
三个价值缺一不可:判题无需 API key(练习测试只跟 mock server 交互,任何环境都能跑出可复现结果);结果确定(真实 LLM 输出有随机性,无法自动化判题,脚本模型永远返回同样输入下的同样输出);机制等价(同一个协议、同一种消息结构,学到的知识 100% 迁移到真实模型)。
与测试替身的关系
在测试替身(test double)家族里,它更像 fake / stub——不验证「调用了什么」,只按脚本返回固定响应;这与 mock 的「行为验证」风格不同(Fowler 的经典辨析见链接)。练习判题的注入点之一是第 04 章的 fetchImpl 注入:判题时替换成脚本化 mock fetch,就能不联网、不用 key 地验证代码。
小结
mock model 是「可运行为王」与「判题可复现」这两条项目原则的地基——没有它,练习与判题就无法零依赖、确定性地跑起来。