BossAgents × MTClaw 巅峰赛技术说明文档
1. 架构总览
┌─────────────────────────────────────────────────────────────────┐
│ 用户接入层(多端统一) │
│ Web浏览器 │ 微信小程序 │ 飞书机器人 │ 开放API │
└──────────┬──────────┬──────────┬──────────┬─────────────────────┘
│ │ │ │
┌──────────▼──────────▼──────────▼──────────▼─────────────────────┐
│ BossAgents 主服务 (Node.js :3006) │
│ ┌─────────────┐ ┌──────────────┐ ┌─────────────────────┐ │
│ │ SmartRouter │ │ BossScheduler│ │ Digital Staff Engine│ │
│ │ (调度中枢) │ │ (任务编排) │ │ (56个数字员工) │ │
│ └──────┬──────┘ └──────┬───────┘ └──────────┬──────────┘ │
│ │ │ │ │
│ ┌──────▼────────────────▼──────────────────────▼──────────┐ │
│ │ MTClaw Function Router (:18790) │ │
│ │ L1 关键词规则 → L2 端侧推理 → L3 云端兜底 │ │
│ └────────────────────────┬────────────────────────────────┘ │
│ │ │
│ ┌────────────────────────▼────────────────────────────────┐ │
│ │ LLM Provider 层 │ │
│ │ Ollama qwen2:7b (端侧) │ SenseNova (云端) │ │
│ └─────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
2. MTClaw 三层路由机制
2.1 路由流程
用户请求 → SmartRouter → MTClaw Function Router
│
┌─────────▼─────────┐
│ L1: 关键词规则匹配 │
│ (12个高频词) │
└────┬────────┬─────┘
命中 │ │ 未命中
(0 Token) │
│ ┌────▼─────────┐
│ │ L2: 端侧推理 │
│ │ Ollama本地模型 │
│ └────┬────┬────┘
│ 成功 │ │ 失败
│ │ ┌──▼──────────┐
│ │ │ L3: 云端兜底 │
│ │ │ SenseNova │
│ │ └─────────────┘
▼ ▼
返回结果 + 加速证据
2.2 L1 关键词规则(12词)
| 类别 | 关键词 |
|------|--------|
| 芯片设计 | RTL, Verilog, 综合, lint, 编译, 仿真 |
| 采购 | 采购, 比价, 供应商, 报价 |
| 库存 | 库存, 水位, 盘点 |
| 通用 | 查询, 报告, 周报 |
2.3 加速原理
- L1命中:零Token消耗,延迟 < 20ms(纯规则匹配)
- L2命中:端侧推理,延迟 300-600ms,Token消耗低(本地Ollama)
- L3命中:云端兜底,延迟 1200-2000ms,Token消耗高(SenseNova API)
- 加速比:云端直连延迟 / MTClaw路由延迟
2.4 MTClaw二次开发代码
核心修改文件:
MTClaw/scripts/— 自定义路由脚本server/services/mtclaw-metrics-collector.js— 效能指标收集server/routes/chipwise-routes.js— ChipWise路由集成server/services/llm.js— LLM Provider层(noFallback/timeout透传)
3. Subagent 设计
3.1 数字员工架构
Digital Staff Engine
├── Handler层 (意图识别 + 参数提取)
│ ├── chipwise-handler.js — 芯片设计7步流程
│ ├── procurement-handler.js — 采购比价
│ ├── inventory-handler.js — 库存管理
│ └── doc-handler.js — 文档生成
├── Worker层 (任务执行)
│ ├── chip-worker.js — RTL生成/编译/综合/仿真
│ ├── proc-worker.js — 供应商比价
│ └── doc-worker.js — 文档渲染
└── Profile层 (YAML画像)
└── profiles/local.yaml — 56个员工定义(唯一真相源)
3.2 ChipWise Engine 8步流程
| 步骤 | 能力 | LLM策略 | 超时 |
|------|------|----------|------|
| ① 工具链检测 | EDA健康检查 | 无 | 120s |
| ② 规格识别 | identify | Ollama→SenseNova (快优先) | 15s |
| ③ RTL生成 | create | SenseNova (仅云端强模型) | 180s |
| ④ EDA编译验证 | compile+lint | 无 (iverilog+verible) | 120s |
| ⑤ 规则引擎检查 | 47条规则(12条IEEE) | 无 | 60s |
| ⑥ 关系引擎分析 | 模块依赖+信号链 | 无 | 60s |
| ⑦ 仿真验证 | testbench执行 | 无 (iverilog+VVP) | 120s |
| ⑧ 时间线汇总 | 全流程追溯 | 无 | 5s |
3.3 快慢模型分流
- identify(快):Ollama qwen2:7b 端侧推理,延迟 ~500ms
- create(强):SenseNova 云端大模型,延迟 ~15s,maxTokens 16384
- 不fallback到Ollama做create:端侧7B模型生成RTL质量不足
4. EDA工具链
| 工具 | 版本 | 安装方式 | 用途 |
|------|------|----------|------|
| iverilog | 11.0 | conda (WSL) | Verilog编译+仿真 |
| Yosys | 0.51 | conda (WSL) | RTL综合 |
| Verible | 2024-06-10 | 预编译 (WSL) | Verilog Lint |
| riscv-gcc | 16.1.0 | conda (WSL) | RISC-V交叉编译 |
执行方式:Node.js → execSync('wsl ...') → wsl-eda.sh wrapper → conda环境
5. 延迟和效果评测数据
5.1 MTClaw路由延迟(2026-08-02实测)
| 路由层 | 平均延迟 | Token消耗 | 命中率(实测50次) |
|--------|----------|-----------|-----------------|
| L1 规则 | ~11ms | 0 | 30.0% (15/50) |
| L2 端侧 | ~450ms | ~100 | 46.0% (23/50) |
| L3 云端 | ~1700ms | ~600 | 24.0% (12/50) |
| 云端直连 | ~2060ms | ~800 | — |
实测数据来源:/api/mtclaw-metrics 端点,50次请求统计
- L1 vs L3 加速比:187x(11ms vs 2060ms)
- Token节省:80%(MTClaw 10875 vs 云端直连 54184)
- 路由成功率:98%(49/50)
5.2 ChipWise全流程延迟
| 步骤 | 延迟 | 说明 |
|---|---|---|
| ② 识别 | ~2s | Ollama端侧推理 |
| ③ 生成 | ~20s | SenseNova 8模块RTL |
| ④ 编译 | ~5s | iverilog WSL |
| ④ Lint | ~3s | Verible WSL |
| ⑤ 规则 | ~1s | 47条规则本地执行 |
| ⑥ 关系 | ~1s | 模块依赖图本地构建 |
| ⑦ 仿真 | ~8s | iverilog+VVP WSL |
| 总计 | ~40s | 端到端 |
5.3 加速比计算(基于实测数据)
- MTClaw加权平均延迟:0.30×11 + 0.46×450 + 0.24×1700 = 627ms
- 云端直连延迟:2060ms
- 整体加速比:3.3x
- L1 vs 云端直连加速比:187x(零Token消耗)
- Token节省率:80%
6. 开源Benchmark
基于MTClaw标准benchmark测试集:
- 路由准确率:>95%(L1+L2+L3三层覆盖)
- 端侧推理可用率:>98%(Ollama本地服务)
- 云端兜底成功率:100%(SenseNova API)
7. 开发问题与解决方案
| # | 问题 | 根因 | 解决方案 |
|---|---|---|---|
| 1 | 服务器死机(>2min响应) | 1070万条审计日志 | 清理+VACUUM+保留期3天 |
| 2 | ChipWise API超时 | await在非async函数 | 改为async函数 |
| 3 | LLM调用链死链 | 全局_selected指向429的cloudbase | ChipWise独立优先级 |
| 4 | Ollama固定60s超时截断 | callLLM未透传timeout | 解构options取timeout传_callModel |
| 5 | WSL exec不响应 | Node.js exec/execFile对wsl.exe异常 | 改用execSync |
| 6 | LLM生成RTL缺riscv_top | Prompt未强制顶层模块 | 增加规则13+14 |
| 7 | wire vs reg编译错误 | LLM不区分Verilog信号类型 | Prompt规则11/12+repair规则5 |
| 8 | CORS跨域 | MTClaw(:18790)无CORS | BossAgents后端代理 |
| 9 | 死锁 | 后端同步调MTClaw→MTClaw回调BossAgents | 异步调用+超时保护 |
| 10 | DeepSeek 402余额不足 | API账户欠费 | 切换到SenseNova作为主云端 |
| 11 | L1路由脚本执行KeyError('name') | STATE.tools白名单检查用t["name"]而非t["function"]["name"] | 修正为t.get("function",{}).get("name","") |
| 12 | L2路由execute_tool无异常保护 | Qwen选工具后执行脚本抛异常→500 | 加try/except返回error JSON |
| 13 | SmartRouter ping探测触发L2路由 | "ping"消息走Qwen选工具→5轮失败 | 改用/v1/models轻量GET探测 |
8. 演示入口
- 芯智引擎演示:https://ylxt.chat/chipwise-demo
- MTClaw效能看板:https://ylxt.chat/mtclaw-dashboard
- API端点:https://ylxt.chat/api/mtclaw-metrics
9. 启动顺序
# 1. 启动WSL (EDA工具链)
wsl -d Ubuntu-22.04 -- echo "WSL OK"
# 2. 确认Ollama运行
ollama list # 应显示 qwen2:7b
# 3. 启动BossAgents
node server.js
# 4. 访问演示
# 浏览器打开 https://ylxt.chat/chipwise-demo
BossAgents