检查点 2:初始进展
截止时间:2026 年 10 月 27 日(周二)23:59(北京时间)。提交方式见网络学堂。
本次检查点需要推进课程项目,形成能够运行或核对的初始代码,并结合第 2 讲的内容,使用会话 fork 功能,完成至少一组不同提示词(Prompt)或不同上下文的对比。提交阶段报告、完整 AI 交互记录,以及含 Git 版本历史的代码仓库。本次计入“阶段检查点”5 分,反馈安排另行通知。
一、项目目标与本阶段新增工作
根据检查点 1 的反馈,确认项目解决的问题、使用者和本学期准备完成的范围。若调整了选题或技术方案,说明原因;需要大幅更换选题或开展类别之外的探索时,请先联系助教。
选题应有具体用途,也应有值得通过本课程完成的开发与验证工作。可以沿用本人已有的科研、竞赛、其他课程或个人项目,但需要说明本学期准备新增什么、解决什么原先没有解决的问题,以及如何判断改进是否有效。
在报告中简要区分以下三部分:
| 时间范围 | 需要说明的内容 |
|---|---|
| 课程开始前的基础 | 已有代码、功能、数据及来源;哪些由本人过去完成,哪些来自他人或开源项目 |
| 检查点 1 时的状态 | 当时已经实现或跑通的内容,尚未解决的问题;有对应提交时注明版本 |
| 本阶段新增工作 | 本周新增或修改的模块、初步结果,以及对应的 Git 提交 |
从空目录开始的项目如实写明即可。开源项目需给出原仓库、许可证和起始提交。已有项目的原有功能不计为本课程新增成果;重构、性能改进、测试或开发流程改进也可以作为新工作,但应说明原先的问题和核对改进效果的方法。
如果检查点 1 做的是与选题无关的小练习,本次应开始推进课程项目本身。
二、初始代码与运行结果
建立适合项目的基本代码结构,写清各部分的用途,并完成一次实际运行或基线验证。骨架中可以保留待实现模块,但报告需要明确哪些部分已运行、哪些仍是占位。
以下仅为参考,可以选择与自己项目相近的小任务:
| 类别 | 本阶段参考任务 | 可核对的结果 |
|---|---|---|
| 软件开发 | 搭建基本界面或命令行入口,接通一项简单操作 | 页面或命令能启动;给定输入后,能看到实际状态或输出变化 |
| Agent 应用 | 建立模型与工具接口,先跑通一次调用或一个工具函数 | 保存输入、调用结果和失败反馈;使用模拟响应时明确标注 |
| 开源项目优化 | 跑通原项目的基线,定位拟改动模块,形成初步补丁或测试骨架 | 给出起始版本、运行步骤和基线结果,说明自己的新增文件或改动 |
| 数据处理与可视化 | 读取一份小样例,完成一次转换、计算或基础展示 | 提供输入数据、命令和输出,人工核对一个具体结果 |
本人需要亲自运行当前成果,记录实际命令或操作、输入、预期结果与实际结果。选择一种与任务有关的边界或错误情形再检查一次,例如空输入、文件不存在、非法参数、重复数据或服务不可用。验证可以采用手工操作或小测试,本次不要求完整测试体系。
外部接口、设备或数据尚不可用时,可以先验证不依赖它们的部分,或使用明确标注的替代数据。记录当前阻碍和已做的排查,不把模拟结果写成真实调用成功。首次尝试未完全成功,也应保留可核对的过程。
三、提示词与上下文的 fork 对比
从本阶段的真实开发中选取一个具体任务,使用 AI 编程工具的会话 fork 功能,从同一个对话起点开展两组尝试。原会话与 fork 后的会话可以分别作为方案 A、B,也可以建立两个分叉会话。本次要求的是会话分叉,仓库 Fork 或只在同一对话中连续追问不能替代这一项。
两组需要改变提示词或提供的上下文,选择其中一种即可。例如,一组只描述需求,另一组补充输入输出样例;或保持任务描述相同,比较是否提供相关代码、接口说明或真实报错。说明具体改了什么,以及为什么这样改,不必把课堂介绍的每种技巧都使用一遍。
分别运行或核对两组结果,比较是否满足需求、是否遗漏边界、错误是否解决等与任务有关的表现。若第一版已经满足基本要求,可以选择一个尚未覆盖的边界或新的约束作为对比任务。结果没有改善也可以分析,如实说明观察与判断即可。
实践记录至少包含
| 内容 | 需要说明什么 |
|---|---|
| 任务与条件 | 要实现或理解的具体功能,使用的 AI 工具、模型及相关运行环境 |
| fork 起点 | 从哪条消息或哪个对话节点分叉,两组会话分别位于哪里 |
| 两组提示与上下文 | 方案 A、B 实际使用的提示,以及各自提供的文件、代码片段、样例或错误信息 |
| 差异与理由 | 两组提示或上下文具体有什么不同,为什么这样设计 |
| 两组实际结果 | AI 分别生成或修改了什么;本人运行、阅读或核对后的结果 |
| 对比与判断 | 两组在同一任务上的表现差异;最终采用哪种方案、接受或修改了哪些建议及原因 |
| 记录与版本 | 两组完整对话的位置、各自的代码起始版本,最终采用的改动对应的提交编号 |
比较时尽量保持模型、代码起始版本、测试输入和检查方法一致。若工具会话使用同一工作目录,需要分别准备起始代码,避免方案 A 的改动直接影响方案 B。若同时更换了模型、数据或任务要求,也应写明,避免把所有变化都归因于提示词。AI 声称“已完成”或“测试通过”后,仍需检查实际输出。
提示模板参考
可以从自己的实践中整理一份以后可继续使用的模板。下列字段仅供参考,保留与当前任务有关的内容即可。
任务:这次只实现或修改什么?
已有上下文:需要阅读哪些文件?当前代码和接口有什么约定?
输入与预期输出:给出一个具体样例。
约束:语言、依赖、运行环境,以及需要保持不变的行为。
检查方法:运行什么命令或执行什么操作,怎样判断结果符合要求?
迭代反馈:实际出现了什么,哪里与预期不同,需要补充哪些信息?
报告中放入实际使用并调整过的提示或模板,说明哪些内容对这次任务有帮助。正文可节选关键片段,完整记录另附。
四、提交材料
本次提交三部分:阶段报告、本阶段完整 AI 交互记录、含版本历史的代码仓库。报告必须包含 fork 对比,AI 记录中保留两组完整会话及分叉前的共同上下文。 截图或运行日志已经写进报告时,无需再单独复制一份。
文件结构参考
学号_姓名_checkpoint2/
├── report.md # 阶段报告,格式按网络学堂要求
├── ai-records/ # 本阶段完整 AI 记录,含 fork 对比的两组会话
│ └── ...
├── attachments/ # 可选:运行输出、截图、小样例等
│ └── ...
└── project/ # 打包提交仓库时提供
├── .git/ # 保留版本历史,通常是隐藏目录
├── README.md # 环境、依赖、启动和检查方法
└── ... # 当前源代码、依赖清单与必要样例
目录名和代码组织方式可以沿用项目现有结构,报告与记录也可以放在仓库内,只需在提交说明中标明位置。
仓库与版本
按网络学堂要求提交仓库链接或文件,确保助教能获得代码与历史:
- 提交仓库链接时: 在报告中注明仓库地址、分支和本次提交编号,确认该提交已推送。私有仓库按网络学堂说明提供助教访问权限,无需设为公开。此时不必重复上传
project/。 - 打包仓库时: 包含项目目录中的
.git/,解压后应能在项目目录运行git log --oneline查看历史。仅从托管平台下载的源码 ZIP 通常不含 Git 历史,不能替代这一项。 - 保留已有历史,并让本阶段改动对应到自己的提交。每次提交说明一项具体变化,不要求凑提交次数,也不要为了材料重建或伪造过去的历史。
- 保留源代码、依赖清单、锁文件和必要的小样例。不要打包虚拟环境、依赖安装目录、缓存或密钥。私有数据使用可以共享的小样例或说明获取方法。
具体操作见 Git 使用基础。如果检查点 1 尚未完成 Git 启动,本次应补齐,并如实说明开始记录版本的时间。
报告至少包含
- 基本信息与目标: 姓名、学号、项目名称与主要类别;当前目标及相较检查点 1 的调整。
- 已有基础与新增工作: 区分课程开始前、检查点 1 时、本阶段的工作,注明代码或数据来源。
- 当前代码与运行方法: 主要目录或模块的作用、依赖、启动命令、当前可用与待实现的内容。
- 提示与上下文的 fork 对比: 共同起点、两组实际提示与上下文、具体差异及设计理由、各自结果与本人判断;注明完整会话的位置。
- 本人运行与核对: 实际输入、操作和结果,至少包含一项边界或错误情形;说明已知问题和下一步准备处理的内容。
- 提交版本与材料位置: 仓库获取方式、本次提交编号、完整 AI 记录及附件的位置。
完整保存本阶段相关开发会话,包括提示、回复、可导出的工具执行结果和失败记录。若导出文件不含 fork 前的共同历史,单独补上这部分,并在报告中说明与两组会话的对应关系。其他之前阶段的记录继续保留,无需在本次提交中重复堆放。提交前检查报告、代码、对话与 Git 历史中的敏感信息。凭据若已泄露,应先撤销或更换,再处理需要共享的材料。
五、评分标准(5 分)
本次沿用阶段检查点评分标准,各类别使用相同分值。
| 分项 | 分值 | 本次评价内容 |
|---|---|---|
| 按期提交与材料完整性 | 1 | 按时提交;报告、AI 记录、含版本历史的仓库可访问,提交版本与材料位置清楚 |
| 阶段成果 | 2 | 项目骨架或基线已开始运行,有可核对的结果;能区分已有工作与本阶段进展,说明当前限制 |
| 方法与过程记录 | 2 | 使用会话 fork 对比不同提示词或上下文,任务、差异与结果清楚;两组完整对话、Git 改动和运行结果能够对应,有本人的检查与判断 |
本次重点看项目是否开始实际推进,以及如何运用提示词和上下文改进开发过程。代码量、界面数量、模型价格和提交次数不单独计分。完整功能在后续阶段逐步完成;详细任务分解、里程碑和 AGENTS.md 在第 5 讲学习后随检查点 4 提交。
六、提交前自查
- 选题用途、当前范围及本人新增工作说明清楚。
- 当前骨架或基线有实际运行记录,已区分可用功能与占位内容。
- 本人核对了运行结果,并检查了一项相关的边界或错误情形。
- 使用会话 fork 完成了一组不同提示词或不同上下文的对比,说明共同起点、两组差异、实际结果与本人判断。
- 已保留两组完整 AI 会话及分叉前的共同上下文,报告中能定位相应记录。
- 仓库包含版本历史,本阶段改动已提交;使用链接时已推送且助教可访问。
- 报告中的提交编号、文件位置与实际材料一致,敏感信息已处理。
- 已按网络学堂说明完成提交。