MCAClassifier 子系统设计
1. 职责定义
MCAClassifier 承接 ADR-007 supplement 中 MCA 7 分轴市场上下文分类在工程层的实现(ADR-007 supplement §2.2)。MCA 是 M1–M7 共享的输入参数集,决定「用什么参数运算」,与 S1(决定「结论发布前做什么校验」)正交。
具体覆盖:
- 7 分轴 × 三档等级:
- 轴 1 投资者结构(L1 机构 / L2 混合 / L3 散户 / 量化高敏感);
- 轴 2 衍生品成熟度(D1 深度 / D2 中等 / D3 浅 / 缺失);
- 轴 3 制度性摩擦(F1 低 / F2 中 / F3 高,T+N / 涨跌停 / 停牌 / 监管盘中变更);
- 轴 4 非市场参与者注入(N1 低 / N2 中 / N3 高,国家队战术 + 准政策信号);
- 轴 5 信用环境与出清节奏(C1 市场化 / C2 混合 / C3 政府节奏主导);
- 轴 6 信息可得性等级(I1 高透明 / I2 中 / I3 低);
- 轴 7 货币与跨境约束(K1 完全开放 / K2 部分 / K3 强管制 / 双市场,R-A P0-2 立项)。
- 桶位归类:B1 发达机构基线 / B2 发达 + 主权基金 / B3 发达 + 链上原生 / B4 A 股政策出清 / B5a A 股政策点火 / B5b A 股散户踩踏 / B6 A 股跨市场翻译 / B7 EM 主权 + 货币危机扩展桶(R1 拆 B5 为 B5a / B5b)。
- 机制参数选择影响:
- M1.3 字段直接接入轴 1 / 4 / 6;
- M2.4 政策语义解码在轴 4 = N3 时激活;
- M3.t5 在轴 3 = F3 时叠加制度摩擦相位;
- M3.t7 命名空间消费轴 1 / 2 / 3 / 7 实例化;
- M4 用 MCA 轴位组合作为场景检索键值(如「L3 + N3 + F3」自动检索 2015 股灾 / 2024-09 政策底);
- M5.3 形态在轴 1 = L3 + 轴 4 = N3 + 轴 5 = C3 不同组合下激活 (c) 或 (d);
- M5 在轴 7 = K3 时引入「跨境资本流动反向力」变量;
- M6.3 衍生品支柱按轴 2 决定 applicable / partial / not-applicable;
- M6.7 双轨在轴 7 = K3 + 高通胀环境强制激活;
- M7a / M7b 权重在轴 1 不同档位下重平衡。
输出 ADR-008 supplement 1.1 契约的 Task schema 元数据 mca_bucket(ADR-008 supplement §2.7)。mca_bucket 不进入 StructuredCognitionResult 本体,进入 Task schema 元数据层(理由:MCA 标签是任务发起时刻的横切上下文,不是单次认知输出的内在要素;评测桶分层依赖任务元数据而非认知输出本身)。
2. 接口契约
class MCAClassifier:
def classify(
self,
fin_object: FinObject,
as_of: datetime,
tag_version: str = "mca-v1.0",
) -> MCABucket: ...
def get_axis(
self,
fin_object: FinObject,
axis_id: Literal[
"axis_1_investor_structure",
"axis_2_derivatives_maturity",
"axis_3_institutional_friction",
"axis_4_non_market_actor",
"axis_5_credit_environment",
"axis_6_information_availability",
"axis_7_currency_cross_border",
],
as_of: datetime,
) -> AxisLevel: ...
def derive_worst_axis(self, bucket: MCABucket) -> str:
"""从 bucket 中三档阈值最差档导出 worst_axis 字符串
(如 'axis_4_N3' / 'axis_3_F3'),
用于评测分桶 + 风险预算预警.
"""
...
def refresh_calibration(
self,
calibration_window: CalibrationWindow,
) -> CalibrationReport:
"""半年一次的轴位定义校准 (ADR-007 supplement §2.2 MCA 标签校准频率).
年度校准刷新 tag_version (mca-v1.0 -> mca-v1.1 -> ...).
"""
...
MCABucket 字段定义以 ADR-008 supplement §2.7 为事实源,含七轴枚举 + bucket_label (B1–B7) + worst_axis + tag_version;派生 Pydantic schema 见 StructuredCognitionResult 1.1 契约源。
子模型类型 placeholder(M0 阶段简定义)
接口签名引用的下列类型在 ADR-008 supplement / 1.1 契约源中尚未给出字段定义,本节给 M0 阶段的最小 Pydantic v2 placeholder,目的仅是让 Codex import 链闭合。字段细节留 M1+ 收紧路径见本子系统 §9 实现里程碑映射 + 后续 milestone-field-evolution-matrix.md 起草;事实源回写发生于 ADR-008 supplement v2 / 1.1 契约源后续 patch 段(半年校准刷新流程稳态后)。
# M0 placeholder 段。M1+ 收紧字段定义;事实源在 ADR-008 supplement v2 / cognition-1.1-contract.md v1.2 时回写。
from pydantic import BaseModel
class AxisLevel(BaseModel):
"""M0 placeholder。承载单轴判定结果(轴 id + 三档之一 + 判定置信度)。"""
axis_id: str # e.g. "axis_4_non_market_actor"
level: str # 三档枚举的字符串形态,如 "L3" / "N3" / "F3" 等
confidence: float = 1.0 # ∈ [0, 1],半人工标注口径下可能 < 1.0
# 其它字段待 M1+ 锁定
class CalibrationWindow(BaseModel):
"""M0 placeholder。承载半年一次轴位定义校准的窗口元数据。"""
start_ts: int # Unix epoch ms
end_ts: int # Unix epoch ms
tag_version_from: str # 校准前 tag_version,如 "mca-v1.0"
tag_version_to: str # 校准后 tag_version,如 "mca-v1.1"
# 其它字段待 M1+ 锁定
class CalibrationReport(BaseModel):
"""M0 placeholder。承载 refresh_calibration 输出的校准报告。"""
window: CalibrationWindow
axis_drift_summary: dict # 各轴漂移摘要,M1+ 收紧为强类型
bucket_relabel_count: int = 0 # 桶位重打标的 case 数
# 其它字段待 M1+ 锁定
3. 数据流
- 输入源:
- Fin Object 元数据(持有人结构 / 商业模式 / 通用战略 / 实体经济网络节点 / 政策反应函数 / 数据可得性等级,来自 M1.3 六类定性属性字段)。
- 外部数据 Providers(成交结构 / IV 曲面 / T+N 规则 / 违约处置 / 披露质量 / 跨境通道额度 等公开数据,按七轴子维度归一化)。
- 历史 Fin Object × MCA 标签对照库(半年校准 + 事件驱动实时补标)。
- 内部处理:
- 七轴独立判定,各轴产出三档之一(L1/L2/L3 / D1/D2/D3 / F1/F2/F3 / N1/N2/N3 / C1/C2/C3 / I1/I2/I3 / K1/K2/K3)。
- 桶位归类按七轴组合查表(B1-B7 含 B5a/B5b 拆分),命中多桶时按 worst_axis 优先级裁决。
worst_axis字符串导出(如axis_4_N3/axis_3_F3),用于评测分桶 + 风险预算预警。- 缺省时由意图识别层根据 Fin Object 属性自动判定 + 落入 Audit Trail(ADR-008 supplement §2.7 必选要求)。
- 输出:
- Task schema 元数据
mca_bucket(七轴 +bucket_label+worst_axis+tag_version)。 - 影响下游机制参数选择(参见 §1 机制参数选择影响清单),但不直接进入 StructuredCognitionResult 本体。
- Task schema 元数据
4. 关键依赖
| 依赖类型 | 内容 |
|---|---|
| 外部数据源 | 成交结构(量价数据 + 投资者分类)/ IV 曲面(衍生品市场)/ 监管规则数据(T+N / 涨跌停 / 停牌阈值)/ 主权基金披露 / 央行汇率数据 / 信用利差 / 披露质量评级 / 跨境通道额度 等(具体接入清单见 ADR-007 supplement §5.3 工程依赖段) |
| 内部模块 | M1 子系统(消费 M1.3 字段)/ KnowledgeGraphService(图谱节点属性写回)/ State Management(Fin Object × MCA 标签对照库持久化)/ EvalHarness(评测分桶强制下发 mca_bucket,不允许被测体系自报) |
| 持久化 | Fin Object × MCA 标签对照库走嵌入式 SQLite + 年度版本化字段(tag_version 列);半年校准刷新走对照库更新事务,旧版本保留 ≥ 8 季度 audit trail |
5. 测试要求
测试维度对齐 EvalHarness 子系统的所有 11 维评测分桶(mca_bucket 作为评测系统强制下发的桶位标签,承接 Phase 4 §三 gaming 路径 6 防御「不允许被测体系自报」)。
- 单元测试:
- 7 轴枚举合法性(L1/L2/L3 / D1/D2/D3 / F1/F2/F3 / N1/N2/N3 / C1/C2/C3 / I1/I2/I3 / K1/K2/K3 各轴三档完整覆盖)。
bucket_label枚举(B1 / B2 / B3 / B4 / B5a / B5b / B6 / B7)的归类正确性。worst_axis字符串导出的优先级裁决(如 N3 优先于 F3 / F3 优先于 C3 等,校准时由领域专家拍板)。tag_version单调递增 + 旧版本 audit trail 保留。
- 集成测试:
- 与 KnowledgeGraphService 联动:MCA 轴 1 = L3 + 轴 4 = N3 + 轴 5 = C3 组合下 KnowledgeGraphService 激活 M5.3 (c);轴 1 = L3 + 轴 4 = N1/N2 + 轴 5 = C2 单激活下激活 M5.3 (d)。
- 与 ConsistencyMiddleware 联动:B5b 散户踩踏桶下 S1 attention 二阶分支信号权重上调。
- 与 EvalHarness 联动:所有评测分桶按本子系统输出
mca_bucket强制下发,被测体系不允许自报。
- 评测维度(消费方为 EvalHarness):
- 14 case 锚位 + 4 EM 补充 case 反向校准(B1-B7 桶位覆盖率检查)。
- B7 EM 主权 + 货币危机扩展桶的零样本桶处理(v1 起步 1–2 case anchor L7 + L2,不参与百分位对照)。
- 桶间归一化:每桶独立维护「桶内满分」基准 + 跨桶比「桶内百分位」+ 最小样本量 ≥ 30 + bootstrap 标注「百分位带宽 ± X%」。
- 端到端测试:M0 走通骨架 5 条样例输入的
mca_bucket录制 → 重放稳定性 + 半年校准前后归类一致性回归。
6. v1 工程回退
v1 阶段允许半人工标注的字段(承接 Phase 7 半人工标注 SLA 附录 任务 D):
- MCA 轴 4 = N3 时的非市场参与者注入判定:reviewer 季度刷新 ≤ 15 工作日 SLA / 事件驱动 ≤ 7 工作日 SLA / 准确率 ≥ 80% / IAA kappa ≥ 0.75 / 全量复核。
- 半人工标注 case 的
mca_bucket+ 失败模式标记必须双 reviewer 盲交叉;分歧记入contested-points不强制收敛。 - 超 SLA 由综合层自动 fallback 到模型 candidate 输出 + Audit Trail 标注
sla-breached/stale-axis-4。
必须模型自动产出(不允许人工标注覆盖最终值):
- 轴 1 / 轴 2 / 轴 3 / 轴 5 / 轴 6 / 轴 7 多数子维度(由公开数据自动计算:成交结构、IV 曲面、T+N 规则、违约处置、披露质量、跨境通道额度等)。
7. 待解决问题 / 已知 trade-off
- 轴 4 N3 判定的代理信号不足:政策窗口 / 国家队组合 / 政治局会议 / 国新办专题等不公开细节难以从公开数据完全推断,v1 走「半人工标注 + 公开数据替代」回退路径;待 Phase 7+ 数据通路扩展(监管 API / 政策点火事件结构化抽取 pipeline)后转自动判定。
- 轴 7 货币与跨境约束的零样本桶位:B7 EM 主权 + 货币危机扩展桶在 v1 起步仅 1–2 case anchor(L7 + L2),跨桶百分位对照不可用;v1→v2 不强制跨 B7 + v2 起补足 ≥ 10 case 后纳入百分位(ADR-007 supplement §2.4)。
worst_axis优先级裁决的领域专家共识:v1 初步排序 N3 > F3 > C3 > L3 > K3 > I3 > D3,但未经评测压测;半年校准时由领域专家共同评审调整,触发条件待 Phase 5 治理(Phase 5 治理 §3.1 MCA 等级阈值调整门槛 ≥ 2 case 表明现阈值导致系统性误诊)。- 桶位归类多桶命中的边界情形:v1 按 worst_axis 优先级裁决,但理论上存在「两轴最差档相同」的边界情形(如 N3 + F3 同时命中),v1 兜底为按桶位编号字典序选小(B4 < B5a < B5b 等),实际边界 case 待 Phase 4 评测中暴露后补规则。
tag_version升级的下游 schema 兼容性:半年校准刷新tag_version(mca-v1.0 → mca-v1.1)时,旧 Task schema 的mca_bucket是否需要重算 / 仅标注 stale / 完全 immutable,待 Phase 7+ 治理流程锁定。
8. 与其它子系统的接口对齐
- KnowledgeGraphService:本子系统是 KnowledgeGraphService 的强先验提供方;
mca_bucket在build_transmission_graph/assemble_phase_matrix/classify_correlation_regime调用前必须先取得。 - ConsistencyMiddleware:本子系统的桶位影响 ConsistencyMiddleware 中 attention 二阶分支的信号权重选择(如 B5b 桶下 funding rate 权重上调)。
- EvalHarness:本子系统的
mca_bucket是 EvalHarness 评测分桶的事实源(评测系统强制下发,被测体系不允许自报)。半人工标注的 N3 标签由 reviewer 经 SLA 流程产出,进入评测样本时不重新自动判定。 - 既有子系统(Task Orchestration / State Management):本子系统在 Task 入库时同步产出
mca_bucket元数据;Task Orchestration 调度下游机制时按mca_bucket选择参数;State Management 持久化 Fin Object × MCA 标签对照库。
9. 实现里程碑映射
承接 架构主稿 §29 v1 实现路径建议 与 M0 Walking Skeleton §3.5。
实现现状对齐(2026-06-01,ADR-016 后):本表写于 2026-05-29,早于 ADR-016 M1 范围界定(状态化 only,认知核实化拆 M1.5) 把里程碑重切为「M0 骨架 → M1 状态化 only → M1.5 认知核实化 → M2 任务类型扩展 → M3 入口扩展」。MCA 真算实际落在 M1.5-C1(工程仓 commit
9e461e7),且实现路径不是本表设想的「逐轴 fixture → 自动毕业」,而是一次结构化 LLM 调用直接产 7 轴档位 +bucket_label(综合层纯函数derive_mca_worst_axis按 §7 v1 优先级 N>F>C>L>K>I>D 派生worst_axis;tag_version="mca-v1.0";输出随标的/市场变化、非常量)。下表的逐轴/逐里程碑切分保留为未来「轴位自动化深化 + 半年校准」的设计意图,里程碑列名沿用旧编号仅供参照,不代表当前已落地路径。
| 里程碑 | 本子系统落地范围 | 不落地(留下个里程碑) |
|---|---|---|
| M0 | Task 上 mca_bucket 元数据字段以 extra="ignore" stub 形式存在,固定下发 B1(发达机构基线桶);classify 接口签名落地但内部读 fixture(不做轴位推理);tag_version 固定 mca-v1.0 | 7 轴自动推理、桶位裁决 worst_axis 排序、半人工 N3 标签 SLA 接入、桶位漂移监测 |
| M1(旧逐轴设想,已被 M1.5-C1 整体真算路径取代,见上注) | 〔旧设想〕轴 1(投资者结构)+ 轴 6(信息可得性)自动推理上线;轴 4(非市场参与者注入)按 §6/§7 走半人工标注,不在自动列;其余轴仍走 fixture;mca_bucket 升级为 judgment_records 独立索引列;worst_axis 排序按 §7 v1 排序逻辑落地 | 轴 2 / 轴 3 / 轴 5 / 轴 7 自动推理、半年校准刷新 tag_version |
| M2 | 7 轴全部自动推理上线(含轴 7「货币与跨境约束」);半年校准刷新 tag_version 流程落地(按 Phase 5 §3.3 治理路径);桶位漂移监测季度全量扫描 | tag_version 升级时旧 Task 桶位重算策略(待 Phase 7+ 治理流程锁定) |
| M3 | tag_version 升级时下游 schema 兼容策略锁定(重算 / stale / immutable 三选一);轴 8(ESG 与气候政策)候选评估(Phase 3 T2 §5 预留) | 跨工作流的 v2 体系演进项(按 Phase 5 治理流程节奏) |