Skip to main content
Glama

SuperRAN

给 Agent 用的无线仿真信道供应站 —— 面向蒙特卡洛验证

你提一个无线算法优化思路,它给你可信的信道场景实例、配套的物理观察量, 以及 SINR / 谱效的完整评价链路。统计信道、标准表、阵列、参考信号与估计器 均由 SuperRAN 本仓维护,并通过 MCP 向任意 Agent 开放。

配套的 channel-sim skill 提供 superpowers 式工作流: 头脑风暴 → 计划书 → 生成 → 门 1 体检 → 跑实验 → 门 2/门 3 → 结论

七件事

一、信道可信。 18 项体检,分四类:对 3GPP 标准(路损逐点对 38.901、 CDL 剖面逐簇对 Table 7.7.1-x、Annex A.1 角度扩展)、对物理定律(时频能量守恒、 谱效不超容量上界、SISO 退化到香农)、对配置(场景与剖面视距类别、小区数是否被 栅格吸附、干扰是否真的进了 SINR)、对统计(收敛、信噪比覆盖)。 不通过不会静默,会告诉你哪里不可信、偏了多少、怎么改。

print(ds.gate().text())      # 门 1:18 项,含实测偏差与容差依据
print(ds.calibrate().text()) # 3GPP §7.8 口径的校准量,对 R1-165975 参考曲线

二、信道多样。 5 个传播场景(UMa/UMi 各含视距与非视距、InF)× 10 个信道剖面 (CDL-AE 有每径角度、TDL-AE 无)× 任意小区数 × 10 个真实城市射线追踪场景。 上层没问到的参数一律原样透传——internal_sim 共 44 个、sionna_rt 49 个。

23 个场景预设分 10 组,每个都真跑过并把实测特征写在清单里, 不是只给个名字让你猜:

# 干扰场景 · 测量干扰 · 大站间距 · 移动性 · 高铁 · 传播条件 · 多小区干扰 · 基线 · 射线追踪 · 室内与专网
r = sr_probe_scenario(preset="high_iot_dense", num_samples=63)   # 几十秒,不是几十分钟
# 干扰画像、链路预算、路损/距离/视距/多普勒分布

探测模式把 num_rb 压到 24、num_ofdm_symbols 压到 4,几何量与全量逐位相同 (实测 num_rb 273/24/12 与 nsym 14/7/4/2/1 各档,SINR/SIR/路损/距离/视距/ 多普勒/UE 位置全部零差异)。唯一变的 snr_dB 有解析修正。性能随内核而变: 当前 20-ray 版本在 21 小区 16T/20MHz 的交错对照约 1.80×,不是旧单簇内核的 11.5×;实际看返回的 elapsed_s。探测给不了谱效与吞吐,返回里会列清楚。

三、谱效开箱即用。 预编码 → 逐层 SINR → 频谱效率的完整链路, 含逐 RB 协方差特征波束(单快照时等价瞬时 SVD)、宽带协方差特征波束、 Type-I-style 单面板列码本子集近似、DFT 波束四种方案的横向对比。 真正的 Shannon 容量上界由独立的注水容量函数给出,不能把 svd 曲线直接叫容量上界。

mc = ds.monte_carlo(method="svd")
print(f"{mc.se_mean:.2f} bit/s/Hz  收敛={mc.converged}")

for name, v in ds.compare_precoders().items():
    print(f"{name:<14}{v['se_mean']:6.2f}  (SVD 的 {v['vs_svd_pct']:.0f}%)")
# svd            30.54  (SVD 的 100%)
# svd_wideband   20.44  (SVD 的  67%)   ← 宽带损失
# type1          17.41  (SVD 的  57%)   ← 码本量化 + 秩自适应
# dft            11.19  (SVD 的  37%)   ← 单层波束

四、结论守得住。 三道评审门拦住站不住的结论。信道对了结论照样可以是错的 ——两组配置除被测变量外还有别的不同、一边用理想 CSI 另一边用估计 CSI、 样本量不足到置信区间比效应还宽、只比均值没做检验。

r = ds.compare_arms({"name": "我的方法", "method": "svd_wideband", "csi": "estimated"},
                    {"name": "基线",     "method": "type1",        "csi": "estimated"})
print(r.statement())
# 我的方法 相对 基线:谱效 20.932 vs 13.177 bit/s/Hz,差值 +7.755(+58.9%),
# 95% CI [+6.989, +8.521],n=200,Wilcoxon 符号秩检验 p=2.72e-31。结论成立。

两臂跑在同一批信道上 → 天然配对,共同的场景起伏被差分抵消, 样本量需求常比非配对少一个数量级。门 2 拦口径不公平,门 3 拦统计站不住, 过不了门时 statement 自己会写"结论不成立"及原因。

五、自研算法也进得来。 上面的 method 只认六种内置预编码。你自己的 CSI 压缩、信道估计、波束管理、调度算法走结果契约:

# 1. 生成前锁口径(预注册),生成时绑上
pr = sr_lock_analysis(primary_metric="spectral_efficiency", baseline="type1")
ds = sr_generate(..., prereg_id=pr.prereg_id)

# 2. 导一份评测脚本,把 my_algorithm 换成你的算法(不改也能跑)
code = sr_export_eval_template(dataset_id)["code"]

# 3. 你的脚本里注册结果 —— MCP 不执行你的代码,只收标准化的逐样本值
art = ds.register_results("我的方法", values, metric="spectral_efficiency",
                          method_metadata={"csi": "estimated"})

# 4. 交给 MCP 判决,与内置方案用同一套统计与门控
sr_compare_results(art_a.result_id, art_b.result_id)

注册时锁死数据集内容摘要、样本 ID 逐个按序比对、指标与单位—— 配对检验的有效性全靠"第 i 个数对应同一个信道实例",错配时它照样会算出 一个看起来很显著的 p 值

六、香农谱效不是吞吐。 上面的 se_mean 是上界,真实系统达不到。 链路到系统映射默认使用预置256QAM profile(mcs_table=3):

st = ds.throughput()  # 默认 mcs_table=3,64QAM 只在显式指定 table=1 时使用
print(st.text())
# 输出均值/中位/边缘用户吞吐、谱效、MCS分布、BLER与HARQ摘要

三项损失:调制与表封顶MCS码率离散有限码长与实现损失。 默认表3含28档预置MCS profile + 56条NewTx/ReTx原始解调曲线(1824点)。 系统只消费28条NewTx曲线;ReTx行用于审计。HARQ 最多一次重传,默认 IR(半谱效等效 MCS),可选 CC(原 MCS、SINR +3.0103 dB):

st = ds.throughput()
sr_bler_curve(mcs=15, tx_mode="newtx", sinr_db_list=[14.0, 14.05])
# BLER = [0.132, 0.0949],10% 门限 14.042 dB

表1 64QAM和表2 标准256QAM仍可显式选择,它们使用38.214表和有限码长 分析BLER模型;不会被默认路径静默触发。表3 不是3GPP标准表;预置profile将 源标签Es/No解释为经典MMSE的单码字 有效 SINR。每个用户 grant/TTI 是一个独立单码字 TB,不另算 CBLER;曲线按预置 口径跨 TBS/RE/rank/场景通用,只用 MCS+SINR 查询。 sr_mcs_info(show_bler_anchors=true)默认查表3,可查看全部门限、码率和哈希自检。

TDD AMC 已支持完整的 内部 CQI 离散表 → 初始 MCS → NewTx SINR 门限 → BF Gain → 重映射 MCS → OLLA → floor 链路。BF Gain 是同一信道、CSI、rank、功率、 干扰和经典 MMSE 接收机下,SVD 权相对 PMI 权的逐 RB、逐流 post-MMSE SINR 差值;用户 SINR 对全部 RB×流在 dB 域做算术平均:

sr_tdd_mcs(dataset_id="ds_xxxxxxxx", cqi=9, olla_mcs_offset=-0.2,
           feedback_ack=False)

在 Claude Code / Codex CLI 里不需要自己写 Python,直接告诉 Agent: “请调用 superran 的 sr_tdd_mcs,对数据集 ds_xxxxxxxx、CQI 9、 OLLA -0.2 MCS 计算最终 MCS,并解释逐流 BF Gain。”Agent 会调用 MCP 并返回 完整中间量。默认 cqi_numbering="internal_row" 保留历史0..14数组行;需要解析 真实上报日志时传 reported_4bit,此时CQI0明确为out-of-range、CQI1..15映射表行为 [0,2,4,6,8,10,12,14,16,18,20,22,24,26,28]。当前预置曲线只覆盖 MCS0..27,所以最高行请求MCS28时会显式钳到27。反馈只更新下一时刻OLLA; 10%目标下诊断与系统默认统一为ACK +0.01、NACK -0.09 MCS。 诊断和系统仿真统一使用 MCS-domain OLLA:先由 SINR_AMC_PRED(CQI 门限 + gNB 可见 BF Gain,不是物理发送/接收 SINR)反折无 OLLA MCS, 再加连续 MCS offset、floor 并钳到当前 profile。系统 API 中历史 *_db 参数名 暂为兼容保留,其值不再解释为 dB。

sr_sweep_snr 出谱效/吞吐 vs SNR 曲线——实测低信噪比达成 77%、 高信噪比因 MCS 封顶掉到 38%。

六点五、干扰强度用 IoT 说话。 "高干扰"是个数不是形容词。 IoT(噪声抬升 (I+N)/N)由几何 SIR 与 SINR 精确推出—— 当前 first-party 后端的 snr_dBsinr_dB 共享预数字波束、每 RB 参考, 所以两者之差是等价旁证;正式实现仍用 SIR+SINR,以兼容口径未声明的外部/旧数据。

sr_interference_report(dataset_id)
# traffic_domain.dl.iot   → 28.3 dB,高干扰,等效负载 0.9985
# measurement_domain.ul_srs → SIR -10.5 dB,测量已失效,NMSE 底 10.5 dB

业务域和测量域是两回事。 实测一组对照:srs_congestedsrs_clean_reference 只差导频配置,业务域 IoT 差 0.06 dB(噪声), SRS 测量域 SIR 差 17.9 dB(−10.50 vs +7.37)。 只看业务域 SINR 会认为这两个场景是同一件事。

哪些旋钮真的能动 IoT 是实测过的sr_design_interference 会给出实测值—— 其中两条与直觉相反:pdsch_load 对下行 IoT 完全无效(0.2 与 1.0 逐位相同), num_interfering_ues 影响的是测量域而非业务域上行 IoT。

七、跑得快但不换样本。 workers="auto" 按配置预估耗时自动决定要不要多进程; static internal_sim 用同 seed + 全局 sample index 分块,worker 数变化时逐样本逐位一致。 移动轨迹、拒绝采样或未支持索引的外部源会带原因回退串行。 20-ray 内核的热态历史锚点是:单小区 32T/20MHz 约 0.158 s/样本、单小区 64T/100MHz 约 1.074 s/样本、21 小区 16T/20MHz 约 7.48 s/样本;24 样本同一 多小区配置实测串行 179.5s、4 进程 49.3s。大批轻配置现在也可能值得并行。

系统级还有独立的 replication_workers="auto":链路表只建一次,把 8 个 RngRun 的 TTI 主循环分给进程。本机 6 UE 固定基准中,5 s 为 1.60→0.99 s(1.61×), 50 s 为 14.20→4.49 s(3.16×);有限 KPI 精确相同,非有限值类别相同。4 线程只有 0.720.74×,所以不提供线程旋钮。逐 RB post-MMSE/IRC/ZF 又通过批量线性代数得到 约 9.811.4×,固定输入逐值一致。原始机制记录在 artifacts/results/performance_audit.json

collect_ssb=False 会减少工作量,但旧 30% 标定属于 20-ray 之前的版本,不再当作 当前承诺。比较耗时必须交错重测;顺序跑变体会把预热效应读成“加速”,而冷态 单样本与热态批量的差异本轮已达一个数量级。estimate_seconds() 只负责进程调度, 不是 SLA;实际耗时认返回的 elapsed_s

样本数是算出来的,不是问用户的:

sr_sample_size(std_diff=2.14, expected_effect=1.5)   # → 需要 64 个样本
sr_sample_size(std_diff=2.14, n_current=20)          # → 最小可检出 2.70 —— 比预期还大,白跑

Related MCP server: MCP-Edge

交互方式

你:帮我验证一个 CSI 压缩的想法,先弄一批单小区 64T4R 的信道数据。

Agent:配好了 64T4R、272 RB(17 RBG × 16 RB)、CDL-C、100 MHz。
       第 1 轮 · 实验设计 —— 参数配错重跑就行,实验设计错了结论作废。

       ① 你的方法要跟什么比?
          1) 3GPP Type I 或 Type II 码本 —— 最常见的基线   ← 推荐
          2) 理想 CSI 下的逐 RB 特征预编码 —— 乐观参考(非 Shannon 容量上界)
          3) 某篇已发表方法 / 4) 还没定,先看可行性
       ② 用什么指标?
          1) 重建精度类:NMSE / 余弦相似度                ← 推荐
          2) 系统收益类:频谱效率或吞吐损失
          3) 任务专属:波束命中率 / 定位误差 / BLER
       或者你直接说。

一轮 24 个问题,每题 34 个选项并标明推荐,最后留"或者你直接说"。 典型 2~3 轮收敛,用户随时可以说"随便"直接生成。轮次由 MCP 自己记, Agent 不用规划;has_more_rounds 为 false 或用户说"随便"就停。

设计参考 superpowers 的 brainstorming, 按仿真场景做了调整——它面对开放式设计所以一次一问,而仿真参数空间有限且已知。

文档

  • SuperRAN 开发者文档 docs/index.html —— 当前实现的主入口:无线物理、64T4R/192×64 阵列、SRS/LMMSE、EBF/PEBF/NEBF、独立 BF Gain 章节、SU/MU、capacity/experience、话务/PF/KPI、35 个 MCP 工具、Skill、全部公开 API 与本次审计修复;单文件离线可打开

  • 安装说明 SETUP.html —— 由哪几块拼成、要装什么、怎么装、装完先跑什么、排错

  • INSTALL_AGENT.md —— 写给 AI agent 看的安装步骤,丢给它自己装

  • 能力手册 CAPABILITIES.html —— 能产生哪些信道、能拿到哪些观察量(含形状与单位)、参数全表、能力边界

  • 实测场景演示 SHOWCASE.html —— 真实跑过的场景对话、三道门、踩过的坑

  • 接入自研算法 EXTERNAL_ALGO.html —— 让你自己的算法进门 2/门 3、预注册分析口径、边界与局限

  • 从 SINR 到真实吞吐 LINK_ADAPTATION.html —— L1 链路自适应、38.214 MCS/CQI、SNR 扫描曲线、并行生成

  • 测试体系历史说明 TESTS.html —— 2026-07-31 的历史快照,用于理解测试理念与事故案例;当前文件/接口清单以开发者文档为准

  • 仿真说明书 / 运行前工作台 —— sr_spec_sheet 出的 HTML,默认只返回 URL、不打断用户;明确传 open_browser=True 才弹浏览器。页面以真实拓扑与用户/默认来源打头,其余折进 7 个页签;改参数时会标出信道/链路表/TTI/KPI 哪些层需要重算,点「应用到仿真」把 delta 送回 agent(sr_await_config 接)。同时支持说明书/Resolved config JSON 下载、摘要复制、页面截图、系统分享与打印/PDF;拷走用 file:// 打开时自动退回复制粘贴

  • CDF 话务与目标负载校准 —— 包大小/包间隔各读一份 value,cdf,支持全局×profile 双标量、多 profile 与 ue_ids 显式用户映射;target_prb_utilization=0.30 用公共随机数调话务,最后另跑正式重复实验,未达容差绝不回填目标值。内置 synthetic CDF 只用于接口演示,后续可直接替换现场 CDF

  • Agent 自适应 KPI 工作台 —— sr_system_sim() 自动返回 kpi_view.html_path/url,顶层为“小区级 / 用户级”;用户级指标同时支持按 UE 图、跨 UE 经验 CDF 和明细表。调用 Agent 可传 kpi_focus 优先展示相关 KPI,其余折叠且不丢失,选择理由完整回传。页面含首包时延、含头速率、本小区 PRB 利用率、0..17 RBG 分布、MU 配对比例与用户级 PRB 归因,并可一键下载完整 JSON、小区 CSV、用户长表 CSV,复制摘要、导出页面截图、系统分享或打印/PDF;所有动作离线可用且只读结果

  • 2~5 算法对比与单 TTI 复盘 —— 每次 sr_system_sim(..., algorithm_label=...) 同步保存严格 JSON sidecar;sr_compare_system_results 将同一 dataset/话务/KPI/RngRun 的基线与候选放入同一工作台。算法保持固定颜色,六个 Tab 按“总览/KPI 矩阵/用户分布/TTI 趋势/单 TTI/统计门禁”分工;主 KPI 走配对 Gate 3 与多候选 Holm 校正,sampled trace 以均匀锚点加关键事件保存 RBG、MCS/rank、SINR、BLER/draw、ACK、OLLA 与 PF 证据。不同配置或 RngRun 会硬拒绝;没有生成前 prereg 时即使显著也保持 exploratory_unregistered

  • 体验仿真的冻结合同 —— 当前 TDD 系统只接受 100 MHz @ 30 kHz、272 RB = 17×16,标准 273 RB 在生成前明确舍去 1 RB;SRS hopping 只接受本地版本化的 C_SRS=63/B_SRS=1/b_hop=0/n_RRC=0 17-hop profile。experience_v2 只用 preset_20b_256qam / MCS table 3 预置表;OLLA 默认由 target_bler 与 ACK 步长反解 NACK 步长,仍允许显式 override,结果会标注来源。通用载波/MCS 接口保留给链路级与未来扩展,不会静默混入当前体验结果

  • SRS资源与调度P0已闭环 —— 固定载波下排除BBL叶子,按PCI模3硬分区、 4 CS、17频域相位给2T4R UE分配相邻两个2-port SRS资源;两个offset分别进入 端口组CSI老化并拼成64×4。全局周期自动选择最短可容纳的10/20/40 ms, 禁止跨颜色借资源。体验调度的逐RBG频选已与RB功控解耦,MU枚举全部伙伴并按 useful bytes/RBG评分。独立srs_waveform后端已经能用显式的UE→受害gNB UL cross-link做RE级叠加、TA/CFO、解扩、双腿64×4与UL IoT证据;尚未完成的是 系统主循环自动生成这些cross-link并把波形H-hat注入调度。PDCCH/CCE、P-H/F、BWP2 也仍在范围外;方向性证据见artifacts/results/scheduler_p0_validation.json

  • 物理时钟、SRS测量与场景资产合同 —— 新数据显式保存sample_interval_s,默认5 ms, 不再从0.5-ms slot、SRS双腿或报告周期猜测。srs_metrics区分per-active-RE、per-RB 与全分配底噪,提供开环UL功控、绝对SRS链路预算和线性域PreSINR IIR;UL IoT可写入 原子NPZ sidecar并复算IoT/双SHA。城市RT缓存使用稳定进程锁、源/准备后双指纹及独立 RF材料revision,缓存手改自动重建,中断发布journal硬失败。

  • MU-MIMO 算法流程 MU_MIMO.html —— 配对/预编码/功率分配逐步展开,含六个待确认的设计选择与实测数字

  • 通宵成果与待审 TONIGHT.html —— 6 个 bug、5 个新需求提案、8 个待拍板的决策点

  • 通宵进展与待审问题 MORNING_REVIEW.html —— 3GPP/ITU 对标结果 + 12 个待拍板的问题

  • 还缺什么 ROADMAP.html —— 对着 Sionna / MATLAB 5G Toolbox / 5G-LENA 逐模块点名。只下行 · 只 TDD · BLER 一律查表,边界写在第七节

  • 场景拓展与干扰量化 SCENARIOS.html —— IoT 噪声抬升、业务域 vs 测量域、21 个场景的实测画像、场景探测、哪些提速是真的

四条设计铁律

一、不传数据,传取货代码。 单个信道样本几百 KB,序列化成 JSON 会膨胀到 十几 MB——进不了任何模型的上下文。MCP 只回句柄、统计摘要和可运行的 Python。

二、给物理量,不给训练特征。 本项目没有 MAE token/特征桥: PDP 不归一化、RSRP 不截断、SRS 给完整协方差和全部特征值、 PMI 给码本索引而非嵌入向量。

三、生成与取货解耦。 测量量从信道现算,改主意重新取货实测 1 毫秒, 不重跑仿真。

四、分轮问,先设计后参数;能算的不问。 样本数由期望效应量和试点方差算出来, 不问用户"你想跑多少次"——把自己该做的功课推回去是这类协作最常见的偷懒。

拦截"跑得出结果但没意义"的组合

组合

为什么拦

波束搜索 + TDL 模型

TDL 没有每条径的角度,算法会输出看似正常的垃圾且不报错

信道预测 + 单时隙

样本间相互独立,没有可预测的时序结构

干扰协调 + 单小区

没有干扰源

视距场景 + 非视距剖面

路损与多径按不同假设生成,时延扩展偏离标称值数倍

射线追踪数据 + ds.paths()

多径来自真实建筑几何,套用 CDL 剖面会得到与数据无关的假角度

多小区但 SINR = 纯热噪声 SNR

干扰没进计算,干扰类结论全不成立

一臂理想 CSI、另一臂估计 CSI

增益里混着"提前知道答案"的部分

置信区间跨零却说"有提升"

方向都不能确定

把香农谱效当吞吐报

真实系统要打 4~6 折,差的是调制受限+码率离散+码长

声称实测 BLER

表 1/2 是分析模型;表 3 是用户曲线插值,二者都不是 3GPP 实测

团队 Agent 开发

  • 普通组员或组长本人做具体实现时,都打开 docs/team/member-start.html;该页面固定启动正式 FORMAL Author 流程。

  • 组长使用 docs/team/lead-start.html 分任务、看状态、审核 PR,并按当前完整 SHA 决定合并。

  • develop 是所有实现 PR 的目标分支;main 是组长单独控制的发布分支。

GitHub Owner 身份不会再自动触发演练:Owner 在正式模式下直接推送上游 topic branch, 普通组员推送自己的 Fork。演练只能从组长页复制明确的 TEAM_MODE: REHEARSAL Prompt。 组长本人提交正式 PR 后,用另一个全新 Agent Session 和隔离 worktree 完成审核。

两份页面会自动引导 Agent 安装仓库版本的 channel-simsuperran-member-tasksuperran-lead,无需人手改 Prompt 或复制 Skill 文件。

任一 Author PR 提交或更新后,Author Agent 还会生成绑定当前远端 PR HEAD 的离线交互式改动 说明 HTML;人类 Author 把该文件与 PR 链接一起交给组长审核会话。它用于理解改动,不代表审核通过, 默认不提交到公开仓库。

安装

最省事:让 agent 自己装

把这句话发给你的 Claude Code / Codex:

帮我装 superran:读 https://github.com/TianLin0509/superran/blob/main/INSTALL_AGENT.md 按里面的步骤装好并验证,装完告诉我能不能用。

INSTALL_AGENT.md写给 agent 看的:每步带验证命令与预期输出, 标了哪些事该问你、哪些该自己查,附失败对照表。

内网 / 不能联网

在一台能联网的机器上打包,拷进去:

python scripts/make_offline_bundle.py          # 完整包 65 MB,全新 venv 可全程离线装
python scripts/make_offline_bundle.py --thin   # 轻量包 17 MB,要求目标机已有 numpy/scipy

产出 dist/superran-offline-<包型>-<平台>-py<版本>.zip,里面有源码、skill、 依赖 wheel、bundle-manifest.json(各文件 SHA-256)、INSTALL_AGENT.md 和给人看的 开始安装.txt。接收方解压后把那句话发给自己的 agent 即可。

默认打完整包。 轻量包不含 numpy/scipy 与构建后端,在全新 venv 里 pip install --no-index -e . 会失败(先卡在缺 setuptools,而报错只说 "install build dependencies did not run successfully",看不出缺什么)。 包型写进了文件名和 manifest,requires_preinstalled 直接列出需自备什么。

wheel 是平台相关的,必须在与目标机器同平台、同 Python 大版本的机器上打包。

包内已经包含 first-party 统计信道物理内核,不需要第二个源码仓库。 可选的 Sionna RT 仍按其许可证和运行时单独安装。

手动

需要 Python ≥ 3.10。

git clone https://github.com/TianLin0509/superran
cd superran && pip install -e .

pip install sionna-rt      # 可选,射线追踪(约 300 MB)

不装射线追踪也能用,sr_capabilities 会如实报告缺什么。 安装后必须让 Agent 运行 channelhub.probe_source_contract();它校验本仓 first-party 窄腰,只有 compatible=true 才能生成正式数据,且不会改接外部源码树。

claude mcp add superran -- python /path/to/superran/scripts/mcp_server.py
codex  mcp add superran -- python /path/to/superran/scripts/mcp_server.py

# Codex 团队 Skill(按当前角色选一个)
python scripts/install_agent_skills.py --role member
python scripts/install_agent_skills.py --role lead

评审门控

什么时候过

拦什么

门 1 · 信道可信

生成之后

18 项体检,硬性项不通过即拦截

门 2 · 比较公平

跑对比时

两臂不同数据集、配置漂移、CSI 口径不一致

门 3 · 结论站得住

写结论前

置信区间跨零、检验不显著、单样本主导、声称值超出区间

预注册身份

写结论时

用的指标不是事先定的 → 标 exploratory,不许冒充主结论

门 3 的显著性以 Wilcoxon 符号秩检验判决,配对 t 只作参考——谱效的逐样本差值 分布常是偏的,t 检验的正态假设不成立、小样本下偏乐观。两个检验冲突时 statement 会把冲突明写出来。

门 2 的 CSI 口径检查是无线论文评审最常抓的一条——自己的方法用理想信道预编码、 基线用估计信道,测出来的"增益"里混着"提前知道答案"的部分。

3GPP 口径的校准量按 TR 38.901 §7.8 出:耦合损耗 CDF(§7.8.1 指标1)、 几何量含噪与不含噪两条(指标2)、时延与角度扩展 ASD/ASA/ZSD/ZSA (§7.8.2 指标3,Annex A.1 圆周定义)、PRB 奇异值最大/次大/比值三条 CDF (指标4,10log10 尺度)。参考曲线在 R1-165974 / R1-165975 / R1-1909704。

MCP 工具(35 个)

工具

作用

sr_capabilities / sr_list_presets / sr_list_scenes

能力与场景发现

sr_missing_slots

结论模板还缺哪些槽 —— 决定该主动问什么

sr_plan / sr_revise

分轮协商:实验设计 + 参数 + 对比组 + 陷阱

sr_generate

生成数据集,返回句柄与统计摘要

sr_deliver

按自然语言点单生成取货代码

sr_validate / sr_gate

可信度体检 / 门 1:18 项

sr_calibrate

3GPP §7.8 校准量:耦合损耗、几何、时延角度扩展、PRB 奇异值

sr_link_performance

算谱效:预编码 → SINR → 谱效,多方案横向对比

sr_compare_arms

配对比较 + 门 2 + 门 3,返回可直接引用的结论句

sr_sample_size

功效分析:样本数 ↔ 最小可检出效应

sr_lock_analysis

预注册:生成前把主指标与基线定下来

sr_export_eval_template

自研算法评测脚本骨架,替换一个函数即可

sr_compare_results

判决外部算法结果 + 门 2 + 门 3 + 预注册身份

sr_list_results

已注册的结果与预注册记录

sr_throughput

真实吞吐 Mbps + 5% 边缘用户(链路到系统映射)

sr_sweep_snr

谱效/吞吐 vs SNR 曲线,各点配对无抽样噪声

sr_mcs_info

表 1/2:38.214 + 分析模型;表 3:用户 MCS + NewTx/ReTx 门限

sr_bler_curve

查单档原始 BLER 曲线、10% 门限,并在任意 SINR 点做对数域插值

sr_tdd_mcs

TDD AMC:CQI → PMI/SVD BF Gain → MCS → OLLA,返回逐 RB/流审计链

sr_system_sim

系统级仿真:连续几秒 TTI + PF 调度 + 话务,出体验速率等现网 KPI

sr_compare_system_results

2~5 算法 KPI 对比:CRN 配对、用户 CDF、TTI 趋势/钻取、Gate 3 + Holm

sr_spec_sheet

仿真说明书:拓扑图 + 分级页签 + 调参面板;默认只返回 URL,open_browser=True 才弹浏览器

sr_await_config

等用户在说明书上点「应用到仿真」,改动直接回来,免复制粘贴

sr_describe_dataset / sr_list_datasets

数据集信息

观察量(12 类)

名称

内容

channel

频域信道矩阵,理想与估计两版

linkperf

链路性能:预编码、逐层 SINR、谱效、容量上界、多方案对比

validate

可信度体检:18 项检查

pdp

时延功率谱:未归一化功率 + 真实时延轴 + RMS 时延扩展

paths

每条径的时延、功率、角度(CDL 才有角度

srs

完整空间协方差、全部特征值、每天线增益、波束域 RSRP

pmi

Type-I-style 单面板列码本子集近似:列索引 + 预编码矩阵 + 秩

rsrp / sinr / capacity

功率、链路标量、容量与条件数

geometry

路损、阴影、3D 距离、视距判定、多普勒、位置

topology

多小区 SSB 测量与干扰小区信道

物理层工具箱

superran.physical 公开本仓按 38.211/38.213/38.214 实现并版本化的模块, 主要用来当基线做导频层课题

from superran import physical as ph

ph.nr_rb_count(100e6, 30000)       # 273(标准表,不是简单除法)
ph.tdd_pattern_info("DDDSU")       # 帧结构 + 特殊时隙符号级切分
ph.srs_config(272, b_srs=1)        # SRS 跳频:周期 17、每跳 16 RB、覆盖整带
ph.zadoff_chu(25, 139)             # ZC 序列,实测峰旁比 151 dB
ph.ssb_sequences(42)               # PSS / SSS / PBCH-DMRS
ph.dft_codebook(8, 4, 2)           # CSI-RS 波束码本 [512, 64]
ph.estimate_channel(h, method="mmse", tau_rms_s=363e-9)   # LS / MMSE 估计基线
ph.project_interference(...)       # 干扰投影:不投影会高估干扰

场景与参数

传播场景:城区宏站视距/非视距 · 城区微站视距/非视距 · 室内工厂 信道剖面:CDL-AE(有每径角度)· TDL-AE(无角度) 拓扑:任意站数 × 扇区数(1 或 3),支持六边形栅格与线性布站、 超级小区、多 TRP、高铁车体穿透、自定义站点与用户坐标 射线追踪:慕尼黑 · 巴黎凯旋门 · 佛罗伦萨 · 旧金山 · 北京中关村 · 上海陆家嘴 · 深圳福田 · 广州天河 · 杭州钱江 · 重庆解放碑 子载波间隔:15 / 30 / 60 / 120 kHz 带宽:5~100 MHz 共 13 档 TDD 配比:7 种 支持任务:12 类

加场景只改 presets/presets.yaml,加决策点只改 decisions.py

已知约束

  • 信噪比不能直接设定。它由路损、发射功率和撒点位置决定;要求特定区间时 走拒绝采样。想整体调整,改发射功率或站间距更有效。

  • 视距比例由几何决定,不是选 CDL-D 就能得到视距信道——剖面类别与几何 判定不符时会被自动替换。想调视距比例改站间距(实测 200m→0.46、800m→0.13)。

  • 射线追踪 direct adapter 已经可用,配置键是 source=sionna_rt (不是 channel_source——传入这个旧错键会立即硬失败,并提示改用 source;不会忽略后静默跑成 internal_sim)。装了 sionna-rt 才启用,装不上就硬失败、 绝不退回统计信道。

  • RT 数据集不支持 ds.paths()。适配层把逐径几何合成成 CFR 之后就丢掉了, 逐径角度/时延没有落盘合同;对 RT 数据集调 paths()NotImplementedError 而不是返回一组与数据无关的 CDL 假角度。H / PDP / 协方差 / PMI / 几何量都正常。

  • RT 的三类使用限制(都在入口报错,不会静默产出重复数据):几何不动时 不允许多轮样本——mobility_mode=static,或 linearue_speed_kmh=0, 父类都不挪位置,RT 是确定性引擎,多轮必然逐位相同(注意 num_samples=3 / num_ues=2 也算两轮);零速时单个样本也不允许 num_slots_per_sample>1,因为样本内各 slot 会逐位相同;真在移动时, 只有每个 UE 超过一轮才拒绝 num_slots_per_sample>1,因为跨轮时间窗口 会重叠;单窗口(num_samples<=num_ues)的移动多时隙是合法配置。

  • 时延扩展的频域估计有固有误差。可观测最大时延是 1/(12·SCS), 实测比值 0.8~1.0,仅作数量级检查。

  • QuaDRiGa 不做(2026-09-04 决定)。它需要 MATLAB/Octave 运行时,成本与收益不成比例; 要空间一致性就按 38.901 §7.6.3 自己实现一个子集。

  • 场景资产与源码解耦。内置场景只依赖可选 Sionna 包;自有 OSM/PLY 数据通过 SUPERRAN_SCENES 指向独立数据目录,不从其他源码 checkout 静默借用。

  • CDL-A~E 都有标准表硬门spec38901 是本仓唯一运行表真相源,覆盖 38.901 Table 7.7.1-1~5(23/23/24/14/15 个表分量),启动时逐字段自检,失败即阻断生成。diffuse component 按 20 rays 展开;CDL-D/E 的 K 已在表的镜面/散射功率差中,只计一次。 SUPERRAN_CDL_SPEC=0 仅用于复现历史非标准结果。

  • bs_panel 决定空间阵列,不再决定邻区干扰是否进入几何预算。当前 first-party 后端直接从服务/邻区接收功率形成 SNR/SIR/SINR;面板仍是二维端口 几何、双极化和 64T 1 驱 3 effective-subarray 的必要输入。门 1 会另行拦截 多小区却 SIR=49.9SINR=SNR 的退化数据。

测试

python tests/test_e2e.py
python tests/test_mcp_server.py
python tests/test_raytracing.py
python tests/test_linklevel.py
python tests/test_gates.py
python tests/test_results.py
python tests/test_linkadapt.py
python tests/test_mumimo.py
python tests/test_system.py
python tests/test_scheduler_p0.py
python tests/test_srs_resource.py
python tests/test_srs_waveform.py
python tests/test_interference.py
python tests/test_csi_aging.py
python tests/test_rng.py
python tests/test_sysscenes.py
python tests/test_power_control.py
python tests/test_physics_contract_extensions.py
python tests/test_physics_invariants.py
python tests/test_channel_generation_contract.py
python tests/test_native_independence.py
python tests/test_developer_guide.py
python tests/test_carrier.py
python tests/test_company_256t.py
python tests/test_system_sim_tool.py
python tests/test_benchmarks.py

当前共 29 个可执行测试文件。运行时检查会在循环中按场景展开,因此不维护一个 容易失真的手写“总项数”;以实际运行输出和开发者文档的自动盘点为准。

经典通信正确性套件先冻结判据再运行:

python scripts/run_classic_comm_benchmarks.py

结果落在 artifacts/results/classic_comm_benchmarks.json,包含 commit、dirty diff、 依赖版本、预置 BLER 哈希、逐 case 门禁和限制。它用于判断实现是否满足经典关系, 不替代现场 BLER/话务/现网 KPI 校准。

可观察、可终止的逐文件回归:

python scripts/run_test_matrix.py --tier quick
python scripts/run_test_matrix.py --tier physics
python scripts/run_test_matrix.py --tier full

致谢

统计信道物理内核由 SuperRAN 独立维护;其设计参考了既有信道平台的窄腰思想。 可选射线追踪计划直接对接 Sionna RT。 工作流设计参考 superpowers

License

MIT

Available Tools

28 tools
sw_calibrateA

按 3GPP TR 38.901 §7.8 的口径算校准量。

这是业界判断"信道生成得对不对"的标准做法:不看曲线好不好看,而是把标准 规定的几个统计量按规定口径算出来,跟各公司提交给 3GPP 的参考曲线对。

出的量(括号内是标准里的条款与指标号):

  • 耦合损耗 CDF(§7.8.1 指标1)—— 串联检验路损模型 + 天线方向图 + 小区选择

  • 几何量 CDF,含噪与不含噪两条(§7.8.1 指标2 / §7.8.2 指标2)

  • 时延扩展与角度扩展 ASD/ASA/ZSD/ZSA(§7.8.2 指标3,Annex A.1 圆周定义)

  • PRB 奇异值:最大、次大、比值三条 CDF,10log10 尺度(§7.8.2 指标4)

参考曲线在 3GPP 文稿 R1-165974(大尺度)、R1-165975(全校准)、 R1-1909704(InF)里。本工具只出数不判决,判决在 sw_gate。 不适用的项会说明原因(例如 CDL 的时延角度是查表固定值,CDF 是退化的)。

ParametersJSON Schema
NameRequiredDescriptionDefault
dataset_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Despite having no annotations, the description goes beyond basic operation by disclosing that the tool only produces data and does not make judgments, and that it will explain why items are inapplicable (e.g., CDL fixed CDF). It also provides specific 3GPP reference documents, making behavior highly predictable and well-documented.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose, then uses a bulleted list to efficiently enumerate outputs with standard clause references. It also adds a clear behavioral caveat about division of labor with sw_gate. Every sentence and bullet adds value; there is no fluff or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the methodology, specific outputs with standard references, reference curve sources, what the tool does not do (no judgment), and how it handles inapplicable cases. Given there is also an output schema, the description is complete for an AI agent to select and invoke this tool correctly without needing further information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter, dataset_id, is not explicitly explained in the description, and schema coverage is 0%. However, the name is self-explanatory and the description implies the tool operates on a dataset by listing calibration outputs for a dataset. The description does not add extra meaning beyond the schema, but the intent is clear enough.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool computes calibration quantities per 3GPP TR 38.901 §7.8, which is a specific and unambiguous verb+resource pairing. It also distinguishes itself from siblings by explicitly stating '本工具只出数不判决' (this tool only outputs numbers, not judgments) and pointing to sw_gate for the decision role.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description positions the tool as the standard method for judging whether channel generation is correct, giving clear context for when it is appropriate. It explicitly excludes the judgment step by naming sw_gate as the tool that does that, and also notes that inapplicable cases will be explained, which helps the agent decide when this tool is relevant.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sw_capabilitiesA

查看本机可用的仿真引擎,以及不可用的引擎缺什么。

引擎不可用时不会报错,而是如实标注——避免用户以为是自己用错了。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses a key behavioral trait: '引擎不可用时不会报错,而是如实标注' (when engines are unavailable, it won't error, but marks them truthfully). This adds value beyond the tool name, and with no annotations available, the description carries the burden well. It does not mention side effects, but for a simple read-only capability check, this is sufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences. The first states the core purpose, and the second adds a crucial behavioral note without redundancy. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple introspection tool with no parameters and an output schema present, the description covers the main purpose and the notable non-error behavior. It doesn't elaborate on output format, but the output schema reduces that burden.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and an empty schema, so the description adds no parameter-specific semantics. Per the baseline for 0 params, this is a 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: '查看本机可用的仿真引擎,以及不可用的引擎缺什么' (view available simulation engines and what missing engines lack). The verb '查看' and resource '仿真引擎' are specific, and the tool is distinct among siblings focused on scenarios, datasets, and analysis.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for checking engine availability, but does not explicitly state when to use it vs alternatives. No exclusions or alternative tools are mentioned, leaving usage context somewhat implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sw_compare_armsA

同一批信道上跑两个方案,做配对比较,并连过门 2、门 3。

这是下结论前的最后一道关。它做四件普通的"比均值"做不到的事:

  1. 配对 —— 两臂共用同一批信道实例,共同的路损/撒点/衰落起伏被差分 抵消,剩下的才是方案本身的差别。配对设计所需样本数常比非配对少一个数量级。

  2. 公平性检查(门 2) —— 配置漂移、CSI 口径不一致(一边理想一边估计 就是让自己的方法偷看答案)会被直接拦截。

  3. 统计检验(门 3) —— 配对 t 检验 + Wilcoxon 符号秩双保险,95% 置信 区间跨零就拦,单个样本贡献过半也拦。

  4. 一句可直接写进报告的结论 —— 过不了门时它会明说结论不成立及原因。

method_*svd / svd_wideband / type1 / dft / mrt / identitycsi_*ideal 用理想信道预编码,estimated 用估计信道。 snr_db 不给时用数据集逐样本自身的 SINR(各用户真实工作点)。

ParametersJSON Schema
NameRequiredDescriptionDefault
csi_aNoideal
csi_bNoideal
name_aNo方案A
name_bNo方案B
snr_dbNo
method_aYes
method_bYes
receiverNommse
dataset_idYes
max_samplesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full disclosure burden. It reveals important behaviors: pairing cancels common channel effects, fairness check blocks config drift and CSI inconsistencies, statistical tests use paired t-test and Wilcoxon signed-rank with specific blocking conditions (95% CI crossing zero, single sample contribution >50%), and it explicitly states when gates are not passed it will state the conclusion is invalid and why. This is rich behavioral context far beyond a typical tool description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with a one-sentence summary, then uses a bulleted list to explain the four unique capabilities, and ends with parameter-value notes. Despite being longer than most descriptions, each sentence/bullet adds distinct information (pairing benefits, fairness issues, test details, conclusion behavior). No fluff or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's high complexity (paired comparison, multiple gates, statistical tests) and the presence of an output schema, this description is nearly complete. It explains the method's purpose, the gate semantics, the conclusion behavior, and key parameter defaults. The only gaps are minor parameter meanings (receiver, max_samples) and interaction with other tools, but the description stands alone well.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides no descriptions (0% coverage) and no enums. The description compensates by explicitly documenting the allowed values for method_* (svd/svd_wideband/type1/dft/mrt/identity), the meaning of csi_* (ideal vs estimated), and the behavior of snr_db when omitted (uses per-sample SINR). This covers the core comparison parameters. However, it does not explain receiver, max_samples, dataset_id, or name_*, leaving some semantic gaps. Still, the value added for the central parameters is substantial.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a clear statement: 'Run two schemes on the same batch of channels, do paired comparison, and pass gates 2 and 3.' It then enumerates four concrete capabilities (pairing, fairness check, statistical tests, conclusion sentence) that distinguish it from ordinary mean-comparison tools and likely from siblings like sw_compare_scenarios. This specific verb+resource+scope makes the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states 'This is the last gate before drawing conclusions,' providing a clear temporal/decision context. It also implies alternatives by saying it does four things that ordinary 'mean comparison' cannot do, implying use when those advanced features are needed. However, it does not explicitly name sibling tools or give when-not-to-use exclusions, so it falls short of a perfect 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sw_compare_resultsA

判决两个外部算法结果,连过门 2、门 3。

sw_compare_arms 用的是同一套统计与门控实现,判决标准完全一致 ——自研算法不走宽松通道。区别只在数值从哪来:那个现场跑内置预编码, 这个读已注册的结果。

注册时锁死三件事,任一不成立就拦:数据集内容摘要一致、样本 ID 逐个按序 一致、指标与单位一致。因为配对检验的全部有效性建立在"第 i 个数对应同一个 信道实例"上,错配时它照样会算出一个看起来很显著的 p 值

返回的 statement 会写清用的哪个检验、指标是什么,以及这是预注册主结论 还是探索性分析。

ParametersJSON Schema
NameRequiredDescriptionDefault
result_id_aYes
result_id_bYes
claimed_gainNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses that the tool uses the same paired-test/gating implementation as sw_compare_arms, warns that mismatched data can still produce a seemingly significant p-value, and details the blocking conditions. It also describes what the returned statement contains. This is thorough and goes beyond a simple read-only or mutation hint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is organized into three short paragraphs, front-loading the core purpose. Every sentence adds value: differentiation, validation, warning, and output. It is somewhat verbose but still efficient, and the bolded warnings improve scannability. It earns a 4 rather than 5 because it could be slightly tightened without losing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with moderate complexity, the description covers the main aspects: purpose, usage differentiation, validation conditions, behavioral edge-case, and output statement. However, it leaves claimed_gain completely unexplained and assumes domain knowledge about gates 2 and 3. The existence of an output schema reduces the need for return-value detail, but the param gap keeps this from a 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It clarifies that result_id_a and result_id_b are two external algorithm results, which adds meaning beyond the raw parameter names. However, the third parameter claimed_gain is never mentioned, leaving its purpose ambiguous. Thus the description only partially explains the parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens by stating the tool's function: '判决两个外部算法结果' (judge two external algorithm results) and explicitly mentions passing gates 2 and 3. It clearly differentiates itself from the sibling tool sw_compare_arms by noting that while it uses the same statistical implementation, it reads registered results rather than running built-in precoding.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly contrasts this tool with sw_compare_arms: '那个现场跑内置预编码,这个读已注册的结果' (that one runs built-in precoding on the spot, this one reads registered results). This tells the agent when to choose this tool over the alternative. It also lists three registration consistency checks that will block execution if not satisfied, providing clear prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sw_compare_scenariosA

并排探测几个场景,回一张对照表。用来在候选场景里选。

每个场景各跑一次探测(见 sw_probe_scenario 的口径说明), 表里给 IoT 中位数与等级、SINR/SNR 中位数、路损中位数、视距比例、单样本耗时。

典型用法:确认"高干扰"预设确实比"低干扰"对照高出足够的 IoT, 再拿这两个去跑正式对比——别在没验证过干扰水平的两批数据上做消融

ParametersJSON Schema
NameRequiredDescriptionDefault
presetsYes
overridesNo
num_samplesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the transparency burden. It discloses that each scenario is probed once, lists the returned metrics, mentions per-sample time cost, and references sw_probe_scenario for methodology. It does not explicitly state side-effect status, but the tool is clearly a read/comparison operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-structured, with line breaks, a metric list, and a bolded warning. The phrase '每个场景各跑一次探测' is slightly redundant with the first sentence, but the content is mostly purposeful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers purpose, typical usage, and output metrics, and an output schema exists for return values. However, with no schema descriptions for the parameters and zero annotation support, the lack of guidance on 'overrides' and 'num_samples' leaves an incomplete picture for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description only indirectly refers to the 'presets' parameter via '几个场景'. It does not explain 'overrides' or 'num_samples' at all, and the pointer to sw_probe_scenario does not document these parameters. The description adds minimal value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool probes multiple scenarios side-by-side and returns a comparison table, with a specific use case ('用来在候选场景里选'). It distinguishes itself from the single-scenario sw_probe_scenario and lists concrete output metrics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly says when to use it (for selecting among candidate scenarios) and provides a typical workflow, including an explicit negative instruction: do not run ablation on data without verifying interference levels. This is clear when/when-not usage guidance without relying on sibling names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sw_deliverA

按需生成取货代码——返回可直接运行的 Python,不是数据。

want 可以写自然语言:"信道"、"信道 + PMI + SRS RSRP"、"我还想看时延功率谱"。 不写则只给信道。

同一个数据集可以反复取货要不同的测量量,不必重跑仿真

ParametersJSON Schema
NameRequiredDescriptionDefault
wantNo
dataset_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of disclosure. It effectively reveals that the tool returns executable code rather than data and that it does not rerun the simulation ('不必重跑仿真'). It also explains the default behavior (only channel if 'want' is omitted). However, it omits details about side effects, authorization requirements, or error handling, which would be valuable for a tool with no structured safety hints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is remarkably compact, with three clear sections: core purpose, usage examples for 'want', and a note on reusability. It front-loads the key differentiator (returns Python, not data) and avoids any filler. Every sentence earns its place, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simple interface (2 parameters) and its focus on code generation, the description covers the essential aspects: what it returns, how to customize with 'want', defaults, and the critical fact that no simulation rerun is needed. There is an output schema, so return value details are not necessary. It could mention how to obtain a valid dataset_id (e.g., from sw_list_datasets), but overall it provides sufficient context for an agent to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, so the description must compensate. It does this well for the 'want' parameter by providing natural language examples ('信道', '信道 + PMI + SRS RSRP', '我还想看时延功率谱') and clarifying the default (only channel). The 'dataset_id' parameter is not elaborated, but the description references it as an identifier for an existing dataset, which gives partial context. This is strong compensation for a 2-parameter schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool generates runnable Python code on demand, explicitly contrasting with returning data ('不是数据'). It specifies the scope (from a dataset) and the main verb (generate), which distinguishes it from sibling tools that likely execute simulations or manage datasets. However, it doesn't name alternative tools, and '取货代码' is a slightly metaphorical term, so not a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It implies usage when you need specific measurement quantities from an existing dataset without re-running simulation, and explicitly notes that the same dataset can be repeatedly used for different metrics ('不必重跑仿真'). This gives clear when-to-use context, but it doesn't explicitly mention alternative tools or exclusions, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sw_describe_datasetA

查看已生成数据集的维度、统计分布和可用字段。

ParametersJSON Schema
NameRequiredDescriptionDefault
dataset_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It uses the verb 'view' which implies a read-only operation, but it does not explicitly state that it is non-destructive, nor does it disclose any prerequisites, error conditions, or side effects. This is a minimal level of transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, succinct sentence that immediately conveys the tool's purpose and output, with no redundant words or filler. It is well-structured and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter) and the presence of an output schema, the description covers the core functionality and the types of information returned. However, it lacks explicit usage guidelines and any note about read-only behavior, making it slightly less than fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 0%, and the description does not explain the dataset_id parameter beyond the schema's 'Dataset Id' title. It merely alludes to 'generated datasets' in the tool description, which is a slight hint that the ID must refer to a generated dataset, but it provides no format, source, or validation details. The description fails to compensate for the low schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the active verb '查看' (view) and specifies the resource ('已生成数据集') and the specific outputs (dimensions, statistical distribution, available fields). This clearly distinguishes it from sibling tools like sw_list_datasets, which likely list datasets, and sw_validate, which validates.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide explicit guidance on when to use this tool versus alternatives. It implies a read-only inspection role but doesn't mention which scenarios call for it or exclude others. The context is clear from the tool name but no alternatives are referenced.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sw_design_interferenceA

要构造某个干扰强度的场景,该动哪些旋钮。

不返回保证达标的配置。 IoT 由几何、负载、功率共同决定,唯一可靠的 确认方式是生成一批再用 sw_interference_report 复核。这里给的是方向与 量级,以及各旋钮在 ChannelHub 几何模型里的实际作用——有几个和教科书 直觉不一样,写在每条的 note 里。

ParametersJSON Schema
NameRequiredDescriptionDefault
target_iot_dbNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly states the tool does not return a guaranteed configuration and explains that only generation plus verification with sw_interference_report can confirm. It also discloses that some knob effects differ from textbook intuition, adding valuable non-obvious context. It does not explicitly state read-only vs mutating, but for a design-computation tool this is adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact: a bold front-loaded purpose statement followed by two concise sentences covering limitations, dependencies, and additional notes. Every sentence earns its place, with no repetition or filler. The structure guides the reader from 'what' to 'caveats' efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the core purpose, the non-guarantee limitation, the physical dependencies, and points to the verification tool. Since an output schema exists, return-value details are not needed. For a one-parameter design tool, this is nearly complete; a minor gap is the lack of explicit guidance on parameter values or expected output format, but overall the context is sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has one parameter (target_iot_db) with 0% description coverage, so the tool description must compensate. The description mentions '干扰强度' (interference strength) and explains IoT depends on geometry/load/power, linking to the parameter's purpose. However, it does not explain the parameter's units, range, or how the numeric value maps to knob settings, leaving the semantic partly to the parameter name.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a clear objective: '要构造某个干扰强度的场景,该动哪些旋钮' (which knobs to turn to construct a scenario of a certain interference strength). It also distinguishes itself from the verification sibling by explicitly stating it does not return a guaranteed configuration, making its role as a design-direction tool unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage context is implied: use this tool to get direction and magnitude, then generate a batch and verify with sw_interference_report. The description explicitly mentions that IoT is determined by geometry, load, and power, which sets expectations. It stops short of listing formal when-to-use or when-not-to-use conditions, but the cross-reference to sw_interference_report provides a clear alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sw_export_eval_templateA

自研算法导出一份评测脚本骨架,让它能进门 2 / 门 3。

内置的 sw_compare_arms 只认六种预编码,自研的 CSI 压缩、信道估计、 波束管理、调度算法进不来。这个工具补那一层:

  1. 拿到 code,写进 .py 文件;

  2. my_algorithm 的函数体换成你的算法(不改也能跑, 预填的示例是估计 CSI 下的 SVD vs Type I,先确认管道通再换);

  3. 运行它,会注册两个臂并打印 result_id

  4. 把两个 id 交给 sw_compare_results 判决。

MCP 不执行用户代码,脚本在用户自己的进程里跑,只把标准化的逐样本 结果注册回来。逐样本数值落 .npz,不进 MCP JSON。

ParametersJSON Schema
NameRequiredDescriptionDefault
metricNospectral_efficiency
dataset_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully discloses behavior: writes code to a .py file, replaces the my_algorithm function, runs the script, registers two arms, prints result_id, and clarifies that MCP does not execute user code and that per-sample values go to .npz rather than MCP JSON. This is highly transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with numbered steps and bolded key notes. Despite length, every sentence adds value, providing necessary operational details without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the workflow, return value (result_id), and file output (.npz), which is good given the output schema exists. However, it omits the roles of dataset_id and metric, leaving a gap in understanding the tool's inputs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has two parameters (dataset_id, metric) with 0% description coverage, and the description fails to explain either. Worse, it references a 'code' parameter that is not present in the schema, creating confusion about the actual input contract.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool exports an evaluation script skeleton for custom algorithms, explicitly contrasting with sw_compare_arms which only supports six precoding types. It specifies the verb (export), resource (eval script skeleton), and scope (custom algorithms), distinguishing it from siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use guidance: for custom algorithms not supported by sw_compare_arms. It gives a numbered step-by-step workflow, including how to replace the algorithm, run the script, and hand off result_ids to sw_compare_results, plus a note about MCP not executing user code.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sw_gateA

评审门:拦住站不住的结论。

stage="channel"(门 1)—— 生成之后、做实验之前跑。把可信度体检的 结果翻译成门禁语言:硬性检查不通过就是拦截项,不修不许往下走。

门 2(比较公平)与门 3(结论站得住)在 sw_compare_arms 里一次跑完, 因为它们需要两个方案的逐样本结果。

ParametersJSON Schema
NameRequiredDescriptionDefault
stageNochannel
dataset_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It explains that the tool translates credibility checks into gate language, hard failures become blocking items, and users must fix them before proceeding. However, it does not disclose side effects, whether it is read-only, or what output format is expected, leaving gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded with the main purpose. It uses clear formatting to separate the stage explanation and the note about sibling tools. No redundant sentences, though the metaphoric '门禁语言' adds slight ambiguity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a simple 2-parameter tool with an output schema, the description provides adequate context: when to use, what it does, and which sibling handles other gates. It doesn't explain prerequisites or dataset_id details, but for a gate tool, this is reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It clarifies the 'stage' parameter by linking it to Gate 1, but the required 'dataset_id' parameter is not explained at all—its type, source, or relationship to the gate. The description only partially compensates for the missing schema details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states this is a review gate ('评审门') that blocks unsupported conclusions, with a specific verb and resource. It explicitly identifies stage='channel' as Gate 1 and distinguishes Gates 2/3 as belonging to sw_compare_arms, differentiating it from siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides explicit usage timing: '生成之后、做实验之前跑' (run after generation, before experiments). It also states that Gates 2/3 are in sw_compare_arms, giving a clear alternative and when-not-to-use for this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sw_generateA

生成信道数据集,返回句柄与统计摘要(不返回数据本身)。

两种用法:

  • 协商过:只传 draft_id

  • 用户说"随便,默认就行":直接传 intent,跳过协商

返回里的 auto_decided 列出了替用户做的决定,请转述给用户, 这样他事后想改也知道改什么。

prereg_id 是 sw_lock_analysis 返回的预注册句柄。传了它,主指标与基线会 随数据存档,之后 sw_compare_results 能判断用的指标是不是事先定的那个。 只能在生成前绑定——事后补绑没有意义。

workers 默认 "auto":按配置预估耗时决定要不要起多进程。多小区大带宽的 配置能快 3 倍以上;轻配置起进程反而更慢,会自动走串行。 并行时各块用不同 seed,结果与串行统计等价但逐样本不同(摘要里会写明)。

collect_ssb=False 关掉每小区 SSB RSRP/SINR 的计算,多小区场景省约 30% (交错重测中位数 3456 -> 2475 ms/样本,基准自身轮间波动 11.9%)。 代价是 Dataset.ssb 为空——小区选择、切换、波束管理类课题需要它,别乱关。 默认 None = 保留,不静默减少数据。

ParametersJSON Schema
NameRequiredDescriptionDefault
intentNo
presetNo
workersNoauto
draft_idNo
overridesNo
prereg_idNo
collect_ssbNo
num_samplesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full disclosure burden. It reveals that the tool does not return data, that auto_decided lists user decisions to relay, that workers may run parallel with different seeds, and quantifies the collect_ssb performance tradeoff. This is far beyond a minimal statement.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but every section serves a purpose: usage modes, prereg binding, workers behavior, and collect_ssb tradeoff. It is structured with clear headings and bolded warnings, making it scannable despite the detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description thoroughly covers core behavior, performance implications, and user-facing output, and the output schema exists to explain return values. However, it omits descriptions for three parameters (preset, overrides, num_samples) and does not state what happens if neither draft_id nor intent is provided. This leaves minor gaps for a tool of this complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate. It meaningfully explains draft_id, intent, prereg_id, workers, and collect_ssb, but leaves preset, overrides, and num_samples completely unexplained. It adds significant value for most parameters but is incomplete for the full parameter set.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with '生成信道数据集,返回句柄与统计摘要(不返回数据本身)', clearly stating the action (generate), the resource (channel dataset), and the return type (handle + stats, not data). This distinguishes it from sibling tools like sw_describe_dataset or sw_validate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly explains two usage modes ('协商过:只传 draft_id' and '用户说"随便,默认就行":直接传 intent'), when prereg_id must be bound ('只能在生成前绑定'), and when to keep collect_ssb enabled ('小区选择、切换、波束管理类课题需要它,别乱关'). This provides clear when-to-use and when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sw_interference_reportA

一个数据集的干扰画像:业务域 IoT + 测量域导频 SIR。只读已落盘的标量。

业务域和测量域是两回事,报告分开给:

  • traffic_domain——PDSCH/PUSCH 受到的干扰,用 IoT(噪声抬升 (I+N)/N) 刻画。20 dB 以上算高干扰,同时给出等效小区负载。

  • measurement_domain——SRS / CSI-RS 导频受到的干扰,决定信道估计精度。 给出估计 NMSE 的下限。这两列只在 link="BOTH" 生成的数据里有。

IoT 由几何 SIR 与 SINR 精确推出(IoT = SIR/(SIR-SINR),线性域), 不是 snr_dB 减 sinr_dB——那两个字段口径不同,相减会差几十 dB。

贴在 ±50 dB 契约边界上的样本、以及没有干扰源的哨兵样本会单独计数而不是 混进统计,notes 里会说明。

ParametersJSON Schema
NameRequiredDescriptionDefault
dataset_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden and does so well: it discloses read-only nature ('只读已落盘的标量'), the formula for IoT, domain separation, and edge-case handling (samples at ±50 dB boundary and sentinel samples counted separately, noted in 'notes'). This substantially exceeds minimal transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is multi-paragraph but well-structured with bold headers and bullet lists. Every sentence adds value: purpose, domain definitions, computation details, and edge cases. It is dense yet efficient, with no fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (two domains, a non-trivial formula, and edge cases) and the presence of an output schema, the description covers all necessary points: domain split, link='BOTH' requirement, IoT derivation, and notes behavior. It is complete for an agent to select and invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has only one parameter with 0% description coverage. The description implicitly indicates that dataset_id identifies the dataset ('一个数据集的干扰画像'), but it does not explicitly define the parameter's format or how to obtain a valid ID. For a single obvious parameter, this is adequate but not exemplary.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with '一个数据集的干扰画像:业务域 IoT + 测量域导频 SIR', explicitly stating the tool produces an interference profile for a dataset and identifies the two domains. This specific verb-like scope clearly distinguishes it from sibling tools such as sw_link_performance or sw_iot_convert.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context: it is read-only, and the measurement_domain columns only exist in data generated with link='BOTH', which is a prerequisite. It also warns against an incorrect computation ('不是 snr_dB 减 sinr_dB'), offering guidance. However, it does not explicitly name alternative tools or state when not to use this one.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sw_iot_convertA

IoT 相关的换算与分级。三种用法,给哪组参数就算哪个。

  • sinr_db + sir_db:算这一点的 IoT(两者必须同口径, 即都来自几何 SINR 计算,不能拿 snr_dB 凑)。

  • iot_db:分级 + 换成等效小区负载。

  • load:由等效负载反推 IoT。

等效负载用的是上行极点容量关系 IoT = 1/(1-load),是解释性换算, 帮助把 "IoT 20 dB" 读成 "等效 99% 负载",不代表仿真真按这个负载调度。

ParametersJSON Schema
NameRequiredDescriptionDefault
loadNo
iot_dbNo
sir_dbNo
sinr_dbNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses the underlying formula (IoT = 1/(1-load)) and explicitly states that the equivalent load is an interpretive conversion, not a representation of actual scheduling – a valuable caveat. It also warns against mixing input sources, providing behavioral context that a mere schema would not.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact but well-structured, using a lead sentence followed by three bullet points for the usage modes and a final note on the mathematical relationship. Every sentence adds relevant information, avoiding redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with conditional parameter groups and no annotations, the description covers the essential scenarios, formula, and a critical caveat about interpretation. It does not specify behavior when conflicting parameter groups are supplied, but the output schema likely covers return values.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero description coverage, so the description must compensate. It explains the role of each parameter: sinr_db+sir_db compute IoT, iot_db is graded and converted to load, and load reverses to IoT. It also notes the requirement for consistent input sources, adding semantic meaning beyond the parameter names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a clear verb-resource pair ('IoT 相关的换算与分级') and then enumerates three specific usage modes, distinguishing this conversion utility from sibling tools by its dedicated focus on IoT-related calculations. The purpose is unambiguous and well-scoped.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit instructions on which parameter groups to supply for each of the three computation modes, including a constraint that sinr_db and sir_db must come from the same geometric SINR calculation. It does not mention alternative tools or when not to use this tool, so it falls short of a full 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sw_list_datasetsA

列出本机已生成的数据集。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry full behavioral disclosure. It only adds the qualifier 'generated locally', but does not disclose return format, error behavior, or whether the operation is read-only. This is insufficient for a tool with zero annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that delivers the essential purpose without wasted words. It is appropriately sized for a tool with no parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the zero-parameter schema and the existence of an output schema (which presumably documents return values), the description is largely complete for a simple listing tool. It could potentially mention filtering or scope nuances, but the lack of such details is not critical given the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the schema coverage is 100%. The baseline for 0 parameters is 4, and the description does not need to add parameter semantics. It appropriately avoids redundancy by not referencing parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description '列出本机已生成的数据集' clearly states the verb (list) and resource (locally generated datasets). It also distinguishes this tool from siblings like sw_list_presets and sw_list_scenes by specifying the dataset scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention any exclusions, prerequisites, or alternative tools such as sw_list_results or sw_describe_dataset, leaving the context of use entirely implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sw_list_presetsA

列出场景预设。预设只提供场景骨架,具体参数由 sw_plan 协商决定。

参数

group : 只看某一组(干扰场景 / 测量干扰 / 大站间距 / 移动性 / 传播条件 / 多小区干扰 / 基线 / 射线追踪 / 室内与专网)。不给则全给。

ParametersJSON Schema
NameRequiredDescriptionDefault
groupNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses that presets are only skeletons and that group filtering controls output (omitting returns all). It also lists the valid group values. This provides useful behavioral context beyond a simple 'list'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, with a clear sentence followed by a structured parameter section. No filler or redundant information. Each sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity and the presence of an output schema, the description adequately covers the tool's purpose and parameter behavior. It also relates to sw_plan for context. It could mention the output format, but the output schema presumably covers that. Overall, it's sufficient for an agent to select and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema only defines 'group' as an optional string with no description. The description compensates by listing the exact valid group values and explaining the default behavior (all groups when not provided). This fully clarifies the parameter's meaning and usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States '列出场景预设' (list scenario presets) with a specific verb and resource. It also clarifies that presets are skeletons, distinguishing them from full scenarios handled by sw_plan. The purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description notes that specific parameters are determined by sw_plan, implying this tool is for exploring preset skeletons rather than building scenarios. It also explains the optional group filter and that omitting it returns all groups. However, it doesn't explicitly enumerate alternative tools or exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sw_list_resultsA

列出已注册的外部算法结果。不给 dataset_id 就列全部。

ParametersJSON Schema
NameRequiredDescriptionDefault
dataset_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of behavioral disclosure. It discloses the optional filter behavior (if dataset_id is not given, list all), which is useful. However, it does not mention read-only nature, pagination, or any other side effects, making it only moderately transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that front-loads the purpose and behavior. It contains no filler and is appropriately sized for the tool's simplicity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple listing tool with one optional parameter and an output schema, the description is fairly complete. It covers the primary behavior and the parameter's effect. The presence of an output schema reduces the need to explain return formats. Minor gap: no mention of sorting or limits, but not critical for this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one parameter (dataset_id) with no description, and schema description coverage is 0%. The description compensates by explaining that dataset_id is a filter and omitting it lists all results, adding meaningful semantics beyond the raw schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists registered external algorithm results, using a specific verb ('列出') and resource ('外部算法结果'). This distinguishes it from sibling tools like sw_list_presets and sw_list_scenes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides minimal usage guidance: it explains that omitting dataset_id lists all results. However, it does not mention when to use this tool vs alternatives like sw_compare_results or any exclusions, leaving the agent without clear decision support.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sw_list_scenesA

列出射线追踪可用的场景(真实建筑几何)。

内置场景(慕尼黑、巴黎凯旋门、佛罗伦萨、旧金山)开箱即用; 中国城市场景(北京中关村、上海陆家嘴、深圳福田、广州天河、杭州钱江、 重庆解放碑)首次使用时会自动准备资产,需要几秒。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the transparency burden. It discloses that Chinese city scenes require automatic asset preparation on first use, taking a few seconds. However, it does not clarify whether listing itself triggers this preparation or if it is read-only, and it omits other behavioral details like return format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured, with a front-loaded purpose sentence followed by a bullet-like breakdown of scene categories. Every sentence adds value, and there is no wasted content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple listing tool with an output schema, the description covers the main purpose and the key distinction between built-in and auto-prep scenes. It is almost complete, but it could clarify whether calling the list triggers asset preparation and could mention the output shape, even though the schema exists.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the baseline is 4. The description does not need to explain parameter meanings, and there is no schema detail to supplement.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it lists scenes for ray tracing with real building geometry, using the specific verb 'list' and naming the resource 'scenes'. It distinguishes from sibling tools by focusing on scenes, not presets, datasets, or results.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when needing to know available ray tracing scenes and provides context about built-in vs. auto-prepared city scenes. However, it does not explicitly mention when not to use it or name alternative tools, leaving the guidance implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sw_lock_analysisA

在生成数据之前把主指标与基线定下来(预注册)。

三道门证明不了一件事:主指标是看数据之前定的,还是跑完之后挑出来的 那个最好看的。真实过程往往是——跑完发现平均谱效没提升,顺手换成 5% 边缘用户谱效,有提升就报了这个。每一步都合理,合起来是在多个指标里 挑赢的那个,假阳性率远高于 5%。

做法很轻:写一个 JSON、算个 SHA-256、不可原地改。把返回的 prereg_id 传给 sw_generate,之后 sw_compare_results 会判断用的指标是不是 当初定的:一致 → primary;不一致 → exploratory结论句里会明说 这不是预注册主结论

改主意就再调一次,会得到新 prereg_id,旧的不动——"改过口径"这件事 本身留了痕。

ParametersJSON Schema
NameRequiredDescriptionDefault
noteNo
baselineNo
draft_idNo
csi_basisNoideal
metric_unitNo
primary_metricNospectral_efficiency
expected_effectNo
higher_is_betterNo
secondary_metricsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden and fully discloses behavior: computes SHA-256, immutable old IDs, tracks metric changes, and marks results as exploratory if inconsistent. This is rich and honest about consequences.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded and structured, but includes a long philosophical explanation about multiple comparisons. This is informative but could be shortened; still, it remains focused and understandable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 9 parameters and an output schema, the description is not operationally complete. It explains the workflow and integration but leaves all parameter semantics unexplained and does not describe the return value structure beyond prereg_id.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% with 9 parameters, and the description does not explain any of them. It mentions 'primary metric' and 'baseline' at a high level but fails to clarify parameters like csi_basis, expected_effect, draft_id, etc. The description should compensate for low schema coverage but does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: pre-registering the primary metric and baseline before data generation. It distinguishes itself from siblings by explicitly linking its output (prereg_id) to sw_generate and sw_compare_results, and explains the pre-registration concept.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use (before generating data) and describes the workflow: call this tool, get prereg_id, pass to sw_generate, then sw_compare_results judges consistency. It also explains what happens if you change your mind, giving clear usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sw_mcs_infoA

查 38.214 的 MCS / CQI 表,以及 BLER 模型各档的门限。

show_bler_anchors=true 时给出各 MCS 达到 10% BLER 所需的有效 SINR, 以及它距同频谱效率的香农极限有多远。这是模型预测,摆出来供人工对照 公开的 NR 链路级曲线——常见量级是 MCS0 约 -5~-7 dB、MCS28 约 20~23 dB。

表格本身是逐字录入的标准值,verify_tables 用"SE == q_m·R/1024"这条 表内蕴关系做过自检。

ParametersJSON Schema
NameRequiredDescriptionDefault
tableNo
show_bler_anchorsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses that the BLER anchors are model predictions ('这是模型预测'), gives typical value ranges, and mentions the self-check of the standard table using 'SE == q_m·R/1024'. This provides meaningful context beyond a simple lookup tool, though it doesn't cover edge cases or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is four sentences long, well-structured and front-loaded with the core purpose. Each sentence adds meaningful information, including a caveat and typical ranges. It could be slightly more concise, but it is appropriately sized and not bloated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description gives a strong overall context: what the tool does, the nature of the output (standard vs predicted), and typical magnitude expectations. The existence of an output schema covers return values. However, the missing explanation of the `table` parameter is a notable gap for a 2-parameter tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate. It explains the `show_bler_anchors` parameter and what it returns (effective SINR and Shannon limit distance). However, it does not explain the `table` parameter at all, leaving its meaning ambiguous. Thus the description adds value for one parameter but not the other.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool queries the 38.214 MCS/CQI table and BLER model thresholds, which is a specific verb+resource. It distinguishes itself from sibling tools like sw_link_performance or sw_sweep_snr by focusing on standard table lookup rather than simulation or analysis.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for manual comparison against public NR link-level curves ('供人工对照公开的 NR 链路级曲线'), but it does not explicitly state when to use this tool vs alternatives, nor does it mention when not to use it. The guidance is mostly implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sw_missing_slotsA

结论模板里还空着哪些槽 —— 决定该主动问用户什么。

一次蒙特卡洛仿真的产出说到底就是一句话::

在【场景】下,【方法】相对【基线】在【指标】上【效应 ± 置信区间】(n 样本),
该结论在【扫描维度】上成立。

每个方括号是一个必须填的槽。空着的槽就是该问的问题,按"空着的代价" 从大到小排序返回,每个槽带 3~4 个选项。

注意样本数不在槽里——它是由效应量和试点方差算出来的(sw_sample_size), 把它当问题抛回给用户是把该自己做的功课推回去。

ParametersJSON Schema
NameRequiredDescriptionDefault
answered_designNo
answered_paramsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and lives up to it. It discloses the return behavior (slots sorted by cost, each with 3-4 options), explains what is not included (sample size) and why, and clarifies the underlying logic. This is substantial transparency for a read-only tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the purpose, then provides necessary context about the template and sample-size exclusion. It is somewhat long but every sentence contributes value; only minor trimming could improve conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The output schema exists and the description covers the return behavior well, but the input parameters are under-specified. Given the complexity of the template and the workflow, the missing parameter semantics leaves the tool not fully self-contained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, and the description does not explain what answered_design and answered_params mean, their format, or how they map to the slots. The parameter names give a hint, but the agent cannot reliably construct the input without further guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool identifies empty slots in a conclusion template and decides what to ask the user. It defines the template structure with bracketed slots and explains that empty slots become questions, distinguishing it from sibling tools like sw_sample_size.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description indicates when to use this tool: to determine what to actively ask the user. It also explicitly says not to ask for sample size and directs to sw_sample_size, offering an alternative. However, it doesn't systematically compare to all sibling tools or provide exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sw_planA

把用户的仿真意图变成一份配置提案,并给出该和用户确认哪几件事。

参数

intent : 用户的原话,例如"验证一个 CSI 压缩的想法,单小区 64T4R" preset : 场景骨架名;不给则按意图自动挑 overrides : 用户已经明确表态的参数 max_questions : 最多提几个问题(建议 3~6)

返回里最重要的是 questions —— 每条都带 why,说明这个选择为什么会改变 结论。请把 why 转述给用户,不要只列选项值。

另外 also_configurable 只给参数名不展开,用来告诉用户"还能调这些"。

用户若无明显偏好,直接用默认值调 sw_generate 即可,不必逐条确认。

ParametersJSON Schema
NameRequiredDescriptionDefault
intentYes
presetNo
overridesNo
max_questionsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Despite having no annotations, the description discloses key behavioral details: the returned questions each include a 'why' explaining how choices affect conclusions, and also_configurable only provides parameter names without expansion. It also instructs to relay the 'why' to the user. This meets the transparency burden.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is structured with a concise purpose statement, then a parameter list, then return semantics, and a usage note. Every sentence adds value; no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the tool's purpose, all parameters, return behavior, and even when to use sw_generate instead. Combined with the output schema, the agent has all needed contextual information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description explains all four parameters beyond the schema: intent with an example, preset with auto-selection behavior, overrides as user-specified parameters, and max_questions with a suggested range. This fully compensates for the 0% schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: transforming the user's simulation intent into a configuration proposal and identifying what needs confirmation. It distinguishes itself from the sibling tool sw_generate by noting that if no preferences exist, sw_generate can be called directly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly advises that if the user has no obvious preference, one should call sw_generate directly with defaults, and sw_plan is for when confirmation questions are needed. It also explains that preset can be auto-selected if not provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sw_probe_scenarioA

花几十秒看清一个场景长什么样,再决定要不要花几十分钟正式跑。

下单之前先看货。num_rb 压到 24、关掉 SSB 测量,几何量与全带宽 逐位相同(实测 273 / 24 / 12 三档,sinr / sir / 路损 / 距离 / 视距 / 多普勒 / UE 位置全部零差异),唯一变的 snr_dB 有解析修正且已修正。 耗时降到约 1/8。

回的是:干扰画像(IoT,多小区才有)、链路预算(SNR/SINR/SIR 分布)、 几何量(路损、距离、视距比例、多普勒)、测量域导频 SIR(link=BOTH 才有)。

not_available 里明确列出探测模式给不了的量——谱效、吞吐、时延扩展 估计、宽带预编码。这些必须跑正式生成,别拿探测结果替代。

参数

preset : 预设名(sw_list_presets 查)。与 config 二选一。 config : 直接给配置。给了 preset 时作为覆盖项。 num_samples : 探测样本数。30 看中位数够用,看 5% 分位建议 100 以上。

ParametersJSON Schema
NameRequiredDescriptionDefault
configNo
presetNo
num_samplesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses internal behavior (num_rb compressed to 24, SSB measurement off), equivalence guarantees (bit-identical geometry for specific RBs), runtime reduction (~1/8), what is returned, and what is not_available. This is exceptionally transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a hook, technical details, return info, limitations, and parameter explanations. It is slightly verbose but every section serves a purpose. Front-loaded with the key use case. Not overly wordy for the complexity covered.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is complete for a probe tool: it explains what it does, what it returns, what it cannot provide, and usage guidance. The presence of an output schema reduces the need to describe return values in detail, and the description covers the non-obvious limitations and safety nuances.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, so the description must compensate. It includes a dedicated '参数' section explaining preset (referencing sw_list_presets), config (as overrides), and num_samples (with guidance on sample sizes for different percentiles). This fully adds meaning beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: "花几十秒看清一个场景长什么样,再决定要不要花几十分钟正式跑" (spend tens of seconds to preview a scenario before committing to a long formal run). It contrasts with the formal generation path and names the resource (scenario), making it distinct from siblings like sw_generate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit guidance is provided: use this to decide whether to run a full generation. It also states when not to use it: "这些必须跑正式生成,别拿探测结果替代" (these must run formal generation, don't substitute probe results), giving clear when/when-not boundaries.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sw_reviseA

差分修正一份提案——用户只说改什么,不必重述整个需求。

overrides 改仿真参数,例如用户说"信噪比降到 5 dB": sw_revise(draft_id, overrides={"snr_range_dB": [0, 5]})

design 记录实验设计层的回答,例如用户说"跟 Type II 码本比,看 NMSE": sw_revise(draft_id, design={"baseline": "3GPP Type II 码本", "metric": "NMSE 与频谱效率损失"})

design 不影响任何仿真参数,但会写进计划书——三个月后回看时, 这部分比参数值有用得多。

ParametersJSON Schema
NameRequiredDescriptionDefault
designNo
draft_idYes
overridesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It explains that overrides affect simulation parameters, while design does not affect simulation parameters but writes into the plan document. This gives important side-effect context beyond the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-organized with a clear intro, code examples, and a clarifying note about design. It is slightly verbose but every sentence adds useful context, and the structure makes it easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no annotations and an open-ended overrides object, the description provides enough context to understand the main behavior and side effects. The presence of an output schema means return values don't need to be described. Minor missing details include merge/replace semantics and whether both overrides and design can be provided simultaneously.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It does well for overrides and design by providing concrete examples and semantics. However, the required draft_id parameter is only shown in examples and not explicitly explained, leaving a small gap for a required parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: it differentially revises a proposal, requiring only the changes rather than a full restatement. It provides concrete examples of the two main use cases (overrides and design), which distinguishes it from other proposal-related tools like sw_plan or sw_generate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit usage context with examples: if the user wants to change simulation parameters, use overrides; if the user wants to record design choices, use design. It also implies when not to use this tool (when you don't need to restate the full requirement), but it does not explicitly name alternative tools or exclusion scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sw_sample_sizeA

样本数该定多少 —— 算出来的,不是问用户的

蒙特卡洛跑多少次,取决于想检出多大的效应和逐样本差值有多离散::

N ≥ ( (1.96 + 0.84) · σ_d / Δ )^2

三种用法:

  • std_diffexpected_effect → 返回需要的样本数;

  • std_diffn_current → 返回这个实验最小能检出多大效应。 这个数比样本数更该先看:它比期望增益还大时,实验无论跑出什么结果 都不足以下结论;

  • 什么都不给 → 返回试点流程(先跑 20 个样本量方差)。

std_diffsw_compare_armspaired.std_diff 取。

ParametersJSON Schema
NameRequiredDescriptionDefault
std_diffNo
n_currentNo
expected_effectNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the transparency burden and does well: it discloses the formula, the three behavioral branches, and the pilot behavior of running 20 samples. It does not explicitly state side effects or return format, but since this is a calculation tool and an output schema exists, the disclosure is adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is structured with a formula, bullet points, and a bolded warning. Every sentence adds value: the formula, three usage modes, the caution about MDE, and the source of std_diff. It is longer than minimal but appropriately detailed for a tool with three distinct operational modes.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has an output schema and no annotations, the description covers all needed context: mathematical methodology, all three usage scenarios, the pilot fallback, and a caution about interpreting results. It is complete for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains all three parameters: std_diff is sourced from sw_compare_arms paired.std_diff, expected_effect is the target effect size for sample size calculation, and n_current is used to compute minimum detectable effect. It also explains the no-arguments case, making parameter semantics clear.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool computes required sample size or minimum detectable effect based on statistical parameters, with the opening '算出来的,不是问用户的' and three explicit usage modes. This distinguishes it from sibling tools like sw_plan or sw_compare_arms, which have different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides explicit when-to-use guidance for all three parameter combinations: with std_diff+expected_effect, with std_diff+n_current, and with none. It also tells users to check the minimum detectable effect first and points to where std_diff comes from (sw_compare_arms paired.std_diff), fully covering usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sw_sweep_snrA

扫信噪比,出谱效/吞吐 vs SNR 曲线 —— 无线论文里最标准的那张图。

对同一批信道,把工作点信噪比设成一组值,逐点给出香农谱效、实际谱效、 吞吐、选中的 MCS。同一批信道意味着各点之间是配对的,曲线不会被 信道抽样噪声搅乱。

默认扫 -5 ~ 35 dB。返回里 efficiency_vs_shannon 的走势最有信息量: 低信噪比处接近 1(受噪声限),高信噪比处掉下来(受 MCS 表封顶限)。

ParametersJSON Schema
NameRequiredDescriptionDefault
mcs_tableNo
dataset_idYes
max_samplesNo
snr_db_listNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It discloses the default sweep range (-5 to 35 dB), the paired-channel methodology to avoid sampling noise, and provides interpretive guidance for the key output field (efficiency_vs_shannon trend). This is rich behavioral context beyond what the schema or annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description uses three short paragraphs, front-loading the core purpose and then adding contextual details. Every sentence contributes value, including the explanation of the paired-channel effect and the output interpretation. It is appropriately sized and well-structured without unnecessary repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no annotations and zero schema coverage, the description provides strong purpose, behavioral context, and output interpretation. However, the lack of explanation for most parameters creates a significant gap for correct invocation. The output schema partially compensates for return value understanding, but the parameter gap lowers completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the description only elaborates on the SNR list semantics by mentioning setting working-point SNRs and the default range. It does not explain dataset_id (the only required parameter), mcs_table, or max_samples. This leaves the agent without meaningful guidance for 3 of the 4 parameters, despite the schema offering only titles and defaults.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool sweeps SNR and outputs spectral efficiency/throughput vs SNR curves, including the specific metric types (Shannon, actual, throughput, MCS). It is a specific verb+resource+scope, but it does not explicitly differentiate from sibling tools like sw_throughput or sw_link_performance, so it does not earn a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context for when to use: it is described as 'the most standard figure in wireless papers' and explains the benefit of using the same channel batch for paired points. It does not mention when not to use or name alternative tools, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sw_throughputA

真实吞吐(Mbps)与 3GPP 口径的边缘用户指标,不是香农上界。

sw_link_performance 给的是 SE = Σ log2(1+SINR)——香农谱效,是个 任何真实系统都达不到的上界。这个工具走业界做系统级仿真的标准路径 (链路到系统映射),把三项真实损失算进来:

  1. 调制受限 —— 20 dB 时香农说 6.66 bit/s/Hz,64QAM 最多给 5.80

  2. 码率离散 —— MCS 只有 29 档

  3. 有限码长 + 实现损失 —— LDPC 距容量 1~2 dB

返回吞吐的均值/中位/5% 边缘用户/95% 峰值、谱效、MCS 分布、平均 BLER。 边缘用户吞吐是 3GPP 评估里的公平性指标,比均值更能说明问题。

mcs_table:1 = 最高 64QAM(38.214 Table 5.1.3.1-1), 2 = 含 256QAM(Table 5.1.3.1-2)。MCS 分布里大量样本压在最高档时, 说明限制来自 MCS 表而不是信道,换表 2 通常能明显提升。

BLER 是模型不是实测:MCS/CQI/TBS 都按 38.214 精确算,QAM 约束容量 精确求积,但 BLER 用的是有限码长模型(没有 3GPP 参考曲线兜底)。 严格 BLER 结论请跑真正的链路级仿真。

ParametersJSON Schema
NameRequiredDescriptionDefault
methodNosvd
mcs_tableNo
dataset_idYes
max_samplesNo
target_blerNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations were provided, so the description carries the full burden. It discloses that BLER is a model, not a measurement, and explicitly lists the three real-world losses (modulation limitation, code rate granularity, finite block length + implementation loss). It also reveals the behavioral nuance that MCS saturation indicates a table limitation rather than channel limitation. This is far more than typical disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is lengthy but well-structured: it opens with a clear definition, uses a numbered list for the three losses, and separates output metrics from MCS table guidance. Every sentence earns its place, and the formatting aids readability. It is slightly longer than strictly necessary but appropriate for the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description provides rich context about methodology, output metrics, and limitations, and an output schema exists. However, with 5 parameters and zero schema descriptions, key parameters like `method`, `max_samples`, and `target_bler` are left unexplained. This gap means an agent may not know how to set them correctly, making the tool only partially complete for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains `mcs_table` thoroughly (1 vs 2, 38.214 tables), but says nothing about `method`, `max_samples`, or `target_bler`. These parameters remain ambiguous, and the description does not provide enough detail for an agent to select appropriate values. While `dataset_id` is self-evident, the others need explanation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource: '算**真实吞吐**(Mbps)与 3GPP 口径的边缘用户指标' (compute real throughput and 3GPP edge user metrics), and explicitly contrasts with the sibling `sw_link_performance`, which computes the Shannon-bound spectral efficiency. This clearly differentiates the tool's purpose from alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly explains when to use this tool vs. `sw_link_performance`: the latter provides only an unattainable Shannon upper bound, while this tool models real-world losses. It also gives concrete guidance on MCS table selection (if MCS distribution saturates, switch to table 2) and cautions that strict BLER conclusions require a link-level simulator. This directly answers 'when to use' and 'when not to use'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sw_validateA

可信度体检:这批信道能不能拿来下结论。

三类检查:对标 3GPP 38.901 的路损与时延扩展;对标物理定律(时频能量守恒、 谱效不超容量上界、预编码方案的性能排序、SISO 退化到香农公式); 统计层面(蒙特卡洛是否收敛、信噪比分布是否够宽)。

蒙特卡洛仿真前建议先跑一次。 结论建立在信道之上, passed 为 false 时先修配置再做实验。

ParametersJSON Schema
NameRequiredDescriptionDefault
dataset_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It explains that the tool performs three types of checks and returns a 'passed' flag, and instructs the user to fix configuration if 'passed' is false before proceeding. This is useful behavioral context, though it does not disclose side effects or operational constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, front-loaded with the main purpose, and organized into clear sections (check categories and usage recommendation). Every sentence adds value without unnecessary verbosity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one parameter, no annotations, and an output schema, the description covers the main purpose, usage timing, and key output ('passed'). It does not provide details on dataset_id or prerequisites, but the overall context is reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has only one parameter, dataset_id, with no description (0% coverage). The tool description does not explain what dataset_id should contain, how to obtain it, or any format. The only hint is the reference to channel datasets, leaving the parameter semantics largely undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool's purpose: validating the trustworthiness of a channel dataset for drawing conclusions. It lists three specific check categories (3GPP 38.901, physical laws, statistics) which adds detail, but it does not explicitly distinguish from sibling tools such as sw_gate or sw_calibrate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage guidance: 'It is recommended to run once before Monte Carlo simulation.' This gives a clear context for when to use the tool. It does not mention alternatives or exclusions, but the recommendation is specific and actionable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 28 tool updatesv0.1.0
    • First observedsw_calibrate
    • First observedsw_capabilities
    • First observedsw_compare_arms
    • First observedsw_compare_results
    • First observedsw_compare_scenarios
    • First observedsw_deliver
    • First observedsw_describe_dataset
    • First observedsw_design_interference
    • First observedsw_export_eval_template
    • First observedsw_gate
    • First observedsw_generate
    • First observedsw_interference_report
    • First observedsw_iot_convert
    • First observedsw_link_performance
    • First observedsw_list_datasets
    • First observedsw_list_presets
    • First observedsw_list_results
    • First observedsw_list_scenes
    • First observedsw_lock_analysis
    • First observedsw_mcs_info
    • First observedsw_missing_slots
    • First observedsw_plan
    • First observedsw_probe_scenario
    • First observedsw_revise
    • First observedsw_sample_size
    • First observedsw_sweep_snr
    • First observedsw_throughput
    • First observedsw_validate

TDQS

A4/5.0
Disambiguation5/5

Each tool targets a distinct resource/action, from presets to datasets to comparisons. Even the IoT-related tools (report, convert, design) have clear boundaries. Descriptions are detailed and effectively disambiguate similar-sounding tools like compare_scenarios, compare_arms, and compare_results.

Naming Consistency5/5

All tools share the sw_ prefix and snake_case, with a consistent verb_noun pattern (e.g., list_presets, generate, validate, compare_arms). A few noun_phrases like mcs_info and sample_size are still readable and do not break the overall consistency.

Tool Count2/5

28 tools exceeds the 25+ threshold, making the surface heavy. While the domain is broad, many tools could be grouped (e.g., the interference trio), and agents may struggle to select the right one from such a large set.

Completeness5/5

The full lifecycle is covered: planning (sw_plan, sw_revise), probing, generation, validation, evaluation, comparison, and reporting. External algorithm integration and preregistration complete the workflow. Minor features like dataset deletion are not necessary for the domain.

Maintenance

ActivityActive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    B
    maintenance
    Exposes NVIDIA Sionna RT ray-tracing as 15 structured tools for AI agents, enabling wireless channel simulation (scene loading, antenna array setup, ray tracing, CSI extraction) through MCP.
    -
  • A
    license
    C
    quality
    A
    maintenance
    MCP server that lets AI agents control a Rohde & Schwarz CMW500 radio communication tester via direct TCP/IP SCPI, providing 84 tools for LTE signaling, WLAN, Bluetooth/BLE, and GPRF measurements, with built-in safety limits and a simulator for evaluation.
    90
    3
    AGPL 3.0

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/TianLin0509/SuperRAN'

If you have feedback or need assistance with the MCP directory API, please join our Discord server