omp packages

pi-whereami0.2.0

Short, periodic agent position checkpoints in Pi session history.

njw6622 Published 12 days ago MIT ~339 downloads/mo

Untested on omp

This is a pi package. No one has reported whether it works on omp yet. If you try it, add your result below.

Did it work for you?

Result

One report per person. A new report replaces your old one.

Reports 0

No reports yet.

Readme

pi-whereami

English | 简体中文

LLM:你就说钓没钓到吧,别管我去过撒哈拉沙漠。

一些模型跑分不错,任务可以完成,但是路径奇特,类似深度优先搜索,绕路绕到姥姥家里去了。

它们通常没有忘记目标,只是会沿着文件、调用链和局部证据越钻越深。每一步单独看都说得过去,连起来就开始离谱,尤其是在分析类任务中。

pi-whereami 会在 Agent 连续做出一定数量的决策后,强制它重新审视当前路径:是不是还值得继续,还是应该换条路,防止一路钻进牛角尖。

重新审视后,Agent 会留下一条很短的 checkpoint,再继续原任务:

Level: module
Scope: rendering pipeline
State: invalidation remains the likely issue
Next: inspect the dirty propagation boundary

Checkpoint 会保存在会话历史中。Checkpoint 工具本身不受周期触发窗口限制:只要调用参数合法,就会立即记录并更新 HUD;主动记录 checkpoint 也不会重置或推进 re-orientation 的计数。

四个字段都必须是非空的单行字符串。应尽量简短,但不会因为稍长而拒绝记录:历史保留完整文本,HUD 每个字段最多显示 160 个 Unicode 字符,截断时包含省略号。参数无效时,工具错误会说明具体字段和原因;插件不会强制重试。

除此之外,插件还提供一个 HUD 面板,让用户也能看到 Agent 当前记录的位置和运行状态:

WhereAmI · Decisions: 13/20 · Checkpoint at decision 12

13/20 表示模型决策次数,不是工具调用数,也不是任务完成度;Checkpoint at decision 12 表示最新 checkpoint 记录在第 12 次决策之后。

默认检查间隔逐渐缩短:

20 → 15 → 10 → 10 → ...

每条新的用户消息都会重新计数。

Configuration

如需修改检查节奏,创建:

~/.pi/agent/whereami/config.json

例如:

{
  "intervals": [30, 20, 10]
}

intervals 必须包含 1 到 8 个正整数。最后一个值会无限重复,因此 [30, 20, 10] 表示 30 → 20 → 10 → 10 → ...。配置不存在或无效时,整份配置回退到默认值 [20, 15, 10]。修改后执行 /reload 生效。

它不监督 Agent,也不判断 Agent 对不对。它做的只是定期打断连续决策,让 Agent 回头看一眼:

这条路还值得继续钻吗?

Install

需要 Pi 0.87.1+。

pi install npm:pi-whereami

安装后直接正常使用 Pi,无需额外命令。

Custom re-orientation

每次周期检查触发时,pi-whereami 会先给当前 Agent 一段 re-orientation 提示,让它重新审视自己正在走的路径,然后要求它留下一条 checkpoint。

默认提示主要检查这些问题:

  • 当前正在什么层级、什么范围内工作;
  • 最近的工作有没有真正减少主要不确定性;
  • 当前路径是不是仍然最有信息价值;
  • 是否只是因为惯性、局部关联或旧假设而继续往下钻;
  • 有没有更直接的层级、假设或证据来源。

如果你希望 Agent 用不同的方式“回头看路”,可以创建:

~/.pi/agent/whereami/reorient.md

这个文件会完全替换默认的 re-orientation 提示。

例如,你可以让它更关注竞争假设:

继续之前,检查最近的工作有没有缩小主要疑问。
如果没有,考虑一个竞争解释,或者换一种证据来源。
如果当前路径仍然有效,就继续,不要为了换路而换路。

也可以针对自己的工作流,要求它更关注抽象层级、证据质量、实现边界或其他容易钻牛角尖的地方。

自定义提示只负责定义“重新审视什么”。Checkpoint 的 Level / Scope / State / Next 格式仍由插件负责,不需要在文件里重复规定。

修改后执行:

/reload

文件不存在、为空或无法读取时,会继续使用默认提示。

License

MIT