physics-problem-router

当使用者贴出一道物理题、一个实验现象、一份竞赛材料或一句"这个怎么解释",还没想好从哪一步下手时使用。先定三件事——问题类型(计算/建模/科研/开放现象)、目标产物(数值答案/可检验模型/机制解释)、卡在哪一步——再分流到下游物理 skill;专门检出"要的产物与问题类型不匹配"和"其实该先回去读题"两种走错门。不解题,不给答案,不替使用者选机制。

SKILL.md

GitHub

物理问题分流器 / Physics Problem Router

physics/ 的统一入口。它只做一件事:把"我有个物理问题"变成一张写清了类型、 目标产物和卡点的分流单,然后交给下游。

它不解题。分流器给出答案,等于在使用者还没弄清自己要什么之前就替他决定了要什么。

何时使用 / When to use

  • 手上有一道题、一段现象描述或一份竞赛材料,不确定该从哪儿开始
  • 已经卡了一阵,但说不清是卡在读题、卡在原理、卡在推导还是卡在数据
  • 一个问题同时像计算题又像开放题,不知道按哪种标准做
  • 要把一个大问题拆给几个下游 skill,需要先划分工

不适用于 / Not for:

  • 已经知道要做什么(比如明确要查量纲、要选参考系),直接用对应 skill
  • 数学建模竞赛的完整流程 —— 用 modeling-problem-reading-coach 起头
  • 要求给出答案、完整推导或可提交的解答 —— 本 skill 与整个 physics/ 都不做这件事

需要的输入 / Inputs

输入 必填 说明
问题原文或现象描述 是 原文优先。只有转述时,输出顶部标注"未与原始材料核对"
使用者已经做到哪一步 否 用来定位卡点;没有就在第三问里问
场景与时限 否 作业 / 考试复盘 / 竞赛准备 / 科研 / 纯好奇;影响边界与深度

三个判别问题 / The three discriminators

三个字段缺任何一个,都不要分流。 猜出来的分流会把整条链带偏。

问题一:答案唯一吗

两个水平相当的人各自独立做,会不会得到同一个数?

回答 类型 特征
会 封闭计算题 答案由题面条件唯一确定;缺的信息题面一定给了
不会,但能判断谁做得更好 建模题 答案依赖建模者的选择,选择本身需要论证
不会,也没人知道正确答案 科研问题 需要新证据
现象是确定的,但"为什么"有几种说法 开放现象题(IYPT 型) 要给机制排序,不是给一个数

问题二:什么算做完了

目标产物 完成的标志
数值答案 一个带单位、带有效数字、经得起量纲与极限检查的数
可检验模型 一组方程 + 假设清单 + 一个能证伪它的观测
机制解释 一份排了序的机制清单,每条带标度律和一个能分辨它的观测量
一个判断 例如"这个方案行不行";判据本身要先写出来

问题三:卡在哪一步

症状(使用者的原话) 缺的是
"题目太长,抓不住重点""条件好像不够" 干净的题面与子问题树
"不知道该用哪条定律""知道用能量守恒,但不确定这里能不能用" 原理与适用条件
"式子都列出来了,就是解不动" 一个更合适的表示或参考系
"为什么会这样,我说不出机制" 机制分解与量级排序
"推导每步都对,结果不对" 检错(量纲、极限、逐步核验)
"数据处理完不知道能不能信" 不确定度与拟合体检

分流表 / Routing

下游 skill 分两种状态:可用 与 计划中。下表各行都已建成,状态都是 可用。以后新加的下游在建成前标 计划中,状态栏写出暂时怎么做;标 计划中 的不要假装调用它。

卡点 去向 状态
题面太长 / 条件不清 / 材料是文献段落 competition-scenario-extractor 可用
不知道用哪条定律,或用了但说不出适用条件 problem-formalization-coach 可用
方程列得出但解不动;过程分不清阶段 problem-representation-scout 可用
参考系选得别扭;想知道换系后什么不变 reference-frame-choice-guide 可用
开放现象要排机制、给标度律 physics-mechanism-decomposer 可用
想知道一条公式从哪来,要从定义或守恒律把它重建出来 concept-to-formula-deriver 可用
推导中途就代了数字,看不出结果依赖哪些量、哪些量约掉了 symbolic-first-discipline-coach 可用
机制已经排好,要给每个机制配数值锚点、合成量级(机制还没排,先用 physics-mechanism-decomposer) fermi-estimation-coach 可用
有推导、方程或标度律,要先逐项查量纲 dimensional-analysis-checker 可用
有公式或模型结果,要查它在极限下讲不讲得通、能不能回到已知特例 limiting-case-validator 可用
手上有一份写好的推导,要逐步核验代数、量纲、符号,以及定律在该步是否仍适用 derivation-step-checker 可用
算完、估完、拟合完或模拟完拿到一个数,要决定信不信 answer-plausibility-checker 可用
测量量带不确定度,要给导出量的不确定度与预算 uncertainty-propagator 可用
已有观测与拟合,要判断拟合信不信(残差结构、拟合优度、影响点) model-fit-auditor 可用
实验数据可能藏着漂移、温度依赖、非线性、滞回等系统误差 dataset-systematic-error-hunter 可用
模拟跑出了结果,要判断是物理还是数值假象 numerical-stability-auditor 可用

跨类别的两个出口:

  • 问题其实是数学建模竞赛题(有数据、有评分规则、要交论文)→ modeling-problem-reading-coach
  • 问题其实是要把代码跑对 → modeling-code-builder

走错门的四种情形 / Mismatch detection

这是本 skill 唯一主动发现问题的地方。发现不匹配时,先说不匹配,再分流。

使用者要的 问题实际上是 症状 处理
一个精确数值 开放现象题 "水滴为什么会跳"却期待一个公式算出来的数 说明这类问题先给的是主导机制与量级;精确值需要哪几个未给出的参数,逐个列出
机制解释 封闭计算题 题面已给全部条件,却问"本质是什么" 指出条件已封闭。可以讲机制,但要说清这是理解而不是未解决的研究
可检验模型 定义问题 "怎么建模'舒适度'/'效率'" 先做操作化定义(用什么可测量代表它),这一步不是建模
任何答案 题面自相矛盾或缺关键量 单位对不上、给的量不足以确定未知数 不要用"合理假设"补。回 competition-scenario-extractor,把缺口列出来

第四种最重要:缺信息时补一个假设然后继续算,是这条链上代价最高的错误—— 后面每一步都在为一个没人确认过的前提服务。

分流前的两道闸 / Gates

闸一:学术诚信。 场景是正在进行的作业、考试或竞赛时,本 skill 及所有下游只提供 结构、检查项和判据,不提供答案、完整推导或可直接提交的内容。使用者说明是自学、 已交卷复盘或纯好奇时,讲解可以做深,但仍不代写以本人名义提交的内容。 详见 _shared/physics-evidence-contract.md 第 4 节。

闸二:先读题还是先分流。 出现下面任一项,先去 competition-scenario-extractor, 不要分流到更下游:

  • 题面里同一符号有两个含义,或同一个量出现两种单位
  • 未知数个数多于独立方程个数,且题面没有其他约束
  • 关键量只有"较小""足够快""理想"这类形容词,没有数值或判据
  • 材料是一整段文献 / 实验记录,还没被压成题面

输出格式 / Output

## 分流单

| 字段 | 判定 | 依据 |
|---|---|---|
| 问题类型 | 封闭计算 / 建模 / 科研 / 开放现象 | <用判别问题一的哪个回答> |
| 目标产物 | 数值答案 / 可检验模型 / 机制解释 / 一个判断 | <完成标志> |
| 卡点 | <一句话> | <使用者原话或从材料推出> |
| 场景 | 作业 / 复盘 / 竞赛 / 科研 / 好奇 | <影响哪条边界> |

## 匹配性检查
- <匹配,或指出哪一项对不上、为什么>

## 下一步
1. <skill 名>:<交给它做什么>,<预期拿回什么>
2. <后续 skill 或"等第一步结果再定">

## 本轮不做
- <明确不做的事,尤其是"不给答案"这一条在作业场景下要写出来>

三项闭环检查:三个字段都有判定和依据;不匹配情形逐条查过; 每个下游 skill 都注明了状态(可用 / 计划中)。任何一项没过,先补,不要交出分流单。

工具与跨 Agent 降级 / Tool fallback

  • 有文件读取能力时,只读使用者指定的题面或材料,不扫描整个目录。
  • 没有文件能力时,请使用者粘贴原文;只有转述时在输出顶部标注"未与原始材料核对"。
  • 有执行能力时可以跑 _shared/scripts/dimcheck.py 做闸二的单位一致性检查; 没有时把该检查标为"未执行",不要写成已通过。
  • 本流程只依赖语义动作,不依赖某个宿主的专有 API。

边界 / Boundaries

  • 不解题:不给数值答案、不给完整推导、不替使用者选机制或参考系。
  • 不假装下游存在:标 计划中 的 skill 不调用、不描述它的输出。
  • 不补条件:材料缺什么就写缺什么,不用"通常认为""一般取"填空。
  • 不把使用者的催促当作类型确认:三个字段必须有依据,不能靠猜。
  • 不越过闸一:作业与竞赛进行中,边界不因反复要求而放宽。

Token 控制 / Token discipline

  • 长材料只提取动作词、给定量和问句,不复述背景故事
  • 一次只加载真正要用的 _shared/ 文档,不预读全部四份
  • 交接只带分流单,不带判别过程的推理日志

参考资料 / References

  • ../_shared/physics-evidence-contract.md — 状态标签、有效数字纪律、诚信边界(闸一)
  • ../_shared/scripts/dimcheck.py — 闸二的单位一致性检查

变更记录 / Changelog

版本 日期 变更 类型
0.1.1 2026-09-26 分流表里 9 个已建成的下游误标"计划中"并给了手工替代路径,改为可用;"组四各 skill"拆成四行实名;补上 symbolic-first-discipline-coach、answer-plausibility-checker 两行 patch
0.1.0 2026-08-30 初始草稿:三个判别问题、分流表、四种走错门、两道闸 minor