队列模拟服务
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-rn88lg3j/m-simulation。
技能介绍
要解决的问题
评估排队系统时,工程师通常需要两件事:用精确公式计算 M/M/1 模型的稳态指标,以及用离散事件仿真验证这些公式。分开做意味着手写 SimPy 逻辑、处理随机种子、再手工对比误差,重复劳动且容易出错。这个技能把这几步收敛到一组可调用的工具里,让大模型负责路由,代码负责调用后端 API。
核心能力与工作方式
技能以 MCP 服务器形式提供,大模型是路由层:理解用户意图、选择工具、提取参数、调用 scripts.tools 下的函数,最后把返回的 raw 数据整理展示。关键步骤如下:
- 检查 API 密钥:若
scripts.config.settings.api_key为空,通过AskUserQuestion向用户询问,拿到后调用scripts.config.set_api_key(key)保存。 - 选择工具:根据意图匹配工具函数。
- 提取参数:缺参时同样用
AskUserQuestion追问。 - 调用工具:以关键字参数调用,例如
scripts.tools.run_simulation(arrival_rate=5, service_rate=8, simulation_time=10000, random_seed=42)。 - 返回结果:展示
result["raw"]中的原始 JSON。
工具覆盖五个环节:
validate_config:校验 λ、μ 与仿真时长,检查系统稳定性条件。calculate_metrics:用精确公式计算 ρ、Lq、L、Wq、W 等稳态指标,系统不稳定(λ ≥ μ)时抛出ValueError。run_simulation:基于 SimPy 执行离散事件仿真,返回仿真值、理论值、对比与配置。compare_results:逐项对比仿真与理论值,给出平均/最大误差百分比、是否在 10% 以内及质量评级。recommend_parameters:根据目标利用率 ρ 反推 λ、μ 与最小顾客数。
适用边界与注意点
- API 密钥是硬性前置条件。无密钥时禁止自行搜索或编造数据,必须先向用户索要。
- 当前工具列表针对 M/M/1 模型。SKILL.md 标题提到 M/M/c,但工具定义中未见 M/M/c 的具体实现,使用前需确认。
- 仿真精度受
simulation_time与random_seed影响,random_seed默认 42,复现实验时需显式指定。 calculate_metrics与run_simulation在 λ ≥ μ 时会失败,合理参数应满足 λ < μ。
使用场景
- 在设计单服务台排队系统时,输入到达率与服务率,校验系统是否满足稳定条件并获取当前利用率。
- 运行完 SimPy 离散事件仿真后,对比模拟得到的排队长度与理论公式计算值,评估仿真误差是否在可接受范围内。
- 当需要搭建一个目标利用率为 70% 的排队模型时,自动推荐合适的到达率、服务率及最小模拟顾客数量。
- 在需要快速获得 M/M/1 模型稳态表现时,直接调用精确公式计算平均等待时间、队列长度及系统时间。
适合人员
- 负责高并发接口设计的后端工程师,需要评估单服务台处理请求时的吞吐量瓶颈与平均排队延迟。
- 正在完成排队论课程作业的运筹学学生,需要通过离散事件仿真来验证理论公式的准确性。
- 负责服务资源规划的系统架构师,需要根据目标系统负载反推合适的到达率与服务率配置参数。