微软生成式 AI 入门课第 10 课低代码:不写代码能走到哪一步
按 00-course-setup 把环境配好、.env 里的 endpoint 和 key 都填完,一路写到第 9 课的图像应用,翻开第 10 课,你会发现整节课一行 Python 都没有。
这不是仓库缺文件。10-building-low-code-ai-applications/ 目录下只有三样东西:README.md、assignment.md、images/。既没有 python/,也没有 typescript/。而 generative-ai-for-beginners 根目录的 README.md 在「Each lesson includes」一节里写的是每课包含 Python 与 TypeScript 代码示例——这两处放在一起看是对不上的。要说明的是,对不上的不止这一课:01-introduction-to-genai/、03-using-generative-ai-responsibly/、12-designing-ux-for-ai-applications/ 这些偏理念的章节同样只有 README.md 和 images/。第 10 课扎眼的地方在于,根 README 的课程表把它归在 **Build:** 这一类里,给的描述是 **Build:** A Generative AI application using Low Code tools——是一节要你动手做出东西的课,却一行代码都不给。所谓 low code,在这一课里是字面意思。
先说一件会浪费你十分钟的事
这一课有 assignment.md,但它是个 0 字节的空文件。
这不是浅克隆截断——课程里带 assignment.md 的只有第 10 课这一节,而这个文件本身就是空的;translations/zh-CN/10-building-low-code-ai-applications/assignment.md 同样是 0 字节。所以别去找作业文件,作业写在 README.md 正文里,标题分别是 Assignment: Manage student assignments and invoices for our startup, using Copilot 和 Assignment #2 - Build an Invoice Processing Flow for Our Startup。
顺带一提,这一课的中文译本是齐的(translations/zh-CN/ 下有整章 README),所以看不懂英文不必硬啃。下面讲的是英文原文里那些容易被读者跳过的操作细节。
第一条流程:先有表,后有 app
README 里 Student Assignment Tracker 的步骤,顺序是关键。
你在 make.powerapps.com 首页的文本框里描述需求,README 给的示例提示词是 I want to build an app to track and manage student assignments(这是 README 里的示例值,你换成自己的业务描述即可)。点 Send 之后,Copilot 先给的不是 app,是一张 Dataverse 表:它建议字段、附带样例数据,你可以继续用对话改这张表,比如 README 举的 I want to add a column to store student email。表改满意了,再点 Create app,才生成一个响应式的 Canvas app。
app 生成之后仍然可以继续用对话加东西,README 的例子是 I want to add a screen to send emails to students,然后 Save,再走 Share 把应用分享给同事。
值得留意的是 README 在这一步插的那段 Important:Dataverse 是 Power Platform 的底层数据平台,数据落在 Microsoft Cloud、随 Power Platform 环境一起开出来,自带数据分类、数据血缘、细粒度访问控制这类治理能力。换句话说,你在这条流程里产生的业务数据,落点是租户里的 Dataverse,不是你本机的文件。这一点在动手前值得先跟数据合规的同事对一句。
第一个作业的 homework 是:让教师在学生提交作业时自动收到邮件通知,README 只给了 hint——用 Power Automate 里的 Copilot 配合合适的提示词去做,没有参考答案。
第二条流程:Copilot 生成之后,手工装配的部分才是重点
Invoice Processing 这条流程更有意思,因为 README 把「生成完之后要改什么」写得很细,而这部分恰恰最容易被当成套话跳过。
前半段还是描述式的:在 make.powerautomate.com 首页描述你要的流程,README 给的示例是 Process an invoice when it arrives in my mailbox,Copilot 建议一串动作,你按 Next 走,中途 Power Automate 会要你把 flow 需要的连接建好,然后 Create flow。
后半段全是手工活,按 README 的步骤依次是:
- 改触发器,把 Folder 设成放发票的邮件文件夹(README 举的例子是 Inbox);点 Show advanced options,把 Only with Attachments 设成 Yes,这样只有带附件的邮件才触发。
- 删掉 Copilot 生成的这几个动作:HTML to text、Compose、Compose 2、Compose 3、Compose 4,README 的理由是这几个用不上。
- 再删掉 Condition 动作。
- 点 Add an action,搜 Dataverse,选 Add a new row。
- 在 Extract Information from invoices 这个动作上,把 Invoice File 指到邮件的 Attachment Content。
- 选你之前建好的表(README 举的是 Invoice Information),然后用上一步的 dynamic content 去填 ID、Amount、Date、Name、Status、Supplier Email 这几个字段;其中 Status 直接写死 Pending,Supplier Email 取 When a new email arrives 触发器里的 From。
这里可以做一个源内的对读:README 前半部分说 Copilot 会「根据你的描述生成 flow」,后半部分自己列出的步骤里,删动作、接 Dataverse、逐字段做 dynamic content 映射都要人来做。两处放在一起,这一课教的其实是「自然语言起草 + 人工装配」这个组合,而不是一句话出成品。这是 README 白纸黑字的步骤,不是我们的推测。
第二个作业的 homework 是:发票状态变化时给供应商发一封状态更新邮件,hint 是「flow 必须在 status 改变时运行」——同样没有参考答案。
另外 README 在作业开头推荐了 Power Platform Copilot Prompt Library(github.com/pnp/powerplatform-prompts),说不知道怎么描述需求时可以从那里找提示词的写法。
能力边界:哪个 AI 在哪一层
这一课真正需要记住的边界只有几条,README 都写明了。
Copilot 与 AI Builder 的覆盖面不一样。 README 写明 Copilot 在 Power Platform 的产品里都有——它列的是 Power Apps、Power Automate、Power BI、Power Pages 和 Copilot Studio(原 Power Virtual Agents)这五个;而 AI Builder 只在 Power Apps 和 Power Automate 里可用。所以想在 Power BI 或 Power Pages 里直接调 Invoice Processing 这类模型,路径和这一课教的不是一条。
预置模型与自定义模型的边界,课程只讲了一半。 AI Builder 的 Prebuilt AI Models 是微软训练好、开箱可用的,README 列了包括 Invoice Processing、Document processing、Text Recognition、Sentiment Analysis 在内的若干项,这一课用的就是其中的 Invoice Processing。至于 Custom AI Models(bring your own model),README 只写了「有限制」,然后把链接指向 AI Builder 文档的 byo-model#limitations,正文里没有展开这些限制是什么。想清楚自带模型能不能满足你的场景,得跳出这个仓库去读产品文档。
Create Text with GPT 这一节没有步骤。 README 说明它由 Azure OpenAI Service 驱动,可以在 flow 里生成邮件草稿、产品描述这类文本,但正文没有给任何可跟做的操作,而是指向 Learn 上的 Add intelligence with AI Builder and GPT 模块。
Copilot Studio 那一节同样是能力描述,不是教程。 README 列的能力包括:把公开站点、SharePoint、OneDrive、Dataverse、上传文件这些接成 knowledge sources 后生成有依据的回答;用 generative orchestration 动态决定调哪些知识、话题和动作,而不是靠死板的触发短语;动作可以由 Power Platform 预置连接器、Power Automate flow、自定义 REST API、prompt 或者 Model Context Protocol(MCP)server 来支撑;可以做由事件触发、在后台跑的 autonomous agents;agent 之间可以互相调用;还可以从 Microsoft Foundry 模型目录里挑模型。但这一节从头到尾没有编号步骤,只给了门户入口。把它当成「知道有这些东西」的索引,别指望照着做完。
许可和环境权限,README 正文没有交代。 这一课直接从「打开 make.powerapps.com」开始,仓库里没有找到关于试用、许可、AI Builder 额度或区域可用性的说明。这些是你在自己租户里会先撞上的东西,得去产品文档确认。
这一课不需要动 .env
这是一个容易反过来踩的坑:前面几课让你在 .env 里配 provider,到第 10 课这些配置一次都用不上。这一课的 README 从头到尾没有出现任何环境变量、key 或 SDK 安装步骤,全部动作都在 make.powerapps.com 和 make.powerautomate.com 两个门户里完成;至于 Copilot 与 AI Builder 背后接的是哪个模型、要不要你自己的 key,仓库里没有找到相关说明——README 只交代了 Dataverse 是随你的 Power Platform 环境一起开出来的。
既然提到 provider,顺手把两件事说清楚,免得你从第 6 课带着旧记忆过来:
一是 githubmodels- 这个前缀现在名不副实。00-course-setup/03-providers.md 与根 README.md、.env.copy 都写明,GitHub Models 已于 2026 年 7 月底退役,直接替代者是 Microsoft Foundry Models(这是仓库文档里的说明)。所以课程里那条路线现在实际要配的是 AZURE_INFERENCE_ENDPOINT 和 AZURE_INFERENCE_CREDENTIAL——Microsoft Foundry 项目的 endpoint 与 key,不再是 GITHUB_TOKEN。讲「三条路线怎么选」时,第三条应当读作 Microsoft Foundry Models(原 GitHub Models 路线)。
二是 .env.copy 的注释里写明:reasoning 模型(注释举的例子是 gpt-5-mini)不支持 temperature / top_p,用 max_output_tokens 而不是 max_tokens;要试 temperature 的效果,得另外部署一个非 reasoning 模型,.env.copy 里为此单列了 AZURE_INFERENCE_CHAT_MODEL 这一项。等你从第 10 课回到写代码的课,这条会直接影响你的调用能不能通。
至于操作系统差异:这一课全程在浏览器门户里完成,仓库没有给任何本机命令,Windows 与 macOS/Linux 在这一节上没有区别。真正需要区分本机环境的是 00-course-setup 那一章。
要不要花时间在这一课上
给一个判断依据,不给结论:如果你的目标是理解 LLM 应用怎么写,第 10 课能给你的增量有限,它教的是门户里的装配手艺;如果你在企业里已经有 Power Platform 环境、手上正好有「邮件附件里的发票要落库」这类流程,那么 Invoice Processing 那半节的手工装配步骤是可以直接抄的。
最后提醒一句:这一课的内容全是门户 UI 的按钮名和菜单路径,而产品界面的改动比代码 API 更频繁。仓库的 CHANGELOG.md 里就记着一条 2026-07-16 的修订——把第 10 课里两个已失效的 Dataverse 文档链接换成了新的 learn.microsoft.com/power-apps/maker/data-platform/data-platform-intro。文中提到的按钮名、字段名和步骤顺序会随产品更新变动,请以仓库最新内容为准。
本文依据 github.com/microsoft/generative-ai-for-beginners 仓库于 2026-08-18 的公开内容整理,
事实来自仓库内的课程正文与代码示例。我们没有跑过文中涉及的代码,
因此不涉及运行结果、耗时与生成质量的任何描述。
该课程持续更新,文中涉及的文件路径、依赖与接口写法随版本变动,请以仓库最新内容为准。
文中涉及的云端服务调用会产生费用并可能上传数据,请自行评估密钥与数据边界。