展开本页目录
开始前准备什么
- 下载到独立练习目录,保留原始输入副本。
- 模型步骤使用自己的已验证配置;离线检查不需要 API Key。
- 先阅读 README 中的运行范围;练习数据均为原创。
- 下载并复现基线
- 在工具中限定上下文
- 提交明确任务书
- 逐文件查看差异
- 运行目标检查
- 核对参考结果与负例
- 保存练习结果
原创输入、可运行脚本、预期对照、截图原始 HTML 与验证记录。
对应本页任务与验证范围。
固定输入、修改范围与验收目标。
用于 diff 对照,非模型运行产物。
执行 before/fixed,并故意破坏临时副本验证失败。
真实 unittest 输出与退出码。
只在解压目录 before 内初始化 Git。
1. 下载并复现基线
把 lesson.zip 解压到独立目录,阅读 before/app.py 和 test_app.py。运行前版测试,保存退出码;本任务目标是:比较分页上界的错误修改与通过版本,识别是否为 Aider 创建的最后提交;回退后验证空集和整页边界。
text
cd before
python3 -m unittest -v2. 在工具中限定上下文
使用 git log 与 git show 阅读最后提交,并确认提交确实由自己的 Aider 会话创建。满足此条件时才在 Aider 输入 /undo。人工参考包没有 Aider 提交记录,不能在该包里把 Git 恢复截图称为 Aider /undo 实测。
3. 提交明确任务书
下载 prompt.txt,核对允许修改的文件后提交给 Aider。参考实现只作为对照,先自己完成任务,不把教材补丁冒充工具生成。
text
先核对最后一条 Aider 提交是否将分页改为 total//size+1;若造成空集与整页错误,使用 /undo 回退该 Aider 提交,再重新运行全部分页测试。4. 逐文件查看差异
对照 reference.patch 检查逻辑与公开接口。若工具改动测试以绕过错误,先恢复测试;只看“完成”提示不能确认行为正确。
text
git diff -- app.py5. 运行本任务的原始检查
回退后重跑分页用例:total=0 为0页,total恰好整除size时不多一页,有余数时向上取整。同时记录最后提交号与 Aider /undo 的真实输出;教材中的参考 Git 历史不能证明目标会话已经回退。
text
python3 -m unittest -v6. 核对参考结果与负例
教材 verify.py 会读取 before/fixed 的真实文件并执行 unittest,然后在临时副本中故意破坏代码,确认测试返回非零。已真实运行 Python 标准库测试、参考补丁与负例拒绝;未执行 Aider 模型会话。
text
python3 verify.py7. 保存练习结果
记录自己的工具版本、实际修改 diff、测试退出码和仍需人工复核的点。init-git.py 只初始化下载包里的 before 目录,不触碰其他仓库;在确认当前练习文件后运行。
text
python3 init-git.py怎样确认已经完成
- 自己的修改通过相同测试,不能修改测试绕过错误。
- diff 只包含任务允许的文件,并保留未要求修改的接口。
- 已真实运行 Python 标准库测试、参考补丁与负例拒绝;未执行 Aider 模型会话。
常见问题
离线测试通过代表 AI 工具已经执行了吗?
不代表。参考补丁是人工编写,测试在本机真实运行;自己的 Aider 模型会话需按操作步骤另行执行。
如何判断工具偷偷扩大修改范围?
查看 git diff --name-only 与逐文件 diff;把测试和只读输入恢复到下载原版,再运行同一检查。

