1 / 1
扫码查看

《互联网软件开发技术与实践》· 第 1 课(上)

课程介绍

主讲人:张齐勋

单位:北京大学

2026 年秋

目录CONTENT
北京大学 PEKING UNIVERSITY
01 课程全景 为什么学、学什么、怎么学
02 学期末做成什么样 可上线的互联网产品,并接入五项 AI 能力
03 互联网应用看什么 功能、性能、安全缺一不可
04 技术栈 从页面到部署,课程将覆盖哪些层
目录CONTENT
北京大学 PEKING UNIVERSITY
01

课程全景

  • 先建立整体认识:理解为什么学、学什么、学期末完成什么
1.1

为什么现在要学这门课

北京大学 PEKING UNIVERSITY
  • 大语言模型使“能够运行的系统”变得容易实现,企业需要的却是能上线、能验收的互联网应用。
  • 仅让 AI 快速生成一套可运行的系统,却无法说明功能是否完整、性能是否可接受、安全约束是否成立,难以进入真实项目。
  • 本课程把互联网软件从设计到交付完整走一遍,并学会用 AI 按规约(写明目标、约束与验收标准的文档)建设可上线的系统。

不学容易停在哪里

  • 能让 AI 很快生成可运行的系统,却无法验收功能、性能与安全
  • 会调用模型、会生成代码,却做不成可上线的智能互联网应用

学完应当能做到

  • 把可运行的系统推进到能上线、能验收
  • 能把意图写成可验收的约束,换人、换模型、交付时仍然一致
  • 能独立做出一套可上线的智能互联网应用
立场
生成速度已不再稀缺。稀缺的是把意图写成约束。
1.2

课程学什么:三条主线并行,不要混同于“用 AI 开发”

北京大学 PEKING UNIVERSITY
1

产品线

完成一套智能化的互联网应用。教学案例为智能教学平台 CampusClaw:登录、班级、讲义、作业,并接入大语言模型、智能体、知识库、技能与 MCP。智能能力须接入系统主业务。

2

方法线

规约驱动开发(SDD)。先明确谁来使用、要做什么、不做什么、失败时如何处理、以什么证据验收,再实现。同一份规约既驱动开发,也作为验收标准。

3

工具线

使用 Cursor、Codex、Trae、Claude Code 一类 Harness(由模型、工具与代码仓库构成的 AI 开发环境):按规约修改仓库、启动系统、以运行结果和测试判定是否完成。模型声称完成,不等于验收通过。

记住
产品中的 AI 服务用户;开发过程中的 AI 服务开发本身。
1.3

课程怎么上:2 学分,分组做同一项目

北京大学 PEKING UNIVERSITY
  • 课程名称:《互联网软件开发技术与实践》;2 学分 / 32 课时。分组完成同一项目,组内协作、组间独立。
  • 教学案例:智能教学平台系统设计(CampusClaw)。技术栈不限定,各组自选,但须落在同一仓库,并最终能够公网访问。

学习方式

  • 同一仓库逐课递增,不提交彼此孤立、无法走通流程的空页面
  • 每课:制定可执行规约 → Harness 实现 → 按规约验收

教师与分组

  • 教师给可执行规约与关键风险演示,不提供完整参考工程
  • 每组不超过 3 人,组内协作、组间独立;分工:制定规约、开发系统、项目验收
记住
最终成果是一套可部署的互联网应用系统。
1.4

课程成绩评定

北京大学 PEKING UNIVERSITY
  • 考查课:无笔试
  • 学期成绩分布
考核环节占比说明
平时作业50%各课课后任务、过程性练习等
小组项目50%分组完成 CampusClaw 项目并验收、答辩
记住
平时作业与小组项目各占一半;无笔试,成绩取决于过程完成度与最终项目验收。
目录CONTENT
北京大学 PEKING UNIVERSITY
02

学期末做成什么样:CampusClaw

  • 先看最终成果:一套可上线的互联网产品,五项 AI 能力接入主业务
  • 观看时同时对照:登录、隔离、作业、审计;以及大语言模型、智能体、知识库、技能、MCP
2.1

先看成品:同时关注产品与 AI

北京大学 PEKING UNIVERSITY
  • 学期末交付一套可上线的互联网产品;大语言模型、智能体、知识库、技能与 MCP 接入互联网应用平台之中。
  • 内置演示账号:班级 A 有张老师(教师)与李明(学生),班级 B 有王芳(学生)。

互联网产品

  • 谁在使用:登录后才具有角色与导航
  • 数据归谁:本班可见,他班不可见

五项 AI 能力

  • 大语言模型:流式生成,密钥仅存于服务端
  • 智能体:先校验,再规划、调用工具
  • 知识库:检索须带来源;未命中时明确说明
  • 技能与 MCP:专项能力可开关;工具调用须鉴权
看什么
产品须能上线;AI 须接入主业务。
2.2

现场演示:沿产品路径看 AI 能力

北京大学 PEKING UNIVERSITY
①

登录产品入口,并非聊天框

②

讲义知识库入库,归属本班

③

助手智能体:提示词 / 技能 / MCP

④

检索知识库须带来源;未命中时明确说明

⑤

对话大语言模型流式输出

⑥

开关关闭技能后,同一题目行为发生变化

⑦

作业技能:批改、改分、错题

⑧

隔离权限与审计,他班不可见

记住
沿登录、讲义、作业完成产品路径;同时观察五项 AI 能力如何被约束。
2.3

刚才同时观察到什么

北京大学 PEKING UNIVERSITY

互联网产品

  • 先登录,具有角色与导航,并非打开即为输入框
  • 讲义、作业是业务对象,可完成提交、改分闭环
  • 切换班级后无法看到他班数据;调用日志可审计
  • API Key 打码,仅存放在服务端

五项 AI 能力

  • 大语言模型:对话流式生成
  • 知识库:检索须带来源;未命中时明确说明
  • 智能体:按提示词选择技能、调用工具
  • 技能:关闭解题引导后,同一题目行为发生变化
  • MCP:工具可见、可绑定,调用须鉴权
对照
学期末完成的是带五项 AI 能力的互联网产品,而不是“能够对话的页面”。
目录CONTENT
北京大学 PEKING UNIVERSITY
03

互联网应用看什么

  • 把刚才的成品抽象为一般标准:通过网络由多用户访问的在线系统
  • 要形成可用系统,必须同时关注功能、性能与安全
3.1

一句话定义:通过网络持续在线的多用户系统

北京大学 PEKING UNIVERSITY

互联网应用是什么

  • 通过网络、由多用户远程访问、持续在线的软件系统
  • 数据集中在服务端,而不是仅存在于某台计算机
  • 每次访问都须判断:你是谁、能否执行该操作
  • 常见形态:B/S(浏览器-服务器)、C/S(客户端-服务器)

它不是什么

  • 不是单机软件:关闭浏览器后,系统仍在运行,他人仍可使用
  • 必须具备登录、权限与数据归属,否则不能称为可用产品
  • 接入一个大模型接口只是其中一层能力,仍须落到主业务
对照演示
CampusClaw 打开后先登录、再进入班级、再查看讲义——这已经是互联网应用。
3.2

互联网应用必须同时关注:功能、性能、安全

北京大学 PEKING UNIVERSITY
1

功能

主路径能够完成真实任务:登录、查看本班讲义、提交作业、技能开关改变行为。失败时也有规定表现:未登录、越权、无资料时系统如何响应。能打开页面,不等于功能完整。

2

性能

多人同时使用时,列表与检索须在可接受时间内返回。作业批改等耗时任务不能阻塞整页,应异步处理。本地预览很快、部署到公网后需等待数秒,说明性能约束未写清。

3

安全

身份认证、权限隔离、跨班不可见;API Key 仅存于服务端,不进入前端和仓库。班级范围由服务端根据身份推导,不得信任客户端传入的班级标识。

记住
三者缺一不可。功能正确却能越权,或权限正确却需等待十几秒,都不算可用。
3.3

互联网软件的特征清单

北京大学 PEKING UNIVERSITY
1

多用户

教师与学生同时在线使用,互不影响

2

分层

页面 / 接口 / 业务 / 数据分离,可替换

3

持续运行

公网可访问,可重复发布、可回归

4

认证与权限

可执行的操作受控,跨班不可见

5

数据集中存储

讲义、作业、日志统一存放于服务端

6

业务有状态

登录态、作业状态、改分记录可追踪

7

多端共用接口

浏览器 / H5 / 小程序使用同一套 API

8

智能能力

具备提示词、技能、知识库,接入主业务

验收
特征再多,最终仍按三项验收:功能是否完成任务,性能是否可接受,安全约束是否成立。
目录CONTENT
北京大学 PEKING UNIVERSITY
04

技术栈

  • 技术组合自选,但须覆盖从页面到部署的各层,并落在同一仓库形成闭环
4.1

课程将覆盖哪些层(组合自选)

北京大学 PEKING UNIVERSITY
层常见选择在本案例中的作用
前端React、Vue;Next、Nuxt登录页、讲义列表、助手对话、教师配置
服务端Spring、Nest/Express、Django/FastAPI、Go鉴权、路由技能、写审计、改分规则
数据MySQL、PostgreSQL、对象存储用户、班级、讲义、作业、切片文件
缓存Redis 等会话、热点数据、检索结果
消息队列RabbitMQ、Kafka、Redis 队列作业批改等耗时任务异步化
检索与模型向量检索(如 pgvector)、模型 HTTP API知识库检索、解题引导等技能的文本生成
多端 / 运行浏览器、H5、小程序;Git、Docker、CI、Nginx共用同一套接口;容器化部署
原则
宜选择组内熟悉、能够形成闭环的组合,而不是先罗列框架名称。
4.2

为什么不只是“前端 + 后端 + 数据库”

北京大学 PEKING UNIVERSITY
1

缓存

登录态、热点讲义、检索结果会被反复读取。每次都访问数据库会增加延迟并可能造成过载。可用 Redis 暂存近期仍需使用的数据。

2

消息队列

作业批改需要调用模型,可能耗时数十秒。同步等待会阻塞页面。任务入队后先返回“处理中”,由消费者异步执行,失败后可以重试。

3

检索与模型

知识库不是整本放入提示词。先把文档切分成片段、转换为向量(即"嵌入"),检索出相关片段后再提供给模型。模型通过 HTTP API 调用,密钥保留在服务端。

起步先打通页面、接口与数据库;缓存、队列与检索逐步引入。
小结

这门课教你做成可上线的智能互联网应用

北京大学 PEKING UNIVERSITY
  • 为什么学:生成容易,形成可用系统困难。稀缺的是把意图写成约束。
  • 学什么:产品线(CampusClaw)、方法线(SDD)、工具线(Harness),三条主线并行。

适合选这门课,如果

  • 愿意分组、携带电脑,在同一仓库中完成项目
  • 不只想快速生成可运行的系统,还希望学会交付与验收

接下来继续

  • 大语言模型、智能体、知识库、技能与 MCP
  • 这五项能力如何接入 CampusClaw
记住
能够运行不等于可上线。

本小节结束

第 1 课 · 做成可上线、可验收的互联网应用