附录 B 一次能亲手核对的完整练习
本练习面向已经按第四章准备好 Pi 和模型访问方式的读者。目标是观察“输入—工具—结果—会话”的关系,不要求先写代码。你可以只读过程,也可以在自己新建的练习目录中实际操作。真实模型请求可能产生费用;下面的预期现象是观察目标,不是本书已经替你执行的日志。
B.1 准备两份短文本
用文件管理器创建一个空目录,例如 pi-learning-demo。在文本编辑器中建立 notes.txt,保存以下三行文字:
项目名称:天气笔记
当前目标:记录每天观察到的天气
下一步:给记录补充日期
再建立 questions.txt:
1. 这个小项目解决什么问题?
2. 现在缺少哪项记录信息?
只需要普通文本文件,不需要 Word 文档或额外程序。终端进入这个目录后运行 pi。如果不熟悉命令路径,可以在终端输入 cd,再把目录拖进窗口;这一步的具体支持取决于你的终端。不要把本书中的例子直接放进重要生产项目练手。
B.2 先做一次只读理解
在 Pi 输入框中提交:
请读取 notes.txt 和 questions.txt,按问题顺序回答,并引用 notes.txt 中支持结论的短句。这一步只阅读,不修改文件。
观察它是否实际读取了两个文件。对于没有预先提供文件内容的新会话,应有读取或其他可检查的内容获取过程;若模型只凭文件名猜测,要求它先核对原文。回答应能对应“记录每天观察到的天气”和“补充日期”,而不是凭空增加同步天气服务等需求。
接着用文本编辑器打开两份文件,确认它们没有变化。这里的验收包含两件事:内容理解有依据,任务范围也得到遵守。你无需检查复杂代码,已经可以练习依据、操作和结果的区分。
B.3 再做一次小修改
提交第二个任务:
请只修改 notes.txt,把“下一步:给记录补充日期”改成“下一步:为每条记录补充日期与地点”。保留其他两行,不运行额外程序。完成后说明实际改动。
观察工具记录,然后自己打开 notes.txt。只改变第三行才符合目标。如果模型声称修改完成,文件却没有变化,应以文件为准继续排查。如果第三行确实改变,但前两行也被重写成了别的内容,任务仍没有完全满足。
这一步展示了一个小而完整的验收方式:先固定原文,再给出精确目标,最后直接比较结果。随着任务变大,比较方式会变成 Git 差异、类型检查和针对性测试;验证的原则没有改变。
B.4 保存会话,再验证恢复边界
在 Pi 中用 /name 为当前会话设置一个你认识的名称。使用 /session 查看当前会话信息,然后正常退出。退出方式和快捷键可通过 /hotkeys 核对。
回到同一个练习目录,在系统终端运行:
pi --continue
检查刚才的问题和回答是否仍在。然后在交互界面使用 /tree,观察历史条目和可能的分支位置。即使移动到修改之前的消息,仍要自己打开 notes.txt:它应保持已经写入的第三行。会话导航改变的是当前对话位置,不会自动恢复文本文件。
最后写下三句话:“我看见了什么工具操作”“我如何确认了文件状态”“会话恢复了什么、没有恢复什么”。这份记录就是本练习的交付物。能把这三点说清楚,你已经抓住了 Pi 工程最重要的一条主线。
练习自查
- 我知道当前工作目录在哪里,并能找到两份文本文件。
- 我能区分 Pi 的斜杠命令与系统终端命令。
- 我检查过工具结果,也检查过真实文件。
- 我能解释恢复对话与恢复文件的区别。
- 我没有把示意输出当成已经发生的执行结果。
不需要一次全对。哪一点无法确认,就回到对应章节重新走一个小步骤。学习工程的进展,常常来自把一个模糊印象变成一条能被自己检查的事实。