← 项目展示 · 项目 04(用本地 AI)的真实案例
🧮 本地 AI 数学题讲解器
小泽 · 14 岁 · Ollama + Qwen 7B + HTML/JS 网页
"妈妈担心我用 ChatGPT 直接抄答案。我就在电脑里装了 Qwen,做一个'先讲思路后讲解法'的助手。"
背景 · 这个孩子是谁
小泽 14 岁,初二,西安。他数学还不错,但做题目的时候经常"卡在一个地方,然后心烦,直接看答案"。妈妈发现他最近越来越依赖 ChatGPT,有时候是看思路,有时候是直接抄。妈妈说"我不想禁你用 AI,但也不想让你偷懒"。小泽自己也觉得有点问题。
动机 · 那个具体的"卡点"
小泽和妈妈讨论了一个晚上。妈妈说:"与其禁你用 AI,不如你自己做一个 AI,让它用你认可的方式帮你。" 小泽想到:我可以做一个"必须先回答思路、再给解法"的助手。这样即使我想偷懒,流程也逼着我思考。 他问了爸爸,爸爸的电脑足够新(2023 款),可以本地跑 7B 模型。
时间 + 工具
用了什么: Ollama(本地 AI 运行器)+ Qwen 2.5-7B 模型 + 自建网页(HTML/CSS/JS)
花了多久: 3 个周末。第 1 个周末装 Ollama + 配置,第 2–3 个周末写网页和 prompt。
大人帮忙了多少: 爸爸帮装 Ollama,讲了 5 分钟"API 是什么",其他都自己搞。
步骤 · 这个孩子是怎么做的
- 装 Ollama: 从 ollama.ai 官网下载,装到电脑。跑
ollama pull qwen:7b下载 Qwen 7B 模型(6GB,下了一晚上)。 - 理解 API: Ollama 启动后会在
localhost:11434开一个 API 端口。小泽学了怎么用 JavaScript 的 fetch 调这个 API。 - 设计流程: 关键的 UX 设计是两步:
- 第 1 步:用户输入题目 → AI 问"你想到什么解题思路?"(逼着学生先想)
- 第 2 步:用户输入思路 → AI 给出完整讲解(但不是直接答案)
- 写 prompt: 最重要的 prompt,要求 AI "先问问题,再讲解,全程不能直接给答案"。
- 写网页: 做了一个对话界面,左边是"我的输入",右边是"AI 的回应"。
- 测试改进: 第一版 AI 有时候还是直接给答案。改 prompt,加了 "你的目标是让学生理解,不是让他们抄"。
核心 prompt + 网页代码
【Ollama prompt】
你是一个数学辅导老师,但有一个很重要的原则:
【你永远不能直接给学生答案】
流程规则:
1. 学生给你一道数学题
2. 你必须先问:"你觉得这道题要用什么思路?"
或 "你想到的第一步是什么?"
3. 只有当学生说出他们的思路后,你才能给讲解
4. 讲解时,逐步拆开思路,不要一次性给完整答案
示例:
【学生】求解 x^2 - 5x + 6 = 0
【你】这是一个二次方程。试试看,
你觉得可以怎么解?能因式分解吗?
还是想用求根公式?
【学生】感觉可以因式分解
【你】对!那我们一起来。6 = 2×3,
5 = 2 + 3。所以 (x-2)(x-3) = 0。
然后呢?
【学生】x = 2 或 x = 3
【你】完美!你已经掌握因式分解法了。
---
JavaScript 代码:
fetch('http://localhost:11434/api/generate', {
method: 'POST',
body: JSON.stringify({
model: 'qwen:7b',
prompt: `[系统提示]\n\n${systemPrompt}\n\n` +
`[题目]\n${userInput}`,
stream: false
})
})
.then(res => res.json())
.then(data => {
console.log(data.response);
document.getElementById('output').textContent = data.response;
});
---
样例对话 · AI 真的是这样答的
小泽输入:二次函数 y = x^2 - 4x + 3,求顶点坐标。
嗯,这是一个二次函数问题。问问你:
你知道二次函数的顶点公式吗?还是想通过配方法求?
(AI 没有直接给答案,而是问他想用哪种方法)
小泽回:我想用配方法。
好!那我们一起来配方。
y = x^2 - 4x + 3
第一步,看 x^2 - 4x 这部分。问你,(-4)^2 / 4 是多少?
(还是在引导,不是直接做)
小泽回:是 4?
对!所以 y = (x^2 - 4x + 4) + 3 - 4
= (x - 2)^2 - 1
现在,顶点的 x 坐标是多少?
(让学生自己说出答案)
结果 · 真的发生了什么
- 小泽自己用了一个多月,讲解了 80+ 道题
- 他的弟弟(初一)也开始用,特别爱这个助手,因为"AI 不会说'这么简单都不会'"
- 小泽自己说,用了这个助手后,他"主动思考"的量明显变多了。以前拿 ChatGPT 是"秒看答案",现在是"被逼着先想"
- 妈妈观察发现,他做题目的时候心态变了,不再"卡住→直接看答案",而是"卡住→想想→问一下 AI 思路→继续想"
- 最惊喜的是,他有一次遇到题目超出 AI"知识"范围,他就自己查资料、自己讲给 AI 听。妈妈说这是最好的学习。
这个孩子学到什么
小泽说:"原来 AI 不只是'给答案的工具',还可以是'帮我反思的工具'。如果你设计得好,AI 可以逼着你思考。而且用本地 AI,我不用担心隐私或网络问题。"他还加了一句:"Ollama 的速度比 ChatGPT 慢一些,但更稳定,而且完全在我自己的电脑里。感觉很安心。"
什么没成 · 改了几遍才好
第一版:直接把题目丢给 AI,AI 就讲解。太像 ChatGPT,没有区别。
第二版:加了"先问思路"的步骤,但 AI 经常不遵守规则,看到某些题目就想直接给答案。加强了 prompt。
第三版:稳定了一些,但小泽发现自己"看 AI 的问题"和"自己想"的区别不大。改 UI:AI 的问题用蓝色背景,让他有"这是我必须回答的"的感觉。
第四版:完全稳定。他甚至加了一个"提示我想了多久"的计时器,鼓励他在看 AI 的建议前先想 1 分钟。
你也想做?
这个项目用的是中阶版 · 项目 04「用本地 AI」。
替换"数学讲解",可以是:英文作文批改官(Qwen 标注语法错误),物理公式推导(逐步讲解),化学方程式讲解,编程 bug 找茬官(我写的代码哪里不对?先让我改改看)—— 任何"你想要半自动化、但又不想完全自动化"的学习场景。