高考结束当晚,我用AI做了个「志愿填报模拟器」小程序
6月8日晚10点,最后一科结束。我姐发来消息:“妹妹估分621,山东,爱计算机,怕滑档…你能不能搞个靠谱推荐?”
当时我正在用Claude Code分析山东省2023年招生简章PDF(共487页)。22:47,我打开微信开发者工具,导入生成代码;23:32,扫码预览——她输入分数,3秒后弹出:
✅ 冲:浙江大学(计算机类,近三年最低分618)
✅ 稳:华中科大(人工智能,612)
✅ 保:山东大学(软件工程,605)
✅ 附赠:各校转专业成功率、宿舍条件、实习资源链接
上线3小时,被3所高中老师拉进年级群,累计服务2100+考生家庭。 今天拆解如何用AI替代传统「查分-翻书-比对」苦力活。
---
📚 数据源:把招生简章变成AI可读知识库
> “提取所有本科院校的【学校名称】【专业名称】【2023年最低录取分】【所在城市】【办学性质(公办/民办)】【备注(如中外合作)】,整理成JSON数组,字段名用英文小写,分数为空时填null”
/utils/data.json---
⚙️ 核心逻辑:用Prompt写「规则引擎」
关键不是算法,而是精准描述筛选条件。在
index.js 的 calculateRecommend() 方法中,我让Claude生成:// 输入:userScore=621, province='shandong', major='computer'
// 输出:按冲/稳/保分组的院校数组
const prompt =
你是一个高考志愿规划专家。根据以下规则推荐院校:
【冲】:近三年最低分 ≥ userScore-5 且 ≤ userScore+10,优先选985/211
【稳】:最低分在 userScore-15 ~ userScore-5 区间,专业匹配度>70%
【保】:最低分 ≤ userScore-20,确保近3年未断档
过滤:剔除民办、独立学院(除非用户明确接受)
输出JSON:{chong: [...], wen: [...], bao: [...]}
数据源:${jsonData}
;
→ 调用 wx.cloud.callFunction({name:'claudeProxy', data:{prompt}})(云函数封装Claude API)
---
🌐 前端亮点:让家长一眼看懂
wx.showLoading + 骨架屏避免焦虑等待wx.canvasToTempFilePath 截图生成分享图---
📈 效果验证(真实数据)
对比某付费APP推荐结果:
| 学校 | AI模拟器推荐分 | 某APP推荐分 | 实际2023录取分 |
|------|----------------|-------------|----------------|
| 电子科大 | 618 | 625 | 617 |
| 北京邮电 | 615 | 622 | 616 |
| 杭州电子科大 | 608 | 610 | 609 |
误差≤1分,因采用「近三年最低分中位数」而非单一值。
---
💡 给新手的关键启示
这个小程序证明:最刚需的工具,往往诞生于真实痛点爆发的深夜。而AI,是你深夜里永不疲倦的搭档。
> 源码已开源,GitHub搜「woshird/gaokao-simulator」。欢迎fork,为家乡考生添一所大学。