Back to skills
SKILL.md
06 Positioning
ASecurity> **把本文件整份交给你的 agent 即可。** 不依赖任何特定 agent 产品,不需要注册斜杠命令、不需要放进特定目录、不需要装任何东西——`SKILL.md` 只是一个文件名约定,不是某一家的格式。把这份文件粘给它,说一句「按这个帮我复盘这一轮」就能开始。 **这份文件是写给 agent 的执行剧本。** 你(使用者)只需要读「开跑前」和「不对劲的时候」两节。 ---
- 76 stars
- 0 votes
- 0 copies
- 2 views
- Added September 27, 2026
Security analysis
100/100Pro scans all 6 files and shows the line behind each finding
npx -y skills add gilgameshcc/ai-native-jobhunt --skill 06-positioning --agent claude-codeAre you the author of 06 Positioning?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/gilgameshcc-06-positioning)# SKILL · 求职方向的双环复盘
> **把本文件整份交给你的 agent 即可。** 不依赖任何特定 agent 产品,不需要注册斜杠命令、不需要放进特定目录、不需要装任何东西——`SKILL.md` 只是一个文件名约定,不是某一家的格式。把这份文件粘给它,说一句「按这个帮我复盘这一轮」就能开始。
**这份文件是写给 agent 的执行剧本。** 你(使用者)只需要读「开跑前」和「不对劲的时候」两节。
---
## 交付约定:易用性与完成度优先
Agent 负责整理并完成本次可做部分,交付可直接人工 review 的成品,不止给建议或空表。先读用户工作区的 `policies/`;用户可配置的执行偏好和参数集中在这里维护,已有求职条件仍以 `positioning.md` 为准。明确要求的调整直接写回并在 `policies/changes.md` 记录旧值、新值、理由与影响;Agent 建议标待确认。
用户已指定路径就直接创建本次所需目录;未指定时一次询问存放位置,同时继续整理材料。不得要求用户先手工建文件夹,不得把个人材料写进公开仓库。具体岗位建立或复用 `applications/日期-公司-岗位/README.md`,索引实际成品,初始化只补缺失文件;原始材料和历史审阅保留,策略、申请索引及衍生产物可按本次授权更新并记录变更。结束前写 `reviews/日期-任务.md`:成品路径、结论依据、采用策略、待确认项及影响、实际检查和下一步;重新读取文件核对后给可点击路径。缺材料时先完成不依赖它的部分并标部分完成;无文件写入能力须明确未落盘。可审阅不等于获准发送,外部动作仍按既有授权和模块边界。
交付前交叉核对报告、申请索引、台账和审阅卡:结论与下一步必须一致,已判不投的岗位只说明排除依据及证据或本人条件改变后可重评,不沿用继续推进的话术。内容重排后修正上下文指代;检查数量只填写工具实际统计值,未统计就列检查对象,不手写估数。发现历史审阅错误时另写勘误,保留原记录。
完整规则与模板见 [本地交付约定](../../docs/delivery.md);只拿到本 SKILL 时按以上约定建立最小 Markdown 文件即可,不要求先跑其它模块。
## 开跑前
### 要什么 / 缺了退化成什么
| 输入 | 必需? | 缺了会退化成什么 |
|---|---|---|
| **一批已经投出去的记录**(`ledger.md`,或散着贴的原始记录) | 复盘所需,发现可无 | 无记录先按画像主动发现,不做漏斗归因;散记录由 agent 整理 |
| **用户画像**:能做什么、想解决什么工作问题、地域、必要条件、排除条件、时间预算 | 主动发现所需 | 读取已有定位和事实材料,集中问关键缺口;可先研究已知工作问题,不猜个人条件 |
| 每条记录里的**对方回应原话** | ⚠️ 强烈建议 | 只剩「有回应 / 没回应」两态。**分不出「薪资不匹配」和「方向不匹配」**——而这两者指向完全相反的改法。收敛环的决策 ① ② 会整体降级为「证据不足」 |
| **反向吸引标记**(对方主动来找你的那些) | ⚠️ 强烈建议 | 发散信号 N3 停用。⭐ 这是新用户第一周唯一看得出的两类信号之一,**丢掉它等于丢掉一半发散环** |
| 面试复盘(`interviews/<company>-<date>.md`,含**溢出栏**) | 可选 | 发散信号 N4 停用(溢出栏是它的唯一采集点)。⭐ **红旗绿旗校准失去对照基准 —— 失去之后具体做什么**:让用户手工列 3 个"当时想验证的点"顶上,用它们跑完这一节,但**整段标 `事后补的基准,可信度低`**,⛔ **不喂给收敛环的决策 ① ②**;报告里这一行写成「**本轮红旗绿旗校准不可判**:没有事前判据,只有事后补的基准」。口径与 `04-interview` 缺上游评估时**完全一致**,不要另发明一套 |
| 每日 review 卡(`runs/<date>-review.md`) | 可选 | 漏斗信号只能靠台账重建,拿不到「跳过原因分布」这一层。**必须在报告里写明少了哪一层** |
| 岗位语料(`jobs/<batch>.md`,最好 ≥ 2 个批次) | 可选 | 发散信号 N1 / N6 停用 |
| 你现在的 `positioning.md` | ⚠️ 强烈建议 | 没有它,「对不上」这件事就没有参照物——**所有「面试官关注点与预设定位不符」的信号都变成不可判定**。⭐ **不可判定之后进哪里**:⛔ **不丢弃**。按 L2 那条口径(归不了类的默认进 `discoveries.md`)**全部登记进 `discoveries.md`**,信号类型先挂 N2(错配),证据栏注明「无定位参照,本轮只登记不判定」,累计计数照常走独立事件口径。等 `positioning.md` 建起来之后**回头重判这一批**——原话还在,判定可以补,**丢掉的原话补不回来**。⛔ 但它们本轮**不参与收敛环的决策 ②**(要改定位,得先有一个"原来的定位") |
| ⭐ **台账里这几个字段有没有记**:**渠道** · **用的是哪一版材料** · **级别** · **这条岗位是怎么进来的** · **JD 里有没有写学历门槛** | ⚠️ 强烈建议 | ⛔ **这一类缺失与「量不够」性质完全不同,不许压成同一种空栏。** 没记 = **过去那一段永久不可判**(再攒也不会有),只能**从现在开始记**,而**过去那部分补不回来**。逐条影响哪个决策、报告里必须写哪三件事,见 6.3「空栏必须分成两种」 |
| ⭐ **我能不能联网检索**(⚠️ 这一条不是给我材料,是开跑前要先确认的**能力**) | ✅ 必需先确认 | 本模块复盘链路**不依赖**联网,但 `公开可查` 这一整档来源标注、以及来源独立性的核对深度依赖它。不能联网时**不报错、降级跑**,退化规则见下面一节 |
### ⚠️ 不能联网时退化成什么
**本模块的复盘链路不依赖联网**:样本体检、四层回应分层、双环判定、开分支门槛,全部只用你手上的材料就能跑完。⭐ **所以「没联网」不是不能跑,是有四处会变。** 开跑前先自查一句:**我这次有没有联网 / 检索能力?** 没有就照下面四条退化,⛔ **不许假装查过**。
主动探索此时只交付检索词、目标类型与待核实入口;用户提供的网页内容仍标 `你给的`,不声称本次联网核实。
1. **`公开可查` 这一整档不可用。** 本该查的(岗位公开描述、"这条要求是不是这一类岗位的普遍要求"、两家公司是不是同一个主体)一律标 `我推测的`,并在同一行注明「因无法检索而未核实」。⛔ **不许标 `公开可查`** —— 没查过就不是查到的
2. **报告顶部写一行**:`本次无公开检索能力 —— 公开材料层为空,全部结论只由你给的材料与我的推测构成`
3. ⭐ **来源独立性核对退化成保守口径。** 出处记得清楚的照常判;**判不出来的一律按「来源不独立」处理(合并计 1)**,⛔ 不许因为"看起来是两家不同的公司"就算成两个独立来源。理由是代价不对称:**把一个人的一次判断当成市场形态、拿去改方向,代价远高于漏判一次真扩散** —— 而漏判的那次下一轮还会再出现
4. **收敛环决策 ② 的旁证拿不到。** 「这条客观条件是不是这一类岗位的普遍要求」只能靠台账原话的家数判。⛔ **不许因为"我印象里这类岗位都这样"就升级成硬性排除** —— 那是 `我推测的`,而它一旦升级就是永久砍掉一块搜索面
⚠️ **这不是报错,是降级继续跑。** 缺的不是判断力,是**佐证层**:同一份报告照出,只是 `公开可查` 那一档全空、来源独立性判得更保守。**空着就写空着,不要用推测把它填上。**
### ⭐ 最小可接受形态
> **主动发现:一句工作方向+地域+一项已有能力证据即可起步,关键约束集中补问。复盘:10-20 条「公司 / 岗位 / 投递日期 / 对方回了什么」是默认建议输入量,散着贴也行。**
真的只要这些。聊天记录转述、平台消息截图的文字、一段回忆、语音转文字,都行。**你(agent)负责把它整理成 `ledger.md`**,不要求用户先整理好。
少于 10 条(默认建议值,整体判定仍以本轮参数为准)时:**不给整体漏斗结论**,直接说「这个量级看不出整体漏斗形态」。可整理和做发散环登记;若①/③有达到独立门槛的证据,仍按下方单点规则处理。⛔ 不许因为数据少就把语气放软再给一个建议——那是同一个错误换了个说法。
### ⚠️ 照最小形态给,你会拿到什么、拿不到什么
**仅主动探索的最小输入**:产出探索卡、已核实与待核实线索、下一步和下次日期。没有历史台账时不强迫生成漏斗体检或双环决策,不编造台账、登记事件或分支。下面的样本说明仅适用于用户提供历史申请材料的复盘入口。
**这一段必须说破,否则用户会以为"能跑起来"等于"能拿到结论"。**
- **你会拿到**:一份整理好的 `ledger.md`(散着贴的由我整理,不要求你先填模板)· 一份**样本体检**(本轮几条投递、几条回应、几条带明确理由、差门槛多远)· 发散环的**零门槛登记**(N3 / N4 一条就能记,且登记本身就是完整产出)· 一份逐行写明"哪几类信号本轮不可判、差多少"的报告。
- **不能预先承诺的产出**:输入有 10–20 条不代表必然可判,也不代表一律不改。先核对已有整轮门槛(默认 ≥20 条投递且 ≥8 条回应);20 条恰好达到投递门槛,仍要核对回应数。整体不足时,不做整体漏斗归因;已有规则允许的单点修订仍按它自身的独立门槛判断。发散环登记与开分支继续分别按各自规则处理。
- **一句话**:最小形态足够整理和检查样本;能否改哪一项,由对应规则的证据与门槛决定,不能在读取具体材料之前统一拒判。
### ⛔ 四条禁止(这一节是对 agent 说的)
1. **不许报错退出。** 输入缺、格式乱、只有半句话,都不是停下的理由。缺什么就明确说「你至少给我 X」,然后用手上有的先跑一版
2. **不许静默自己编。** 任何你没被告知、也没查到的取值,一律标 `我推测的`,并且**不参与任何决策的成立判定**。⛔ 尤其不许把「对方大概是觉得……」写成拒绝理由——那是你编的,不是对方说的
3. **不许一次只问一个问题挤牙膏。** 需要补的东西一次问完(最多两轮)。先用已有信息出一版带「待确认」的报告,再让用户一次补齐
4. **不许把该你自己做的整理工作推给用户。** 用户散着贴来的记录,**你负责整理成台账**。⛔ 不许说「请先按模板填好台账再来找我」
---
## 每轮先做:周期检查与主动机会探索
1. **确认节奏和变化**:先读上次报告、定位和已约定节奏;没有记录时集中问用户是否已有复盘习惯,默认建议每周一次(`默认建议值`,可按求职强度调整)。本轮先核对条件有没有变化,避免重新问已有答案。没有新增投递也要总结目标研究、过期职位、材料与待验证问题,不能只说“继续刷”。
2. **按画像找工作问题**:把已证实的能力和想做的事映射为少量工作问题,例如部署业务 agent、改进产品评估、服务某行业工作流。AI 原生产品、成熟企业的具体 AI 项目、基础设施邻接角色分别注明;“公司名字有 AI”不能作为匹配理由。
3. **主动发现而非等 JD**:按本轮时间预算,从产品/开源项目反查雇主,再用独立的产业生态、投资组合或官方招聘来源补遗漏。按“产品 → 雇主 → 团队 → 具体岗位”核实归属。公司目录只是发现入口,不复制全名单当推荐;不要求先累计若干月投递台账才启动目标探索。
4. **核实个人可申请性**:使用投递模块的“主动发现与职位核实”步骤,读取具体 JD,检查职责、资历、地域、工作方式和开放状态;保留来源及核实日期。不以创始人背景推断招聘地域、不把商务联系入口当招聘入口、不猜招聘负责人。每轮推荐前复查职位,证据冲突则降为待核实。
5. **给少量有理由的下一步**:在 [主动机会探索卡](templates/主动机会探索卡.md) 中写清每个目标为何对应用户、已有能力证据、缺口和下一步;分别列可进入定级的 JD、仅值得观察的公司、排除项。无匹配结果也交代已查范围和失败原因,给扩大来源或相邻角色的建议;不擅改用户硬条件。
6. **进入现有契约与双环**:JD 进入 `jobs/<batch>.md` 后定级;主动搜索发现本身不是投递成功,也不能冒充 N3“对方主动吸引”或 N4 面试溢出。探索记录先留本轮报告;符合 N1-N6 的证据才按既有规则登记。研究新方向不等于开投递分支,分支仍需配额、证伪判据、截止期与成本条件,不改已有门槛来凑通过。
7. **收尾给下次时间**:报告写本周保留/调整/停止什么、下一步负责人和下次具体日期。已有节奏就沿用;无回复时可记录建议日期及触发语“按上次报告复盘本周,并主动找符合我画像的新机会”。**这不表示已创建后台任务。** 只有当前环境存在调度工具且已获相应授权,才创建或更新任务并检查返回结果;未启用、失败或无工具一律如实写明,不宣称会自动运行。
以上只增加周期报告中的文本段落,不增加数据库、必装工具或固定公司数量。报告可从本轮摘要开始,只有存在相应证据才展开双环详细表格;缺样本时显式说明哪些判断不可做。
---
## 6.0 为什么必须是两个环,且不能合并
**这是本模块最重要的一条设计判断。写在最前面,因为后面所有规则都从它推出来。**
同一批原始信号,要经过两个**过滤器完全相反**的环:
```
同一批信号 ─┬─→ 收敛环 过滤器:重复出现 + 达到最小样本门槛 → 改执行
└─→ 发散环 过滤器:反常 + 不重复 + 与预设不符 → 登记,不设门槛
```
收敛环的核心纪律是「**最小样本门槛 + 默认不动**」。它存在的全部意义,就是防止你被一两次拒绝就改定位——真实场景里 N 永远很小(几十条接触、两三场面试),而最常见的错误就是拿单次事件当趋势。
而「投着投着发现新可能性」的信号,**天然是单次的、不重复的、看起来像噪声的**:
- 一个你根本没投过的岗位类型,有人主动来找你——**只发生了一次**
- 面试里跑题聊到一个话题,你讲得比对方还兴奋——**只发生了一次**
- 某个新词在两个不同类型的公司的岗位描述里同时冒出来——**才两次,远达不到任何门槛**
**同一个循环、同一套阈值,一定会把它们当噪声滤掉。** 收敛环的防过拟合纪律,恰好会杀死发散环需要的信号。这不是可以靠「把门槛调低一点」解决的——门槛调低,收敛环就失去了它唯一的作用。
**所以:两个环,两套过滤器,两套输出。**
**两环唯一的接口**:
> **登记是免费的(不设最小样本门槛);门槛只加在「登记 → 开分支」这一步。**
⛔ **不许用收敛环的样本门槛去挡发散环的登记。** 这是本模块唯一一条「一旦做错,整个模块的差异化就没了」的规则。
⭐ **「登记零门槛」的完整论证只写在这里一处。** 后面 6.3 的决策 ⑤ 与 6.5 的输出物两节都只放一句索引指回本节——**同一条论证在三处各写一遍,改的时候只会改到其中一处,剩下两处就开始漂**(这正是 `discoveries.md` 模板曾经在两个模块里各存一份、然后沿相反方向漂走的那类事故)。
---
## 6.1 三条输入
### 输入一 · 投递漏斗信号 ⭐ 数据量最大的一条
来自 `ledger.md` + `runs/<date>-review.md`。**先分层,再统计**——不分层的漏斗只能告诉你「回复率低」,那句话没有任何可执行含义。
| 层 | 长什么样 | 它能支撑什么 |
|---|---|---|
| **明确理由型拒绝** | 对方说出了一个**具体的、可判定的**理由(「需要有过某类业务场景的落地经验」「这个岗只考虑本地候选人」) | ⭐ 信息量最高的一层。收敛环的决策 ② 和发散环的 N2 / N5 **只能从这一层来** |
| **模糊拒绝型** | 「不太合适」「暂时没有匹配的岗位」「先保持联系」 | ⛔ **永不升级为规则。** 它只能计入「回复率」这个总量,不能被解读成任何具体原因 |
| ⭐ **强正向型** | 对方**主动**索要材料、主动发起对话、主动推另一个岗位 | 收敛环里它是渠道效率信号;发散环里它是 N3 的原料。**分流判据见 6.3 的 N3** |
| 无回应 | 过了你的观察期仍无任何动静 | 只计入总量。⚠️ **无回应不等于拒绝**——它可能是渠道问题、时机问题、或者对方根本没看到 |
| ⭐ **旁栏 · 平台状态型**<br>(⛔ **不是第五层**,见下) | 平台自动显示的状态:「已读不回」「简历未通过」这类**不是对方写的、由平台代显示**的动作 | **有动作、无信息。** 唯一用途是区分「没被看到」与「看到了没往下走」。⛔ 除此之外不解释任何事,**且不计入「有回应」数** |
⚠️ **「对方回应原话」不许在这一步被压成分类标签。** 一旦压成「婉拒 / 待定 / 邀约」,就再也分不出「薪资不匹配」和「方向不匹配」了。**分层是分析动作,原话必须保留在台账里不动。**
#### ⭐ 「已读不回」「简历未通过」这类平台状态归哪里 —— 归**旁栏**,不是四层里的任何一层
**为什么它不属于四层**:四层分的是「**对方的话里有多少可判定信息**」;而平台状态里**根本没有对方的话**,它是平台代显示的。**分类轴不同**,所以它不是"第五层"(那会让人以为还在同一条轴上),是一个**并排的旁栏**。
⛔ **三个都不许往里塞,各有各的代价**:
- ⛔ **不许归「无回应」。** 无回应的含义里包含"可能根本没被看到";⭐ **而平台状态恰恰证明了对方看到了。** 归进去,等于把手上唯一一条触达证据丢掉
- ⛔ **不许归「明确理由型」。** 「简历未通过」是一个**结果**,不是理由。归进去会让 `N2理由门槛` 与收敛环决策 ① ② 被一批零信息的记录喂满 —— 门槛达标了,可门槛存在的那个理由(有理由可分)没达标
- ⛔ **不许归「模糊拒绝型」。** 那一层至少是**一个人写的一句话**(「先保持联系」),它计入回复率是有含义的:有人读了、并且回了。平台状态没有这个含义
⭐ **计数口径(这一条必须写死,因为它直接决定样本达不达标)**:**平台状态型单列一个自己的数,⛔ 不计入 `本轮最小样本` 的「有回应」数。**
> **理由**:`本轮最小样本` 里那个「≥ 8 条有回应」之所以存在,是为了保证**有足够的量能分出三档理由类型**(见 6.4 该参数的标定说明)。**平台状态型在定义上分不出任何理由档。** 用一批**结构上不可能带理由**的记录去满足一个为「有理由可分」而设的门槛,只会得到最坏的一种结果:**样本体检说够了,收敛环却依然无米下锅** —— 而报告读起来完全正常。
✅ **它唯一正当的用途**:它是**唯一能证伪「无回应多半是没被看到」这条推测的材料**。报告里可以写成「本轮 X 条无回应中,有 Y 条平台显示已读」,⛔ **到此为止** —— 不许接着解读成"看了不要我,说明我的材料不行",那是 `我推测的`。
### 输入二 · 面试反馈
来自 `interviews/<company>-<date>.md`。看三样:
1. **红旗绿旗实测结果**——⭐ **三态:证实 / 证伪 / 未验证**。⛔ **「未验证」不许记成「证伪」**:没问到、没聊到、对方回避,都是「未验证」。把它当证伪,会让你以为某条判据被证明是错的,而其实只是没测过
2. **面试官关注点 vs 你预设的定位**——**对不上是最有价值的信号**。它同时可能是收敛环的(表述没讲清)或发散环的(你被归到了另一个类目里),分流判据见 6.3 的 N2
3. ⭐ **溢出栏**——跑题跑出来的东西。这是发散信号 N4 的**唯一**采集点。
⚠️ **溢出栏有三类,三类全归 N4**:① 用户讲得比对方还兴奋的话题 ② 对方无意透露的行业信息 ③ 可复用的联系人或线索。
⛔ **不许只读第 1 类。** 第 ② ③ 类恰恰是发散环决策 ④(升级为非求职产出)的原料——那条决策举的例子就是"一份行业情报 / 一个可持续的联系人 / 一条产品线索"。**只收第 1 类,等于让决策 ④ 永远没有输入。**
⛔ **反过来也要写死:复盘卡里「对方说了什么值得记的」那一栏(上游 `04-interview` §4b)⛔ 不是 N4 的采集点,也 ⛔ 不进 `discoveries.md`。** 它登记的是**对方主动给的、会改变你对那家公司判断**的事实,去向是**那家公司的疑点表**,不是发散侧。⭐ **两栏的分界只有一条判据**:拿掉它,变的是**对这家公司**的判断(→ §4b,回流疑点表)还是**对你自己**的判断(→ 溢出栏,归 N4)。
⚠️ **这条是 L2 兜底规则的第二个明确例外**(第一个是「该问没问 / 该追没追」):它**不是归不了类,是有归宿** —— ⛔ 不许用"归不了类的默认进 `discoveries.md`"把它扫进登记簿。**扫进来的代价是双向的**:登记簿被一批本该回流疑点表的公司事实稀释,而那家公司的疑点表**一条都没更新**,下一轮的一页纸照着旧疑点问。
### 输入三 · 市场语料
来自 `jobs/<batch>.md` 的岗位描述文本。看两样:**高频词**(尤其是尚无标准定义的新词)与**结构变化**(同一类岗位的要求组合是不是在变)。
> 岗位可来自已有记录,也可由本轮主动发现补充。网站只读操作复用投递模块;缺 JD 不阻止探索,缺足够语料仍不得宣称 N1 / N6 已形成市场趋势。
---
## 6.2 收敛环:三输入 → 五类决策
### 先过样本门槛,再谈决策
⭐ **进入收敛环的第一个动作是样本体检。** 主动机会探索不受收敛环样本门槛阻挡。
```
本轮新增投递数 / 其中有回应数 / 其中明确理由型数 / 面试场次 / 新增岗位语料条数
↓
达不到 `本轮最小样本` → 停止整体归因及②/④;按下方例外核对①/③独立门槛,其余输出⑤
⚠️ 但已单独过了自己门槛的那一条仍然输出 —— 见下一节
达到 → 逐条过 ① ~ ④,每条各自还有自己的门槛
```
**门槛是逐条的,不是一次性的。** 本轮样本总量够,不等于「渠道对比」这一条也够——它有自己的 `渠道对比最小样本`。
### ⭐ 反方向:整轮不达标,但某一条自己的门槛过了 —— **那一条仍然输出**
**上面那句「门槛是逐条的」只写了正方向**(逐条过门槛才触发),**反方向一直没写**:整轮样本体检不达标、按流程要走 ⑤「什么都不改」,可**这一轮里恰好有一条决策自己的门槛已经过了**(例如同类质疑已经到了 `同类质疑重复门槛` 那么多家不同公司)。这条怎么办?
> **写死:那一条仍然输出,但必须带标注「⚠️ 本轮整体样本不足,这条是单点触发,谨慎采纳」。**
**为什么不跟着一起压掉**:
- `同类质疑重复门槛` 数的是「**几家不同公司问了同一件事**」,它的分母**不是本轮投递总数**。3 家不同公司各问了一次同一件事,这个事实**不因为你这一轮只投了 12 条而变弱**。⛔ **把它一起压掉,等于用一个它根本不依赖的量去否决它 —— 让样本量惩罚了一条本来有证据的结论。**
- 而且代价不对称:压掉之后它**不会在下一轮自动重现**(下一轮报告说的是"本轮最高到几家",不会重述这一轮曾经够过),于是用户永远不会知道它到过门槛。
**为什么又必须带标注**:
- 整轮样本不足的真正含义是:**这一轮里「没出现的东西」不可信。** 你看到 3 家问同一件事,但你不知道有多少家其实**没问** —— 分母太小,没给反例留出空间。所以它是**单点触发,不是趋势**。
⛔ **两条例外:整轮不达标时不许单点触发**(代价不可逆的那两条):
- **决策 ②(改 `positioning.md` / 新增硬性排除条件)** —— 升级一条硬性排除 = 永久砍掉一块搜索面,错了补不回来
- **决策 ④(反身修订定级阈值)** —— 一改,上一轮的数据就不可比;它本来就带 `定级阈值冷却期`
这两条在整轮不达标时并入 ⑤,并写明「**本条本轮已过自己的门槛**,但因整轮样本不足 + 代价不可逆而不触发,下一轮样本达标后优先看这条」。⭐ **注意这句话本身就是输出** —— ⛔ 不许直接不提。
### 五类决策
| # | 决策 | 触发条件(参数见 6.4) | ⛔ 不该触发的样子 |
|---|---|---|---|
| **①** | **改事实池里那件事的讲法** | 同一类质疑在 ≥ `同类质疑重复门槛` 家**不同**公司出现,且你都答得不好 | 同一类质疑只在 1 家出现 → 输出「证据不足,继续观察」。⛔ 一次追问不构成一次修订 |
| **②** | **改 `positioning.md`**(含新增硬性排除条件) | 连续 ≥ `硬性排除升级门槛` 家因**同一个客观不可变条件**被拒(学历 / 城市 / 某类经历年限这种你当下改不了的) | 因主观评价被拒(「不太合适」)→ ⛔ **永不升级为规则**。主观评价升级成硬性排除,等于用一句客套话把自己的搜索面永久砍掉一块 |
| **③** | **改渠道 / 城市 / 薪资档配比** | 两个渠道各自 ≥ `渠道对比最小样本`,且回应率差异明显 | 某渠道只有 3 条且 0 回应 → 样本不足,不动。⛔ 「这个渠道好像没用」是印象,不是数据 |
| **④** | **反身修订定级阈值**(`03-company-analysis` 的定级规则) | 某个档位(级别 / 薪资档)的回应率**系统性**偏离,且**不在冷却期内** | 单批次波动 → 不动。⚠️ **阈值改动必须带 `定级阈值冷却期`**,否则你会在两个方向之间来回震荡,而每次震荡都会让上一轮的数据不可比 |
| **⑤** | **本轮不改** | 整轮不足且①/③也未达到各自门槛,或达到数量门槛但无充分修订证据 | 不因必须输出建议而编造变化;若仅一项可改,其他项明确不改 |
### ⭐ 为什么 ⑤ 是最重要的一类,且必须显式输出
**⑤ 必须写进报告,写成一段有主语的结论**,形如:
> **本轮不改。** 本轮新增 N 条投递、其中 M 条有回应、K 条带明确理由。`同类质疑重复门槛` 是 3 家不同公司,本轮最高只到 2 家(纬度智能、青栈网络,都在问同一类问题)。**再攒 1 家同类质疑就够门槛了**,下一轮优先看这条。
⛔ **不许省略成「本轮无明显问题」。** 那句话既没说样本多少,也没说差多远,读者无法判断它是真的做过判断还是根本没算。
**它为什么最重要**:
> **它是「这套东西真的在做判断」的唯一证据。**
> 一个对任何数据都能给出改进建议的框架,和一个坏掉的框架**无法区分**——两者的输出看起来一模一样。只有当它在某些输入上**明确说不改**,你才知道它在另一些输入上说的「该改」是有含义的。
它的成本 ≈ 一段模板文字。**任何一轮精简都不许削它。**
---
## 6.3 发散环:六类信号 N1-N6
> ⚠️ **`N` 前缀在本仓库里指两样完全不同的东西 —— 这才是真正会撞车的地方。**
>
> | 写法 | 指什么 | 谁在用 |
> |---|---|---|
> | **必要条件 N1 / N2 / N3** | `positioning.md` 里「不满足就不投 / 不去」的那几条 | 定级模块、offer 模块,以及面试执行一页纸里的 `N1` / `N2`(那是**必要条件验证题的行号**) |
> | **发散信号 N1-N6** | 本节这六类(命名 / 错配 / 反向吸引 / 溢出 / 结构性拒绝 / 邻接漂移) | 只有本模块 |
>
> ⛔ **本模块的报告、登记簿、分支表里一律写全称**:「**发散信号 N3**」「**必要条件 N3**」,不许只写 `N3`。两者都是"编号 3",会出现在同一份复盘里,而**读者没有任何线索能分辨**——一句"N3 不满足"到底是"没拿到反向吸引信号"还是"这个岗不满足你的第 3 条必要条件",对应两个完全相反的动作。
> ✅ **什么算写全了**:`发散信号 N3` / `必要条件 N3`,或者**编号与信号名同格**(`N3 · 反向吸引`)都算——判据是"单看这一格就能分辨"。⛔ 孤零零一个 `N3` 不算。
> ⚠️ **这条撞车目前没有被前缀本身挡住,只能靠写全称挡。** 换一个不碰撞的前缀是更彻底的解法,但它会波及本模块之外的固件与示例,需要一次性改完,不能只改半边。(顺带:`D` 编号是另一回事,本模块不用它。)
### 六类信号
| # | 信号 | 从哪来 | 为什么它属于结果层(而不是执行层) |
|---|---|---|---|
| **N1 命名信号** | 岗位描述里出现的、**尚无标准定义的新词**,从孤例扩散到多城多类公司 | `jobs/` | 一个词从孤例扩散开 = **一个类目正在成形**。类目是定位的落点,不是表述问题 |
| **N2 错配信号** | 反复被拒,但理由是「**经验类目不对**」而不是「能力不够」 | `ledger.md` 明确理由型 | 同一段经历换一个参照系,就从「缺某类场景」变成「有另一类的体系化经验」。**换类目,不是改讲法** |
| ⭐ **N3 反向吸引** | 你**没投过**、但对方主动来找你的岗位类型 | `ledger.md` 的反向吸引标记 + 强正向型回应 | **最被低估的一条。** 它是市场对你的**无偏归类**——不受你搜索关键词的框限。**你搜什么决定你看到什么,唯独这条不是** |
| ⭐ **N4 溢出** | 面试 / 对话里跑题跑出来的东西,**三类都算**:① 你讲得比对方还兴奋的话题 ② 对方无意透露的行业信息 ③ 可复用的联系人或线索 | `interviews/` 的溢出栏(**三类全部**) | 求职过程产出了**不是岗位的东西**(一份行业情报、一个联系人、一条产品线索)。结果层的极端形态 |
| **N5 结构性拒绝** | 某条线**系统性**够不着:同一条客观门槛反复卡住你 | `ledger.md` + `jobs/` 的要求栏 | 优化执行解决不了它 → **关掉这条线或换入口**。关掉也是一种结果层改进 |
| **N6 邻接漂移** | 推荐流 / 采集流里反复出现、但**不在你原关键词列表里**的岗位形态 | `jobs/` 里标了来源的条目 | 市场把你的画像投射到的**邻接空间**——它看到的你和你以为的你不是一回事 |
> **N3 与 N4 是重点**:它们是**只有「投着投着」才能拿到、坐着规划拿不到**的信息。
### ⭐ 每类信号的最小可见量级(这一节不许省)
**下面这张表要在每一轮报告里逐行输出,包括那些「这轮看不出来」的行。**
| 信号 | 最小可见量级 | 来源等级 | 新用户第一周看得出吗 |
|---|---|---|---|
| **N1 命名信号** | 岗位语料约 `N1语料门槛` 条,**且跨 ≥ 2 个批次**(不然分不出「新出现」和「本来就有」),⭐ **且这个词要落在 ≥ `N1独立来源门槛` 个互相独立的来源上**——见表下「什么叫扩散」 | `纯占位待校准` | ❌ 看不出 |
| **N2 错配信号** | ≥ `N2理由门槛` 条**带明确理由**的拒绝。⚠️ 是「带明确理由」的条数,不是总回应条数——大部分回应是模糊型,分不出这一层 | `纯占位待校准` | ❌ 看不出 |
| ⭐ **N3 反向吸引** | **1 条就能登记**;≥ 3 条才看得出形态(是不是集中在同一个你没意识到的类目上)。⭐ **这里的 3 条数的是「互相独立的来源」,不是条数**——口径与 N1 相同,见表下「什么叫扩散」。⚠️ **这个 3 就是参数 `N1独立来源门槛`**,6.4 里它自己写着"这个 3 是编的" | ⭐ `纯占位待校准` | ✅ **看得出** |
| ⭐ **N4 溢出** | **1 场面试 / 1 次对话就能登记**(三类任一);**开分支**另有门槛 `N4开分支门槛`(默认 2 次**独立事件**且跨 ≥ 2 场面试 / 对话,见 6.4)——⚠️ **登记量级与开分支门槛不是一个数**,别拿"1 场就能登记"去对开分支 | ⭐ `纯占位待校准` | ✅ **看得出**(前提是复盘卡有溢出栏,且**三类都抄过来**) |
| **N5 结构性拒绝** | 同一条线上 ≥ `N5同线门槛` 条岗位,且过半卡在**同一条**客观条件上 | `纯占位待校准` | ⚠️ 勉强,要看这一批投得集不集中 |
| **N6 邻接漂移** | 与 N1 同量级,**且要求语料里记了「这条是怎么进来的」**(搜索命中 / 推荐 / 对方推来)——没记来源就整类不可判。⭐ 来源独立性口径与 N1 相同 | `纯占位待校准` | ❌ 看不出 |
> ⚠️ **N3 / N4 两行的等级为什么必须是 `纯占位待校准` 而不是 `默认建议值`**:它用的那个 3 就是 `N1独立来源门槛`,而那条参数自己标着 `纯占位待校准`、注释里写着"这个 3 是编的"。⭐ 而 N3 恰恰是**新用户第一周唯一看得出的两类信号之一**——**最被依赖的那个门槛,等级不能标得比它的实际来源硬**。标虚一档的代价很具体:用户会以为"3 个独立来源"是个有依据的线,于是在第一周就拿它去改方向。
>
> ⭐ **N4 是同一个形状**:它引用的 `N4开分支门槛` 也标着 `纯占位待校准`,而那条参数的注释就写着"这个 2 是编的"。
>
> ⛔ **一条通则**(这两行是它的两个实例):**一行的等级,不能比它所引用的参数的等级更硬。** 引用了 `纯占位待校准` 的参数,这一行就不可能是 `默认建议值` —— 那等于凭空给一个编出来的数字升了一级。
### ⭐ 两条门槛打架时:**最小可见量级优先**
**实测出现过的形状**:同一个信号,「最小可见量级」说**本轮不可判**,而它的开分支门槛(`开分支登记门槛` / `N4开分支门槛`)说**次数已经够了**。两条门槛给出相反的答案。
> **写死:最小可见量级优先。⛔ 最小可见量级不过 → 开分支门槛本轮根本不该被评估。**
**理由 —— 这两条门槛管的不是同一件事**:
| 门槛 | 它回答的问题 |
|---|---|
| **最小可见量级** | ⭐ **这类信号在你现在的数据量上,看不看得出来** |
| **开分支门槛** | 看出来之后,**要不要为它花掉一份配额去行动** |
**前者不过,后者就是在一个还分辨不出信号的量级上讨论「要不要行动」** —— 那正是本模块反复在防的那件事:**一个对任何数据都能给出行动建议的框架,和一个坏掉的框架无法区分。**
⛔ **不许反过来**("次数够了,那就先开着看看"):登记是**零门槛**的,所以"累计次数"这个数在量级不足时**本来就可能被几条噪声凑出来**。拿它去越过可见量级,等于**把零门槛登记直接当成了证据** —— 与「拿登记行数去凑门槛」是同一类错,只是换了个入口。
✅ **正确输出的形状**:
> **发散信号 N5 结构性拒绝:本轮不可判(最小可见量级不过),⛔ 开分支门槛本轮不评估。** 同一条线上只有 9 条岗位,`N5同线门槛` 是 15 条。**它累计的独立事件数已经到 3 次、够 `开分支登记门槛`,但这一条本轮不成立** —— 在这个量级上分不出「这条线够不着」和「这几家刚好都这么要求」。**先补到 15 条,再回来看开不开分支。**
⚠️ **唯一的例外已经写在表里**:N3 / N4 那句「1 条 / 1 场就能**登记**」是**登记**量级,不是可见量级 —— 登记本来就零门槛,不受这条优先级约束。**受约束的是「见形态」与「开分支」这两步。**
### ⭐ 什么叫「扩散」:数的是**互相独立的来源数**,不是条数
> **适用范围:N1 / N6 / ⭐ N3。** 见本节末尾「为什么 N3 也要这条口径」。
**N1 / N6 唯一容易被骗的地方在这里。** 同一个新词出现了 5 条,可能是市场正在形成一个新类目,也可能是**同一个来源把同一条信息换了几个名字重复投放**——后者叫**伪扩散**。⛔ **它的条数、批次数、语料占比,和真扩散长得一模一样**:只数条数的规则,对这两者给出的判断完全相同,也就等于没在判断。
> **口径:同一个来源(同一家公司 / 同一个中间人 / 同一次转发)来的多条,无论岗位名是否被换过,合并计 1。**
**来源不独立的直接证据**(命中任一条,就按合并计 1 处理):
- 正文职责逐字相同,或条数与顺序完全一致
- 连**错别字 / 排版怪癖**都一样
- 用人单位一栏是「知名企业」这类不可核验的占位,**没法确认它们是不同的公司**
- 全部由同一个人转来,且时间集中在很短的一段里
⛔ **伪扩散不许升级为候选类目。** 正确处理:在 `discoveries.md` 里按**一条**「同一来源重复投放」登记,**累计次数记 1**,证据栏注明「来源不独立,不计入扩散」。
⭐ **但它仍然要登记**——登记零门槛这条不变。「某个中间人在集中推某个方向」这件事本身就是信息,只是它不是 N1。
### ⭐ 为什么 N3 也要这条口径(且它比 N1 更急)
**同一个中间人来两次,在 N3(反向吸引)上是一模一样的伪扩散。**
- 三条"对方主动来找你"如果**全部来自同一个中间人 / 同一家公司的两个 HR / 同一次转发**,它们不是"市场对你的三次无偏归类",**是一个人对你的一次判断被数了三遍**。
- ⚠️ **它比 N1 的风险更大**,因为 ⭐ **N3 是新用户第一周唯一看得出的两类信号之一**——最容易被看到的那条线上没有这个口径,用户会在第一周就拿着一个伪信号去改方向。
> **口径(与 N1 完全相同)**:同一个来源(同一家公司 / 同一个中间人 / 同一次转发)来的多条,**合并计 1 个独立来源**。
> N3 的"≥ 3 条才看得出形态"从此读作「**≥ 3 个互相独立的来源**」。
⛔ **来源不独立的 N3 不许拿来判"形态"**("是不是集中在同一个你没意识到的类目上")——一个来源当然只会指向一个类目,那不是形态,是同义反复。
⭐ **但它照样登记**,并在证据栏注明「来源不独立,不计入形态判定」。
### ⭐ 登记按行,计数按独立事件 —— 两条规则的接口
**这两条以前是打架的,现在写死。**
| | 口径 | 为什么 |
|---|---|---|
| **登记**(写进 `discoveries.md`) | ⭐ **一条一行,不合并同类。零门槛。** 一场面试产出 4 条互相印证的溢出,就是 **4 行** | 合并会丢掉每次的具体语境和原话,**而原话是这本登记簿唯一不可再生的东西** |
| **计数**(`开分支登记门槛` / `N4开分支门槛` 数的那个数) | ⭐ **按「独立事件」合并。** 同一场面试 / 同一次对话 / 同一个来源里**互相印证**的多条,**合并计 1 次** | 与 N1 的来源独立性**同源**:**数的是独立的观察,不是条数。** 一场面试里的 4 条溢出,是**一个人在一次对话里说的话**,不是 4 次独立观察 |
**所以那 4 条溢出的正确处理是**:`discoveries.md` 里 **4 行**,累计次数栏计 **1 次**,并在证据栏注明「同一场,合并计 1 次独立事件」。
⛔ **不许反过来做**(登记合并成 1 行、计数按条数算 4 次)——那是**两头都错**:既丢了三条原话,又用一次观察凑出了开分支的门槛。
⚠️ **"互相印证"是判据,不是"同一场就一定合并"。** 同一场面试里两条**指向完全不同方向**的溢出(例:一条是你讲嗨的话题,一条是对方顺口透露的行业信息),是**两次独立观察,计 2 次**。合并的是"同一件事被说了几遍",不是"同一天发生的事"。
### ⭐ 空栏必须分成两种:**量不够** / **字段没记**
#### 先说旧的那一半(仍然成立):量不够时必须显式输出这句话
> **「这类信号现在看不出来,不是不存在。」**
对每一条达不到最小可见量级的信号,报告里要写成:
> **发散信号 N1 命名信号:⚠️ 本轮不可判(量不够)。** 语料只有 40 条、单批次。`N1语料门槛` 是约 150-200 条且跨 2 个批次。**这不代表没有新词在冒出来,只代表你现在的语料量分辨不出来。** 要看得出来,你需要再攒一批岗位语料。
**为什么这条是硬的**:
> **真正的风险不是「少了三类信号」,是用户跑出来一堆空栏、以为是自己没做对。**
一个空栏有几种完全不同的含义 ——「看过了,没有」和「看不出」——**而空栏本身把它们压成了同一个样子**。用户会默认是第一种,于是得到一个错误的结论:我这个方向没有任何别的可能性。
⚠️ **这与收敛环第 ⑤ 类决策是同一条纪律(正确地不下结论),只是用在了输入侧。**
#### ⛔ 而「看不出」本身还要再分成两种 —— 这一条最贵
**报告里凡是写「不可判」的地方,都必须标出它是下面哪一种。**
| 空栏 | 性质 | 用户该做什么 |
|---|---|---|
| ⚠️ **量不够** | ⭐ **再攒攒就有** | 继续跑,下一轮再看 |
| ⛔ **字段没记** | ⭐ **永久不可判** | ⛔ **攒到天荒地老也不会有。** 必须**从现在开始记**;而**过去那部分补不回来,别去补** |
⭐ **为什么必须分开**:报告里如果只有「差多少」这一栏,用户看到空栏会**一律理解成"再攒攒就行"**。⛔ **而对第二类,「再攒攒」这句安慰是错的建议** —— 他会照着继续跑三个月,然后拿到一模一样的空栏,且这三个月的数据同样补不上那个字段。
**属于「字段没记」的至少有这五个**(不是穷举,判据在表下):
| 没记的字段 | 它一停,谁就永久不可判 |
|---|---|
| **渠道**(这条是从哪儿投出去的) | 收敛环**决策 ③ 整条**。没有渠道,回应率就没有可比的分组 |
| **用的是哪一版材料** | 收敛环**决策 ①** 的效果无法回看:改过讲法之后有没有变好,得知道哪些记录用的是改前那一版 |
| **级别**(这个岗位当时判的是哪一档) | 收敛环**决策 ④ 整条**。「某个档位的回应率系统性偏离」—— 没有档位这一栏,连"某个档位"都不存在 |
| ⭐ **这条岗位是怎么进来的**(搜索命中 / 推荐 / 对方推来) | 发散信号 **N6 整类**;以及 N1 / N3 的**来源独立性**核对(伪扩散判不了) |
| **JD 里有没有写学历门槛**(及同类的客观门槛栏) | 收敛环**决策 ②** 与发散信号 **N5** 的判据。「因同一个客观不可变条件被拒」—— 没有这一栏,"同一个条件"是回忆,不是数据 |
> ⭐ **判据比清单更重要(清单一定会漏)**:**这个字段是不是"只能在事情发生的当下记下来"?** 是 → 一旦没记,那一段就永久不可判。
> 理由类型、原话、条数这些**能事后从记录里数出来**的,不属于这一类;而「当时投的是哪个渠道」「当时用的是哪一版材料」,事后**只剩回忆,而回忆不是数据**。
#### ⭐ 「字段没记」这一类必须输出的三件事(缺一不可)
**报告里每一条「字段没记」的空栏,都要写全下面三句** —— ⛔ 少写任何一句,用户都会退回"再攒攒就行":
1. ⛔ **这个决策 / 信号在过去那段数据上永久不可判** —— **不是本轮不够**
2. ✅ **从现在开始记什么** —— 写成一个能立刻照做的动作("从下一条起,台账加一栏『这条是怎么进来的』,三选一:搜索命中 / 推荐 / 对方推来")
3. ⛔ **过去那部分补不回来,别去补** —— **不许让用户回头凭记忆补填**。凭记忆补出来的字段,会和真数据长得一模一样,然后在下一轮被当成 `你给的` 用掉
**照这个形状写**:
> **发散信号 N6 邻接漂移:⛔ 本轮不可判 —— 字段没记,不是量不够。** 语料里没有「这条岗位是怎么进来的」这一栏。
> ⛔ **已经攒下的这 40 条,永远判不了 N6**:没有来源,就分不出「市场把我投射到了这里」和「我自己搜到了这里」,而这正是 N6 的全部内容。**再攒 200 条也不会变。**
> ✅ **从现在开始**:下一批语料每条加一个来源字段(搜索命中 / 推荐 / 对方推来)。**改一次记录格式,下一轮这一整类就从「不可判」变成「可判」—— 这是本报告里成本最低的一条。**
> ⛔ **不要回头补这 40 条。** 凭记忆补出来的来源会和真记录长得一模一样,然后在下一轮被当成证据用掉。
⚠️ **报告与模板里这两类必须用不同的标记,⛔ 不许共用一个"不可判"。** 统一写法:`⚠️ 不可判(量不够)· 差 X` / `⛔ 不可判(字段没记)· 永久`。
⭐ **这一节同时管收敛环。** 上表五个字段里有三个(渠道 / 用的是哪一版材料 / 级别)卡的是**收敛环的决策 ① ③ ④**,不是发散信号 —— 所以「不可判」的两分法要在报告的**两节里都用**,不是只用在 3.1 那张信号表上。
### 五类结果层决策
| # | 决策 | 什么时候用 | 硬要求 |
|---|---|---|---|
| **①** | **开一条探路分支** | 某信号累计 ≥ 它自己的开分支门槛(通用 `开分支登记门槛`;**N4 用 `N4开分支门槛`**),**且你写得出证伪判据**。⭐ **累计数的是「独立事件数」,不是登记行数**——见上节。⭐ **且这个信号的最小可见量级必须先过**——见「两条门槛打架时」 | ⛔ **写不出证伪判据 → 不许开**,保持登记态。见下面纪律 2。⛔ 拿登记行数去凑门槛 → 一场面试就能开分支,那是把零门槛登记当成了证据。⛔ **最小可见量级不过 → 这一条本轮根本不评估**(最小可见量级优先) |
| **②** | **重选参照系** | N2 成立:同一段经历在另一个类目里是优势而不是缺口 | 改的是 `positioning.md` 的**「目标形象」**那一句,不是简历里的措辞。⚠️ 改目标形象会让下游全部重来一遍,**一轮最多改一次** |
| **③** | **关掉一条分支** | N5 成立,或某分支到期未达证伪判据 | ⛔ **必须写下关闭依据**,写进 `branches.md` 且不删行。没有关闭依据的分支会反复复活——每隔几周你就会重新想起它一次 |
| **④** | **升级为非求职产出** | N4 成立**且产出了可交付物**(一份行业情报 / 一个可持续的联系人 / 一条产品线索)。⭐ **这三个例子分别对应溢出栏的第 ② ② ③ 类** —— 所以 N4 必须收全三类,只收"你讲嗨的话题"那一类,这条决策就永远没有输入 | 只是聊得开心、没有可交付物 → 不升级,保持登记态 |
| ⑤ | **登记但不行动** | 以上都不成立 | ⚠️ **与收敛环的「不动」不同:这里必须留痕。** 写进 `discoveries.md`,等第 2、3 次出现——收敛环的不动是「不改」,发散环的不动是「记下来,先不动」。⭐ **照下面那句模板的形状写**,别只写"已登记"。(零门槛登记的完整论证见 §6.0,此处不重复)|
### ⭐ 决策 ⑤ 也要有形状:照这句写
**⑤ 必须写成一段有主语的结论**,形如:
> **本轮不开任何分支,但已登记 4 条。** 本轮新登记 4 条(发散信号 N3 两条、发散信号 N4 两条),按独立事件合并后是 **2 次**(其中 N4 的两条来自同一场面试、互相印证,合并计 1 次)。`N4开分支门槛` 是 2 次独立事件**且跨 ≥ 2 场**——次数够了、场次不够,**差 1 场**。N3 那条差 1 次独立事件。**两条全部保持登记态**,落在 `discoveries.md` 第 3-6 行。**下一轮优先看**:再面一场就能判 N4 这条开不开得起来。
⛔ **不许省略成「已登记,继续观察」。** 那句话既没说登了几条、合并成几次,也没说差门槛多远、卡在哪一步(是次数不够,还是判据写不出来),**读者无法判断它是真的数过还是根本没数**。
**为什么这一句是硬的**:
> **发散环那一节最容易退化成一张空表**——这是本模块自己点名的最大风险(见「量不够时必须显式输出这句话」一节)。而一句"必须留痕"挡不住空表,**因为一张空表也可以宣称自己留过痕**。只有当 ⑤ 被写成"登了几条 / 合并成几次 / 差多远 / 卡在哪一步",读者才验证得了这个环真的跑过。
> ⚠️ 这与收敛环第 ⑤ 类决策是**同一条纪律**,只是那边管"不改"、这边管"不开分支"。两边都给了模板句,**两边都不许省**。
### 三条防失控纪律
**没有这三条,发散环就退化成无差别大量投递。**
1. **配额制**
探路分支占本轮总投递的比例 ≤ `探路配额上限`;同时活跃的分支 ≤ `活跃分支上限`。
**主线保守 + 一小部分高方差**——这个配比本身就是纪律,不是随手定的比例。⛔ 配额超了就砍分支,不是提配额。
2. **每条分支自带证伪判据 + 截止日期** ⭐
写法是一句可判定的话:「**投 N 条,X 周内 0 回应 = 关掉**」。
- ⛔ **没有证伪判据的分支不许开。** 写不出来说明你其实不知道自己在验证什么
- ⛔ **没有截止日期的分支不许开。** **一条没有关闭条件的探路分支就是一个无限期的资源漏洞**——它不会以失败告终,它会以「还在跑」的名义一直占着配额
- ⚠️ **对称的两条**:未到期但暂时 0 回应 → **不许提前关**(那是在用收敛环的耐心标准杀发散环);到期未达判据 → **不许延期**(一次延期之后就没有第二次拒绝的理由了)
3. **成本可控**
探路的全部价值是「**低成本**获取市场反馈」。因此 ⛔ **不为一条探路分支重写全套材料**——最多是换一个讲法的顺序、调一段侧重。
**成本一旦超过阈值,它就不是探路了,是转型**,那是另一个决定,不该在这个循环里悄悄做完。
---
## 6.4 阈值参数化 + 来源等级
⭐ **本模块不写死任何数字。下面每一个都是编的,必须按你自己的情况标定。**
| 参数 | 默认 | 来源等级 | 怎么按你自己的情况标定 |
|---|---|---|---|
| `本轮最小样本` | 本轮新增 ≥ 20 条投递**且** ≥ 8 条有回应 | `默认建议值` | 看你自己的**回应率**:把「有回应数」定在你历史回应率下,至少能分出三档理由类型的量。回应率越低,需要的投递数越大 |
| `同类质疑重复门槛` | 3 家不同公司 | `纯占位待校准` | ⚠️ 完全是编的。标定方式:回头看你已经改过的那些讲法,**当初是在第几次质疑之后改的、改完有没有变好**。没有历史就先用 3,并在报告里标出来 |
| `硬性排除升级门槛` | 连续 5 家因同一客观条件被拒 | `纯占位待校准` | 这条宁可定高。**升级一条硬性排除 = 永久砍掉一块搜索面**,错误的代价是不对称的 |
| `渠道对比最小样本` | 每个渠道各 ≥ 10 条 | `默认建议值` | 两个渠道的条数差太多时(比如 30 比 5),⛔ **不许直接比回应率**——先说明样本不可比 |
| `定级阈值冷却期` | 改过一次后,2 个复盘周期内不再动 | `纯占位待校准` | 至少要长到「上一次改动的效果能被观察到」。你的平均回应周期是多久,冷却期就不该短于它 |
| `探路配额上限` | 占本轮总投递 ≤ 20% | `默认建议值` | 你能承受多大的下行?**这个数字问的是你的容错空间,不是市场** |
| `活跃分支上限` | 同时 2 条 | `默认建议值` | 超过 2 条,你会记不住每条在验证什么——那时配额还在,注意力已经没了 |
| `开分支登记门槛` | 同一信号累计 ≥ 3 次**独立事件** | `纯占位待校准` | ⭐ **数的是独立事件数,不是 `discoveries.md` 的行数**(同一场 / 同一来源里互相印证的多条合并计 1,见 6.3「登记按行,计数按独立事件」)。⚠️ N3 / N4 这类天然低频的信号,3 次可能要好几个月——**所以 N4 单独有一个更低的门槛,见下一行**。要对别的信号类型另设门槛也行,但**必须写下来** |
| ⭐ `N4开分支门槛` | **2 次独立事件,且跨 ≥ 2 场不同的面试 / 对话** | `纯占位待校准` | ⚠️ 这个 2 是编的。**它为什么单独存在**:N4 的最小可见量级是"1 场就能登记",而通用门槛是 3 次——只面过 2 场的人**在结构上永远开不了这条线**,还会以为是自己没做对。定成 2 次 + 跨 2 场,是让它在**第 2 场面试之后就有可能开起来**,同时用"跨 2 场"挡住"一场面试里说了三件事就开分支"。<br>⭐ **说实话的部分**:即便按这个门槛,**这条线通常也要 3-5 场面试才真的开得起来**——因为不是每场都会跑题跑出东西。**在此之前 N4 停在登记态是正常的,不是你做错了什么。**<br>⛔ 不许为了"让它动起来"临场把门槛降到 1 次——1 次独立事件就开分支,等于把零门槛登记直接当成了证据 |
| `分支默认截止期` | 开启后 4 周或 3 个复盘周期,以先到者为准 | `默认建议值` | 不短于你的平均回应周期 × 2。**短于这个数,你关掉的是等待时间,不是分支** |
| `N1语料门槛` | 约 150-200 条岗位语料,跨 ≥ 2 批次 | `纯占位待校准` | 看你**每批采多少**:至少要两批才能谈「变化」 |
| `N1独立来源门槛` | ≥ 3 个**互相独立**的来源 | `纯占位待校准` | ⚠️ 这个 3 是编的。它防的是伪扩散——同一个来源换几个岗位名重复投放。你的语料里转述来源占比越高,这个数就该定得越高。⭐ **同一条口径同时用于 N6 与 N3**:N3 的"≥ 3 条才看得出形态"数的也是**独立来源数**(同一个中间人来三次 = 1 个来源),见 6.3「为什么 N3 也要这条口径」 |
| `N2理由门槛` | ≥ 30 条带明确理由的拒绝 | `纯占位待校准` | 注意是**带明确理由**的条数。你的明确理由型占比越低,需要的总回应数越大 |
| `N5同线门槛` | 同一条线 ≥ 15 条岗位 | `纯占位待校准` | 要够多才能分清「这条线够不着」和「这几家刚好都要求这个」 |
⛔ **凡是你在报告里用到的数字,都要标它是这三种里的哪一种,或标 `你给的`。**
> **一个没标来源的阈值和一个编的阈值无法区分。** 本模块目前**没有一个阈值是 `实践校准` 级**——全部是 `默认建议值` 或 `纯占位待校准`。**标出来不是弱点,是让你知道哪些数字该先动。**
---
## 6.5 输出物
### 1. 周期性分析报告
模板见 [`templates/周期性分析报告.md`](templates/周期性分析报告.md)。仅探索填摘要与主动机会部分即可;有历史材料的复盘部分才适用以下要求,不适用的项注明缺什么证据,不强凑决策:
- **收敛环与发散环分两节写**,⛔ 不许合并成一份「本轮总结」
- **每节至少产出一个决策**(收敛环的 ⑤「什么都不改」算一个决策,且必须写成有主语的结论)
- **发散环那一节要逐行输出 N1-N6,包括「本轮不可判」的行**
- 报告开头是**样本体检**,不是结论。⭐ **样本体检之外还要有一张「字段体检」** —— 两者性质不同,⛔ 不许合并(见 6.3「空栏必须分成两种」)
- ⭐ **每一处「不可判」都要标是 `⚠️ 量不够` 还是 `⛔ 字段没记`**;后者要写全三件事(永久不可判 / 从现在开始记什么 / 过去别回头补)
- ⭐ **回应分层里平台状态型单列旁栏**,⛔ 不计入「有回应」数(见 6.1)
- ⭐ **收尾三节缺一不可**:`下一轮要补的输入`(补量)· `下一轮的执行改进项`(该问没问 / 该追没追)· `回溯提示`(当时该做而没做的动作)—— 见下面两小节
#### ⭐ 「该问没问 / 该追没追」有自己的出口 —— ⛔ 不进 `discoveries.md`
**这一整类信息以前只有登记簿一个落点,而登记簿只通向「开分支」。** 于是它进去之后出不来:它永远凑不出独立事件数,也永远写不出证伪判据 —— ⭐ **因为它根本不是一个待验证的方向,它是一件下一轮该换个做法的事。**
典型形状:面试里那条本该追问的没追(「谁对最终用户的验收负责」)· 对方主动来找的时候没问清是哪条业务线 · 拿到明确理由的那几条没顺手问一句"最看重的硬要求是什么"。
> **出口:报告的「下一轮的执行改进项」一节**(模板 §5.2)。**它是执行改进项,不是发散信号。**
- ✅ 每条写成**下一轮的一个动作**:「下一轮面试收尾前,把红旗绿旗那一栏标了『未验证』的条目逐条问一遍」
- ⛔ **不许登记进 `discoveries.md`。** 登记簿装的是"还没想明白但值得记着的**外部信号**";⭐ **"我该问没问"不是外部信号,是我自己的执行动作** —— 混进去会把登记簿稀释成一份待办清单,而登记簿最不该被稀释
- ⚠️ **这是 L2 兜底规则的一个明确例外**:L2 说"归不了类的默认进 `discoveries.md`",但这一类**不是归不了类,是有归宿**。⛔ 不许用兜底把它扫进登记簿
- ⛔ **也不进 `branches.md`**:它不需要配额,也写不出证伪判据 —— 它不是一次试验
#### ⭐ 回溯提示:台账里有没有「当时该做而没做」的动作
**每轮复盘做一次,写进报告 §5.3。** 扫一遍台账与面试记录,找**上游模块本该跑、而当时没跑**的地方。至少查这几条:
- 收到过 offer,但**从没做过横向对比**
- 面完了,但**没有当天的复盘记录**(那一场的溢出栏、红旗绿旗实测结果因此全部丢了)
- 有过明确理由型拒绝,但**那句原话没被抄进台账**
- 有过对方主动来找,但**没标反向吸引**
⭐ **目的不是让用户后悔。** 已经过期的机会**追不回来**,说它只会让人难受,且不改变任何事。⛔ **所以措辞一律落在「下次这类事发生时提醒我」上**,不落在「你当时应该……」上。
**照这个形状写**:
> **回溯提示(不是追责)**:台账里有 2 条在三个月前进到过 offer 阶段,**没有对应的对比记录**。那两个机会现在已经过期,⛔ **补不回来,也不必去补**。
> ✅ **下一轮的动作**:⭐ **下次台账里任何一条走到 offer 阶段,当天提醒我先跑一次对比再答复**;同理,任何一条走到面试阶段,当天提醒我留一份复盘记录。
⚠️ **这一节的产出是「下次的触发条件」,不是「这次的检讨」。** ⛔ 写不出触发条件的那一条,就别写进来。
### 2. `discoveries.md` —— 异常登记簿
模板见 [`templates/discoveries.md`](templates/discoveries.md)。字段契约见 [`../../docs/module-contracts.md`](../../docs/module-contracts.md) §9。
- ⭐ **登记零门槛**(完整论证见 §6.0「两环唯一的接口」,此处不重复):一次性的、看起来像噪声的,照登不误
- ⭐ **一条一行,不合并同类**;「累计出现次数」栏记的是**独立事件数**(同一场 / 同一来源里互相印证的多条合并计 1),由你在复盘时统计回填。**这两句不冲突,是两个口径**——见 6.3「登记按行,计数按独立事件」
- ⭐ **原始证据用原话,不概括。** 概括会把「他们说想找做过某类交付的人」压成「方向不匹配」——而前者能指向一个具体的新类目,后者什么也指不出来
- 已升级为分支的条目**不删行**,改状态
### 3. `branches.md` —— 探路分支
模板见 [`templates/branches.md`](templates/branches.md)。字段契约见 [`../../docs/module-contracts.md`](../../docs/module-contracts.md) §10。
- **证伪判据与截止日期是必填**,不是可选
- 关闭的分支**不删行**,写关闭依据
- ⚠️ 这是全仓唯一一条「发散环 → 执行层」的耦合:定级模块对探路分支下的岗位走**一套更宽的阈值**,否则新方向的岗位永远过不了为老方向标定的门槛,发散环等于白开
### 4. 对 `positioning.md` 与材料讲法的修订建议
**只给建议,不直接改。** 定位文件里的「必要条件」和「硬性排除条件」两栏**必须用户本人写**——agent 推断出的定位会让下游所有结论建立在一个用户没同意过的前提上,而且很难被发现,因为它写得很像用户自己会说的话。
---
## 6.6 方法论血统
**这四条不是本模块发明的,是直接引用。** 每条对应一个具体机制:
| 出处 | 它说什么 | 在这里具体对应哪个机制 |
|---|---|---|
| **《Why Greatness Cannot Be Planned》** —— novelty search / stepping stones | 目标越明确,越容易到不了它——因为「离目标更近」这个筛选标准会砍掉所有通往它的踏脚石 | ⭐ **发散环存在的理由本身**,以及「登记不设门槛」这一条。收敛环就是那个「离目标更近」的筛选器;如果只有它,所有踏脚石都会被当噪声滤掉 |
| **《Traction》** —— bullseye 外环并行小样本测试 | 你以为最好的渠道通常不是最好的;正确做法是对外环渠道做**小样本并行测试**,而不是先想清楚 | **配额制**(6.3 纪律 1):主线保守 + 一小部分高方差,以及「渠道对比最小样本」这一条 |
| **《Obviously Awesome》** —— market frame 重选 | 同一个产品换一个参照系,就从「功能缺一块」变成「品类里最好的」——**改的是参照系,不是产品** | **N2 错配信号 → 决策 ②「重选参照系」**。同一段经历在另一个类目里是优势而不是缺口。⭐ **这是为什么 N2 属于发散环而不是收敛环** |
| **《Antifragile》** —— barbell / 有限下行 | 大部分资源放在极保守的一侧,一小部分放在下行有限、上行不封顶的一侧 | **三条防失控纪律的整体形状**:配额上限管住下行,证伪判据 + 截止期保证「小成本试错」是真的小成本,而不是一个慢慢变大的坑 |
⛔ **不要在这里重新发明一套理论。** 这四条已经足够解释本模块的每一条纪律,再加只会稀释。
---
## 来源标注
⭐ **报告里的每一条结论、每一个取值,都要标成下面三种之一。**
| 标注 | 意思 | 能不能支撑一个决策 |
|---|---|---|
| `你给的` | 用户直接告诉你的,或来自台账 / 面试复盘里的**原话** | ✅ |
| `公开可查` | 你现场查到的(岗位语料里的公开文本、公开的岗位要求),**必须附来源与查询日期** | ✅ |
| `我推测的` | 你按常识、按行业惯例、按「一般来说」补的——**包括你对拒绝原因的推断** | ⛔ **不能。** 只能进「要证实它,你该问谁 / 查什么」 |
**`我推测的` 的每一条,必须附一句「要证实它,你该问谁 / 查什么」**,写成一个能直接问出口的问题。
> **为什么这条必须硬**:这类分析最典型的失败模式,是把「对方为什么拒绝我」这件**你根本不知道的事**,补成一个听起来很合理的原因,然后基于它改定位。
> ⚠️ **「对方没说理由」和「对方的理由是我猜的那个」之间的差距,正是这整个模块的全部价值所在。** 一旦允许推测项支撑决策,报告就退化成一份读起来很顺、但每一条都可能是编的东西。
---
## 不对劲的时候
| 症状 | 最可能的原因 | 你下一句该说什么 |
|---|---|---|
| ⭐ **每轮都给出一堆改进建议** | 没有样本门槛,或门槛设得太低。**一个对任何数据都能给出改进建议的框架,和一个坏掉的框架无法区分** | 「先告诉我这一轮一共投了多少条、其中多少条有回应、多少条带明确理由。**整体样本不足时停止整体归因及②/④,另核对①/③的独立门槛**;未触发的项写「本轮不改」及差多少。」 |
| ⭐ **发散环栏目全是空的** | 多半是量级不够,**不是没有信号**。N1 / N2 / N6 需要更大的样本才看得出来 | 「这几类信号需要更大的样本才看得出来。**先只看反向吸引和溢出这两类**,其余的逐行写明「本轮不可判 + 差多少 + 这不代表不存在」。」 |
| **它把「不太合适」这类回应解读成了具体原因** | 模糊拒绝型被当成了明确理由型 | 「把回应按明确理由 / 模糊 / 强正向 / 无回应重新分四层,**模糊拒绝型只计入总量,不许拿来解释任何事**。」 |
| **它建议改定位,但依据只有一两次拒绝** | 收敛环的决策 ② 被单次事件触发;或者它把主观评价当成了客观条件 | 「② 只在**连续多家因同一个客观不可变条件被拒**时才成立。这几条是客观条件还是主观评价?逐条标出来,主观的**永不升级为规则**。」 |
| **分支开了一堆,或者某条分支已经跑了很久还在** | 配额与截止期没生效,或者当初就没写证伪判据 | 「把 `branches.md` 里每条的**证伪判据和截止日期**列出来。缺任一项的当场补上,补不出来的就关掉——**没有关闭条件的分支是无限期的资源漏洞**。」 |
| **它把一次反向吸引直接变成了新方向** | 登记与开分支这两步被合并了 | 「登记归登记。**开分支要过它自己的门槛,而且我得写得出证伪判据。** 现在只登记进 `discoveries.md`,别动定位。」 |
| ⭐ **三条反向吸引全是同一个中间人推来的,却被当成"形态"** | N3 数的是**条数**而不是**独立来源数**——伪扩散换了个场景 | 「这三条各自来自谁?**同一个中间人 / 同一家公司来的合并计 1 个来源。** 合并之后还剩几个独立来源?不足 3 个就写「形态本轮不可判」,⭐ **但照样登记**,并注明「来源不独立」。」 |
| ⭐ **一场面试的 4 条溢出被数成了 4 次,正好够开分支** | 计数用了**登记行数**,而不是**独立事件数** | 「登记按行没错(4 行都留着)。但**计数按独立事件合并**:这 4 条是不是同一场里互相印证的同一件事?是 → **计 1 次**。指向完全不同方向的才分开计。⛔ 一次观察不能凑出门槛。」 |
| ⭐ **报告里一堆「不可判」,用户照做又攒了三个月,空栏一格没变** | 「量不够」和「字段没记」被压成了同一种空栏 —— 而后者**再攒也不会有** | 「把每一条不可判标成两种之一:`⚠️ 量不够 · 差 X` 还是 `⛔ 字段没记 · 永久`。**字段没记的那几条写清三件事**:永久不可判 / 从现在开始记什么 / ⛔ 过去那部分别回头补。」 |
| ⭐ **某个信号写着「本轮不可判」,同一份报告里它又够了开分支门槛** | 两条门槛给出相反答案,谁优先没写 | 「**最小可见量级优先。** 可见量级不过 → 开分支门槛本轮不评估,把这句话写出来。⛔ 不许拿"次数够了"越过它 —— 登记零门槛,次数在量级不足时本来就能被噪声凑出来。」 |
| ⭐ **整轮样本不达标走了 ⑤,可某一条明明已经过了自己的门槛,也被一起压掉了** | 只写了「逐条过门槛才触发」,没写「整轮不达标时已过门槛的那条怎么办」 | 「那一条**照样输出**,带标注「本轮整体样本不足,这条是单点触发,谨慎采纳」。⛔ 例外是决策 ②(改定位 / 加硬性排除)与 ④(改定级阈值)—— 代价不可逆,整轮不达标时并入 ⑤,**但要把"它已过门槛"这句话写出来**。」 |
| ⭐ **「已读不回」「简历未通过」被临场归进了某一层,样本刚好因此达标** | 平台状态在四层里没有归宿,执行者只能临场判一个 | 「平台状态**单列旁栏**,⛔ 不计入 `本轮最小样本` 的「有回应」数 —— 它分不出任何理由档,用它凑够门槛只会得到"体检说够了、收敛环没米下锅"。它唯一的用途是证明**对方看到了**。」 |
| ⭐ **「这条我当时该问没问」被登记进了 `discoveries.md`,然后再也没动过** | 这类信息只有登记簿一个落点,而登记簿只通向「开分支」 | 「把它移到报告的**「下一轮的执行改进项」**一节,写成一个下一轮的动作。⛔ 它不是发散信号,也写不出证伪判据 —— **它是我自己的执行动作,不是外部信号**。」 |
---
## 三级自救阶梯
> **不许一出问题就让人接管。** 先自救两级,第三级才回报人,且回报必须带建议动作。
| 级 | 什么时候到这一级 | 你该做什么 | ⛔ 不该做什么 |
|---|---|---|---|
| **L1 有现成的,直接走** | 本文件里有明确规则命中(样本门槛判定、四层回应分层 **+ 平台状态型旁栏**、N1-N6 归类、五类决策、**两条门槛冲突时谁优先**、**空栏是量不够还是字段没记**、**整轮不达标时已过门槛那条怎么办**、来源标注、输出格式) | 按规则执行,**不问**。已有规则能裁决的,自己裁决 | ⛔ 不为「确认一下」打断用户。「模糊拒绝要不要算进理由分层」「已读不回算不算有回应」这类问题本文件已经写死了,别再问 |
| **L2 没现成的,尽力走通 + ⭐ 沉淀** | 用户的记录是散的(聊天记录转述、回忆、语音转文字)/ 某条回应不知道归哪一层 / 某个信号跨在两类之间 | ① 自己把散记录整理成 `ledger.md`,**不要求用户先填模板** ② 归不了类的信号**默认进 `discoveries.md`**(登记免费,错登记的成本远低于漏登记)。⚠️ **这条兜底有两个明确例外**:⛔ 「该问没问 / 该追没追」不进登记簿,它有自己的出口(报告 §5.2 执行改进项);⛔ 复盘卡 §4b「对方说了什么值得记的」也不进登记簿、也不归 N4,它回流的是**那家公司的疑点表**(见 6.1 输入二)。**两者都不是归不了类,是有归宿** ③ ⭐ **走通之后写回去**:新的分层判据写进报告的「口径」一节,新的参数标定写进你的参数表,下次直接回 L1 | ⛔ 不把「这次绕过去了」只留在对话里。没沉淀 = 下次还得再试一遍 = 等于没走通。⛔ 不因为归不了类就丢掉一条信号;⛔ 也不因为有兜底就把「该问没问」扫进登记簿 |
| **L3 实在不行,才回报人** | L2 也走不通 / 只有用户本人才有的事实(他愿不愿意试这条新方向、他的容错空间多大、那次跑题他自己是不是真的兴奋)/ 要动 `positioning.md` 的必要条件与硬性排除条件 | 输出 **症状 + 已经试过什么 + 建议你做什么(给可选项)**。例:「有 3 条反向吸引都指向同一类岗位,但你从没投过(症状)。我按 N3 归类并登记了 3 次,够 `开分支登记门槛`(已试)。**建议你做**:要么写一条证伪判据把它开成探路分支,要么明确说不感兴趣、我把它标成已忽略——**两种都行,但别让它一直挂着**。」 | ⛔ 不输出裸错误;⛔ 不说「请提供更多信息」这种没有指向的话;⛔ 不替用户改 `positioning.md` 的必要条件 |
---
## 变更日志
- **v0.1.5**(依据本轮 **T-H2 区分度固件**的修订,来源:`fixtures/06-positioning/` 本轮新增的 7 对双向断言固件;只有下面这一条是被固件真的推翻的判据,其余 6 对首跑即有区分力):
- ⭐ **写死「复盘卡 §4b 不是 N4 的采集点」**(§6.1 输入二 + L2 兜底例外各补一处,正文已生效)。**为什么改**:固件 `H2-N4三类归宿.{hit,miss}.md` 两份只差"这三条落在上游复盘卡的哪一栏"。首跑时 hit 正确归 N4,**miss 却也被登记进了 `discoveries.md`**——因为本文件里**没有任何一句话**把 `04-interview` §4b「对方说了什么值得记的」排除在外,而 L2 兜底写着"归不了类的信号默认进 `discoveries.md`",于是它被兜底扫了进来。⛔ 这与 `04-interview` §7.3 明写的「**回流疑点表,不是方向优化的发散侧**」直接冲突。
- ⚠️ **性质是跨文件缺口,不是本模块判错**:上游把归宿写清楚了,下游没有对应的一句"我不收它"。**代价是双向的**:登记簿被一批本该回流疑点表的公司事实稀释,而那家公司的疑点表一条都没更新——对方主动给的那件事等于没给。
- 仅改判据表述与兜底例外,未动 `discoveries.md` / `branches.md` 契约(§9 / §10 最小字段不变)→ **patch**。
- **v0.1.4**(来自一次**合成回溯测试**:8 个案例,框架在**不看真值**的情况下跑完,只看它自己产出的报告里哪些格填不出来 / 填得自相矛盾):
- ⭐ **P0 · 空栏拆成两种:「量不够」与「字段没记」**(3 个案例复现)。原文只有「差多少」一栏,于是**两种性质完全相反的空栏被压成了同一个样子**:前者再攒攒就有,后者**攒到天荒地老也不会有**。新增 6.3「空栏必须分成两种」:五个属于后者的字段(渠道 / 用的是哪一版材料 / 级别 / 这条岗位是怎么进来的 / JD 里有没有写学历门槛)+ 一条判据(**这个字段是不是只能在当下记**)+ **必须输出的三件事**(永久不可判 / 从现在开始记什么 / ⛔ 过去别回头补)。⛔ 明写:**「再攒攒」这句安慰对第二类是错的建议。** 报告模板同步拆栏 + 新增「字段体检」表。
- ⭐ **P0 · 两条门槛冲突写死优先级**(case-05):某信号「最小可见量级」说不可判、「开分支门槛」说够了。**最小可见量级优先** —— 前者管"这类信号现在看不看得出来",后者管"看出来之后要不要行动",**前者不过,后者根本不该被评估**。
- ⭐ **P0 · 补上「门槛是逐条的」的反方向**(case-05):整轮样本体检不达标走 ⑤ 时,**已单独过了门槛的那一条仍然输出**,带标注「本轮整体样本不足,这条是单点触发,谨慎采纳」。理由:那条门槛的分母不是本轮投递总数,**一起压掉等于让样本量惩罚一条本来有证据的结论**,而且压掉之后它不会在下一轮自动重现。⛔ 例外:决策 ②(永久砍搜索面)与 ④(让上一轮数据不可比)代价不可逆,整轮不达标时并入 ⑤,**但必须把"它已过门槛"写出来**。
- **P1 · 平台状态型(「已读不回」「简历未通过」)在四层分层里有归宿了**:⛔ 不是第五层 —— 四层分的是"对方的话里有多少可判定信息",而平台状态**里没有对方的话**,所以它是**并排的旁栏**。⭐ **单列计数,不计入 `本轮最小样本` 的「有回应」数**(它分不出任何理由档,用它凑门槛会得到"体检说够了、收敛环没米下锅")。唯一用途:**证伪"无回应多半是没被看到"**。原文把这个决定性分叉留给了临场判断。
- **P1 · 「该问没问 / 该追没追」有了自己的出口**:它不是发散信号,⛔ **不进 `discoveries.md`**(登记簿只通向"开分支",它进去就出不来),落在报告 §5.2「下一轮的执行改进项」。同时在 L2 兜底规则上开了这一个明确例外。
- **P1 · 补「不能联网时退化成什么」**(口径与 `03-company-analysis` 一致):主链路不依赖联网;变的是 `公开可查` 整档不可用 / 报告顶部写一行 / **来源独立性核对退化成保守口径(判不出就合并计 1)** / 决策 ② 的旁证拿不到。
- **P1 · 周期复盘加「回溯提示」**(case-05:用户三个月前本该跑 offer 模块,两个机会已经过期,框架没有任何机制指出这一点):扫台账找"当时该做而没做"的动作。⭐ **目的不是让用户后悔** —— 措辞一律落在「下次这类事发生时提醒我」上。
- 未动 `discoveries.md` / `branches.md` 契约(§9 / §10 最小字段不变)→ **patch**。
- **v0.1.3**(来自一次**跨文件一致性审计**:只看同一件事在不同文件里说得一不一致):
- ⭐ **`discoveries.md` / `branches.md` 的模板本体收敛到本模块**,`00-workspace/templates/` 下的两份副本删除、改为索引。两份副本**已沿相反方向漂移**(那边"合并会让「累计出现」失真"暗示累计 = 行数,这边"登记按行、计数按独立事件"),而 `00-workspace` 是仓库自己指定的入口 —— **照入口建工作区的人拿到的正好是被本模块推翻的那一版**。副本里的「每个字段为什么要它」表已搬进本模块两个模板;多出的 `触发它的登记` / `学到了什么` 两字段无下游消费者,删除(追溯指针只存在 `discoveries.md` 的「是否已升级为分支」一侧)。**契约 §9 / §10 未动。**
- ⭐ **`N` 前缀警告改指真正的碰撞**:不是 `D`,是 `N` —— 必要条件 `N1`-`N3`(定级 / offer / 面试一页纸)与发散信号 `N1`-`N6` 同号不同义。要求报告里一律写全称。
- ⭐ **N3 门槛等级 `默认建议值` → `纯占位待校准`**:它用的 3 就是 `N1独立来源门槛`(`纯占位待校准`,注释写着"这个 3 是编的")。**最被依赖的门槛不能标得比它的来源硬。**
- **两处降级补上具体动作**(缺面试复盘 / 缺 `positioning.md`),口径与 `04-interview` 缺上游时一致。
- **发散环决策 ⑤ 补模板句**(与收敛环 ⑤ 同构);「登记零门槛」的完整论证收成 §6.0 一处 + 两处索引;一处自我版本引用 `v0.1.1` 改成"本模块目前"。
- 未动契约 → **patch**。
- **v0.1.2**(来自一次**端到端实跑测试**:测试者在空白工作区里只拿仓库文件跑完主链路):
- ⭐ **N4 从 1 类扩成 3 类**,与上游复盘卡的溢出栏对齐(① 你讲得比对方还兴奋的话题 ② 对方无意透露的行业信息 ③ 可复用的线索)。原文 N4 只定义了第 1 类,**「行业信息」与「可复用线索」在 N1-N6 里无归宿**——而决策 ④(升级为非求职产出)举的例子恰恰是"一份行业情报"。
- ⭐ **写死「登记按行,计数按独立事件」** —— `discoveries.md` 要求"一条一行不合并",而开分支门槛是"累计 ≥ 3 次",一场面试产出 4 条互相印证的溢出时**登记 4 行、计数算几次**原文没写。现在:登记按行(零门槛、不合并),计数按独立事件合并(同一场 / 同一来源里互相印证的多条计 1 次)。理由与 N1 的来源独立性同源:**数的是独立的观察,不是条数。**
- ⭐ **新增 `N4开分支门槛`**(2 次独立事件且跨 ≥ 2 场,`纯占位待校准`)。原文 N4 的最小可见量级是"1 场",而通用开分支门槛是"累计 ≥ 3 次",**只面过 2 场的人在结构上永远开不了这条线**;SKILL 说"可以对不同信号设不同门槛"却没给 N4 默认值。同时明说:**即便如此,这条线通常也要 3-5 场面试才真开得起来——在此之前停在登记态是正常的,不是你没做对。**
- ⭐ **来源独立性口径补到 N3**。v0.1.1 只给了 N1 / N6,但**同一个中间人来两次,在 N3 上是一模一样的伪扩散**;而 N3 是新用户第一周唯一看得出的两类信号之一——**在最容易被看到的信号上没有这个口径,风险比 N1 更大**。
- **「开跑前」的最小可接受形态补一行「你会拿到 X,但拿不到 Y」**:10-20 条够跑完一轮拿到一份诚实的报告,⛔ **不够产出收敛环的任何一条实质决策**(`本轮最小样本` 是 ≥ 20 条投递且 ≥ 8 条有回应)。
- 仅改判据表述与参数表,未动模块结构与 `discoveries.md` / `branches.md` 契约 → **patch**。
- **v0.1.1**:⭐ 给 N1 / N6 补上**来源独立性**口径 —— 计入扩散的是**互相独立的来源数**,同一来源来的多条合并计 1;新增 §6.3 小节「什么叫扩散」与参数 `N1独立来源门槛`。原文里"扩散到多城多类公司"只写在**定义栏**,没有任何可执行的计数口径,可执行的那部分(最小可见量级)只数条数与批次,于是**真扩散与伪扩散得到完全相同的判定**。来源:`fixtures/06-positioning/H2-伪扩散-来源独立性.{hit,miss}.md`(首跑 hit / miss **同时触发**,该规则无区分力)。
- **v0.1.0**(首发):确立双环结构与「为什么不能合并」这条设计判断;三条输入(补上数据量最大的投递漏斗信号,含四层回应分层);收敛环五类决策,第 ⑤ 类「什么都不改」定为必须显式输出的默认出口;发散环 N1-N6 六类信号,每类标注**最小可见量级**并要求量不够时显式输出「看不出来不等于不存在」;三条防失控纪律(配额 / 证伪判据 + 截止期 / 成本上限);全部阈值参数化 + 三档来源等级;补齐三段式区块与三级自救阶梯。
## 2026-09-13 修订
修正最小输入一律拒判与单点修订规则的冲突,未改变阈值。回归材料见 [定向回归](../../fixtures/research-regression-2026-09-13.md)。
本次真人反馈修订:周期复盘同时主动找符合用户画像的机会,无台账也能研究;复盘样本门槛不阻挡发现,调度未启用则仅记录建议日期和触发语。反例见 [主动机会与复盘节奏](../../fixtures/06-positioning/主动机会与复盘节奏.md)。
Files in this skill
- README.md
- SKILL.md
- templates/branches.md
- templates/discoveries.md
- templates/主动机会探索卡.md
- templates/周期性分析报告.md
Attribution
Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.