← 返回全部文章

小白学 AI Agent 第 4 期:让 Pi 记住项目规则和上次进度

为什么同一个 Pi 在不同文件夹里表现不同?这一期认识工作目录、AGENTS.md、会话和上下文。

上一期,我们让 Pi 读文件、写文件和运行命令。接下来要解决一个更实际的问题:为什么 Pi 在不同文件夹里会表现不同?为什么关掉终端后,有时还能继续上次的工作?

答案和四个词有关:工作目录、AGENTS.md、会话、上下文。

一、工作目录决定 Pi 先看哪里

在 Git Bash 中运行 pwd,可以看到当前目录。启动 pi 后,这个目录就是它默认工作的地方。

你可以把工作目录理解成一张工作台。 Pi 读取文件、创建文件和运行相对路径命令,通常都从这里开始。

先建两个测试目录:

mkdir -p ~/pi-context-a ~/pi-context-b
cd ~/pi-context-a
pi

在第一个目录里输入:

只告诉我当前工作目录,不要读取或修改任何文件。

退出后再进入第二个目录启动 Pi 。你会发现工作目录已经变了。 Agent 不是在一个神秘的全局空间里工作,而是跟着你启动它的位置走。

二、AGENTS.md 是项目说明书

Pi 会从当前目录和父级目录查找 AGENTS.mdCLAUDE.md,把其中的内容作为项目上下文。

在练习目录中创建一个文件:


# AGENTS.md

- 先读取文件,再提出修改建议。
- 没有确认时,不要写入或删除文件。
- 所有测试文件放在 notes 目录。

然后重新启动 Pi,输入:

请告诉我当前项目有哪些工作规则,不要修改文件。

它应该能读到这些规则。这里的重点不是文件名本身,而是它会影响当前项目里的工作方式。

不要把 API Key 、密码或私人信息写进 AGENTS.md。这个文件可能会进入代码仓库,也可能被模型读到。

三、项目规则和模型能力不是一回事

AGENTS.md 只能告诉 Pi 应该怎样工作,不能把模型变成更聪明的模型,也不能替你建立系统级权限隔离。

例如你写了“不要删除文件”,这是一个工作约定。真正遇到删除命令时,你仍然要检查并拒绝危险操作。

项目目录里的 .pi/settings.json 还可以影响设置、工具和扩展。遇到陌生项目的信任提示,不要习惯性按确认。

四、会话让任务可以继续

Pi 会自动保存交互会话。常用命令有:

pi -c
pi -r

pi -c 继续最近的会话,pi -r 浏览并选择以前的会话。

在交互界面中,/session 可以查看当前会话文件、 ID 、消息、 Token 和费用。/resume 可以选择以前的会话,/new 则开始一个新会话。

会话保存的是对话和工具过程,不等于文件自动回滚。 Pi 可能记得你上次说了什么,但磁盘上的文件仍然需要你自己检查。

五、上下文会逐渐变长

上下文就是模型当前能看到的材料,包括对话、文件内容、工具返回结果和项目规则。

会话越长,上下文使用量越高。底部状态栏会显示相关信息。上下文接近上限时,Pi 可以压缩较早的内容,但压缩后细节可能减少。

当任务已经换了主题,可以使用 /new 开始新会话。不要把一个会话当成永久记忆。

六、给小白的实际习惯

每次启动 Pi,先做四个确认:

  1. pwd 看当前目录。
  2. 看有没有 AGENTS.md
  3. 看状态栏里的模型和上下文使用量。
  4. 重要任务开始前,用 /session 确认会话位置。

这样做看似慢,实际能避免很多“Pi 怎么跑到别的文件夹去了”的问题。

这一期的核心是:工作目录决定范围,AGENTS.md 提供规则,会话保存过程,上下文承载当前任务。下一期我们把重复要求整理成 Skill 和提示模板,让 Pi 更容易按固定方式工作。