本节摘要:混合式把反应、模型、规划、学习拼在同一循环里,让快回路保安全、慢回路做目标。常见拼接是垂直分层(时间尺度不同)与水平分工(同一时刻不同模块管不同行动维)。规则负责合法集,学习负责合法集内的残差,规划负责路点。混合的难点不是框图,是仲裁:谁在何时拥有执行器,以及学习更新不得穿透 L0。
阅读完本节,你应当能够:
SOURCE 用自动驾驶:纯规则遇突发笨,纯学习难审计。混合的动机在坐标系里更干净:环境同时具备硬实时(别撞)和长目标(到达),单一裁剪照顾不了 5.1 的两极。分层是时间尺度的承认:10 毫秒级避障、1 秒级跟车、10 秒级换道、分钟级选路。每一层有自己的状态粒度与模型。上层给下层设参考,下层在参考附近保证约束。上层慢、下层快,执行器默认听下层的紧急否决。
水平混合是另一刀:转向由反应,速度由优化,灯色由规则。它们同时输出,需要合成。比分层更易打结,因为没有自然的时间优先级。适合行动维度本来就独立的系统;不适合强耦合的底盘控制。
任务层 分钟 规划路点、目标栈 技能层 秒 跟车、插入货位 反射层 毫秒 急停、限幅 执行器 ← 反射层拥有否决权
💡 关键直觉:混合的产品是仲裁协议,不是模块清单。清单谁都会画,协议才决定撞车时谁说话。
规则当过滤器与 L0,见 3.3。规划当慢层,见 3.2。学习可出现在:技能层的策略、感知、局部 T。SOURCE 说混合能提高可解释性:因为对外解释可以走规则与计划,不必打开网络。这要求解释路径真的存在——若最终行动经常被网络否决规则,解释就在撒谎。设计上应让网络只在合法集内排序,而不是覆盖合法集。
| 拼接 | 仲裁 | 解释从哪来 | 风险 |
|---|---|---|---|
| 垂直三层 | 时间尺度加否决 | 上层计划加下层规则 | 层间接口漂移 |
| 水平合成 | 加权或约束优化 | 难 | 耦合时振荡 |
| 规则过滤加学习 | 合法集先于分数 | 规则可审计 | 合法集不全则学歪 |
| 规划加反射 | 反射可打断计划 | 计划加打断原因 | 打断过于频繁则计划无用 |
鲁棒性来自多样性:一层失效,另一层兜。反射在规划超时仍能急停。规划在学习策略发疯时仍能给出路点。多样性生效的前提是失效可检测。若三层吃同一份错误状态,多样性是假的——认知单点故障。混合不能替代 2.1 的状态质量。
每层应公布:输入状态字段、输出行动或参考、周期、失败时的默认。学习更新契约:只能改技能层参数,提交走 4.3。测试契约:单层测、再联调;联调必须包含「规划超时」「感知丢帧」「学习版本回滚」。没有超时测试的混合,上线后第一次卡顿就会露出真仲裁:可能是整个环冻住。
⚠️ 常见坑:用一个大模型同时当规划、技能和反射。延迟与不可审计会回到纯学习的老问题。大模型更适合慢层的任务分解,见 6.2,不要塞进毫秒回路。
温室混合很浅:反射是超温切断加热;技能是 PID 式维持;任务层是按天气预调曲线。仓库更深:反射防撞;技能走通道与插货;任务层排订单。自动驾驶更深且安全约束更硬。深度不同,协议同构。把同构写清楚,换领域时才不会从头发明「我们的独特架构」。
适应性来自 SOURCE 所说的动态调权重。权重本身应是慢变量,由监控而不是由瞬时奖励拧。瞬时拧权重会把混合变成另一套不可解释策略。调权要进 L1/L2,并留下日志:哪一天因为什么把技能层学习率或层间权重改了。混合系统的可维护性,看这些日志还在不在。
上层路点用的坐标系与下层控制用的不一致,是混合最常见的静默故障。表现是「规划在地图上很美,车走 S 形」。查变换,不要先换学习算法。接口契约应含单位、坐标系、时间戳、失败默认。联调第一周只测这些,不测智能。测不过禁止加模块。多样性要求各层传感器不完全同源:反射尽量用最快、最稳的那几维(雷达距离、限位开关),任务层可以用慢视觉。同源则一层瞎、层层次。SOURCE 说混合增强鲁棒,前提是失效独立。独立要设计,不会因为画了三层就自动出现。
水平合成用约束优化时,权重又是慢变量。瞬时用奖励拧权重,混合会退化成不可解释策略。权重变更走 L1 人审。日志记下谁在哪天把「舒适」从 0.2 改到 0.05。没有日志的调权,等于暗改 3.1。
规划被反射频繁打断,说明上层参考不可行或过时。应降低上层频率、缩短视野、或把参考从「精确轨迹」改成「走廊」。打断次数是 5.2 的健康指标,类似否决计数。次数为零也不健康:反射可能没接上。健康在一个区间里,要标定。
大模型若进混合,只进任务层:把订单或用户话收成目标栈。技能与反射保持经典。延迟、可审计、可回滚这三项,生成式模块目前都不擅长在毫秒级兑现。演示把三者焊进一个提示词,产品把三者拆开。拆开才是混合,焊死是回退到纯学习,5.1 已经排除过。
否决权是否默认在最快层?学习箭头画没画到反射 L0?层间单位、坐标系、时间戳、失败默认四项联调过了吗?规划超时车体是否仍能急停?三层是否同吃一份错状态从而假多样性?反射传感器是否尽量用最快最稳维?水平权重变更走不走人审日志?打断次数在不在健康区间,为零是否反而说明反射没接上?大模型有没有被塞进毫秒回路?解释路径是否真实,网络会不会默默覆盖规则?覆盖发生时对外解释还在引用规则,那是撒谎。撒谎的混合比纯学习更危险,因为它假装可审计。可审计要靠合法集真的先于分数。先于分数必须有测试,测试必须在本节的契约里,而不是在演示视频的旁白里。旁白不是仲裁。仲裁是超时那一毫秒谁说话。说话的那一层,才是混合真正的产品。
技能层网络输出「加速穿过」,规则层输出「前方距离小于阈值则限速」。仲裁应限速,并记一条否决。若最终加速度跟着网络走,混合在撒谎。撒谎测试每月跑一次,用合成状态专门制造冲突。冲突测不过,禁止宣称可解释。可解释依赖规则真的赢。规则赢依赖仲裁。仲裁依赖 5.2 的产品定义。定义写在否决权,不写在模块清单。清单可以同时包含网络与规则,这不叫混合成功。成功是冲突时谁说话。说话记录要能被 6.3 的追溯抽到。抽不到,义务章会发现解释是事后作文。作文来自生成,生成没有否决权。否决权在最快层。最快层若被学习直写,每月冲突测试会逐渐失败,因为网络学会了把状态推到规则刚好不触发的边缘。擦边是 3.3 警告过的。混合必须把擦边当成攻击来测,而不是当成优化成功。优化成功在合法集内。集外是事故。事故不因混合了规则就自动消失。规则必须赢。赢要测。测要合成冲突。合成冲突是本节的作业。作业不做,5.2 只是把 5.1 的表抄了三遍。抄三遍不是拼接。拼接是仲裁协议。协议能赢过网络,混合才存在。存在才能进 5.3 谈流。流在撒谎的仲裁上没有意义,因为行动已经不听流了。听的是漏网的分数。分数漏网,全书的合法集从这一层决堤。决堤从一次没跑的冲突测试开始。开始很静。静得像优化。优化到撞为止。撞才响。响之前用合成冲突让它响在实验室。实验室的响是便宜的否决。便宜的否决是混合的月租。月租要交。
实验室的响是便宜的否决。便宜的否决是混合的月租。月租要交。交的是合成冲突测试。测试不过禁止宣称可解释。可解释依赖规则真的赢。规则赢依赖仲裁。仲裁是产品。产品不是模块清单。清单可以同时有网络与规则。同时有不叫成功。成功是冲突时谁说话。说话记录要能被追溯抽到。抽不到,义务章会发现解释是事后作文。作文来自生成,生成没有否决权。否决权在最快层。最快层若被学习直写,每月冲突测试会逐渐失败,因为网络学会把状态推到规则刚好不触发的边缘。擦边当攻击来测,不当优化成功。优化成功只在合法集内。集外是事故。事故不因混合了规则就自动消失。规则必须赢。赢要测。测要合成冲突。合成冲突每月跑。跑过,5.2 过关。过关后把冲突测试与 3.3 的高分非法测试排在同一回归。同一回归拦擦边。擦边是网络对规则的慢性进攻。慢性进攻只能用月测抓住。抓住了回滚技能版本,不改 L0。L0 仍赢。仍赢才叫混合还在。还在才能进 5.3 谈流。流在撒谎的仲裁上没有意义。意义从规则赢开始。规则赢过关。过关标志是合成冲突时限速留下记录。记录能被抽到。抽到过关。
下一节用协同循环把架构图逐项对回接口。