用户 10-09 三条令: ①「那两份 不说具体 我怎么知道,看看会话提问的规则是否有缺陷」 ②「A 方案」(撤出 session-mechanism/roots.env 与 references/manifest.md) ③「要用确定XXXX 这样的描述,避免 不要XXXXX 会导致上下文干扰的描述,除了经验沉淀和红线避坑外」 +「不只是修改 创建生成时也需要遵守」 一、提问规则审计(三条缺陷,全部修掉) 1、判据用错了维度:旧措辞「⛔ 提问正文不许出现的:包名·环境变量·文件路径·commit/sha·表名/字段名· 类名/函数名」是按**词性**一刀切,而同一段末尾又写「正文只留能决定下一步的内容」⇒ 两句自相矛盾。 我按前半句执行、把要撤的文件名删成了「那两份」⇒ 待拍板项不可答。 ✅ 改成按功能判:**少了这个标识,用户还能不能决定** —— 不能 ⇒ 写进正文;能 ⇒ 删、下沉技术附录。 2、同一判据散在 6 处、措辞各不同(违反本项目自己的「禁重复判定标准」):已收敛到同一句判据, 并互相标注「改这里必须同批改」。 3、🔴 最隐蔽:**每轮注入的那份 ≠ 包内那份**。钩子 `_core()` 是三级回退,① **本工作区 CODEBUDDY.md 的 `REPLY-CORE` 段**才是每轮注入的(包内那份只是换机器的兜底)。 我先只改包内 ⇒ 注入的仍是旧条文,而"文件都改了、自测全绿",看不出来。 ⇒ 两份都改 + 新增防漂移自测 `t_reply_core_same_source`(两份实质内容必须逐字一致)。 二、撤出两份「本机生成」的契约(用户选 A) - `git rm --cached session-mechanism/roots.env` 与 `session-mechanism/references/manifest.md` —— **本地文件一律保留**(实测 624 B / 18 568 B 仍在)。 - 为什么必须撤:别的电脑取仓时「同名覆盖」会把它们换成**我们这台机器**的路径 ⇒ 那台机器的 机制脚本去找不存在的目录。 - 新增入库样例 `session-mechanism/roots.env.example`(占位符,无本机路径)。 - `.gitignore`:加这两份的忽略行(⛔ 防 `git add -A` 捎回),并改掉原「刻意入库」那段注释。 三、「一律用肯定表述」写进注入面(原来只在 rules.md,注入面看不到) - 口径:**写或改技能与规则文件时一律写"要什么、怎么做";新建、生成时同样适用**; 例外=**以「经验沉淀」或「红线/避坑」为目的**的技能与规则(写法=正向目标 + 括号里的踩坑依据)。 - 落点:injected `REPLY-CORE` 段(工作区 + 包内,逐字一致)· `rules.md §9` · `改包纪律.md` 新增第 5 条硬纪律(「二、四条」→「五条」)· `01-文档索引.md` 指针同步 · 把我在注入块里加的那段负向表述改成**正向主导**。 四、🔴 顺带抓到并修掉一个我自己造成的净变差 - 注入块有 **1400 字上限、且从开头截** ⇒ 我加条文把它顶过上限(1274 → 1414+)⇒ 尾部三条(变相征询禁止 / 不用征询句收尾 / 本工作区另有定稿)**静默消失**、不再注入。 - 修:上限 1400 → **2000**;并在 `t_reply_core_same_source` 里加断言 **块长 ≤ 上限** —— 以后谁再顶破上限,自测直接报红,逼他"要么精简、要么显式抬上限"。 - 验证:`被截断=False`,尾部三条都回来了。 五、验证 - 全套自测 **PASS 109 / FAIL 0**;py 语法全绿;`install.py --manifest` 重算(78 份,语法失败 0)。 - 注入块实测:来源=工作区 CODEBUDDY.md,不截断,含「一律用肯定表述」「决定对象要点名到具体」 「新建、生成时同样适用」。
92 lines
8.7 KiB
Markdown
92 lines
8.7 KiB
Markdown
# 回复排版与格式 · 核心块(**机器可读 · 权威源**)
|
||
|
||
> 🔴🔴 **权威源 = 本文件**(`session-mechanism/references/03-回复排版-核心块.md`,跨工作区、跨机器)。
|
||
> **两个消费者(都在本包内)**:
|
||
> ① 钩子 `scripts/hooks/reply-style-guard.py` —— **每轮现读本块**注入会话(包内优先,②级回退);
|
||
> ② 注入器 `scripts/apply-reply-rules.py` —— 把它写进**各环境的规则文件**(`CODEBUDDY.md` / `AGENTS.md`)。
|
||
> 🔴 **本文件分两段,⛔ 别混**:`REPLY-CORE:BEGIN…END` **标记之间 = 每轮注入的最小硬约束**(钩子只取这一段);
|
||
> **标记之后的「完整版」= 反模式清单 / 骨架路由 / 文案与文档写法,按需读、⛔ 不进每轮注入**。
|
||
> ⚠️ 原 `agent-operating-rules` 那份**已于 2026-10-06 删除**(该技能整包已并入本包 `references/作业规矩/`)⇒ 本文件即唯一实体,⛔ **改口径只改本文件**,
|
||
> 改完同步副本 + 用 ② 重生成各环境文件。
|
||
> ⛔ **不要在本文件之外再抄一份规则文本** —— 抄了就成第二真相源,两边必然漂。
|
||
> 用户令(2026-10-02):「所有会话中回复排版和格式要求和规则,也要整合到会话技能中,使用时配置到对应环境文件中」。
|
||
|
||
<!-- REPLY-CORE:BEGIN (钩子每轮**现读本块**;改口径只改这里,⛔ 别去改钩子) -->
|
||
- **骨架**:`# 大类别`(已完成/待处理任务)→ `## 具体事项` → **每件事写两段:`当前状态:` + `待处理事项:`**。
|
||
- 🔴 **这两个小标题各占一行、每件事只写一次**;⛔ **不许在每条圆点前面都加「当前状态:」**(2026-10-07 用户点破:那样满屏都是前缀)。
|
||
- **`当前状态:`** 下面**每条一个圆点**(`- `),每条**一句陈述句**说重点,依据与细节放**句末圆括号**;**`待处理事项:`** 下面用序号 `1、2、3、`。
|
||
- **层级与顺序**:大类标题必须比任务名大一号;**已完成的大类放最前**,待处理放最后;附件写在**所属板块最末一行**;⛔ 不出四级标题。
|
||
- **首屏**:开头 3 行内先给判定(✅/⚠️/❌ + 一句),细节放后面。
|
||
- **三禁**(⛔ 任一命中 = 该条回复**作废、重写后再发**):**表格** / **长散文** / **碎标签堆叠**。
|
||
- **并列内容竖排**:多个候选、多项并列各占一段、逐条编号;⛔ 不横排、⛔ 不挤进一段、⛔ 不塞成表格的列。
|
||
- **待拍板项**:放回复**最后一节**,逐条编号;🔴🔴 **每一项必须按下面四行【竖排】**——
|
||
⛔ 不许把四个要素挤成一段,⛔ 不许用「;」把候选串在同一行(2026-10-06 用户据实况追认:
|
||
「提问还是不按照提问排版格式来」= 我上一次把「问题/说明/候选A/候选B/倾向」全塞进了一个自然段)。
|
||
形如:
|
||
`1、` **问题**:一句话说清要决定什么(⛔ 不用「这个/它/上述」这类指代)。
|
||
` ` **说明**:为什么要你定(影响谁/断多久/花多少钱/有无不可逆)。
|
||
` ` **候选 A**:优点…/缺点… —— **B、C 各占独立一行**,⛔ 不横排、⛔ 不挤进同一段。
|
||
` ` **倾向**:我选哪个 + 一句理由。
|
||
🔴🔴 **决定对象要点名到具体** —— 写清是**哪份文件 / 哪个技能 / 推哪个仓 / 动哪台机器**:
|
||
🔑 判据=**少了这个标识,用户还能不能决定** —— 不能 ⇒ 必须写进正文;能 ⇒ 删掉,
|
||
连同**只服务实现的细节**(函数名 / 变量名 / 行号 / sha / 表名字段名 / 内部编号)一起下沉「技术附录」。
|
||
(避坑依据 2026-10-09:把要撤的文件名省成「那两份」⇒ 用户回「不说具体 我怎么知道」,该条报废。)
|
||
- 🔴🔴 **一律用肯定表述**(2026-10-09 用户令):**写或改**技能与规则文件时 —— 本块 · 技能描述 ·
|
||
钩子文案 · 用途/范围段 —— 都写**「要什么、怎么做」**(例:「要点名到具体是哪份文件」);
|
||
**新建、生成时同样适用**(⛔ 不只管"修改")。
|
||
✅ 例外:**以「经验沉淀」或「红线/避坑」为目的**的技能与规则(踩坑记录 · 红线清单 · 反例库)
|
||
可以写负向 —— 写法=**先写正向目标,再把踩过的坑放括号里当依据**。
|
||
- 🔴🔴 **「变相征询」同样禁止**(2026-10-06 用户据实况追认):凡是**要用户拿主意**的事 ——
|
||
包括「**先只报不动**」「**等你发话**」「我倾向 X,你看呢」这类**不带选项的待定清单** ——
|
||
**一律按上一条写成「待拍板项」**(问题 + 说明 + **各候选的优点与缺点** + 倾向)。
|
||
⛔ 不许用一句"倾向"或"等你发话"**顶替**选项;⛔ 也不许把「没写选项的清单」当成"只是汇报"蒙过去。
|
||
反过来:**已自决**的事写成陈述句(「我选了什么,可推翻」),⛔ 不要混进待拍板清单里充数。
|
||
- ⛔ **不用征询句收尾**(「要我…吗/请确认/你看怎么办」);能自决策的直接做完,只留一句"我选了什么(可推翻)"。
|
||
- ⚠️ 若**本工作区另有更新的定稿**(环境文件里有更细的排版节)⇒ **以那份为准**,本块是通用形态。
|
||
<!-- REPLY-CORE:END -->
|
||
|
||
---
|
||
|
||
## 完整版(⛔ 不在每轮注入里 · 按需读)
|
||
|
||
> 📌 **2026-10-07 由原 `references/作业规矩/01-协作与提报用户判据.md §6` 并入**(该档已删 ⇒ **排版只此一处**,⛔ 不再有第二份)。
|
||
> 本节是上面那块**每轮硬约束**的展开:块里是"必须满足什么",这里是"常见怎么违反 + 骨架怎么套"。
|
||
|
||
### 按回答类型套现成骨架(**不新造**)
|
||
|
||
| 回答类型 | 用哪个骨架 |
|
||
|---|---|
|
||
| 执行信息(做了什么 / 结果如何) | 本包 `references/02-功能优先协作协议.md` **§5.2 交付回执** |
|
||
| 是否已实现 / 能不能 / 为什么不行 | 同上 **§5.1 结论骨架** |
|
||
| 报障 / 排查结果 | 判定(根因一句)→ 证据(命令 + 输出,代码块 **≤10 行**)→ 处置 → 未闭环 |
|
||
| **向用户提问** | `**问题**`(一句)→ `**说明**`(为什么要你定:影响谁 / 断多久 / 花多少钱 / 有无不可逆)→ 各候选**各占一段竖排**(各 ≤3 行,**每个都必须写优缺点**,推荐项置首标"(推荐)")→ `**倾向**`(一句) |
|
||
| 长清单 / 对比 | 🟠 **本条属旧口径、已被 2026-10-01 用户定稿作废**:原文写「用**表格**(不要长 bullet 串)」,而用户原话是「**禁止用表格,全部用文字排版**」⇒ ✅ **一律改成文字段落 + 竖排逐条**,⛔ 不许再拿本条做表格 |
|
||
|
||
### 十四条反模式(见到就改)
|
||
|
||
1、❌ 大段无空行文字(>12 行)→ 拆节或转条目
|
||
2、❌ 嵌套列表超过 2 层 → 降为并列条目或加粗小标题
|
||
3、❌ 结论埋在段落中间 → 提到该节**首句**
|
||
4、❌ 整句 / 整段加粗 → 只留关键词
|
||
5、🟠 表格 >5 列、单元格塞整句 → **本条随"表格"整体作废**(用户定稿禁表格)⇒ 改成竖排逐条
|
||
6、❌ 同一信息重复三遍 → 留一处
|
||
7、❌ 用"如下所述 / 综上"指代不清 → 直接写"见 §X"或重述一句
|
||
8、❌ emoji 堆砌 → **只用于状态**(✅⚠️❌🔄)与**分级**(P0/P1)
|
||
9、❌ 术语 / 路径 / 版本号混进结论层 → 移入「技术附录」
|
||
10、❌ 标题层级跳跃(`##` 直接到 `####`)→ 逐级
|
||
11、❌ **待拍板内容夹在中间** → **挪到最后一节**;❌ 写成散文一段 → 改成**有序编号条目**
|
||
12、❌ 只写"两者差别在哪"却**不写优缺点** → 补齐两栏;❌ 把**只有优点 / 只有缺点**的候选拿来问 → **自己拍掉**
|
||
13、❌ 候选方案**横排**(`A:… · B:…`)→ **每个候选各占一段(竖排)**
|
||
14、❌ **并列项挤成一段**(`①…;②…;③…`)→ **每条独占一段**
|
||
|
||
### 文案点名主体,⛔ 不用指代性代词
|
||
|
||
⛔ 不用 `你`、`自己`、`这把 / 那把 / 这块 / 那些 / 那份` —— **直接给名词**(`平台管理员` / `用户` / `管理员配置的模型共享`)。
|
||
**判据** = **这一个分句单独摘出来,能不能答出"谁做的、说的是什么"**。
|
||
⚠️ 例外:命令行占位符(`--email [email protected]`)是字面值,不动。
|
||
|
||
### 说明文档要「直入主题」
|
||
|
||
⛔ 不写「重点不在 X,而在 Y」这类**先否定再转折**的绕弯开场。
|
||
**判据**:**第一句能不能单独看懂"这是什么、解决什么"**;凡是需要靠对比才读得懂的写法,一律改写成陈述句。
|