第 1 课怎么划生成式 AI 的范围:微软生成式 AI 入门课的概念地基

2026-08-18

翻开 generative-ai-for-beginners 这门课,第 1 课 01-introduction-to-genai/README.md 是最容易被跳过的一章——没有 .py,没有 .ipynb,整章只有文字和几张示意图,目录里连 python/ 子目录都没有,只有一个 images/。想动手的人会直接翻到第 6 课去装 openai 库。

但这一课其实是整门课的口径定义处。后面十几课里出现的 prompt、completion、token、temperature,语义全都在这一章第一次被钉死;教学案例的设定也在这一章立起来,第 2 课开头就直接回指它。跳过它的代价不是「少学了点概念」,而是后面看到 max_output_tokens 这类参数时不知道它对应的是哪一步机制。

下面沿着这一章的行文走一遍,看它到底把范围划在了哪。

第一条线:把生成式 AI 塞进哪个盒子里

这一章给的归类很直接:生成式 AI 被当作深度学习的一个子集来讲,章节里那张 images/AI-diagram.png 就是画这层包含关系的。

它给的技术脉络是四段式:最早的原型是打字机式的问答程序,答案来自专家整理进计算机的知识库,靠输入文本里出现的关键词触发——这一段课程自己写明这种做法扩展性不好;90 年代统计方法进入文本分析,机器学习让模型能从数据里学模式,把文本和标签配对训练出分类能力;再往后是神经网络,尤其是 RNN,让词在句子中的上下文能被表示出来,这也是本世纪头十年那批虚拟助手的底子;最后是 Transformer,课程给的说法是它突破了 RNN 在输入序列长度上的限制,靠 attention 机制对输入的不同位置分配不同权重。

这条线索的用处在第 2 课立刻显现。02-exploring-and-comparing-different-llms/README.md 开头一句就是「在上一课我们已经看到……」,然后直接进入模型选型:音频与语音识别、图像生成、文本生成、多模态四类分开谈。也就是说第 1 课负责回答「这是什么」,第 2 课才负责「有哪些、怎么挑」。

第二条线:一次生成在课程口径里被拆成三步

这一课讲 LLM 的内部工作时,只拆了三步,而且明确说是以 OpenAI 的 GPT 系列为例来讲的:

第一步是 tokenizer。课程的说法是模型收文本、出文本,但作为统计模型它处理数字比处理文本序列顺手,所以每一份输入在进核心模型前先过 tokenizer;一个 token 是一段字符数不固定的文本块,tokenizer 的主要工作是把输入切成 token 数组,每个 token 再映射到一个 token index,也就是这段文本的整数编码。

第二步是预测输出 token。给定 n 个输入 token(课程写明这个 n 的上限因模型而异,没给具体数),模型预测出一个 token,这个 token 再并入下一轮的输入,形成一个不断扩张的窗口。课程顺手用这一点解释了一个现象:有时候聊天界面上的回答会停在句子中间。

第三步是选择过程。模型算出的是下一个 token 的概率分布,但并不总是选概率最高的那个,选择里掺了一定程度的随机性,所以同样的输入不会得到完全相同的输出。课程点明这个随机程度由一个叫 temperature 的模型参数控制——这是整门课里 temperature 第一次出现,出现的位置就是第三步。

记住这个挂靠关系有实际价值:后面第 6 课里所有参数争议,本质上都在争这三步中的某一步。

第三条线:prompt / completion 的定义,以及一串明确的否定

术语上,这一课把输入叫 prompt,输出叫 completion,并且解释了 completion 这个词的来历——它指的是模型生成下一个 token 来「补全」当前输入的这套机制。prompt 可能包含的形态被列了四类:带着期望输出类型的指令(有时内嵌示例或额外数据)、以对话形式提出的问题、一段等待续写的文本、一段代码加上解释或生成的要求。

比这些正面定义更值得注意的是这一章末尾那串否定。课程自己写明:生成式 AI 的输出并不完美,模型的「创造性」有时会反过来起负作用;它不是智能的(至少在包含批判性推理、创造性推理和情感智能的那种更完整的定义下不是);它不是确定性的;它也不可信,因为编造出来的引用、内容和陈述会和正确信息混在一起,以一种有说服力、很自信的方式呈现出来。

章末的 Knowledge check 只有一道题,三个选项,标准答案是第三项:同样的 prompt 回答可能不同,它擅长给你一个初稿,但结果需要你自己改进。答案解析里又补了一句——非确定性可以通过 temperature 设置来控制方差。

这串否定不是修辞。第 3 课 03-using-generative-ai-responsibly/README.md 一上来讲的幻觉问题,用的就是这里定下的口径;那一课把 Responsible AI 的原则列成公平性、包容性、可靠性与安全、安全与隐私、透明性、问责这几条,然后套到同一个产品设定上讲。

教学案例:一家虚构的教育创业公司

这门课不是按「概念—例题」组织的,它有一条贯穿的业务线:一家虚构的教育领域创业公司,课程正文里一直用「our startup」称呼它。使命被写成一句话,大意是在全球范围内提升学习的可及性,让每个人都能公平地获得教育,并按各自需求提供个性化的学习体验。课程紧接着写明,团队清楚这个目标离不开大语言模型。

这个设定的作用是给后面每一课一个统一的落点。第 2 课的模型选型是「这家公司下一步要探索现有 LLM 版图,判断哪些适合自己的用例」;第 3 课的负责任 AI 是「这家公司的教育产品该怎么做」。所以当你在后面某一课看到 our startup 这个说法时,它指的就是第 1 课立的这个设定,不是随手举的例子。

第 1 课的作业也是围着这个设定转的:让你自己找一个当下还没有用上生成式 AI 的领域,想清楚它和「老办法」相比差别在哪——是能做以前做不到的事,还是只是更快,然后写一份简短的方案摘要,课程还给了 Problem、How I would use AI、Impact 这几个建议的小标题。

一处要提前知道的落差:temperature

第 1 课把 temperature 讲成「调随机性的那个旋钮」,这没错,但如果你带着这个印象直接去第 6 课写代码,会撞上一层落差。

06-text-generation-apps/README.md 里给的调 temperature 的写法是这样一行:

response = client.responses.create(model=deployment, input=prompt, temperature=0.5, store=False)

这里的 0.5 是仓库文档里的示例值,不是什么推荐值。但同一份 README 紧接着写了一条提醒,原文把它称作「2026 年的一个重要转变」:当前 Microsoft Foundry 上未被弃用的模型是 reasoning 模型(GPT-5 家族、o 系列),它们不支持 temperaturetop_p,也不支持 max_tokens(要改用 max_output_tokens;文档写明,如果你把 temperature 发给 gpt-5-mini,会收到参数不支持的报错。要试上面那个 temperature 例子,README 的建议是把它指向仍然支持采样控制的模型,例如 Foundry 模型目录里的开放权重 Llama 模型。

把第 1 课和第 6 课这两处放在一起看,结论是:第 1 课讲的三步机制没变,概率分布仍然存在,但「用哪个参数去调它」这件事在不同模型家族上不一样。第 6 课给出的方向是提示工程加上 reasoning 相关的控制项。这层落差课程自己写在正文里了,不是我们的推断。

真要动手时,从哪一课开始需要配置

第 1 课本身不需要任何环境。真正需要 provider 的是从第 6 课开始的代码课。00-course-setup/03-providers.md 是这几条接入路线的总说明,读它的时候有一件事必须先知道:

仓库里那批 githubmodels-* 前缀的示例,前缀名和实际接入目标已经脱节了00-course-setup/03-providers.md 在多处逐字写明,GitHub Models 于 2026 年 7 月底退役,直接替代者是 Microsoft Foundry Models;.env.copy 里对应的注释也是这么写的。也就是说今天照着这批示例配置时,要填的是 Microsoft Foundry Models 的 endpoint 和 key,对应的环境变量在文档的变量表里写的是 AZURE_INFERENCE_ENDPOINTAZURE_INFERENCE_CREDENTIAL,而不是老的 GitHub token 那一套。这个退役时间点写在仓库文档里,本文只是转述。

仓库还提供了一层公共工具 shared/python/env_utils.py,里面的 get_required_env(var_name, description=None) 在变量缺失或为空时抛 ValueError,错误信息会提示你去 .env 文件或环境里设置;同一个文件里还有 validate_env_vars(*var_names),一次校验多个变量并返回名值字典。自己写练习代码时,用这两个函数比直接 os.environ[...] 取值更容易看出是哪一个变量没配上。

上面两个函数的签名与行为是按仓库当前代码转述的,未经实测,以仓库最新代码为准。

环境这一步 Windows 和其它系统的写法不同,06-text-generation-apps/README.md 的练习步骤里原样给了两种:

python -m venv venv
source venv/bin/activate
pip install openai

同一段下面有一条注记写明,Windows 上把 source venv/bin/activate 换成 venv\Scripts\activate。这一句在文档里是单独标注的,别照着上面那三行在 PowerShell 里硬敲。

怎么用这一课

如果你已经在用大模型 API 写东西,第 1 课能给你的不是新知识,而是这门课后续所有表述的口径:token 指什么、completion 指什么、our startup 指哪个设定、随机性挂在哪一步。花十几分钟把 01-introduction-to-genai/README.md 通读一遍,后面每一课的代码你都能对应回这三步机制里的某一步。

要提醒的是:这门课持续更新,章节编号、文件路径和示例里的模型名都会变,上面提到的每一处都请以仓库最新内容为准。


本文依据 github.com/microsoft/generative-ai-for-beginners 仓库于 2026-08-18 的公开内容整理, 事实来自仓库内的课程正文与代码示例。我们没有跑过文中涉及的代码, 因此不涉及运行结果、耗时与生成质量的任何描述。 该课程持续更新,文中涉及的文件路径、依赖与接口写法随版本变动,请以仓库最新内容为准。 文中涉及的云端服务调用会产生费用并可能上传数据,请自行评估密钥与数据边界。

想系统学会用 AI?报名体系课或加入会员,照着学、照着用。