不是再做一个数据库,而是给数字医疗的信息源和R&D 实体写专家判语:这个源信不信、这条线押不押,并把它折成未来 1–2 年的双 MOA(Mixture-of-Agents / Mechanism-of-Action)视图。
想了解"数字医疗未来一两年往哪走",你会去查 MobiHealthNews、DiMe、npj Digital Medicine……但两个麻烦:
- 源本身良莠不齐 —— 有的是 Nature 系顶刊、有的是行业自媒体、有的是监管机构,可信度天差地别;
- 热度 ≠ 价值 —— 一家公司在 X/LinkedIn 上声量很大,不代表它的临床证据硬。
agentrndplan 用两层把这件事讲清楚,每条都以人签字的主观判语收尾:
- 源层(source) —— 这个信息源谁在办、覆盖什么、权威从哪来(引用/机构/临床/监管)vs 只是声量大?该不该信它。
- 实体层(entity) —— 一个公司/数字疗法/biomarker/FDA 项目,证据多硬、融资/监管到哪一步、被哪些源背书?值不值得押。
事实部分由 AI 整理;判语只能由专家(本仓:chenhao)写。产物是一个 GitHub 页面,给两类人看:① 非 AI/非领域人士科普查阅;② 跨领域的人快速画一张 1–2 年的数字医疗 MOA 草图。
源层 npj / Lancet DH / DiMe / DTA / FDA DHCoE / MobiHealthNews
│ backed_by 背书(实体回链到为它背书的源)
实体层 EndeavorRx ──► Lancet DH(RCT) + FDA DHCoE(De Novo) + MobiHealthNews(报道)
│ 汇总(只取签字的)
roadmap 双透镜:Mixture-of-Agents 草图 / Mechanism-of-Action 路线
聚合器回答"有哪些";agentrndplan 回答"信不信、押不押"。 差异化是专家判语层 + 跨层背书链,不是再聚合一次信息。实体引用了不存在的源,会被发布门禁机械挡下。
不同"热度"是几条不同的轴,schema 把它们显式分开,避免把声量当质量:
| 轴 | 含义 | schema 字段 |
|---|---|---|
| 声量 popularity | SEO/PageRank、X/LinkedIn/Reddit 声量,会被刷,≠好 | popularity(seo / social) |
| 权威 authority | 引用数、背书机构、临床参与、监管定位 | authority(citation_count / impact_factor / clinician_involvement / regulatory_standing) |
| 证据 evidence(实体) | RCT / 同行评审 / 真实世界,临床终点 | evidence.grade / evidence.endpoints |
医疗领域 popularity 是弱信号:真正决定可信度的是
authority(机构/临床/引用/监管)+ 临床真实度。社交平台分层用——X=launch/buzz、LinkedIn=临床/机构信号(指向真论文)、Reddit=从业者现实检验——三者都只作 leads,绝不当 authority。详见 docs/SOURCING.md。
实体层每条都填两个并列视角(只填事实字段,判断留给判语):
- 透镜 A · Mixture-of-Agents(给 AI 非领域人)——
capability_axes/modalities/access/ 在 MoA 里的agent_role。注:受监管的 SaMD/固定算法产品不是 model-selection 候选,只作"干预执行"等模块。 - 透镜 B · Mechanism-of-Action(给 biotech 人)——
therapeutic_area/mechanism/target_endpoint/maturity。
综合页 roadmap.html 把已签实体折成这两个透镜,只做事实编排,不做判断。
源层 sources(覆盖 4 个 genre):
| 源 | genre | 权威信号 | 状态 |
|---|---|---|---|
| npj Digital Medicine | journal | Springer Nature,2018,IF 15.1(2024),临床主编 | draft |
| The Lancet Digital Health | journal | Elsevier,2019,IF 23.8(2023) | draft |
| Digital Medicine Society (DiMe) | community | Library of Digital Endpoints / DATAcc / V3 框架 | draft |
| Digital Therapeutics Alliance (DTA) | community | DTx 定义与政策口径,17 国(被 ATA Action 收购) | draft |
| FDA Digital Health Center of Excellence | regulator | CDRH,SaMD/AI 设备政策,2026 TEMPO pilot | draft |
| MobiHealthNews | outlet | "publication of record",2008,归 HIMSS Media | draft |
实体层 entities:
| 实体 | type | 证据/监管 | 背书源 | 状态 |
|---|---|---|---|---|
| EndeavorRx (AKL-T01) | dtx-product | Lancet DH RCT + FDA De Novo(首个游戏化 DTx) | Lancet DH / FDA DHCoE / MobiHealthNews | draft |
找源/实体用**"genre × 来源"普查**,不靠名字搜(否则系统性漏掉监管文件、shared task、区域源)。检索法与待补缺口见 docs/SOURCING.md。
整个流程把人和 AI 的笔分开(详见 CLAUDE.md 的 Integrity rules):
- 草稿:AI 把
## Agent summary(先核实再写,纯事实)写好,## Expert verdict留空。 - 签字:专家在自己的编辑器里写
## Expert verdict判语,并填expert_verdictfrontmatter(signed_by/signed_date/confidence/one_liner)。- 这一步不是工具调用,所以
hooks/guard_verdict.py不拦你;但它会拦住 AI 代写判语区。
- 这一步不是工具调用,所以
- 发布:
check_publish.py只放行已签字条目进页面("草稿可提交,发布需签字")。
pip install pyyaml jsonschema # 仅校验/门禁用,无运行时框架
python3 bin/check_publish.py # 发布门禁:未签=拦截;实体悬空 backed_by=拦截
python3 bin/check_publish.py --schema-only # CI 硬门禁(schema + backed_by 跨层完整性)
python3 bin/render_site.py # 渲染:只出已签条目(CI 部署用)
python3 bin/render_site.py --include-drafts # 本地预览:含未签草稿(标 DRAFT,不显判语)
cd site && python3 -m http.server # 浏览器开 localhost:8000 看数据优先:schema 就是契约,渲染与工具都薄。
SKILL.md 本 repo 即 Skill;触发后教 agent 走整套工作流
schema/entry.schema.json 单文件 + kind 判别器(source / entity 共享块,if/then 切必填)
entries/sources/<id>.md 源层条目(genre / authority / popularity / coverage)
entries/entities/<id>.md 实体层条目(entity_type / backed_by / regulatory / evidence / 双 MOA)
entries/_TEMPLATE_*.md 起草模板(source / entity)
bin/check_publish.py 发布门禁 + backed_by 跨层完整性(--schema-only 为 CI 硬门禁)
bin/render_site.py 静态站点(两层 + 双 MOA roadmap;默认只渲染已签,--include-drafts 预览)
hooks/guard_verdict.py PreToolUse:禁止 AI 代写专家判语
hooks/validate_entry.py PostToolUse:写入即按 schema 校验(草稿放行)
docs/SOURCING.md 按"genre × 来源"普查的发现法 + 候选池
CLAUDE.md 决策、完整性规则、语言约定、hook 与门禁说明
本 repo 即一个 Claude Code Skill(开放 SKILL.md 格式)。安装:ln -s "$PWD" ~/.claude/skills/agentrndplan。触发后,它教 agent 走完整工作流:发现(genre×来源普查)→ 起草(先核实再写,源层或实体层,判语留空)→ 校验(schema + backed_by)→ 交专家签字 → 渲染/部署,并强制"AI 写事实、专家签判语"的边界。
- CLI / docs-as-data,不做 TUI:Skill 的交互界面是 agent 对话,TUI agent 驱动不了。若日后需要高频比对式人工评审,再在同一份数据上加一个轻量 TUI 视图。
- 单 schema + kind 判别器,而非两份文件:源/实体共享 ~60% 字段,单文件用
if/then切必填,避免两份 schema 漂移。 - 双 MOA 不进每条 entry 当观点:entry 只存选择相关的事实字段,两个透镜的判断留给
roadmap综合页与专家判语。