跳转至

SOP — 探目录口径固化(从 MB 台账提升为可触发项)

  • 主题目录:efficiency-trigger-20261003/
  • 变更日期:2026-10-03
  • 变更对象:三处落点
  • ~/.trae-cn/user_rules/rule-agent-efficiency.md(「执行方式」表「检索与列举」行)
  • ~/.trae-cn/skills/ops-execution-efficiency/SKILL.md(「反例(真实踩过)」表)
  • ~/.trae-cn/skills/ops-execution-efficiency/references/optimization-backlog.md(第二节「已做」)
  • 连带修订:docs/HANDOFF.md(第 2 / 3.2 / 5 节 + 文件头注释)

1. 背景

「探项目一级目录时 LS 根目录被 4 万字符截断、Glob 返回异形路径无果」这一浪费, 2026-10-03 已连续两轮各犯一次:

  • 第一轮(00:52–00:57,交接快照口径落盘):多花 2 步,已记 measured-baselines.md(MB)§十五 要点 1 与 §二十九 样本行;
  • 第二轮(同日,values.yaml 回写现场基线):MB 第 1946 行自记「重复前一轮的浪费」。

即:经验已写进 MB 台账,但 MB 是自查取数时才回顾的事后台账——不进开场注入、 不进 SKILL 反例表、不进总账挂账,动手前读不到。属「有留痕、无触发点」, 与「收尾自查」「过账响应」此前退化同型。

触发条件:用户复核上述两轮答复截图时确认「第一个箭头处记了经验、但没生效」,并要求执行落点提升。

2. 目标

变更完成后应达到的可验证状态:

  1. 三处均出现探目录口径「ls -1d */ 列一级目录,禁 LS 根目录 / 根目录 **/*」;
  2. 其中两处属动手前必读位置(全局规则进每轮 system prompt、SKILL.md 随技能加载);
  3. 下一轮需探目录的任务中不再出现 4 万字符截断式探索浪费(待新会话验证)。

3. 前置条件

  • 已确认:改全局规则须开新会话生效(该文件进每轮 system prompt,改动使上游前缀缓存失效)。
  • 备份目录可用:本主题 backup/;全局规则备份沿用 ~/.trae-cn/user_rules/backup/。
  • 执行前检查:待改三处的目标文本唯一(先 grep -n 定位,不用宽窗口整读)。

4. 影响范围

  • 涉及主机与组件:本机(~/.trae-cn/ 下两个技能文件与一个规则文件),无远端。
  • 是否需停服:否。
  • 在跑作业:无;不触碰 k8s / Slurm / LSF。
  • 窗口期:无限制,随时可做。
  • 代价提示:全局规则改动使上游前缀缓存失效——旧会话内继续约 0.35 元/次, 改完立即开新会话只付 ≈ ¥0.03。

5. 分步操作

步骤 1:备份三个文件

先备份再改(未备份不得执行)。本主题两个技能文件备份进本主题 backup/; 全局规则按既有约定备份进 ~/.trae-cn/user_rules/backup/,两处台账同时登记。

cd /home/rain/Documents/services/token_proxy
D=efficiency-trigger-20261003 && mkdir -p "$D/backup" && ts=$(date +%Y%m%d-%H%M%S)
cp -p /home/rain/.trae-cn/skills/ops-execution-efficiency/SKILL.md "$D/backup/SKILL.md.bak.$ts"
cp -p /home/rain/.trae-cn/skills/ops-execution-efficiency/references/optimization-backlog.md "$D/backup/optimization-backlog.md.bak.$ts"
cp -p /home/rain/.trae-cn/user_rules/rule-agent-efficiency.md "/home/rain/.trae-cn/user_rules/backup/rule-agent-efficiency.md.bak.$ts"
chmod 600 "$D/backup/SKILL.md.bak.$ts" "$D/backup/optimization-backlog.md.bak.$ts" \
          "/home/rain/.trae-cn/user_rules/backup/rule-agent-efficiency.md.bak.$ts"
ls -l "$D/backup/" "/home/rain/.trae-cn/user_rules/backup/rule-agent-efficiency.md.bak.$ts"

预期:三个备份文件存在、权限 -rw-------。本次实际时间戳 20261003-011010。 失败判断:cp 非 0 → 停止,不继续编辑。

步骤 2:改全局规则「检索与列举」行(最强触发位置)

grep -n 定位该行(唯一):

grep -n "检索与列举" ~/.trae-cn/user_rules/rule-agent-efficiency.md

改动前后(行内追加分句,其余不动):

-| 检索与列举 | 限定目录并排除 `.venv`、`__pycache__`、依赖目录;不在项目根用 `**/*` 通配;结果设上限 |
+| 检索与列举 | 限定目录并排除 `.venv`、`__pycache__`、依赖目录;不在项目根用 `**/*` 通配;结果设上限;**探项目一级目录用 `ls -1d */`**,勿 `LS` 根目录(4 万字符截断,2026-10-03 连犯两次) |

坑:本行位于进每轮 system prompt 的全局规则内,改完全文 14951 → 15064 B; 改动使前缀缓存失效,须开新会话继续(不要在本会话里接着跑长任务)。

步骤 3:改 SKILL.md 反例表

在「反例(真实踩过)」表中,工程目录通配未排除 .venv/ 一行之后插入新行:

grep -n "工程目录通配未排除" ~/.trae-cn/skills/ops-execution-efficiency/SKILL.md
 | **工程目录通配未排除 `.venv/`、`__pycache__/`** | 一次 `**/*lex*` 命中 200 条依赖包文件(pycparser / pip 等),污染上下文并触发结果上限截断 |
+| **探项目一级目录用 `LS` 根目录或根目录 `**/*` 通配** | 首个 `LS` 根目录被 4 万字符截断、`Glob` 返回异形路径无果,白花 2 步;**2026-10-03 连续两轮各犯一次**(先写进 MB 台账仍无效,故本条同步进全局规则「检索与列举」行)。口径:`ls -1d */` 列一级目录 |
 | **同一文件分 2~3 段读** | ... |

坑:只改表内一行,禁止整篇重写(本文件 20 KB 级,整篇 Write 的代价远高于增量替换)。

步骤 4:改总账,把该口径写成可比条目

在 optimization-backlog.md 第二节「已做」表尾(#25 之后、过账行之前)追加 #26:

grep -n "探项目一级目录口径" ~/.trae-cn/skills/ops-execution-efficiency/references/optimization-backlog.md

条目文本:#26 探项目一级目录口径(原为「已记入 MB 台账但未生效」)→ ls -1d */ 列一级目录, 禁 LS 根目录 / 根目录 **/*;同步进 SKILL.md 反例表 + 全局规则「检索与列举」行; 出处写 MB §十五 要点 1 与 §二十九 两行自记重复踩坑;效果栏注明「全局规则改动待开新会话生效」。

步骤 5:登记台账

本主题 backup/README.md 登记三行;~/.trae-cn/user_rules/backup/README.md 末行登记全局规则一行 (两处已互指,避免"备份在 A、台账在 B"的失联)。

步骤 6:连带修订 docs/HANDOFF.md

定点修订:文件头注释(第 7 轮)、第 2 节「本轮」、3.2 待观察增一条、第 5 节备份台账增本主题目录。 顺序:先改实质文件(步骤 2~5),最后动 HANDOFF,使其反映终态。

6. 验证

grep -c "ls -1d \*/" ~/.trae-cn/user_rules/rule-agent-efficiency.md          # 预期 1
grep -c "ls -1d \*/" ~/.trae-cn/skills/ops-execution-efficiency/SKILL.md    # 预期 1
grep -c "探项目一级目录口径" \
  ~/.trae-cn/skills/ops-execution-efficiency/references/optimization-backlog.md   # 预期 1
wc -c ~/.trae-cn/user_rules/rule-agent-efficiency.md docs/HANDOFF.md

本次实测:三处 grep -c 均 1;规则 15064 B;HANDOFF 7878 → 修订后仍落在 7~10 KB 滞回区(无需整体重写)。

最终验收须开新会话:下一轮需要探目录的任务中,检查是否直接 ls -1d */、 而不是先 LS 根目录导致 4 万字符截断。

7. 回滚

  • 备份位置:
  • efficiency-trigger-20261003/backup/SKILL.md.bak.20261003-011010
  • efficiency-trigger-20261003/backup/optimization-backlog.md.bak.20261003-011010
  • ~/.trae-cn/user_rules/backup/rule-agent-efficiency.md.bak.20261003-011010
  • 台账:本主题 backup/README.md 与 ~/.trae-cn/user_rules/backup/README.md
  • 回滚步骤:
cp -p /home/rain/Documents/services/token_proxy/efficiency-trigger-20261003/backup/SKILL.md.bak.20261003-011010 \
      /home/rain/.trae-cn/skills/ops-execution-efficiency/SKILL.md
cp -p /home/rain/Documents/services/token_proxy/efficiency-trigger-20261003/backup/optimization-backlog.md.bak.20261003-011010 \
      /home/rain/.trae-cn/skills/ops-execution-efficiency/references/optimization-backlog.md
cp -p /home/rain/.trae-cn/user_rules/backup/rule-agent-efficiency.md.bak.20261003-011010 \
      /home/rain/.trae-cn/user_rules/rule-agent-efficiency.md
  • 回滚后验证:grep -c "ls -1d \*/" 三处均应为 0;随后开新会话生效。
  • 若仅回滚全局规则(保留 skill 与总账两处):单执行第三条 cp 即可。

8. 风险说明

风险 缓解
矫枉过正:把 ls -1d */ 当成万能探目录手段 该口径只针对「列项目一级目录」;深度检索仍应用 Glob/Grep 并限定目录、排除 .venv(反例表同页已有该条)
口径写进规则但下轮仍不执行 三处落点分工:全局规则管「每轮必读」、反例表管「加载技能时必读」、总账管「过账/复盘可追溯」;生效与否由新会话验收(第 6 章末)
改全局规则后旧会话在失效前缀上反复计费 改完立即开新会话(本主题变更为文本口径,无其他后置动作)
三处表述日后漂移 口径正文以全局规则为单一源,另两处均写明「口径:ls -1d */」并指向该行

附录:交付物清单

交付物 位置
全局规则变更本体 ~/.trae-cn/user_rules/rule-agent-efficiency.md
技能反例表变更 ~/.trae-cn/skills/ops-execution-efficiency/SKILL.md
总账条目 #26 ~/.trae-cn/skills/ops-execution-efficiency/references/optimization-backlog.md
备份 + 台账 本主题 backup/;全局规则备份与台账在 ~/.trae-cn/user_rules/backup/
实测样本 ~/.trae-cn/skills/ops-execution-efficiency/references/measured-baselines.md §二十五 / §二十七 / §二十九

不出 RUNBOOK 的理由:本次变更只改三处文本口径,不产生可复用的服务 / 工具链 / 脚本 (ls -1d */ 是内建命令用法,非交付物),属「无交付物留存的一次性动作」。


来源:/home/rain/Documents/services/token_proxy/efficiency-trigger-20261003/SOP.md | 最后更新:2026-10-03 01:11(由 build/sync.py 同步,请勿在站点侧修改)