跳到主要内容
Agent Platform · D1 · Wave 1

Model Router · 智能模型调度

管理所有 AI 模型的注册、校准、适用域和 OOD 检测。当模型不确定时自动回落确定性引擎——不让一个不可靠的预测流入物理实现。

Agent Platform D1 Wave 1
router — model dispatch
# Agent requests AI model for routing estimation
$ router route --family congestion_nn --fidelity F2
[registry] model congestion_nn_v3.1   calibrated
[ood     ] input in-domain (p=0.94)   boundary ok
[route   ] → congestion_nn_v3.1   confidence=0.87
# OOD scenario triggers fallback
$ router route --family timing_nn --features x_new
[ood     ] OOD DETECTED (mahalanobis=4.2 > 3.0)
[fallback] → deterministic iSTA engine
→ no unreliable prediction enters physical flow
iMapsynthesisiFPfloorplaniPDNpoweriPLplacementiCTSclockiTOoptimizationiRTroutingiSTAtimingAiEDAdesign dataiPCLlayout modeliMapsynthesisiFPfloorplaniPDNpoweriPLplacementiCTSclockiTOoptimizationiRTroutingiSTAtimingAiEDAdesign dataiPCLlayout model

核心能力

1. Model Registry

注册所有 AI 模型的完整元信息:类型(NN/RL/GBDT/GNN/LLM)、版本、适用域(design family、PDK node、scenario type)、训练数据范围、已知限制。每个模型有唯一的 model_tag,路由决策基于 Registry 中的校准数据而非硬编码规则。

2. Calibration

学习各模型的 calibrated probability 和误差关联矩阵。不只记录模型精度——记录模型在各类输入下的系统偏置模式(例如某个 model 总是高估 small design 的 congestion、某个 model 在 7nm 数据上偏乐观)。误差关联矩阵用于 ensemble:两个独立误差的模型融合效果优于两个同向偏差的模型。

3. OOD Detection

检测输入是否在模型适用域内。使用 Mahalanobis distance + density-based 双重检测——输入特征到训练分布中心的马氏距离超过阈值(默认 3.0),或落入密度空白区域,即标记为 OOD。OOD 时强制回落确定性引擎,不做有风险的预测。

4. F0-F4 Routing

按 fidelity 档位路由——F0(estimate NN,快速粗糙预测)→ F2(in-design hybrid,中精度辅助决策)→ F4(correlated deterministic,高精度确定性执行)。Agent 在 experiment 早期用 F0 快速筛选 candidate,收窄后用 F2 精细评估,最终由 F4 确定性工具出金标结果。

5. Ensemble

多模型融合时考虑误差相关性,不做简单投票。两个完全独立的模型(误差相关性 ~0)融合效果好于两个 co-linear 模型(误差相关性高)。Router 在 ensemble 时优先选择误差独立性高的模型组合,最大化融合增益。

Agent 调用方式

Model Router 暴露统一的 inference 入口——Agent 不需要知道自己最终用的是哪个具体模型,只需描述需求。

Python
MCP
Tcl

Python SDK

from ieda.router import ModelRouter

router = ModelRouter("http://localhost:9120")

# Register a new model
router.register(
    model_tag="congestion_nn_v3.1",
    model_type="NN",
    applicable_domain={
        "design_family": ["riscv", "soc"],
        "pdk": ["sky130", "nangate45"],
    },
)

# Route inference request
result = router.route(
    model_family="congestion_nn",
    input_features=design_features,
    required_fidelity="F2",
    fallback_policy="deterministic",
)

print(result.selected_model)      # "congestion_nn_v3.1"
print(result.confidence)         # 0.87
print(result.ood_flag)           # False
print(result.fallback_triggered) # False

输入/输出契约

RouteRequest

字段类型必需说明
model_familystring模型族名称——如 "congestion_nn"、"timing_nn"、"macro_placer"
input_featuresobject输入特征向量——由 AiEDA Library 导出的结构化特征
required_fidelity"F0" | "F1" | "F2" | "F3" | "F4"要求的保真度档位
fallback_policy"deterministic" | "best_effort" | "reject"fallback 策略——deterministic 回落引擎;best_effort 选同类最优;reject 拒绝预测

RouteResult

字段类型说明
selected_modelstring选中的模型 tag
confidencefloat校准后的置信度 (0.0 ~ 1.0)
calibration_metadataobjectECE (Expected Calibration Error)、bias 等校准指标
ood_flagboolean输入是否被判定为 OOD
fallback_triggeredboolean是否触发了 fallback

不让一个不可靠的预测流入物理实现

Model Router 是 AI 模型与确定性 EDA 引擎之间的安全网关——校准、检测、路由、回落。