# 课题组逐院系 · 完备性重做 · 邦德大学(Bond University)· `bond.edu.au` 前一轮 19 条。 · Manager 2026-09-23 ## 0. 为什么全部重做(实测数据) 用户裁定:**所有学校都要补一遍。** **依据**:5 所已按完备性重做的学校,数字对比 —— | 学校 | 重做前 | 重做后 | 倍数 | |---|---|---|---| | 爱丁堡 | 22 | **643** | **29×** | | 曼彻斯特 | 未开始 | **268**(32 院系) | — | | 伯明翰 | 32 | **258**(未取页=0) | **8×** | | 圣安德鲁斯 | 34 | **178** | 5× | | 西澳 | 0 | **154**(组/系 7.0) | — | **⇒ "逐院系枚举不全"是系统性的,不是个别学校。没重做的数都不可信。** **先读**:`/Users/jun/Codes/prodream/.worklogs/groups-dept/` 下 `REPORT.md`(布里斯托切片)· `finding_edinburgh_v2.md`(**完备性标杆,照它的做法**)。 --- ## 1. 本波只做这一所:**邦德大学(Bond University)· `bond.edu.au` 前一轮 19 条。** --- ## 2. 完备性门槛(**硬门槛,不是"尽量"**) ### 2.1 必交台账(**缺一行就是没做完**) | 院系(该校**全部**) | research 入口 URL | 状态 | 组数 | |---|---|---|---| | … | … | `取到` / `取不到:<原因>` | N | - 院系清单 = 该校**全部**(从官方 faculties/schools/departments 导航 + Sub-units A-Z 拿) - **给出枚举来源 URL 与总数** - **`未取页 = 0`**:要么取到,要么有"取不到"的证据(404 / 重定向 / 空壳 / 反爬) ### 2.2 子域 / 外站**必须跟** 爱丁堡实测跟了 **117 个子域 + 39 个外站** —— 不跟就整块漏。 **给出你找到并跟过的子域/外站清单。** ### 2.3 合理性校验 `组数 ÷ 枚举到的院系数`。基准:伦敦布里斯托 ≈5.8 / 爱丁堡 ≈25.7(**因校而异,不比大小,只看是否荒谬地低**)。 **比值明显偏低 ⇒ 往下挖一层**:该校院系是不是把研究组织成 theme/centre(大一级,不收), 而底下挂着更细的**具名组**(尤其留意 **"each led by a Principal Investigator"** 这类 PI-group 目录 —— 爱丁堡漏掉的就是四个 PI 目录,其中一个就有 140 条)。 **确认"再下一层没有组"必须贴原文结构作证。** --- ## 3. ⚡ 效率:**启发式自动抽 + 抽样核 30 条**(用户明确要求,不要迂腐) 用户原话: > 「不需要你六百多条逐页核实呀…**你随便抽样一小部分,确认它是 OK 的,那就可以用了呗**。 > **你肯定要去找这种最高效的方式啊。启发式的方式。**」 ### 第一步:启发式自动抽(**全量,不逐页判**) 机械判据批抽:有独立页面 + 页面里有**具名的人**(title 含 Prof/Dr 或 person 链接) + **有方向文字块** + 名字不是「索引页/课程/项目/学生群体/讲座系列」。 自述含 `federation` / `N academics` / 校级研究所 ⇒ 标 `big`;**标 `big` 页面里点名的内层组再收一层**。 ### 第二步:**随机抽 30 条**逐条开页面核(**这是质量证据**) 给:**准确率** · 假的那几条**属于哪一类**(附页面原文)· 该类型**能否定点修掉** ### 第三步:二选一 - 准确率 **≥90% 且假阳性类型集中** ⇒ **定点修那一类,全量直接用**。抽样 30 条写进报告当证据。 **不要再逐页核。** - 假阳性散、类型不集中 ⇒ 才扩大抽样 **省下的时间全部用来把院系覆盖做全 —— 那才是真正的缺口。** --- ## 4. 判据(不变) > **打开页面像人一样看:这是不是一个「导师带的做研究的团队」?** > **粒度上限 = 一个导师能带的规模。** 大一级(institute/theme/cluster/校级研究所)**不收**; > **但大一级下面挂着真组时,只收内层组。** **不是组**:服务设施 · 研讨会系列 · 项目 · 学生培养计划 · 单项研究 · 空页重定向 · 无负责人的方向页。 **共性是页面上有一句「非团队自述」——你去看那句话。** ### 五字段 | # | 字段 | 取法 | |---|---|---| | 1 | 课题组名称 | 该组**自己页面**的 H1 | | 2 | 所在大学及研究中心 | 大学 + **真实上级研究单位**;⚠️ 上级是系/院/学部的**不许当研究中心写**,没有真上级就**只写大学** | | 3 | 研究方向 | 该组页上的方向文字。**没有 ⇒ 不要** | | 4 | 联系邮箱 | 只接受**本组页 / 本组负责人页**的邮箱 | | 5 | 最近五年论文数 | 一律 null | --- ## 5. ⚠️ 并行安全(前面出过事故) 上一波 5 个 worker **挤在同一个 Space 的同一个 page 上**,297 页里出现**跨校串页**,整批作废。 **你必须**: 1. **自己新建一个 TaskSpace**(不要复用别人已有的) 2. **每个 URL 用独占的新 page**(`newPage()`),**不要共用 p1** 3. **每取一页后校验 `page.url()` 与目标一致**;不一致 ⇒ 该页作废重取 4. 成功时收尾调一次 `await task.finish({ keep: [] })`;**因错误停止就别调**,把 `spaceId` 报上来 --- ## 6. 交付 1. **完备性台账**(全部院系)+ 枚举来源 URL 与院系数 2. **子域/外站清单** 3. **全量候选产物**(五字段,启发式抽的) 4. **抽样 30 条逐条判定表** + **准确率** + **假阳性类型与定点修法** 5. **反例 / 判不准 / 未验清单**(附页面原文) 6. 一句话:**最终组数?完备性有没有缺口?** 产物写到 `.worklogs/groups-dept/`,按 school-slug 命名(加 `_v2` 后缀避免覆盖旧的)。 --- ## 7. 硬要求 1. **只读**:只写产物到 `.worklogs/groups-dept/`。不写索引、不改业务代码、不动数据。 2. **不设时间盒,做完整为止。** 但**每做完一个院系报一次 `status`**(三句话)。 3. **判据来自页面。你的眼睛比任何正则都准。** 4. **不许发明**:抓不到 ⇒ 写「未验」+ 卡点(URL、错误原文)。判不准的贴出来。 5. **只做这一所学校。** ## 8. 边界 - 不碰 prodream_backend、不碰 FE、不碰 `.worklogs/groups-rebuild/` 与 `groups-verify/`。