模型 / 数据集
microsoft/generative-ai-with-javascript avatar
microsoft/generative-ai-with-javascript

microsoft/generative-ai-with-javascript:把 LLM 课程做成穿越剧的 JavaScript 教材

Join a time-traveling adventure where you meet history’s legends while learning Generative AI technologies! ✨

1,264 个 Star840 个 ForkJavaScriptMIT

秒懂

它是什么?
这是微软维护的一套 JavaScript 生成式 AI 入门课程,八节课覆盖提示工程到 MCP,配有可本地运行的同伴应用。它的价值在于课程结构,而不在于代码本身。
适合谁用?
适合已经会写 JavaScript、但没系统接触过 LLM 应用的开发者,也适合想找一份可直接 fork 进内部培训的团队。不适合想找生产级 SDK 或可复用组件库的人,这个仓库交付的是课程文本、视频、测验和演示应用,不是依赖包。
能商用吗?
可以。MIT 是宽松许可证:你可以使用、修改并销售基于它的软件,只需保留版权和许可证声明。
还在维护吗?
在维护。仓库最近一次提交在 4 天前。
用什么语言写的?
主要是 JavaScript(依据 GitHub 的语言统计)。

以上回答依据项目的 GitHub 数据(最近同步于 2026年9月15日)和我们的分析,不构成法律意见。

开源项目深度解析

它教的不是 API,而是 LLM 应用里那些容易踩空的位置

JavaScript 开发者接入大模型的门槛从来不是调用接口,而是调用之后怎么办。课程目录把这件事拆得很直白:第 4 课讲结构化输出,第 5 课讲 RAG,第 6 课讲工具调用。这三件事恰好是模型输出不可直接信任的三个位置。结构化输出处理的是自由文本难以被程序消费的问题,RAG 处理的是模型不知道你私有数据的问题,工具调用处理的是模型无法执行动作的问题。

目标读者写得很明确:想理解生成式 AI 及其在应用中潜力的 JavaScript 开发者。README 里那句“如果你一直想弄明白生成式 AI 能给你的应用带来什么,你来对地方了”基本界定了范围。它不假设你有机器学习背景,但假设你能读懂 JavaScript 并愿意动手跑代码。第 7、8 课转向 MCP,先教怎么构建和测试一个 server,再教怎么把 LLM 集成进 MCP 客户端。这个顺序说明课程把 MCP 当作一个需要先理解协议、再谈智能的工程对象。

八节课的递进关系与穿越剧外壳

课程的组织方式值得单独说,因为它决定了你该怎么用。每节课打包四样东西:带作业和测验的书面课程、一段短视频、作业与测验的解答、以及一个可以用同伴应用交互的角色。角色是达芬奇、阿达·洛芙莱斯、蒙特祖玛这类历史人物,README 用“像一本带代码的漫画书”来概括这种体验。

这个外壳不是装饰。把提示工程和 RAG 这类抽象概念挂在一段连续叙事上,好处是每节课都有具体的对话场景可以调试,坏处是如果你想直接跳到第 5 课的 RAG 实现,前面的人物设定和剧情铺垫会变成噪音。课程按序号排列,但技术上第 4 到第 6 课之间没有强依赖,跳读是可行的。

内容范围上有一点需要注意:八节课全部围绕 JavaScript 生态,但课程本身没有绑定某个特定框架。第 2 课只讲搭建开发环境、写一个基础应用、理解系统提示词,没有引入框架抽象层。这意味着你学到的东西更接近模型接口本身,代价是后面要自己决定用哪个 SDK 包装。

Codespaces 加 GitHub Models 是主推路径,本地运行是备选

README 给出的上手方式很具体:先 fork 仓库,点 Code 按钮进 Codespaces 标签页,选择 Create codespace。这样会得到一个预配置的在线环境,然后可以用 GitHub Models 运行代码示例并免费与模型交互,不需要额外设置。文档把这条路径称为快速简单的起点。

本地运行被放在另一条路径上,指向 docs/setup/README.md 里的 Option 2。仓库材料没有展开这条路径需要哪些环境变量或配置文件,所以如果你打算本地跑,得先去读那份 setup 文档,而不是照着 README 猜。这是我在材料里看到的最明显的信息缺口:主推路径写得很完整,备选路径只给了一个链接。

同伴应用本身放在 app 目录下,README 指向 app/README.md 作为说明入口。课程正文、视频脚本、幻灯片分别放在 lessons、videos/sessions、videos/slides 下,幻灯片同时提供 pptx 和 pdf 两种格式。这个目录划分对想抽取素材做内部培训的人比较友好,视频脚本是 markdown,可以直接改。

翻译机制与它暴露的维护模式

README 里有一段明确的翻译征集:每节课的 lessons 目录下都有 translations 子目录,贡献者按 README.<language code>.md 的命名添加文件,例如 README.es.md。这是一个低成本的多语言方案,不需要额外的构建流程,也不需要翻译平台。

代价是翻译质量完全依赖社区,而且课程更新后译文不会自动同步。仓库没有发布过正式 release,最后推送时间在 2026 年 9 月,说明它是持续小步更新而不是版本化交付。对读者来说这意味着两件事:你拿到的永远是最新版本,同时也意味着没有稳定的快照可以锁定。如果你要把这套课程嵌入有版本管理要求的内部系统,得自己打 tag 或 fork 一份冻结。

课程数量也在变。README 明确写着新课程会陆续加入,第 7、8 课的 MCP 内容就是以“NEW”标记后加进去的。所以目录结构不是最终形态,按序号引用课程时最好同时记住标题。

作为课程它做得不错,作为代码库它不够用

这是最需要说清楚的一点。仓库的 topics 里写着 samples 和 training,README 也邀请你复用、修改、自由分享内容,但它的交付物是教学内容,不是可依赖的软件。没有 release,没有 npm 包,没有版本号,同伴应用是一个用来演示概念的本地应用,而不是让你 import 进项目的组件。

如果你的真实需求是“给我的 JavaScript 项目加一个能用的 LLM 调用层”,这个仓库解决不了。你会在示例里看到怎么组织系统提示词、怎么要求 JSON 输出、怎么把外部数据接进上下文,但这些是模式,不是实现。反过来,如果你的需求是“让团队里五个人在一周内理解 RAG 到底在做什么”,这份材料比大多数博客系列完整,因为它附带可运行的演示和测验。

另一个边界是语言与生态。全部内容围绕 JavaScript,Python 开发者在这里得不到什么。而 MCP 那两节课虽然讲的是协议,但示例仍然落在 JavaScript 客户端上。

和直接读厂商文档相比,差别在顺序和反馈

更现实的替代方案不是另一个仓库,而是直接读模型提供方的 API 文档加几篇提示工程指南。这条路线的优势是信息最新、覆盖最全,你能第一时间知道某个参数被弃用或新增。劣势是文档按功能组织,不按学习顺序组织,你需要自己判断先学什么、哪些坑值得提前知道。

这个课程仓库补的正是顺序和反馈这两块。顺序体现在八节课的编排:先建立对 LLM 能力与限制的认识,再写第一个应用,然后依次进入提示工程、结构化输出、RAG、工具调用。反馈体现在每节课都有作业、测验和解答,你写完能对照。厂商文档通常不提供这个。

代价是时效性。课程是静态文本,模型接口在变,示例所依赖的访问方式也可能调整。README 把 GitHub Models 作为免费运行示例的途径,这条路径的可用性取决于该服务本身的状态。所以更合理的用法是把课程当骨架,把厂商文档当随时查阅的参考,遇到示例跑不通时先怀疑接口变化而不是自己的理解。

许可证与长期成本

仓库采用 MIT 许可证,README 也再次强调内容可以自由复用和修改。对内部培训场景来说这个许可相对宽松,你可以 fork 一份改成自己公司的案例,不需要公开改动。具体到署名和再分发的要求,请以 LICENSE 文件原文为准,这里不做法律层面的解读。

维护成本主要落在两处。一是课程会持续新增,如果你 fork 后做了大量定制,后续同步上游改动会越来越麻烦,建议一开始就决定是跟随还是冻结。二是翻译目录的机制意味着多语言版本由社区驱动,如果你的团队需要中文版本而仓库里没有对应的 README.zh.md,那就得自己维护一份,并且在上游更新后手动比对。

运行成本方面,主推路径依赖 GitHub Codespaces 和 GitHub Models。README 描述这条路径时用了“免费”的说法,但没有给出额度、期限或限制条件。如果你打算把这条路径用于团队培训,先去确认当前的配额与条款,不要按 README 的措辞做容量规划。

编辑结论

适合已经会写 JavaScript、但没系统接触过 LLM 应用的开发者,也适合想找一份可直接 fork 进内部培训的团队。不适合想找生产级 SDK 或可复用组件库的人,这个仓库交付的是课程文本、视频、测验和演示应用,不是依赖包。动手前先确认两件事:同伴应用在 docs/setup/README.md 里给出的本地运行前提是否覆盖你的环境,以及课程示例所依赖的模型访问方式在你的网络与账号条件下是否可用。

官方来源

  1. Issues
  2. License: MIT
  3. microsoft/generative-ai-with-javascript on GitHub
  4. Project website
  5. README
社区笔记

社区笔记