大家好,我是云途。今天允许 Harness 第一次写文件,但改动必须很小,而且能够撤销。
我们会先建立基线,再修改一份 README。这样你能清楚看到它改了哪里,而非凭页面印象判断。
先理解今天的原理
可撤销任务包含三个条件:修改前有基线、修改范围足够小、修改后有验证。Git 差异能展示新增、删除和变化位置,是检查 Agent 文件操作的基础工具。
第一次写入任务要避免跨多个文件。一个小修改可以验证权限、路径、编码和差异查看流程,为后面的真实项目建立安全习惯。
为什么今天要做这件事
- 基线能在出错时快速恢复。
- 小范围任务便于理解每一处改动。
- 差异检查可以发现任务外修改和意外生成文件。
开始前检查
这是第 03 天。先完成下面的检查,再开始操作。缺少关键材料时,先补材料,不要让 Agent 猜。
- Harness 可以稳定启动并识别正确目录。
- Git 已安装;无法提交时也要能运行
git status和git diff。 - 练习目录不包含任何生产代码或隐私资料。
一步一步完成
第 1 步:创建最小 README 并初始化 Git
这一步会生成后续课程继续使用的材料。文件名、保存位置和内容边界需要写清楚,让第二天重新打开项目时仍然知道它的用途。
- 创建最小 README 并初始化 Git。
- 打开新材料逐项检查,删除示例占位内容,补上本次真实信息。
- 记录保存路径,并确认关闭页面或重新打开项目后仍能找到。
- 对照今天的目标检查这一项,发现偏差时先处理偏差,再进入第 2 步。
完成这一步后,你应该看到:创建最小 README 并初始化 Git,产物内容完整并且可以重新找到。
第 2 步:保存首次基线,确认工作区干净
这一步负责确认事实。请以当前页面、文件或命令输出为准,同时记下来源、版本和检查时间,避免只凭印象继续操作。
- 保存首次基线,确认工作区干净。
- 把看到的实际信息摘出来;教程与本机不同的地方单独标注。
- 保存链接、截图或命令输出,确保之后可以复查。
- 对照今天的目标检查这一项,发现偏差时先处理偏差,再进入第 3 步。
完成这一步后,你应该看到:保存首次基线,确认工作区干净,相关来源和实际结果已经保存。
第 3 步:要求 Harness 只增加“练习目标”一节
先把这一项单独完成,再继续后面的动作。操作过程要留下可以检查的材料,方便发现偏差时回到当前步骤。
- 要求 Harness 只增加“练习目标”一节。
- 记录输入、实际动作和得到的结果。
- 对照今日目标检查;结果不一致时,先保存证据并处理当前问题。
- 对照今天的目标检查这一项,发现偏差时先处理偏差,再进入第 4 步。
完成这一步后,你应该看到:要求 Harness 只增加“练习目标”一节,过程与结果均有可复查证据。
第 4 步:运行状态与差异检查,逐行阅读修改
这一步负责确认事实。请以当前页面、文件或命令输出为准,同时记下来源、版本和检查时间,避免只凭印象继续操作。
- 运行状态与差异检查,逐行阅读修改。
- 把看到的实际信息摘出来;教程与本机不同的地方单独标注。
- 保存链接、截图或命令输出,确保之后可以复查。
- 对照今天的目标检查这一项,发现偏差时先处理偏差,再进入第 5 步。
完成这一步后,你应该看到:运行状态与差异检查,逐行阅读修改,相关来源和实际结果已经保存。

第 5 步:验证内容正确后保存提交;发现越界时立即恢复
这一步会生成后续课程继续使用的材料。文件名、保存位置和内容边界需要写清楚,让第二天重新打开项目时仍然知道它的用途。
- 验证内容正确后保存提交;发现越界时立即恢复。
- 打开新材料逐项检查,删除示例占位内容,补上本次真实信息。
- 记录保存路径,并确认关闭页面或重新打开项目后仍能找到。
- 对照今天的目标完成最后检查,确认所有证据已经保存。
完成这一步后,你应该看到:验证内容正确后保存提交;发现越界时立即恢复,产物内容完整并且可以重新找到。

mkdir dsh-seven-day
cd dsh-seven-day
printf '# Harness practice\n' > README.md
git init
git add README.md
git commit -m 'initial practice'
# 让 Harness 只修改 README.md 后运行:
git status --short
git diff -- README.md# 第 03 天操作记录
## 今天使用的入口与版本
## 实际完成的步骤
- [ ] 1. 创建最小 README 并初始化 Git。
- [ ] 2. 保存首次基线,确认工作区干净。
- [ ] 3. 要求 Harness 只增加“练习目标”一节。
- [ ] 4. 运行状态与差异检查,逐行阅读修改。
- [ ] 5. 验证内容正确后保存提交;发现越界时立即恢复。
## 保存的证据
- 文件:
- 截图:
- 命令或测试结果:
## 与文章不同的地方
## 下一步这次真实操作得到了什么

- 练习仓库先提交基线 c43208f;只把 add.js 的减法修成加法,失败测试变为 PASS,测试文件没有变化。
本次实际结果:git diff 可以证明修改范围,git restore 可以回到基线。
正确结果长什么样
完成操作后,用结果来判断今天是否学会。页面能打开或命令能运行,只能说明流程启动了;下面这些证据同时出现,今天才算完成。
- 修改前工作区有明确基线。
- Harness 只修改了 README,没有新增无关文件。
- 差异内容与任务要求逐项对应。
- 能够恢复到修改前状态,或保存一条清楚的提交记录。
常见错误与恢复
撤回任务,只保留 README 的一个小节。
运行状态和差异检查,确认没有隐藏改动。
先区分并保存原有变化,再开始 Harness 修改。
留给明天的材料
结束前把今天的关键结果保存到项目目录。下一天会直接使用这些材料,保存清楚可以减少重复说明和错误猜测。
- 带 Git 基线的练习项目。
- 第一次修改的差异和验证记录。
- 明确的恢复方法。
第 03 天完成检查
- 修改前工作区有明确基线。
- Harness 只修改了 README,没有新增无关文件。
- 差异内容与任务要求逐项对应。
- 能够恢复到修改前状态,或保存一条清楚的提交记录。