跳转到内容
pstack 中文学习站

0.15.8:设计要扛得住只看一个文件的代理

更新于 2026-10-04

这一版改的是 /architect 怎么筛设计。综合之前,它假定下一个贡献者是代理,只看见自己打开的文件。

这次提交是 lauren 在 2026-10-04 07:19(北京时间)写下的 a586282。提交说明原文是 feat(pstack): make /architect designs resist agent mistakes (#495)。上一版是 9511e60(0.15.7)。提交说明把目的写在这句里,没有另写一段原因。

综合之前先按代理会怎么改来筛

Section titled “综合之前先按代理会怎么改来筛”

/architect 阶段 B 仍用 design-red-flags.md 筛每个候选。删掉的是原先点名的四类红旗那一句。换上的是一条假定,外加一条取舍。

原文照录:

Assume the next contributor is an agent that sees only the files it opened, copies the nearest example, and takes the shortest path that compiles. Prefer the design where a change that looks right from one file is right for the whole repo.

假定下一个贡献者是代理,它只看见自己打开的文件,抄最近的例子,走能编译通过的最短路径。优先选这样的设计:从单个文件看起来对的改动,对整个仓库也是对的。

对正在用 /architect 的人,浅模块、信息泄漏、按时间顺序拆分、透传方法仍在红旗页里。筛选时多了一层。设计要让只打开一个文件的人抄到的例子,对整个仓库也成立。

设计红旗 新增四节。每一节都是代理只看见局部时会把设计带歪的形状。

状态有多个写入方。 不止一个模块写入同一份状态,或各自留一份副本。改其中一个写入方的代理看不到其他写入方,规则就会分叉。每一份状态只留一个所有者。

原文照录:

An agent that edits one writer can’t see the others, so their rules diverge.

改其中一个写入方的代理看不到其他写入方,规则就会分叉。

同一件事有两种做法。 代理先碰到哪一种就抄哪一种,于是每种做法都不断多出调用方。只留一种。同一次改动里把调用方迁走,并删掉其余做法。

原文照录:

An agent copies whichever way it finds first, so every way keeps gaining callers.

代理先碰到哪一种就抄哪一种,于是每种做法都不断多出调用方。

内部可以被外部导入。 代理会走能编译通过的最短路径,直接导入内部,内部就变成接口的一部分。让模块外部到不了内部,这样从外部导入会让构建失败。

原文照录:

An agent takes the shortest path that compiles, so it imports them directly and they become part of the interface.

代理会走能编译通过的最短路径,于是直接导入内部,内部就变成了接口的一部分。

靠人手保持同步的清单。 两个或更多地方列出同样的条目。代理只看见其中一份,就只更新那一份。只留一份清单,其余从它推导。推导不了的,清单不一致时让构建失败。

原文照录:

An agent that sees one list updates only that one.

代理只看见其中一份,就只更新那一份。

以后跑 /architect,综合之前用这四条连同原有的红旗一起筛。候选过不了,就改或拒,不要留到实现时再补。

这次改动的说明见 a586282。

这次提交把 .cursor-plugin/plugin.json 里的版本从 0.15.7 写成 0.15.8。改动的文件里没有另写升级命令。