跳转至

检查点 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 的调整。
  2. 已有基础与新增工作: 区分课程开始前、检查点 1 时、本阶段的工作,注明代码或数据来源。
  3. 当前代码与运行方法: 主要目录或模块的作用、依赖、启动命令、当前可用与待实现的内容。
  4. 提示与上下文的 fork 对比: 共同起点、两组实际提示与上下文、具体差异及设计理由、各自结果与本人判断;注明完整会话的位置。
  5. 本人运行与核对: 实际输入、操作和结果,至少包含一项边界或错误情形;说明已知问题和下一步准备处理的内容。
  6. 提交版本与材料位置: 仓库获取方式、本次提交编号、完整 AI 记录及附件的位置。

完整保存本阶段相关开发会话,包括提示、回复、可导出的工具执行结果和失败记录。若导出文件不含 fork 前的共同历史,单独补上这部分,并在报告中说明与两组会话的对应关系。其他之前阶段的记录继续保留,无需在本次提交中重复堆放。提交前检查报告、代码、对话与 Git 历史中的敏感信息。凭据若已泄露,应先撤销或更换,再处理需要共享的材料。

五、评分标准(5 分)

本次沿用阶段检查点评分标准,各类别使用相同分值。

分项 分值 本次评价内容
按期提交与材料完整性 1 按时提交;报告、AI 记录、含版本历史的仓库可访问,提交版本与材料位置清楚
阶段成果 2 项目骨架或基线已开始运行,有可核对的结果;能区分已有工作与本阶段进展,说明当前限制
方法与过程记录 2 使用会话 fork 对比不同提示词或上下文,任务、差异与结果清楚;两组完整对话、Git 改动和运行结果能够对应,有本人的检查与判断

本次重点看项目是否开始实际推进,以及如何运用提示词和上下文改进开发过程。代码量、界面数量、模型价格和提交次数不单独计分。完整功能在后续阶段逐步完成;详细任务分解、里程碑和 AGENTS.md 在第 5 讲学习后随检查点 4 提交。

六、提交前自查

  • 选题用途、当前范围及本人新增工作说明清楚。
  • 当前骨架或基线有实际运行记录,已区分可用功能与占位内容。
  • 本人核对了运行结果,并检查了一项相关的边界或错误情形。
  • 使用会话 fork 完成了一组不同提示词或不同上下文的对比,说明共同起点、两组差异、实际结果与本人判断。
  • 已保留两组完整 AI 会话及分叉前的共同上下文,报告中能定位相应记录。
  • 仓库包含版本历史,本阶段改动已提交;使用链接时已推送且助教可访问。
  • 报告中的提交编号、文件位置与实际材料一致,敏感信息已处理。
  • 已按网络学堂说明完成提交。