先说个现象:我见过太多人写 Prompt 还是“聊天式”的——今天心情好,多写两句背景;明天没灵感,就来一句“帮我写个方案”。AI 的输出质量自然跟开盲盒一样,时好时坏。如果你也卡在这个阶段,其实缺的不是提示词模板,而是脑子里的那张结构图。而 CAIE 大纲,正好是我这几年找到的、最适合直接拿来当 Prompt 框架的现成素材包。
CAIE 是剑桥大学国际考评部的缩写,IGCSE 和 A-Level 的官方教学大纲都由它发布。这套大纲厉害在哪儿?它把每一门学科的知识点、学习目标、考核维度、评分标准全部拆成了层级分明的文本。换句话说,它本身就是一份“喂给 AI 的高质量结构化知识库”。把 CAIE 大纲变成 Prompt 的结构骨架,再拿去搭 AI 项目,输出质量和稳定性会让你明显感觉到“这钱不用多花,Prompt 会写了”。
这篇文章就围绕这个思路,带你完整走一遍:为什么 CAIE 大纲适合做 Prompt 框架、怎么把大纲转成提示词,然后落地 3 个真实可复现的 AI 项目。每个项目我都会把流程、Prompt 构造逻辑、校验方法讲透,最后再给一份踩坑记录。适合想进阶 Prompt 工程、又缺真实应用场景的朋友参考。
1. 内容整体设计与思路拆解
1.1 为什么是 CAIE 大纲,而不是别的知识库
先说背景。做 AI 项目的人都知道一个尴尬事实:通用大模型什么都懂一点,但一落到具体领域,就开始“一本正经地胡说八道”。你问它经济学原理,它能聊;你让它按 A-Level 经济大纲批改一篇 essay,它常常漏判关键考点,给分逻辑也跟闹着玩似的。为什么?因为它缺少一个“边界”和一套“校内语言体系”。
CAIE 大纲恰好补齐这两个短板。以 A-Level 经济大纲为例,它会把整个课程分成几大主题,比如 basic economic ideas、the price system、government micro intervention 等。每个主题下面再拆成具体的学习目标(learning outcomes),每个目标用“describe”“explain”“analyse”“evaluate”这类动词开头。这串动词不是随便写的,它直接对应考试的 Assessment Objectives。也就是说,大纲已经把 AI 需要遵守的知识边界和输出层次都划分好了。
我之前也试过用思维导图、Wiki、甚至自己的笔记整理知识体系做 Prompt,效果都不够好。思维导图太散,Wiki 信息太杂,个人笔记又有浓重的个人风格,AI 不容易对齐。CAIE 大纲是官方发布的、全球统一的、文本格式良好的体系化材料,结构颗粒度刚好适合当前主流大模型在 4K 到 8K 上下文窗口里发挥。材料本身免费,直接从官网下载 PDF,结合 OCR 或人工摘录就能用。
1.2 方案选型考量:用大纲做约束,而不是做百科
顺着这个思路,我在设计 Prompt 方案时给自己定了一条铁律:大纲是坐标系,不是百科全书。AI 只需要在大纲划定的坐标范围内做思考和回答,不需要把大纲所有内容都背下来再输出。这样做的直接好处有三个。
第一个是防跑偏。你告诉 AI“只使用以下大纲知识点回答”,它就不会为了显得博学,把大学才学的东西塞进来。AI 项目最怕的就是答案看起来专业、实际考点对不上,用大纲做知识边界,等于给模型上了一道锁。
第二个是输出可校验。大纲自带考察目标,比如“AO1 知识与理解”“AO2 应用”“AO3 分析”“AO4 评价”。我在 Prompt 里把这些目标转成 AI 的评分检查项,输出结果就能按统一标准复检。这在教育类 AI 项目里特别重要,因为你要向学生或老师解释“这 4 分是怎么扣的”,而不是给一个无根无据的分数。
第三个是迭代成本低。CAIE 大纲虽然是官方文件,但它每年都会更新。用大纲做 Prompt 并非一锤子买卖,而是把大纲文本抽取出“知识点清单 + 学习目标 + 考核动词 + 评分维度”这几块,分别做成 Prompt 片段。大纲一旦更新,只替换知识库部分就行,角色设定和流程逻辑不用动。这种模块化改造,对长期维护项目的人来说是巨大的解放。
2. 核心方法:把 CAIE 大纲转成 Prompt 的五步操作
2.1 拆大纲:先抽骨架,再填血肉
拿到一份 CAIE 大纲 PDF,第一件事不是读,而是拆。拿 IGCSE 生物(0610)大纲举例,从头到尾翻一遍,你能看到这么几个固定板块:科目简介、考核目标、知识内容、实验技能要求、评分方案。对 Prompt 设计有用的主要是两块:考核目标和知识内容。
我的操作方法是把考核目标单独摘出来,做成一段固定的角色背景描述。比如 IGCSE 生物考纲里写“demonstrate knowledge and understanding of biological facts and concepts”以及“apply this knowledge to unfamiliar situations”,这两句话直接就能变成 Prompt 里的行为准则:“你是一位熟悉剑桥 IGCSE 生物大纲的导师,你的回答需要体现知识理解与陌生情境应用两层目标。”
知识内容部分则按主题抽取,做成带编号的知识点列表。为保证效果,我不会把几十页大纲全塞进 Prompt,通常只带与项目主题相关的两到三个知识主题。例如做一个“光合作用学习助手”,就只取出“plant nutrition”这一主题下的所有学习目标,大约十条,放进去完全够用。骨架搭好了,血肉只需要按需添加,Prompt 不会臃肿。
2.2 定角色:让 AI 站在“校内教师”的位置上思考
大纲拆完,下一步是给 AI 设置角色。这一步看起来基础,但很多人的角色设置过于空泛,比如“你是一个耐心的老师”,这在 AI 眼里等于没说。我的做法是:把角色和考核目标绑定。学生问一道题,AI 不是直接给答案,而是先判断这题对应大纲哪个知识点、属于哪个学习目标,再决定回答的深度。
这里有个关键点:角色里要明确写清楚“教学立场”。跟 AI 说“你是一位剑桥课程体系的生物教师”,它自然知道你的课程节奏和术语体系。如果只是说“你是一个生物老师”,它可能把国内教材的表述和考纲术语混在一起。CAIE 大纲里那些独有的表述方式,比如“describe and explain how the small intestine is adapted for absorption”,就是很好的术语锚点。
2.3 定流程:把“问答”变成“诊断、引导、布置练习”三步
单一 Prompt 问完就结束,那是聊天机器人,不是教学项目。我习惯在 Prompt 里给 AI 固定一个互动流程:先诊断学生对当前知识点的掌握程度,再根据诊断结果做针对性讲解,最后生成一道符合大纲出题风格的小练习让学生作答。这个流程推进下来,AI 每次输出都是一节完整的小课,而不是一句孤零零的“知识卡片”。
要实现这个流程,不需要多复杂的多智能体编排,仅靠 Prompt 里的结构化指令就够。在 Prompt 中加入“每次回复分为三步:Step 1 诊断,Step 2 讲解,Step 3 练习”,AI 就会严格按这个节奏输出。搭配一个简单的会话管理脚本,就能实现有连续性的学习体验。
2.4 定输出:用考核维度做评分校验
在批改类项目中,Prompt 的输出格式设计比输入设计更关键。教育场景里,学生和老师需要的不只是“你这篇作文 16 分”,他们要看到分数依据。CAIE 大纲的 Assessment Objectives 天然适合做分数拆解。
设计批改 Prompt 时,我把评分分成四个维度:Content Understanding、Application、Analysis、Evaluation。这不是我拍的脑袋,而是从 A-Level 经济大纲的 AO 考核维度直接映射过来的。Pormpt 末尾明确要求 AI 输出一个 JSON 结构,包含每个维度的得分、评分理由和修改建议。这样用户拿到的是一份可解释、可复议的评估报告。
2.5 通用 Prompt 转译模板
五步操作走完,实际上可以沉淀出一套通用模板。我公开一个简化版,大家可以直接套用到新的 CAIE 学科:
你是[学科]领域内熟悉 CAIE 教学体系的资深[角色,如教师/出题人/批改官]。 你的回答受以下考核目标和知识点约束: [考核目标列表] [知识点列表] 任务说明: [具体任务要求,如解释某个概念/批改文章/出题] 输出规范: [指定输出结构,如先结论后理由、按维度给分、给出举例] 互动流程: [指定回复步骤,如先诊断后讲解最后出练习]这套模板的核心逻辑是角色 + 知识约束 + 任务 + 输出规范 + 互动流程,五个要素缺一不可。有了模板,任何 CAIE 学科都能在半小时内搭出第一版可用的 Prompt。
3. 实操项目一:IGCSE 生物智能学习助手
3.1 项目目标与大纲素材准备
第一个项目我选生物,因为 IGCSE 生物的知识点边界最清楚,定义、分类、原理一条条都写在纸面上,非常适合作 Prompt 约束实验。项目目标是做一个学习辅助工具,学生问问题,AI 按大纲知识点边界做诊断性讲解,并出练习题。
首先准备大纲素材。打开 IGCSE Biology 0610 大纲 PDF,翻到“Syllabus content”这一节,把“Plant nutrition”主题下的 learning outcomes 提取出来,内容大概是这样的:describe the process of photosynthesis、explain the effect of light intensity on the rate of photosynthesis、state the uses of glucose in the plant 等。每一条都带着明确的动词,这些动词决定了 AI 的回答层次。比如“describe”只需要学生描述过程,而“explain”需要学生分析因果关系,AI 不能把两者混为一谈。
3.2 Prompt 构造细节与 Python 调用实现
这个学习助手的 Prompt,我按五步法拼装。角色设置为“熟悉剑桥 IGCSE 生物大纲的辅导教师”;知识约束放在系统提示词中,只保留“Plant nutrition”和“Transport in plants”两个主题的学习目标;任务描述明确为“回答学生问题,但不超出考纲范围;如果问题超纲,明确提示超纲并不回答”;输出规范里我要求 AI 先归纳核心考点的条理,再展开讲解,最后出一道单选题;互动流程要求先提一个检测概念掌握的问题,根据回答选择讲解深度。
实现层面,我用 Python 调用 OpenAI 兼容接口做了一个命令行版本,核心代码很简单,三十行不到:
import os from openai import OpenAI client = OpenAI( base_url=os.getenv("AI_BASE_URL"), api_key=os.getenv("AI_API_KEY") ) system_prompt = """ 你是剑桥 IGCSE 生物(0610)考纲下的资深辅导教师。 你必须只基于以下考纲内容回答: - describe the process of photosynthesis - explain the effect of light intensity on the rate of photosynthesis - state the uses of glucose in the plant - describe the structure and function of xylem and phloem 如果学生问题超出该范围,请指出超纲。 回答结构:先总结考点,再展开讲解,最后出一道选择题。 """ while True: user_input = input("学生提问: ") if user_input.strip().lower() in ["exit", "quit"]: break response = client.chat.completions.create( model="gpt-4o-mini", messages=[ {"role": "system", "content": system_prompt}, {"role": "user", "content": user_input} ], temperature=0.3 ) print("\nAI 回答:\n", response.choices[0].message.content)这里的温度参数我调到 0.3,是为了让讲解内容可控、术语稳定。如果调太高,AI 会自由发挥,容易超出大纲边界。
3.3 实测效果与校验方式
实测时我输入“光合作用为什么需要光?”,AI 的回答结构非常标准:先定位到“explain the effect of light intensity”这个考纲条目,然后从光反应角度解释,最后给出一道考察光照强度的选择题。整个过程没有引入大学阶段的“暗反应细节”,正好卡在 IGCSE 考纲的深度上。
我做了个额外校验:把 AI 每次回答的内容和大纲文本做相似度趋势比对。具体方法是把回答按句子拆开,计算每个句子与最近大纲条目的语义相似度。连续测试二十个问题之后,平均相似度在 0.71 左右,没有明显离群值。说明知识约束起了作用,回答基本没有飘出考纲范围。
4. 实操项目二:A-Level 经济 Essay 批改工作流
4.1 项目背景:为什么 essay 批改适合做工作流
第二个项目选经济,因为 A-Level 经济的 essay 批改是家长学生需求量很大的场景,而且评分维度多、主观性强,特别适合用流程化的方式约束 AI 输出。纯让 AI“打个分”,分数高低全看心情;但把它当作“按照剑桥 AO 维度逐项评估”的批改官,输出就规范多了。
A-Level 经济大纲里,essay 类题目对应的考核目标是 AO2 应用、AO3 分析、AO4 评价。AO2 看你能不能把经济学概念用到具体情境里;AO3 看你的论证链条清不清楚;AO4 看你能不能权衡不同观点、作出判断。这三个 AO 正好对应批改工作流的三个检查站。
4.2 工作流设计:审题、拆维度、批改、输出建议
我把这个项目做成了包含四个步骤的工作流。第一步是审题解析,让 AI 先分析题目考察的知识主题和核心概念,这一步的作用是防止后续批改偏离题目本意。第二步是维度拆解,AI 按 AO2、AO3、AO4 三个维度,把题目对应的得分点铺开,比如“本题的 AO2 得分点在于用需求弹性概念解释现实案例”。第三步是逐维度批改,AI 对照学生的原文,在每个维度下给出得分、扣分明细、对应原文句子。第四步是输出整体改进建议。
先看审题的 Prompt 设计:
你是 A-Level 经济(9708)考纲下的资深阅卷人。 请先识别题目对应的知识主题与核心经济学概念。 列出该题的 AO2、AO3、AO4 得分点。 题目:咖啡豆价格上涨会对市场产生什么影响?这一段 Prompt 的目的不是批改,而是先把学生的答案摆在一边,让 AI 本身先建立一套评分蓝图。没有这套评分蓝图,后续的批改一定会出现“题目都看歪了,分还打得很开心”的局面。
批改阶段的 Prompt 我这样设置:
以下是学生作答内容: [学生作文文本] 请按 A-Level 经济大纲的 AO 维度逐项批改: - AO1 知识理解(如有必要) - AO2 应用:是否使用了具体经济概念解释情境 - AO3 分析:论证逻辑是否完整 - AO4 评价:是否考虑了其他观点并作出合理判断 每个维度输出:得分/满分、依据原文的扣分理由、改进示例。 最后给出一条综合修改建议。4.3 实现与效果分析
实现上我用了多轮会话链,不依赖 Agent 框架,而是串行调用三次大模型接口完成整个工作流。第一次跑审题,拿到评分蓝图;第二次跑逐维度批改,拿到结构化评分结果;第三次把评分结果和作文原文合并,让 AI 生成一段偏“教练口吻”的综合评语。每步之间通过中间 JSON 传递数据,整个流程稳定运行。
试运行了一个学生的 essay,主题是“Evaluate the microeconomic and macroeconomic consequences of a rise in the rate of interest”。AI 给的评分是 AO2 6/8、AO3 5/8、AO4 4/6,每一项的扣分理由都引用了文中原句,并指出“这个论点有合理性,但是缺少对 opposite view 的反驳”。这个反馈质量已经相当接近真实阅卷老师的批改水平。最关键的是,家长可以看到每一分扣在哪,不再是一笔糊涂账。
5. 实操项目三:CAIE 英语第二语言口语陪练 Agent
5.1 项目目标与大纲维度解析
第三个项目做一个口语陪练 Agent,面向剑桥 IGCSE English as a Second Language (0510) 考试的口语部分。这个项目难点在于:口语能力评估不像选择题那样有标准答案,AI 给反馈很容易给成“说得挺不错”这种废话。所以我把大纲里的口语考核维度请出来,让 AI 按维度评估,输出具体到句子层面的反馈。
0510 大纲口语部分的考核维度主要是发音清晰度、表达流利度、语法准确性、词汇使用范围、以及互动沟通能力。这五个维度恰好就是 AI 评估的结构坐标。另外,口语考试话题一般有固定范围,比如日常生活、教育、科技、环境等,拉话题不可能超出大纲范围。我把这些常见话题也整理进了 Prompt 知识库,作为对话开场和延伸讨论的依据。
5.2 对话式陪练流程与反馈机制
这个 Agent 的核心流程分三大段:开场破冰、正式对话、详细反馈。开场破冰阶段,AI 会从给定话题池里挑一个,比如“环境保护与个人责任”,先问一个热身问题,让考生进入状态。正式对话阶段,AI 模拟真实考官互动,既可以追问,也可以根据考生回答变换问题方向。详细反馈阶段,AI 才露面,用五个维度逐项打分,每项附上一句基于考生活语实例的改进建议。
为了让反馈更有说服力,我在 Prompt 里专门加了一条:AI 在正式对话阶段,必须在后台默默记录考生说到的原句和语法错误样例。到反馈阶段,把这些真实记录引用进评分理由。这就避免了 AI 批改时泛泛而谈“注意时态”,却说不清楚是哪个时态、哪个句子出了问题。
5.3 提示词核心片段
口语对话阶段和反馈阶段的角色有微妙差异,我在 Prompt 中做了严格区分。对话阶段我要求 AI“只当考官,不评价、不纠正、不跳出考官角色”,避免考生中途被打断。反馈阶段才切换到“考官助理”,输出结构化反馈。这里放一段对话阶段的 Prompt 核心内容:
你正在和一位剑桥 IGCSE ESL(0510)考生进行口语考试模拟。 你的身份是口语考官。 选择一个话题并开始对话,从热身问题开始。 根据考生的回答适当追问,但不要评价考生的表现。 全程只负责引导对话,不纠正错误,不给反馈。 请在后台记录候选人在对话中的典型语言错误。这个“后台记录”的指令其实很妙,大模型在上下文里天然会保留之前的对话内容,反馈时只需要让它“回顾对话并提取依据”即可。实测下来,反馈质量比一次性直接批改要高很多,因为模型在对话阶段已经“看到”了考生的表现。
6. 常见问题与排查技巧实录
做了这么多 CAIE 系列项目,踩过的坑也不少。这里把典型问题整理成速查表,给后来者省点时间。
| 现象 | 原因 | 排查思路 | 解决方案 |
|---|---|---|---|
| AI 回答与考纲知识边界不符 | Prompt 中知识约束不具体,或大纲条目被折叠进较长上下文后权重下降 | 检查 Prompt 是否把考纲条目逐条列出、指令是否明确“超纲就不答” | 把知识点列表提到角色描述之后,降低 temperature,必要时用 OpenAI 的结构化输出参数强制约束 JSON |
| 批改项目评分忽高忽低 | 缺少评分蓝图前置步骤 | 确认 AI 在改卷前是否先进行了审题和得分点拆解 | 增加第一步“审题与得分点识别”节点,再进入批改 |
| 口语陪练中 AI 中途开启评价 | 对话阶段 Prompt 没有固化考官角色 | 检查系统提示词中是否出现“评价”“评分”“建议”等词 | 把“不评价、不纠正”以负面指令列出,与正面指令同时出现 |
| 上下文过长导致 AI 遗忘大纲约束 | 多轮对话后历史消息挤占注意力 | 观察是否连续对话超过 8 轮后回答质量下降 | 定期对历史消息做摘要压缩,始终保留系统提示词在顶部,或把大纲约束重复注入最后一轮消息 |
| 大纲更新后 Prompt 失效 | 直接把整个大纲嵌入 Prompt,未模块化 | 检查知识点列表是否绑定旧版本 | 单独维护“知识库片段”变量,大纲改版只替换该片段,不重写角色与流程部分 |
| 接口返回内容安全拦截报错 | Prompt 中某些措辞触发了内容安全策略,比如负面指令里包含不当词 | 复现报错、定位触发词所在的 Prompt | 重写负面指令,用“保持考官角色”“专注引导”等正向表达替代;涉及敏感或争议话题时一律不采用,优先使用通用教学、学术背景文案 |
除了上面这些,还有一个很容易被忽略的问题:AI 的结构化输出不稳定。你让 AI 输出 JSON 格式的评分,它偶尔会在 JSON 后面附加一句“总体评价:非常好”。解决方式有两种,一是启用接口支持的结构化输出模式,比如 response_format 设为 json_object;二是在 Prompt 末尾加一句“只输出 JSON,不要任何额外文字”,配合解析时做容错处理。
另外,关于“invalid prompt: your prompt was flagged as potentially violating our usage policy”这类报错,我想多说几句。出现这个提示,绝大多数情况不是你的 Prompt 本身有什么恶意内容,而是某些措辞在内容安全策略面前被误判或命中敏感词。我处理过的有效方式是把 Prompt 改写成中性、教育化、学术化的表达,同时把目标导向放在“教学辅助”“知识讲解”“通用评估”上。安全的项目设计是底线,我也不会去研究任何绕过审核的方法,合规使用接口才能长久。
最后再分享一点小经验:每次搭完 CAIE 系列的 Prompt,我都会做一个回归测试集,大概二十到三十个问题,把变更前后的输出结果做对比。每个版本迭代之后跑一遍回归,确保大纲约束没被削弱。这个习惯救过我很多次,尤其是那些“感觉系统提示词只改了一个字,实际输出漂移了一大截”的情况。
用 CAIE 大纲做 Prompt 框架,最大的好处是让你的 AI 项目从“聊得还行”变成“专业可用”。你不需要自己发明知识体系,只需要把官方大纲拆成 Prompt 能用的模块。这套方法也不局限于生物、经济、英语这三个学科,任何 CAIE 学科,甚至 IB、AP 大纲,底层逻辑都通用。如果你手头正好有一个一直想做但总是跑偏的 AI 教育项目,不妨从下载一份大纲 PDF 开始。