设计哲学
这套系统的每个设计决定,都是为了在"让 AI 多干活"和"别让 AI 静默毁板"之间走钢丝。
1. AI 当集成商,不当芯片设计师
从零合成 IC 级原理图是 LLM 最差的环节——HWE-Bench(2026) 最强模型在板级原理图任务上通过率仅 8.15%,结论是模型"缺乏物理直觉";一个网络接反(I2C 的 SDA/SCL、电机驱动 IN1/IN2、二极管方向、boot/reset 悬空)会让板子上电即死或自损,而 ERC/DRC 全都能通过。
所以本系统只做模块级集成:把已验证的模块(lib/modules/ 里的 known-good 接法块)按当年题目拼起来、出接线图,规避会"静默毁板"的环节。人照接线图连模块,连接发生在连接器层面而非裸 IC 的引脚。
2. 正确性交确定性门,不靠"模型觉得对"
每个关键环节都有可复跑的脚本判定,而不是让模型自我评估:
| 环节 | 确定性门 |
|---|---|
| 引脚冲突 / 功能非法 / 外设超限 | pinmux_check.py |
| C / Python 协议两端一致 | gen_protocol.py(签名哈希)+ 跨语言逐字节比对 |
| 供电余量(按电机堵转电流算) | power_budget.py |
| 固件中间件(PID / 调度器 / 协议状态机) | 主机 cc 真编译真跑断言 |
"检查通过" ≠ "设计对":DRC/ERC 只查几何与连通,抓不到反接封装、反向二极管、欠流走线。所以关键处保留人工逐网核对(见各 skill 的"人工门")。
3. 知识库只作"参考语料"
仓库里的 kb/(赛事章程、引脚说明、PID、K230 协议、软件架构、金奖经验)是参考知识,skill 用 Read 查阅——不当器件库存、不当需求来源。
- 需求来自当年题目(
inputs/problem/) - 候选器件来自主办方当年配件表(
inputs/partslist/)
4. 模型异构无碍
三个 lane 跨机器不直接通信,只靠 git + 文件 + 契约协同——git 不管文件是哪个模型写的。读 PDF / 数据手册等多模态任务归 lead(Claude);队友的 DeepSeek / GLM lane 干代码活,错误交编译 / pinmux_check 等确定性门兜底。每个 SKILL.md 头部都标了 lane 与 needs。
5. 人机并行,不批处理
比赛现场时间紧:主会话只做秒级调度,重活丢后台子代理;先交付能解放人手的件(接线图),人执行时 agent 抢跑下一步。谁手头空了就向任务板要"下一个不依赖别人的活"。