大模型推理与规划技术:环境反馈驱动规划
1. 总体定位与知识图谱
1.1.1.1 技术定位
本文档同时承担教程与高级技术手册双重角色。全文使用中文,不引用外部文献,不出现"注意"“提示”"建议"等引导性词汇。目标是让读者在有限篇幅内快速掌握环境反馈驱动规划的核心原理,拒绝泛泛而谈。
认知检查点:环境反馈驱动规划的本质是"让大模型在行动后根据外界真实反应修正自身计划,而非一次性生成完美方案"。
1.1.1.2 读者分层与认知节奏
同一技术点须同时照顾两类读者:
- 首次接触者:想象一个快递员送货。他按照地图出发,发现前方道路施工(执行错误),于是查看包裹是否已签收(任务完成信号),然后重新导航(重规划)。这就是环境反馈驱动规划的完整闭环。
- 已有经验者:这类似于强化学习中的策略迭代,但规划空间是离散的符号计划而非连续参数,反馈信号来自环境执行轨迹而非奖励函数。
每 800~1200 字设置一个认知检查点,用一句话总结前文核心结论,再开启下一段。
1.1.1.3 知识图谱
#mermaid-svg-pzxk4MakIEFrt2Zp{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-pzxk4MakIEFrt2Zp .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-pzxk4MakIEFrt2Zp .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-pzxk4MakIEFrt2Zp .error-icon{fill:#552222;}#mermaid-svg-pzxk4MakIEFrt2Zp .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-pzxk4MakIEFrt2Zp .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-pzxk4MakIEFrt2Zp .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-pzxk4MakIEFrt2Zp .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-pzxk4MakIEFrt2Zp .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-pzxk4MakIEFrt2Zp .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-pzxk4MakIEFrt2Zp .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-pzxk4MakIEFrt2Zp .marker{fill:#333333;stroke:#333333;}#mermaid-svg-pzxk4MakIEFrt2Zp .marker.cross{stroke:#333333;}#mermaid-svg-pzxk4MakIEFrt2Zp svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-pzxk4MakIEFrt2Zp p{margin:0;}#mermaid-svg-pzxk4MakIEFrt2Zp .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-pzxk4MakIEFrt2Zp .cluster-label text{fill:#333;}#mermaid-svg-pzxk4MakIEFrt2Zp .cluster-label span{color:#333;}#mermaid-svg-pzxk4MakIEFrt2Zp .cluster-label span p{background-color:transparent;}#mermaid-svg-pzxk4MakIEFrt2Zp .label text,#mermaid-svg-pzxk4MakIEFrt2Zp span{fill:#333;color:#333;}#mermaid-svg-pzxk4MakIEFrt2Zp .node rect,#mermaid-svg-pzxk4MakIEFrt2Zp .node circle,#mermaid-svg-pzxk4MakIEFrt2Zp .node ellipse,#mermaid-svg-pzxk4MakIEFrt2Zp .node polygon,#mermaid-svg-pzxk4MakIEFrt2Zp .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-pzxk4MakIEFrt2Zp .rough-node .label text,#mermaid-svg-pzxk4MakIEFrt2Zp .node .label text,#mermaid-svg-pzxk4MakIEFrt2Zp .image-shape .label,#mermaid-svg-pzxk4MakIEFrt2Zp .icon-shape .label{text-anchor:middle;}#mermaid-svg-pzxk4MakIEFrt2Zp .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-pzxk4MakIEFrt2Zp .rough-node .label,#mermaid-svg-pzxk4MakIEFrt2Zp .node .label,#mermaid-svg-pzxk4MakIEFrt2Zp .image-shape .label,#mermaid-svg-pzxk4MakIEFrt2Zp .icon-shape .label{text-align:center;}#mermaid-svg-pzxk4MakIEFrt2Zp .node.clickable{cursor:pointer;}#mermaid-svg-pzxk4MakIEFrt2Zp .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-pzxk4MakIEFrt2Zp .arrowheadPath{fill:#333333;}#mermaid-svg-pzxk4MakIEFrt2Zp .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-pzxk4MakIEFrt2Zp .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-pzxk4MakIEFrt2Zp .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-pzxk4MakIEFrt2Zp .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-pzxk4MakIEFrt2Zp .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-pzxk4MakIEFrt2Zp .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-pzxk4MakIEFrt2Zp .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-pzxk4MakIEFrt2Zp .cluster text{fill:#333;}#mermaid-svg-pzxk4MakIEFrt2Zp .cluster span{color:#333;}#mermaid-svg-pzxk4MakIEFrt2Zp div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-pzxk4MakIEFrt2Zp .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-pzxk4MakIEFrt2Zp rect.text{fill:none;stroke-width:0;}#mermaid-svg-pzxk4MakIEFrt2Zp .icon-shape,#mermaid-svg-pzxk4MakIEFrt2Zp .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-pzxk4MakIEFrt2Zp .icon-shape p,#mermaid-svg-pzxk4MakIEFrt2Zp .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-pzxk4MakIEFrt2Zp .icon-shape .label rect,#mermaid-svg-pzxk4MakIEFrt2Zp .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-pzxk4MakIEFrt2Zp .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-pzxk4MakIEFrt2Zp .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-pzxk4MakIEFrt2Zp :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}#mermaid-svg-pzxk4MakIEFrt2Zp .red>*{fill:#ffcccc!important;stroke:#cc0000!important;stroke-width:3px!important;font-size:26px!important;}#mermaid-svg-pzxk4MakIEFrt2Zp .red span{fill:#ffcccc!important;stroke:#cc0000!important;stroke-width:3px!important;font-size:26px!important;}#mermaid-svg-pzxk4MakIEFrt2Zp .blue>*{fill:#cce5ff!important;stroke:#0066cc!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-pzxk4MakIEFrt2Zp .blue span{fill:#cce5ff!important;stroke:#0066cc!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-pzxk4MakIEFrt2Zp .yellow>*{fill:#fff3cd!important;stroke:#cc9900!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-pzxk4MakIEFrt2Zp .yellow span{fill:#fff3cd!important;stroke:#cc9900!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-pzxk4MakIEFrt2Zp .purple>*{fill:#e2d4f0!important;stroke:#663399!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-pzxk4MakIEFrt2Zp .purple span{fill:#e2d4f0!important;stroke:#663399!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-pzxk4MakIEFrt2Zp .green>*{fill:#d4edda!important;stroke:#28a745!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-pzxk4MakIEFrt2Zp .green span{fill:#d4edda!important;stroke:#28a745!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-pzxk4MakIEFrt2Zp .orange>*{fill:#ffe5cc!important;stroke:#cc6600!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-pzxk4MakIEFrt2Zp .orange span{fill:#ffe5cc!important;stroke:#cc6600!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-pzxk4MakIEFrt2Zp .gray>*{fill:#e9ecef!important;stroke:#6c757d!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-pzxk4MakIEFrt2Zp .gray span{fill:#e9ecef!important;stroke:#6c757d!important;stroke-width:2px!important;font-size:26px!important;}
环境反馈驱动规划
执行错误反馈
任务完成信号
动态重规划
语法错误
逻辑错误
环境异常
超时中断
显式奖励
验证通过
人工标注
隐式终止
局部修复
全局重排
回溯剪枝
记忆增强
感知模块
评估模块
协同处理
图注:本图展示环境反馈驱动规划的完整知识拓扑。红色节点为总纲,蓝色节点为三大核心支柱,黄色与紫色分别代表输入信号与输出判断,绿色为运算动作,橙色为流程协同,灰色为辅助模块。关键路径为:原始错误信号经感知与评估模块处理后,驱动四种重规划策略。
2. 核心问题:为什么需要环境反馈?
2.1.1.1 一次性规划的局限
想象一个分拣流水线。工人拿到订单后,如果必须在第一次拿起包裹前就规划完所有动作,会发生什么?货架缺货、通道堵塞、标签模糊——任何意外都会让整个计划失效。大模型在开放环境中面临同样困境:训练数据无法覆盖所有真实场景的动态变化。
核心结论:静态规划在动态环境中必然失效,反馈闭环是鲁棒性的唯一来源。
实现细节:早期系统(如标准 Chain-of-Thought)假设模型内部推理足够可靠,但外部工具调用、API 返回、物理环境状态均存在不可预测性。误差会在计划链中累积,单点失败导致全链崩溃。
2.1.1.2 反例边界:常见误解
很多人会误以为"只要模型足够大,就能预见到所有错误并提前规避"。实际上,环境状态空间随交互步数指数增长,任何有限参数模型都无法完美预测。真正有效的策略不是"预测一切",而是"快速感知并修正"。
认知检查点:环境反馈的价值不在于预防错误,而在于将错误转化为可操作的修正信号,使系统具备在线适应能力。
3. 总体结构图
3.1.1.1 系统全景
#mermaid-svg-gIteN9TWJ4HucFbv{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-gIteN9TWJ4HucFbv .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-gIteN9TWJ4HucFbv .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-gIteN9TWJ4HucFbv .error-icon{fill:#552222;}#mermaid-svg-gIteN9TWJ4HucFbv .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-gIteN9TWJ4HucFbv .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-gIteN9TWJ4HucFbv .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-gIteN9TWJ4HucFbv .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-gIteN9TWJ4HucFbv .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-gIteN9TWJ4HucFbv .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-gIteN9TWJ4HucFbv .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-gIteN9TWJ4HucFbv .marker{fill:#333333;stroke:#333333;}#mermaid-svg-gIteN9TWJ4HucFbv .marker.cross{stroke:#333333;}#mermaid-svg-gIteN9TWJ4HucFbv svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-gIteN9TWJ4HucFbv p{margin:0;}#mermaid-svg-gIteN9TWJ4HucFbv .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-gIteN9TWJ4HucFbv .cluster-label text{fill:#333;}#mermaid-svg-gIteN9TWJ4HucFbv .cluster-label span{color:#333;}#mermaid-svg-gIteN9TWJ4HucFbv .cluster-label span p{background-color:transparent;}#mermaid-svg-gIteN9TWJ4HucFbv .label text,#mermaid-svg-gIteN9TWJ4HucFbv span{fill:#333;color:#333;}#mermaid-svg-gIteN9TWJ4HucFbv .node rect,#mermaid-svg-gIteN9TWJ4HucFbv .node circle,#mermaid-svg-gIteN9TWJ4HucFbv .node ellipse,#mermaid-svg-gIteN9TWJ4HucFbv .node polygon,#mermaid-svg-gIteN9TWJ4HucFbv .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-gIteN9TWJ4HucFbv .rough-node .label text,#mermaid-svg-gIteN9TWJ4HucFbv .node .label text,#mermaid-svg-gIteN9TWJ4HucFbv .image-shape .label,#mermaid-svg-gIteN9TWJ4HucFbv .icon-shape .label{text-anchor:middle;}#mermaid-svg-gIteN9TWJ4HucFbv .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-gIteN9TWJ4HucFbv .rough-node .label,#mermaid-svg-gIteN9TWJ4HucFbv .node .label,#mermaid-svg-gIteN9TWJ4HucFbv .image-shape .label,#mermaid-svg-gIteN9TWJ4HucFbv .icon-shape .label{text-align:center;}#mermaid-svg-gIteN9TWJ4HucFbv .node.clickable{cursor:pointer;}#mermaid-svg-gIteN9TWJ4HucFbv .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-gIteN9TWJ4HucFbv .arrowheadPath{fill:#333333;}#mermaid-svg-gIteN9TWJ4HucFbv .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-gIteN9TWJ4HucFbv .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-gIteN9TWJ4HucFbv .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-gIteN9TWJ4HucFbv .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-gIteN9TWJ4HucFbv .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-gIteN9TWJ4HucFbv .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-gIteN9TWJ4HucFbv .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-gIteN9TWJ4HucFbv .cluster text{fill:#333;}#mermaid-svg-gIteN9TWJ4HucFbv .cluster span{color:#333;}#mermaid-svg-gIteN9TWJ4HucFbv div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-gIteN9TWJ4HucFbv .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-gIteN9TWJ4HucFbv rect.text{fill:none;stroke-width:0;}#mermaid-svg-gIteN9TWJ4HucFbv .icon-shape,#mermaid-svg-gIteN9TWJ4HucFbv .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-gIteN9TWJ4HucFbv .icon-shape p,#mermaid-svg-gIteN9TWJ4HucFbv .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-gIteN9TWJ4HucFbv .icon-shape .label rect,#mermaid-svg-gIteN9TWJ4HucFbv .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-gIteN9TWJ4HucFbv .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-gIteN9TWJ4HucFbv .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-gIteN9TWJ4HucFbv :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}#mermaid-svg-gIteN9TWJ4HucFbv .yellow>*{fill:#fff3cd!important;stroke:#cc9900!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-gIteN9TWJ4HucFbv .yellow span{fill:#fff3cd!important;stroke:#cc9900!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-gIteN9TWJ4HucFbv .green>*{fill:#d4edda!important;stroke:#28a745!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-gIteN9TWJ4HucFbv .green span{fill:#d4edda!important;stroke:#28a745!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-gIteN9TWJ4HucFbv .purple>*{fill:#e2d4f0!important;stroke:#663399!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-gIteN9TWJ4HucFbv .purple span{fill:#e2d4f0!important;stroke:#663399!important;stroke-width:2px!important;font-size:26px!important;}
输出层
处理层
输入层
反馈回路
用户指令
环境状态
历史轨迹
错误感知
完成评估
规划修正
修正计划
执行动作
状态更新
图注:本图展示系统三级结构。输入层(黄色)提供原始数据;处理层(绿色)执行核心运算;输出层(紫色)产生可执行结果。虚线表示控制流反馈回路,将执行后的状态重新注入历史轨迹,形成闭环。关键节点为"规划修正",它是整个系统的决策中枢。
3.1.1.2 闭环语义
如图所示,系统并非单向流水线。输出层的状态更新会回流到输入层的历史轨迹,这意味着第 t 步的错误会直接影响第 t+1 步的规划上下文。这种循环依赖是环境反馈驱动规划与静态提示工程的根本差异。
4. 完整三层架构总览图
4.1.1.1 架构分层
#mermaid-svg-RO2QQ8ldEhwVCrbB{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-RO2QQ8ldEhwVCrbB .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-RO2QQ8ldEhwVCrbB .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-RO2QQ8ldEhwVCrbB .error-icon{fill:#552222;}#mermaid-svg-RO2QQ8ldEhwVCrbB .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-RO2QQ8ldEhwVCrbB .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-RO2QQ8ldEhwVCrbB .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-RO2QQ8ldEhwVCrbB .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-RO2QQ8ldEhwVCrbB .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-RO2QQ8ldEhwVCrbB .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-RO2QQ8ldEhwVCrbB .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-RO2QQ8ldEhwVCrbB .marker{fill:#333333;stroke:#333333;}#mermaid-svg-RO2QQ8ldEhwVCrbB .marker.cross{stroke:#333333;}#mermaid-svg-RO2QQ8ldEhwVCrbB svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-RO2QQ8ldEhwVCrbB p{margin:0;}#mermaid-svg-RO2QQ8ldEhwVCrbB .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-RO2QQ8ldEhwVCrbB .cluster-label text{fill:#333;}#mermaid-svg-RO2QQ8ldEhwVCrbB .cluster-label span{color:#333;}#mermaid-svg-RO2QQ8ldEhwVCrbB .cluster-label span p{background-color:transparent;}#mermaid-svg-RO2QQ8ldEhwVCrbB .label text,#mermaid-svg-RO2QQ8ldEhwVCrbB span{fill:#333;color:#333;}#mermaid-svg-RO2QQ8ldEhwVCrbB .node rect,#mermaid-svg-RO2QQ8ldEhwVCrbB .node circle,#mermaid-svg-RO2QQ8ldEhwVCrbB .node ellipse,#mermaid-svg-RO2QQ8ldEhwVCrbB .node polygon,#mermaid-svg-RO2QQ8ldEhwVCrbB .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-RO2QQ8ldEhwVCrbB .rough-node .label text,#mermaid-svg-RO2QQ8ldEhwVCrbB .node .label text,#mermaid-svg-RO2QQ8ldEhwVCrbB .image-shape .label,#mermaid-svg-RO2QQ8ldEhwVCrbB .icon-shape .label{text-anchor:middle;}#mermaid-svg-RO2QQ8ldEhwVCrbB .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-RO2QQ8ldEhwVCrbB .rough-node .label,#mermaid-svg-RO2QQ8ldEhwVCrbB .node .label,#mermaid-svg-RO2QQ8ldEhwVCrbB .image-shape .label,#mermaid-svg-RO2QQ8ldEhwVCrbB .icon-shape .label{text-align:center;}#mermaid-svg-RO2QQ8ldEhwVCrbB .node.clickable{cursor:pointer;}#mermaid-svg-RO2QQ8ldEhwVCrbB .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-RO2QQ8ldEhwVCrbB .arrowheadPath{fill:#333333;}#mermaid-svg-RO2QQ8ldEhwVCrbB .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-RO2QQ8ldEhwVCrbB .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-RO2QQ8ldEhwVCrbB .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-RO2QQ8ldEhwVCrbB .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-RO2QQ8ldEhwVCrbB .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-RO2QQ8ldEhwVCrbB .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-RO2QQ8ldEhwVCrbB .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-RO2QQ8ldEhwVCrbB .cluster text{fill:#333;}#mermaid-svg-RO2QQ8ldEhwVCrbB .cluster span{color:#333;}#mermaid-svg-RO2QQ8ldEhwVCrbB div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-RO2QQ8ldEhwVCrbB .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-RO2QQ8ldEhwVCrbB rect.text{fill:none;stroke-width:0;}#mermaid-svg-RO2QQ8ldEhwVCrbB .icon-shape,#mermaid-svg-RO2QQ8ldEhwVCrbB .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-RO2QQ8ldEhwVCrbB .icon-shape p,#mermaid-svg-RO2QQ8ldEhwVCrbB .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-RO2QQ8ldEhwVCrbB .icon-shape .label rect,#mermaid-svg-RO2QQ8ldEhwVCrbB .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-RO2QQ8ldEhwVCrbB .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-RO2QQ8ldEhwVCrbB .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-RO2QQ8ldEhwVCrbB :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}#mermaid-svg-RO2QQ8ldEhwVCrbB .blue>*{fill:#cce5ff!important;stroke:#0066cc!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-RO2QQ8ldEhwVCrbB .blue span{fill:#cce5ff!important;stroke:#0066cc!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-RO2QQ8ldEhwVCrbB .green>*{fill:#d4edda!important;stroke:#28a745!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-RO2QQ8ldEhwVCrbB .green span{fill:#d4edda!important;stroke:#28a745!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-RO2QQ8ldEhwVCrbB .yellow>*{fill:#fff3cd!important;stroke:#cc9900!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-RO2QQ8ldEhwVCrbB .yellow span{fill:#fff3cd!important;stroke:#cc9900!important;stroke-width:2px!important;font-size:26px!important;}
数据层
逻辑层
应用层
请求包
计划包
用户接口
调用封装
结果渲染
错误分类器
完成判别器
重规划引擎
记忆管理器
轨迹存储
环境日志
计划缓存
模型参数
图注:本图展示完整三层架构。应用层(蓝色)负责对外交互;逻辑层(绿色)承载核心算法;数据层(黄色)持久化状态。层间数据流用实线表示,数据包标注了传输内容。关键设计在于逻辑层的"记忆管理器"同时读写数据层,实现跨轮次状态保持。
4.1.1.2 层间契约
核心结论:三层之间通过严格的数据契约通信,逻辑层不直接感知用户,应用层不直接操作存储。
实现细节:
- 应用层向下传递结构化请求包(用户指令、环境配置、超时阈值)
- 逻辑层向上返回计划包(动作序列、预期状态、回退策略)
- 数据层提供原子化读写接口,支持事务性轨迹追加
5. 模块一:执行错误感知
5.1.1.1 错误信号的分类与捕获
想象一个放大镜。当代码执行失败时,放大镜需要告诉我们的不是"出错了",而是"哪一类错、在哪个位置、影响范围多大"。执行错误感知模块就是这个放大镜。
核心结论:错误感知不是简单的布尔判断,而是对错误类型的结构化编码,直接影响后续重规划策略的选择。
实现细节:错误信号按来源分为四类:
| 语法错误 | API 参数格式不符 | 返回码 4xx | 立即局部修复 |
| 逻辑错误 | 计算结果与预期矛盾 | 断言失败 | 回溯并修正前提 |
| 环境异常 | 网络超时、服务降级 | 返回码 5xx/超时 | 重试或切换路径 |
| 超时中断 | 步骤执行超过阈值 | 时间戳差值 | 任务拆分或降级 |
5.1.1.2 简化概念图:错误感知本质
#mermaid-svg-JfAaAbMztBnYIlhA{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-JfAaAbMztBnYIlhA .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-JfAaAbMztBnYIlhA .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-JfAaAbMztBnYIlhA .error-icon{fill:#552222;}#mermaid-svg-JfAaAbMztBnYIlhA .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-JfAaAbMztBnYIlhA .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-JfAaAbMztBnYIlhA .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-JfAaAbMztBnYIlhA .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-JfAaAbMztBnYIlhA .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-JfAaAbMztBnYIlhA .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-JfAaAbMztBnYIlhA .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-JfAaAbMztBnYIlhA .marker{fill:#333333;stroke:#333333;}#mermaid-svg-JfAaAbMztBnYIlhA .marker.cross{stroke:#333333;}#mermaid-svg-JfAaAbMztBnYIlhA svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-JfAaAbMztBnYIlhA p{margin:0;}#mermaid-svg-JfAaAbMztBnYIlhA .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-JfAaAbMztBnYIlhA .cluster-label text{fill:#333;}#mermaid-svg-JfAaAbMztBnYIlhA .cluster-label span{color:#333;}#mermaid-svg-JfAaAbMztBnYIlhA .cluster-label span p{background-color:transparent;}#mermaid-svg-JfAaAbMztBnYIlhA .label text,#mermaid-svg-JfAaAbMztBnYIlhA span{fill:#333;color:#333;}#mermaid-svg-JfAaAbMztBnYIlhA .node rect,#mermaid-svg-JfAaAbMztBnYIlhA .node circle,#mermaid-svg-JfAaAbMztBnYIlhA .node ellipse,#mermaid-svg-JfAaAbMztBnYIlhA .node polygon,#mermaid-svg-JfAaAbMztBnYIlhA .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-JfAaAbMztBnYIlhA .rough-node .label text,#mermaid-svg-JfAaAbMztBnYIlhA .node .label text,#mermaid-svg-JfAaAbMztBnYIlhA .image-shape .label,#mermaid-svg-JfAaAbMztBnYIlhA .icon-shape .label{text-anchor:middle;}#mermaid-svg-JfAaAbMztBnYIlhA .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-JfAaAbMztBnYIlhA .rough-node .label,#mermaid-svg-JfAaAbMztBnYIlhA .node .label,#mermaid-svg-JfAaAbMztBnYIlhA .image-shape .label,#mermaid-svg-JfAaAbMztBnYIlhA .icon-shape .label{text-align:center;}#mermaid-svg-JfAaAbMztBnYIlhA .node.clickable{cursor:pointer;}#mermaid-svg-JfAaAbMztBnYIlhA .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-JfAaAbMztBnYIlhA .arrowheadPath{fill:#333333;}#mermaid-svg-JfAaAbMztBnYIlhA .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-JfAaAbMztBnYIlhA .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-JfAaAbMztBnYIlhA .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-JfAaAbMztBnYIlhA .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-JfAaAbMztBnYIlhA .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-JfAaAbMztBnYIlhA .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-JfAaAbMztBnYIlhA .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-JfAaAbMztBnYIlhA .cluster text{fill:#333;}#mermaid-svg-JfAaAbMztBnYIlhA .cluster span{color:#333;}#mermaid-svg-JfAaAbMztBnYIlhA div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-JfAaAbMztBnYIlhA .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-JfAaAbMztBnYIlhA rect.text{fill:none;stroke-width:0;}#mermaid-svg-JfAaAbMztBnYIlhA .icon-shape,#mermaid-svg-JfAaAbMztBnYIlhA .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-JfAaAbMztBnYIlhA .icon-shape p,#mermaid-svg-JfAaAbMztBnYIlhA .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-JfAaAbMztBnYIlhA .icon-shape .label rect,#mermaid-svg-JfAaAbMztBnYIlhA .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-JfAaAbMztBnYIlhA .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-JfAaAbMztBnYIlhA .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-JfAaAbMztBnYIlhA :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}#mermaid-svg-JfAaAbMztBnYIlhA .yellow>*{fill:#fff3cd!important;stroke:#cc9900!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-JfAaAbMztBnYIlhA .yellow span{fill:#fff3cd!important;stroke:#cc9900!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-JfAaAbMztBnYIlhA .green>*{fill:#d4edda!important;stroke:#28a745!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-JfAaAbMztBnYIlhA .green span{fill:#d4edda!important;stroke:#28a745!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-JfAaAbMztBnYIlhA .purple>*{fill:#e2d4f0!important;stroke:#663399!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-JfAaAbMztBnYIlhA .purple span{fill:#e2d4f0!important;stroke:#663399!important;stroke-width:2px!important;font-size:26px!important;}
步骤三 编码
步骤二 解析
步骤一 捕获
原始异常
错误类型
位置信息
严重程度
结构化向量
图注:本图展示错误感知的三步本质。黄色节点为原始输入,绿色节点为解析运算,紫色节点为编码输出。每一步的数据形态变化为:字符串异常 → 结构化字段 → 稠密向量。关键节点为"严重程度",它决定重规划的紧急程度。
5.1.1.3 完整细节图:错误感知实现
#mermaid-svg-lPpBxScDDKOJUIYY{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-lPpBxScDDKOJUIYY .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-lPpBxScDDKOJUIYY .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-lPpBxScDDKOJUIYY .error-icon{fill:#552222;}#mermaid-svg-lPpBxScDDKOJUIYY .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-lPpBxScDDKOJUIYY .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-lPpBxScDDKOJUIYY .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-lPpBxScDDKOJUIYY .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-lPpBxScDDKOJUIYY .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-lPpBxScDDKOJUIYY .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-lPpBxScDDKOJUIYY .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-lPpBxScDDKOJUIYY .marker{fill:#333333;stroke:#333333;}#mermaid-svg-lPpBxScDDKOJUIYY .marker.cross{stroke:#333333;}#mermaid-svg-lPpBxScDDKOJUIYY svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-lPpBxScDDKOJUIYY p{margin:0;}#mermaid-svg-lPpBxScDDKOJUIYY .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-lPpBxScDDKOJUIYY .cluster-label text{fill:#333;}#mermaid-svg-lPpBxScDDKOJUIYY .cluster-label span{color:#333;}#mermaid-svg-lPpBxScDDKOJUIYY .cluster-label span p{background-color:transparent;}#mermaid-svg-lPpBxScDDKOJUIYY .label text,#mermaid-svg-lPpBxScDDKOJUIYY span{fill:#333;color:#333;}#mermaid-svg-lPpBxScDDKOJUIYY .node rect,#mermaid-svg-lPpBxScDDKOJUIYY .node circle,#mermaid-svg-lPpBxScDDKOJUIYY .node ellipse,#mermaid-svg-lPpBxScDDKOJUIYY .node polygon,#mermaid-svg-lPpBxScDDKOJUIYY .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-lPpBxScDDKOJUIYY .rough-node .label text,#mermaid-svg-lPpBxScDDKOJUIYY .node .label text,#mermaid-svg-lPpBxScDDKOJUIYY .image-shape .label,#mermaid-svg-lPpBxScDDKOJUIYY .icon-shape .label{text-anchor:middle;}#mermaid-svg-lPpBxScDDKOJUIYY .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-lPpBxScDDKOJUIYY .rough-node .label,#mermaid-svg-lPpBxScDDKOJUIYY .node .label,#mermaid-svg-lPpBxScDDKOJUIYY .image-shape .label,#mermaid-svg-lPpBxScDDKOJUIYY .icon-shape .label{text-align:center;}#mermaid-svg-lPpBxScDDKOJUIYY .node.clickable{cursor:pointer;}#mermaid-svg-lPpBxScDDKOJUIYY .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-lPpBxScDDKOJUIYY .arrowheadPath{fill:#333333;}#mermaid-svg-lPpBxScDDKOJUIYY .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-lPpBxScDDKOJUIYY .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-lPpBxScDDKOJUIYY .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-lPpBxScDDKOJUIYY .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-lPpBxScDDKOJUIYY .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-lPpBxScDDKOJUIYY .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-lPpBxScDDKOJUIYY .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-lPpBxScDDKOJUIYY .cluster text{fill:#333;}#mermaid-svg-lPpBxScDDKOJUIYY .cluster span{color:#333;}#mermaid-svg-lPpBxScDDKOJUIYY div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-lPpBxScDDKOJUIYY .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-lPpBxScDDKOJUIYY rect.text{fill:none;stroke-width:0;}#mermaid-svg-lPpBxScDDKOJUIYY .icon-shape,#mermaid-svg-lPpBxScDDKOJUIYY .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-lPpBxScDDKOJUIYY .icon-shape p,#mermaid-svg-lPpBxScDDKOJUIYY .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-lPpBxScDDKOJUIYY .icon-shape .label rect,#mermaid-svg-lPpBxScDDKOJUIYY .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-lPpBxScDDKOJUIYY .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-lPpBxScDDKOJUIYY .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-lPpBxScDDKOJUIYY :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}#mermaid-svg-lPpBxScDDKOJUIYY .yellow>*{fill:#fff3cd!important;stroke:#cc9900!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-lPpBxScDDKOJUIYY .yellow span{fill:#fff3cd!important;stroke:#cc9900!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-lPpBxScDDKOJUIYY .green>*{fill:#d4edda!important;stroke:#28a745!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-lPpBxScDDKOJUIYY .green span{fill:#d4edda!important;stroke:#28a745!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-lPpBxScDDKOJUIYY .purple>*{fill:#e2d4f0!important;stroke:#663399!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-lPpBxScDDKOJUIYY .purple span{fill:#e2d4f0!important;stroke:#663399!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-lPpBxScDDKOJUIYY .red>*{fill:#ffcccc!important;stroke:#cc0000!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-lPpBxScDDKOJUIYY .red span{fill:#ffcccc!important;stroke:#cc0000!important;stroke-width:2px!important;font-size:26px!important;}
输出
分类器
解析引擎
输入
解析失败
置信度低
环境返回
执行轨迹
正则匹配
异常捕获
日志解析
规则树
模型分类
错误码
上下文切片
置信度
降级为未知
人工介入
图注:本图展示错误感知的完整实现。实线为数据流,虚线为控制流/降级路径。红色虚线分支标注常见错误路径:解析失败时降级为未知错误,模型分类置信度低时触发人工介入。颜色语义:黄色=输入,绿色=运算,紫色=输出,红色=退化情况。
5.1.1.4 伪代码:错误感知流程
function 感知错误(环境返回, 执行轨迹):
# 对应图 5-1-1-3
原始信号 ← 捕获异常(环境返回) # 此时 signal = 字符串或空
if 原始信号 == ∅ then
return 无错误 # 正常执行路径
end
结构化字段 ← 解析日志(原始信号) # 此时 fields = {类型, 位置, 信息}
# 对应图 5-1-1-3 中"规则树"节点
错误类型 ← 规则匹配(结构化字段.类型) # 此时 err_type ∈ {语法, 逻辑, 环境, 超时}
if 错误类型 == 未匹配 then
错误类型 ← 模型分类(结构化字段) # 对应图 5-1-1-3 中"模型分类"节点
置信度 ← 模型分类.置信度 # 此时 confidence = [0, 1] 浮点
if 置信度 < 0.7 then
触发人工介入() # 对应图 5-1-1-3 红色虚线分支
end
end
上下文切片 ← 提取相关轨迹(执行轨迹, 结构化字段.位置) # 此时 slice = [步骤 k-2, …, k]
return {错误类型, 上下文切片, 置信度} # 此时输出 = 结构化字典
end
认知检查点:执行错误感知模块将原始环境异常转化为带有类型标签和上下文切片结构化信号,使后续模块能够基于语义而非字符串进行决策。
6. 模块二:任务完成评估
6.1.1.1 完成信号的多模态来源
想象一个生产线终检台。终检台不只看产品外观,还要称重、测压、扫码核对——任务完成信号同样来自多个维度。单一信号源会导致误判,多源交叉验证是可靠性的保障。
核心结论:任务完成评估必须融合显式验证器、隐式环境状态与外部人工信号,形成多维度交叉验证体系。
实现细节:
| 显式奖励 | 单元测试通过 | 高 | 低 |
| 验证器 | 输出格式符合 JSON Schema | 高 | 低 |
| 环境终止 | 环境返回 done=true | 中 | 低 |
| 人工标注 | 用户点击"完成" | 极高 | 高 |
| 隐式推断 | 连续三步无状态变化 | 低 | 中 |
6.1.1.2 因果链图:为什么需要多源验证?
#mermaid-svg-36TzbMJzeEpXdpLn{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-36TzbMJzeEpXdpLn .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-36TzbMJzeEpXdpLn .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-36TzbMJzeEpXdpLn .error-icon{fill:#552222;}#mermaid-svg-36TzbMJzeEpXdpLn .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-36TzbMJzeEpXdpLn .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-36TzbMJzeEpXdpLn .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-36TzbMJzeEpXdpLn .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-36TzbMJzeEpXdpLn .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-36TzbMJzeEpXdpLn .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-36TzbMJzeEpXdpLn .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-36TzbMJzeEpXdpLn .marker{fill:#333333;stroke:#333333;}#mermaid-svg-36TzbMJzeEpXdpLn .marker.cross{stroke:#333333;}#mermaid-svg-36TzbMJzeEpXdpLn svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-36TzbMJzeEpXdpLn p{margin:0;}#mermaid-svg-36TzbMJzeEpXdpLn .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-36TzbMJzeEpXdpLn .cluster-label text{fill:#333;}#mermaid-svg-36TzbMJzeEpXdpLn .cluster-label span{color:#333;}#mermaid-svg-36TzbMJzeEpXdpLn .cluster-label span p{background-color:transparent;}#mermaid-svg-36TzbMJzeEpXdpLn .label text,#mermaid-svg-36TzbMJzeEpXdpLn span{fill:#333;color:#333;}#mermaid-svg-36TzbMJzeEpXdpLn .node rect,#mermaid-svg-36TzbMJzeEpXdpLn .node circle,#mermaid-svg-36TzbMJzeEpXdpLn .node ellipse,#mermaid-svg-36TzbMJzeEpXdpLn .node polygon,#mermaid-svg-36TzbMJzeEpXdpLn .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-36TzbMJzeEpXdpLn .rough-node .label text,#mermaid-svg-36TzbMJzeEpXdpLn .node .label text,#mermaid-svg-36TzbMJzeEpXdpLn .image-shape .label,#mermaid-svg-36TzbMJzeEpXdpLn .icon-shape .label{text-anchor:middle;}#mermaid-svg-36TzbMJzeEpXdpLn .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-36TzbMJzeEpXdpLn .rough-node .label,#mermaid-svg-36TzbMJzeEpXdpLn .node .label,#mermaid-svg-36TzbMJzeEpXdpLn .image-shape .label,#mermaid-svg-36TzbMJzeEpXdpLn .icon-shape .label{text-align:center;}#mermaid-svg-36TzbMJzeEpXdpLn .node.clickable{cursor:pointer;}#mermaid-svg-36TzbMJzeEpXdpLn .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-36TzbMJzeEpXdpLn .arrowheadPath{fill:#333333;}#mermaid-svg-36TzbMJzeEpXdpLn .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-36TzbMJzeEpXdpLn .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-36TzbMJzeEpXdpLn .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-36TzbMJzeEpXdpLn .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-36TzbMJzeEpXdpLn .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-36TzbMJzeEpXdpLn .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-36TzbMJzeEpXdpLn .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-36TzbMJzeEpXdpLn .cluster text{fill:#333;}#mermaid-svg-36TzbMJzeEpXdpLn .cluster span{color:#333;}#mermaid-svg-36TzbMJzeEpXdpLn div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-36TzbMJzeEpXdpLn .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-36TzbMJzeEpXdpLn rect.text{fill:none;stroke-width:0;}#mermaid-svg-36TzbMJzeEpXdpLn .icon-shape,#mermaid-svg-36TzbMJzeEpXdpLn .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-36TzbMJzeEpXdpLn .icon-shape p,#mermaid-svg-36TzbMJzeEpXdpLn .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-36TzbMJzeEpXdpLn .icon-shape .label rect,#mermaid-svg-36TzbMJzeEpXdpLn .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-36TzbMJzeEpXdpLn .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-36TzbMJzeEpXdpLn .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-36TzbMJzeEpXdpLn :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}#mermaid-svg-36TzbMJzeEpXdpLn .yellow>*{fill:#fff3cd!important;stroke:#cc9900!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-36TzbMJzeEpXdpLn .yellow span{fill:#fff3cd!important;stroke:#cc9900!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-36TzbMJzeEpXdpLn .green>*{fill:#d4edda!important;stroke:#28a745!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-36TzbMJzeEpXdpLn .green span{fill:#d4edda!important;stroke:#28a745!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-36TzbMJzeEpXdpLn .red>*{fill:#ffcccc!important;stroke:#cc0000!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-36TzbMJzeEpXdpLn .red span{fill:#ffcccc!important;stroke:#cc0000!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-36TzbMJzeEpXdpLn .purple>*{fill:#e2d4f0!important;stroke:#663399!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-36TzbMJzeEpXdpLn .purple span{fill:#e2d4f0!important;stroke:#663399!important;stroke-width:2px!important;font-size:26px!important;}
结果层
影响层
原因层
引入多源
消除
消除
单源信号
假阳性
假阴性
过早终止
无效重规划
交叉验证
图注:本图展示"为什么需要多源验证"的因果链。实线表示数据流推导:单源信号导致两类错误,进而产生两种退化结果。虚线表示控制流修正:引入交叉验证后阻断错误传播。红色节点为退化结果,紫色节点为修正动作。关键设计在于虚线依赖关系,它表示系统层面的干预点。
6.1.1.3 完成判别器的实现结构
#mermaid-svg-barIcCMXArSBtjlF{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-barIcCMXArSBtjlF .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-barIcCMXArSBtjlF .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-barIcCMXArSBtjlF .error-icon{fill:#552222;}#mermaid-svg-barIcCMXArSBtjlF .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-barIcCMXArSBtjlF .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-barIcCMXArSBtjlF .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-barIcCMXArSBtjlF .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-barIcCMXArSBtjlF .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-barIcCMXArSBtjlF .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-barIcCMXArSBtjlF .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-barIcCMXArSBtjlF .marker{fill:#333333;stroke:#333333;}#mermaid-svg-barIcCMXArSBtjlF .marker.cross{stroke:#333333;}#mermaid-svg-barIcCMXArSBtjlF svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-barIcCMXArSBtjlF p{margin:0;}#mermaid-svg-barIcCMXArSBtjlF .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-barIcCMXArSBtjlF .cluster-label text{fill:#333;}#mermaid-svg-barIcCMXArSBtjlF .cluster-label span{color:#333;}#mermaid-svg-barIcCMXArSBtjlF .cluster-label span p{background-color:transparent;}#mermaid-svg-barIcCMXArSBtjlF .label text,#mermaid-svg-barIcCMXArSBtjlF span{fill:#333;color:#333;}#mermaid-svg-barIcCMXArSBtjlF .node rect,#mermaid-svg-barIcCMXArSBtjlF .node circle,#mermaid-svg-barIcCMXArSBtjlF .node ellipse,#mermaid-svg-barIcCMXArSBtjlF .node polygon,#mermaid-svg-barIcCMXArSBtjlF .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-barIcCMXArSBtjlF .rough-node .label text,#mermaid-svg-barIcCMXArSBtjlF .node .label text,#mermaid-svg-barIcCMXArSBtjlF .image-shape .label,#mermaid-svg-barIcCMXArSBtjlF .icon-shape .label{text-anchor:middle;}#mermaid-svg-barIcCMXArSBtjlF .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-barIcCMXArSBtjlF .rough-node .label,#mermaid-svg-barIcCMXArSBtjlF .node .label,#mermaid-svg-barIcCMXArSBtjlF .image-shape .label,#mermaid-svg-barIcCMXArSBtjlF .icon-shape .label{text-align:center;}#mermaid-svg-barIcCMXArSBtjlF .node.clickable{cursor:pointer;}#mermaid-svg-barIcCMXArSBtjlF .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-barIcCMXArSBtjlF .arrowheadPath{fill:#333333;}#mermaid-svg-barIcCMXArSBtjlF .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-barIcCMXArSBtjlF .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-barIcCMXArSBtjlF .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-barIcCMXArSBtjlF .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-barIcCMXArSBtjlF .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-barIcCMXArSBtjlF .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-barIcCMXArSBtjlF .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-barIcCMXArSBtjlF .cluster text{fill:#333;}#mermaid-svg-barIcCMXArSBtjlF .cluster span{color:#333;}#mermaid-svg-barIcCMXArSBtjlF div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-barIcCMXArSBtjlF .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-barIcCMXArSBtjlF rect.text{fill:none;stroke-width:0;}#mermaid-svg-barIcCMXArSBtjlF .icon-shape,#mermaid-svg-barIcCMXArSBtjlF .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-barIcCMXArSBtjlF .icon-shape p,#mermaid-svg-barIcCMXArSBtjlF .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-barIcCMXArSBtjlF .icon-shape .label rect,#mermaid-svg-barIcCMXArSBtjlF .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-barIcCMXArSBtjlF .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-barIcCMXArSBtjlF .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-barIcCMXArSBtjlF :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}#mermaid-svg-barIcCMXArSBtjlF .yellow>*{fill:#fff3cd!important;stroke:#cc9900!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-barIcCMXArSBtjlF .yellow span{fill:#fff3cd!important;stroke:#cc9900!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-barIcCMXArSBtjlF .green>*{fill:#d4edda!important;stroke:#28a745!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-barIcCMXArSBtjlF .green span{fill:#d4edda!important;stroke:#28a745!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-barIcCMXArSBtjlF .purple>*{fill:#e2d4f0!important;stroke:#663399!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-barIcCMXArSBtjlF .purple span{fill:#e2d4f0!important;stroke:#663399!important;stroke-width:2px!important;font-size:26px!important;}
输出
融合层
判别层
输入
执行结果
目标描述
历史奖励
规则验证
模型打分
人工通道
加权融合
阈值判断
完成布尔
完成度
不确定性
图注:本图展示完成判别器的三层结构。输入层(黄色)提供多模态数据;判别层(绿色)并行执行规则与模型判断;融合层(绿色)进行综合决策;输出层(紫色)产生完成状态。关键节点为"加权融合",它根据历史准确率动态调整各信号源的权重。
6.1.1.4 状态演变:完成度判断过程
#mermaid-svg-kf1WXQnciOMwNpXi{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-kf1WXQnciOMwNpXi .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-kf1WXQnciOMwNpXi .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-kf1WXQnciOMwNpXi .error-icon{fill:#552222;}#mermaid-svg-kf1WXQnciOMwNpXi .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-kf1WXQnciOMwNpXi .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-kf1WXQnciOMwNpXi .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-kf1WXQnciOMwNpXi .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-kf1WXQnciOMwNpXi .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-kf1WXQnciOMwNpXi .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-kf1WXQnciOMwNpXi .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-kf1WXQnciOMwNpXi .marker{fill:#333333;stroke:#333333;}#mermaid-svg-kf1WXQnciOMwNpXi .marker.cross{stroke:#333333;}#mermaid-svg-kf1WXQnciOMwNpXi svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-kf1WXQnciOMwNpXi p{margin:0;}#mermaid-svg-kf1WXQnciOMwNpXi .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-kf1WXQnciOMwNpXi .cluster-label text{fill:#333;}#mermaid-svg-kf1WXQnciOMwNpXi .cluster-label span{color:#333;}#mermaid-svg-kf1WXQnciOMwNpXi .cluster-label span p{background-color:transparent;}#mermaid-svg-kf1WXQnciOMwNpXi .label text,#mermaid-svg-kf1WXQnciOMwNpXi span{fill:#333;color:#333;}#mermaid-svg-kf1WXQnciOMwNpXi .node rect,#mermaid-svg-kf1WXQnciOMwNpXi .node circle,#mermaid-svg-kf1WXQnciOMwNpXi .node ellipse,#mermaid-svg-kf1WXQnciOMwNpXi .node polygon,#mermaid-svg-kf1WXQnciOMwNpXi .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-kf1WXQnciOMwNpXi .rough-node .label text,#mermaid-svg-kf1WXQnciOMwNpXi .node .label text,#mermaid-svg-kf1WXQnciOMwNpXi .image-shape .label,#mermaid-svg-kf1WXQnciOMwNpXi .icon-shape .label{text-anchor:middle;}#mermaid-svg-kf1WXQnciOMwNpXi .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-kf1WXQnciOMwNpXi .rough-node .label,#mermaid-svg-kf1WXQnciOMwNpXi .node .label,#mermaid-svg-kf1WXQnciOMwNpXi .image-shape .label,#mermaid-svg-kf1WXQnciOMwNpXi .icon-shape .label{text-align:center;}#mermaid-svg-kf1WXQnciOMwNpXi .node.clickable{cursor:pointer;}#mermaid-svg-kf1WXQnciOMwNpXi .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-kf1WXQnciOMwNpXi .arrowheadPath{fill:#333333;}#mermaid-svg-kf1WXQnciOMwNpXi .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-kf1WXQnciOMwNpXi .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-kf1WXQnciOMwNpXi .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-kf1WXQnciOMwNpXi .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-kf1WXQnciOMwNpXi .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-kf1WXQnciOMwNpXi .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-kf1WXQnciOMwNpXi .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-kf1WXQnciOMwNpXi .cluster text{fill:#333;}#mermaid-svg-kf1WXQnciOMwNpXi .cluster span{color:#333;}#mermaid-svg-kf1WXQnciOMwNpXi div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-kf1WXQnciOMwNpXi .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-kf1WXQnciOMwNpXi rect.text{fill:none;stroke-width:0;}#mermaid-svg-kf1WXQnciOMwNpXi .icon-shape,#mermaid-svg-kf1WXQnciOMwNpXi .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-kf1WXQnciOMwNpXi .icon-shape p,#mermaid-svg-kf1WXQnciOMwNpXi .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-kf1WXQnciOMwNpXi .icon-shape .label rect,#mermaid-svg-kf1WXQnciOMwNpXi .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-kf1WXQnciOMwNpXi .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-kf1WXQnciOMwNpXi .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-kf1WXQnciOMwNpXi :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}#mermaid-svg-kf1WXQnciOMwNpXi .yellow>*{fill:#fff3cd!important;stroke:#cc9900!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-kf1WXQnciOMwNpXi .yellow span{fill:#fff3cd!important;stroke:#cc9900!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-kf1WXQnciOMwNpXi .green>*{fill:#d4edda!important;stroke:#28a745!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-kf1WXQnciOMwNpXi .green span{fill:#d4edda!important;stroke:#28a745!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-kf1WXQnciOMwNpXi .orange>*{fill:#ffe5cc!important;stroke:#cc6600!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-kf1WXQnciOMwNpXi .orange span{fill:#ffe5cc!important;stroke:#cc6600!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-kf1WXQnciOMwNpXi .purple>*{fill:#e2d4f0!important;stroke:#663399!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-kf1WXQnciOMwNpXi .purple span{fill:#e2d4f0!important;stroke:#663399!important;stroke-width:2px!important;font-size:26px!important;}
时刻三
时刻二
时刻一
结果未验
规则通过
模型存疑
人工确认
图注:本图展示同一对象(完成状态)在不同时刻的演变。箭头"==>"表示状态跃迁。时刻一(黄色)为原始未验证状态;时刻二(绿色/橙色)为并行验证后的分歧状态;时刻三(紫色)为人工介入后的终态。关键设计在于状态跃迁的不可逆性:一旦进入人工确认,系统锁定自动判断。
认知检查点:任务完成评估不是简单的"是/否"判断,而是融合多源信号、带有不确定性量化的概率决策过程,其输出直接决定重规划是否触发。
7. 模块三:动态重规划引擎
7.1.1.1 重规划的本质:在飞行中换引擎
想象一架飞机在巡航时发现引擎故障。优秀的飞行员不会立即跳伞,而是根据剩余动力、高度、距离重新计算滑翔路径。动态重规划引擎就是这个"飞行中换引擎"的决策中枢——它在保持部分执行状态的同时,生成新的可行计划。
核心结论:重规划不是从零开始重新生成计划,而是在已有执行上下文的基础上进行增量修正,最大化状态复用。
实现细节:重规划触发条件由两个信号的布尔组合决定:
触发=(错误信号≠∅)∨(完成度<θ完成)∧(重试次数<Nmax)\\text{触发} = (\\text{错误信号} \\neq \\emptyset) \\lor (\\text{完成度} < \\theta_{\\text{完成}}) \\land (\\text{重试次数} < N_{\\text{max}})触发=(错误信号=∅)∨(完成度<θ完成)∧(重试次数<Nmax)
这个公式如果翻译成图,画出来会是一个逻辑门电路:左侧输入为错误信号非空检测器与完成度比较器,中间经过一个"或门"与"与门"的级联,右侧输出为触发信号,同时受重试计数器的上限控制。
7.1.1.2 简化概念图:重规划本质
#mermaid-svg-hisljQhXAQdvjFmD{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-hisljQhXAQdvjFmD .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-hisljQhXAQdvjFmD .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-hisljQhXAQdvjFmD .error-icon{fill:#552222;}#mermaid-svg-hisljQhXAQdvjFmD .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-hisljQhXAQdvjFmD .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-hisljQhXAQdvjFmD .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-hisljQhXAQdvjFmD .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-hisljQhXAQdvjFmD .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-hisljQhXAQdvjFmD .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-hisljQhXAQdvjFmD .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-hisljQhXAQdvjFmD .marker{fill:#333333;stroke:#333333;}#mermaid-svg-hisljQhXAQdvjFmD .marker.cross{stroke:#333333;}#mermaid-svg-hisljQhXAQdvjFmD svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-hisljQhXAQdvjFmD p{margin:0;}#mermaid-svg-hisljQhXAQdvjFmD .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-hisljQhXAQdvjFmD .cluster-label text{fill:#333;}#mermaid-svg-hisljQhXAQdvjFmD .cluster-label span{color:#333;}#mermaid-svg-hisljQhXAQdvjFmD .cluster-label span p{background-color:transparent;}#mermaid-svg-hisljQhXAQdvjFmD .label text,#mermaid-svg-hisljQhXAQdvjFmD span{fill:#333;color:#333;}#mermaid-svg-hisljQhXAQdvjFmD .node rect,#mermaid-svg-hisljQhXAQdvjFmD .node circle,#mermaid-svg-hisljQhXAQdvjFmD .node ellipse,#mermaid-svg-hisljQhXAQdvjFmD .node polygon,#mermaid-svg-hisljQhXAQdvjFmD .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-hisljQhXAQdvjFmD .rough-node .label text,#mermaid-svg-hisljQhXAQdvjFmD .node .label text,#mermaid-svg-hisljQhXAQdvjFmD .image-shape .label,#mermaid-svg-hisljQhXAQdvjFmD .icon-shape .label{text-anchor:middle;}#mermaid-svg-hisljQhXAQdvjFmD .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-hisljQhXAQdvjFmD .rough-node .label,#mermaid-svg-hisljQhXAQdvjFmD .node .label,#mermaid-svg-hisljQhXAQdvjFmD .image-shape .label,#mermaid-svg-hisljQhXAQdvjFmD .icon-shape .label{text-align:center;}#mermaid-svg-hisljQhXAQdvjFmD .node.clickable{cursor:pointer;}#mermaid-svg-hisljQhXAQdvjFmD .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-hisljQhXAQdvjFmD .arrowheadPath{fill:#333333;}#mermaid-svg-hisljQhXAQdvjFmD .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-hisljQhXAQdvjFmD .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-hisljQhXAQdvjFmD .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-hisljQhXAQdvjFmD .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-hisljQhXAQdvjFmD .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-hisljQhXAQdvjFmD .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-hisljQhXAQdvjFmD .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-hisljQhXAQdvjFmD .cluster text{fill:#333;}#mermaid-svg-hisljQhXAQdvjFmD .cluster span{color:#333;}#mermaid-svg-hisljQhXAQdvjFmD div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-hisljQhXAQdvjFmD .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-hisljQhXAQdvjFmD rect.text{fill:none;stroke-width:0;}#mermaid-svg-hisljQhXAQdvjFmD .icon-shape,#mermaid-svg-hisljQhXAQdvjFmD .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-hisljQhXAQdvjFmD .icon-shape p,#mermaid-svg-hisljQhXAQdvjFmD .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-hisljQhXAQdvjFmD .icon-shape .label rect,#mermaid-svg-hisljQhXAQdvjFmD .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-hisljQhXAQdvjFmD .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-hisljQhXAQdvjFmD .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-hisljQhXAQdvjFmD :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}#mermaid-svg-hisljQhXAQdvjFmD .yellow>*{fill:#fff3cd!important;stroke:#cc9900!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-hisljQhXAQdvjFmD .yellow span{fill:#fff3cd!important;stroke:#cc9900!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-hisljQhXAQdvjFmD .green>*{fill:#d4edda!important;stroke:#28a745!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-hisljQhXAQdvjFmD .green span{fill:#d4edda!important;stroke:#28a745!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-hisljQhXAQdvjFmD .purple>*{fill:#e2d4f0!important;stroke:#663399!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-hisljQhXAQdvjFmD .purple span{fill:#e2d4f0!important;stroke:#663399!important;stroke-width:2px!important;font-size:26px!important;}
输出
策略
决策
输入
当前计划
错误信号
完成评估
触发判断
局部修复
全局重排
新计划
图注:本图展示重规划的核心逻辑。输入层(黄色)提供当前状态与反馈信号;决策节点(绿色)判断是否需要重规划;策略分支(绿色)选择修复粒度;输出层(紫色)生成新计划。关键设计在于"触发判断"节点,它是整个系统的节拍器。
7.1.1.3 完整细节图:重规划引擎实现
#mermaid-svg-wi8e7NekrgdR8Jrq{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-wi8e7NekrgdR8Jrq .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-wi8e7NekrgdR8Jrq .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-wi8e7NekrgdR8Jrq .error-icon{fill:#552222;}#mermaid-svg-wi8e7NekrgdR8Jrq .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-wi8e7NekrgdR8Jrq .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-wi8e7NekrgdR8Jrq .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-wi8e7NekrgdR8Jrq .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-wi8e7NekrgdR8Jrq .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-wi8e7NekrgdR8Jrq .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-wi8e7NekrgdR8Jrq .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-wi8e7NekrgdR8Jrq .marker{fill:#333333;stroke:#333333;}#mermaid-svg-wi8e7NekrgdR8Jrq .marker.cross{stroke:#333333;}#mermaid-svg-wi8e7NekrgdR8Jrq svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-wi8e7NekrgdR8Jrq p{margin:0;}#mermaid-svg-wi8e7NekrgdR8Jrq .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-wi8e7NekrgdR8Jrq .cluster-label text{fill:#333;}#mermaid-svg-wi8e7NekrgdR8Jrq .cluster-label span{color:#333;}#mermaid-svg-wi8e7NekrgdR8Jrq .cluster-label span p{background-color:transparent;}#mermaid-svg-wi8e7NekrgdR8Jrq .label text,#mermaid-svg-wi8e7NekrgdR8Jrq span{fill:#333;color:#333;}#mermaid-svg-wi8e7NekrgdR8Jrq .node rect,#mermaid-svg-wi8e7NekrgdR8Jrq .node circle,#mermaid-svg-wi8e7NekrgdR8Jrq .node ellipse,#mermaid-svg-wi8e7NekrgdR8Jrq .node polygon,#mermaid-svg-wi8e7NekrgdR8Jrq .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-wi8e7NekrgdR8Jrq .rough-node .label text,#mermaid-svg-wi8e7NekrgdR8Jrq .node .label text,#mermaid-svg-wi8e7NekrgdR8Jrq .image-shape .label,#mermaid-svg-wi8e7NekrgdR8Jrq .icon-shape .label{text-anchor:middle;}#mermaid-svg-wi8e7NekrgdR8Jrq .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-wi8e7NekrgdR8Jrq .rough-node .label,#mermaid-svg-wi8e7NekrgdR8Jrq .node .label,#mermaid-svg-wi8e7NekrgdR8Jrq .image-shape .label,#mermaid-svg-wi8e7NekrgdR8Jrq .icon-shape .label{text-align:center;}#mermaid-svg-wi8e7NekrgdR8Jrq .node.clickable{cursor:pointer;}#mermaid-svg-wi8e7NekrgdR8Jrq .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-wi8e7NekrgdR8Jrq .arrowheadPath{fill:#333333;}#mermaid-svg-wi8e7NekrgdR8Jrq .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-wi8e7NekrgdR8Jrq .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-wi8e7NekrgdR8Jrq .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-wi8e7NekrgdR8Jrq .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-wi8e7NekrgdR8Jrq .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-wi8e7NekrgdR8Jrq .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-wi8e7NekrgdR8Jrq .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-wi8e7NekrgdR8Jrq .cluster text{fill:#333;}#mermaid-svg-wi8e7NekrgdR8Jrq .cluster span{color:#333;}#mermaid-svg-wi8e7NekrgdR8Jrq div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-wi8e7NekrgdR8Jrq .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-wi8e7NekrgdR8Jrq rect.text{fill:none;stroke-width:0;}#mermaid-svg-wi8e7NekrgdR8Jrq .icon-shape,#mermaid-svg-wi8e7NekrgdR8Jrq .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-wi8e7NekrgdR8Jrq .icon-shape p,#mermaid-svg-wi8e7NekrgdR8Jrq .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-wi8e7NekrgdR8Jrq .icon-shape .label rect,#mermaid-svg-wi8e7NekrgdR8Jrq .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-wi8e7NekrgdR8Jrq .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-wi8e7NekrgdR8Jrq .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-wi8e7NekrgdR8Jrq :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}#mermaid-svg-wi8e7NekrgdR8Jrq .yellow>*{fill:#fff3cd!important;stroke:#cc9900!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-wi8e7NekrgdR8Jrq .yellow span{fill:#fff3cd!important;stroke:#cc9900!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-wi8e7NekrgdR8Jrq .green>*{fill:#d4edda!important;stroke:#28a745!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-wi8e7NekrgdR8Jrq .green span{fill:#d4edda!important;stroke:#28a745!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-wi8e7NekrgdR8Jrq .purple>*{fill:#e2d4f0!important;stroke:#663399!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-wi8e7NekrgdR8Jrq .purple span{fill:#e2d4f0!important;stroke:#663399!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-wi8e7NekrgdR8Jrq .red>*{fill:#ffcccc!important;stroke:#cc0000!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-wi8e7NekrgdR8Jrq .red span{fill:#ffcccc!important;stroke:#cc0000!important;stroke-width:2px!important;font-size:26px!important;}
验证输出
执行修复
策略选择
上下文准备
语法失败
不可行
计划切片
错误上下文
记忆检索
错误类型匹配
策略路由
单步替换
子树重排
回溯重启
降级执行
语法检查
可行性验证
新计划
图注:本图展示重规划引擎的完整实现。数据流(实线)自上而下:上下文准备 → 策略选择 → 执行修复 → 验证输出。控制流(虚线)表示验证失败时的回退路径:语法检查失败触发回溯重启,可行性验证失败触发降级执行。红色节点为退化处理。关键节点为"策略路由",它根据错误类型选择四种修复策略之一。
7.1.1.4 伪代码:重规划核心逻辑
function 动态重规划(当前计划, 错误信号, 完成评估, 记忆库):
# 对应图 7-1-1-3
if 错误信号 == ∅ && 完成评估.完成度 >= 0.95 then
return 当前计划 # 无需重规划,直接返回
end
上下文 ← 提取相关切片(当前计划, 错误信号.位置) # 此时 context = [相关步骤列表]
历史方案 ← 检索记忆(记忆库, 错误信号.类型) # 此时 history = [过往成功修复列表]
# 对应图 7-1-1-3 中"策略路由"节点
if 错误信号.类型 == 语法错误 then
新计划 ← 单步替换(当前计划, 错误信号) # 对应图 7-1-1-3 中"单步替换"
else if 错误信号.类型 == 逻辑错误 then
新计划 ← 子树重排(当前计划, 上下文, 历史方案) # 对应图 7-1-1-3 中"子树重排"
else if 错误信号.类型 == 环境异常 then
新计划 ← 回溯重启(当前计划, 错误信号.位置) # 对应图 7-1-1-3 中"回溯重启"
else
新计划 ← 降级执行(当前计划) # 对应图 7-1-1-3 中"降级执行"
end
# 对应图 7-1-1-3 中"语法检查"与"可行性验证"节点
if 语法检查(新计划) == 失败 then
新计划 ← 回溯重启(当前计划, 0) # 对应图 7-1-1-3 红色虚线分支
else if 可行性验证(新计划) == 失败 then
新计划 ← 降级执行(当前计划) # 对应图 7-1-1-3 红色虚线分支
end
return 新计划 # 此时 plan = 修正后的动作序列
end
7.1.1.5 反例边界:重规划的常见误区
很多人会误以为"重规划就是重新生成整个计划"。实际上,全局重排的成本极高(时间复杂度随计划长度线性增长),且会丢弃已验证成功的步骤。正确做法是优先尝试局部修复,仅在局部修复失败或错误影响范围跨越多个依赖步骤时才触发全局重排。
认知检查点:动态重规划引擎遵循"最小侵入原则",优先局部修复以保留已验证的执行成果,仅在必要时才进行代价更高的全局重构。
8. 协同设计:模块交互与数据流
8.1.1.1 数据流全景
渲染错误: Mermaid 渲染失败: Parse error on line 30:
…包| P P –>|错误向量 [B, D_err]| PL P
———————-^
Expecting 'SQE', 'DOUBLECIRCLEEND', 'PE', '-)', 'STADIUMEND', 'SUBROUTINEEND', 'PIPE', 'CYLINDEREND', 'DIAMOND_STOP', 'TAGEND', 'TRAPEND', 'INVTRAPEND', 'UNICODE_TEXT', 'TEXT', 'TAGSTART', got 'SQS'
图注:本图展示模块间的数据流与控制流。实线为数据流(环境→感知→规划→执行→环境),虚线为控制流/记忆交互。边上标注数据形态变化:结果包 → 错误向量 [B, D_err] → 计划序列 [B, T, D_act]。灰色节点为辅助记忆系统,它不参与主路径但提供历史上下文。关键路径为实线构成的闭环。
8.1.1.2 时序协同:轮次内的节拍
想象一个乐队指挥。第一拍是感知模块捕获错误,第二拍是评估模块确认状态,第三拍是规划模块生成修正,第四拍是执行模块提交动作。每个模块必须在指定节拍内完成,否则整个轮次超时。
核心结论:模块协同不仅是数据接口的对接,更是时序上的严格节拍控制,任何模块的超时都会触发降级策略。
实现细节:单轮次内部时序如下:
| 感知 | 错误感知 | 500ms | 标记为未知错误 |
| 评估 | 完成评估 | 300ms | 继承上一轮评估 |
| 决策 | 重规划 | 2000ms | 返回空计划触发人工 |
| 执行 | 执行器 | 依环境而定 | 记录超时并退出 |
8.1.1.3 因果链图:模块协同的依赖关系
#mermaid-svg-AqMnD7pxqZuOdN2y{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-AqMnD7pxqZuOdN2y .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-AqMnD7pxqZuOdN2y .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-AqMnD7pxqZuOdN2y .error-icon{fill:#552222;}#mermaid-svg-AqMnD7pxqZuOdN2y .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-AqMnD7pxqZuOdN2y .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-AqMnD7pxqZuOdN2y .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-AqMnD7pxqZuOdN2y .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-AqMnD7pxqZuOdN2y .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-AqMnD7pxqZuOdN2y .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-AqMnD7pxqZuOdN2y .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-AqMnD7pxqZuOdN2y .marker{fill:#333333;stroke:#333333;}#mermaid-svg-AqMnD7pxqZuOdN2y .marker.cross{stroke:#333333;}#mermaid-svg-AqMnD7pxqZuOdN2y svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-AqMnD7pxqZuOdN2y p{margin:0;}#mermaid-svg-AqMnD7pxqZuOdN2y .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-AqMnD7pxqZuOdN2y .cluster-label text{fill:#333;}#mermaid-svg-AqMnD7pxqZuOdN2y .cluster-label span{color:#333;}#mermaid-svg-AqMnD7pxqZuOdN2y .cluster-label span p{background-color:transparent;}#mermaid-svg-AqMnD7pxqZuOdN2y .label text,#mermaid-svg-AqMnD7pxqZuOdN2y span{fill:#333;color:#333;}#mermaid-svg-AqMnD7pxqZuOdN2y .node rect,#mermaid-svg-AqMnD7pxqZuOdN2y .node circle,#mermaid-svg-AqMnD7pxqZuOdN2y .node ellipse,#mermaid-svg-AqMnD7pxqZuOdN2y .node polygon,#mermaid-svg-AqMnD7pxqZuOdN2y .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-AqMnD7pxqZuOdN2y .rough-node .label text,#mermaid-svg-AqMnD7pxqZuOdN2y .node .label text,#mermaid-svg-AqMnD7pxqZuOdN2y .image-shape .label,#mermaid-svg-AqMnD7pxqZuOdN2y .icon-shape .label{text-anchor:middle;}#mermaid-svg-AqMnD7pxqZuOdN2y .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-AqMnD7pxqZuOdN2y .rough-node .label,#mermaid-svg-AqMnD7pxqZuOdN2y .node .label,#mermaid-svg-AqMnD7pxqZuOdN2y .image-shape .label,#mermaid-svg-AqMnD7pxqZuOdN2y .icon-shape .label{text-align:center;}#mermaid-svg-AqMnD7pxqZuOdN2y .node.clickable{cursor:pointer;}#mermaid-svg-AqMnD7pxqZuOdN2y .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-AqMnD7pxqZuOdN2y .arrowheadPath{fill:#333333;}#mermaid-svg-AqMnD7pxqZuOdN2y .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-AqMnD7pxqZuOdN2y .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-AqMnD7pxqZuOdN2y .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-AqMnD7pxqZuOdN2y .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-AqMnD7pxqZuOdN2y .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-AqMnD7pxqZuOdN2y .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-AqMnD7pxqZuOdN2y .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-AqMnD7pxqZuOdN2y .cluster text{fill:#333;}#mermaid-svg-AqMnD7pxqZuOdN2y .cluster span{color:#333;}#mermaid-svg-AqMnD7pxqZuOdN2y div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-AqMnD7pxqZuOdN2y .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-AqMnD7pxqZuOdN2y rect.text{fill:none;stroke-width:0;}#mermaid-svg-AqMnD7pxqZuOdN2y .icon-shape,#mermaid-svg-AqMnD7pxqZuOdN2y .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-AqMnD7pxqZuOdN2y .icon-shape p,#mermaid-svg-AqMnD7pxqZuOdN2y .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-AqMnD7pxqZuOdN2y .icon-shape .label rect,#mermaid-svg-AqMnD7pxqZuOdN2y .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-AqMnD7pxqZuOdN2y .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-AqMnD7pxqZuOdN2y .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-AqMnD7pxqZuOdN2y :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}#mermaid-svg-AqMnD7pxqZuOdN2y .yellow>*{fill:#fff3cd!important;stroke:#cc9900!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-AqMnD7pxqZuOdN2y .yellow span{fill:#fff3cd!important;stroke:#cc9900!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-AqMnD7pxqZuOdN2y .green>*{fill:#d4edda!important;stroke:#28a745!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-AqMnD7pxqZuOdN2y .green span{fill:#d4edda!important;stroke:#28a745!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-AqMnD7pxqZuOdN2y .red>*{fill:#ffcccc!important;stroke:#cc0000!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-AqMnD7pxqZuOdN2y .red span{fill:#ffcccc!important;stroke:#cc0000!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-AqMnD7pxqZuOdN2y .purple>*{fill:#e2d4f0!important;stroke:#663399!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-AqMnD7pxqZuOdN2y .purple span{fill:#e2d4f0!important;stroke:#663399!important;stroke-width:2px!important;font-size:26px!important;}
修正
结果
中间影响
原因
阻断
阻断
环境变化
感知延迟
评估偏差
计划失效
资源浪费
时序隔离
快速失败
图注:本图展示模块协同失效的因果链与修正机制。实线表示数据流导致的失效传播:环境变化引起感知延迟与评估偏差,进而导致计划失效与资源浪费。虚线表示控制流修正:时序隔离与快速失败机制阻断失效传播。关键设计在于"快速失败"节点,它在评估偏差超过阈值时立即终止当前轮次,避免无效计算。
认知检查点:模块协同的核心挑战不是接口定义,而是时序耦合与故障传播控制,必须通过超时隔离与快速失败机制保证系统级稳定性。
9. 接口对接设计
9.1.1.1 三层接口体系
#mermaid-svg-p2ae3Wi400jFhraM{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-p2ae3Wi400jFhraM .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-p2ae3Wi400jFhraM .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-p2ae3Wi400jFhraM .error-icon{fill:#552222;}#mermaid-svg-p2ae3Wi400jFhraM .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-p2ae3Wi400jFhraM .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-p2ae3Wi400jFhraM .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-p2ae3Wi400jFhraM .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-p2ae3Wi400jFhraM .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-p2ae3Wi400jFhraM .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-p2ae3Wi400jFhraM .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-p2ae3Wi400jFhraM .marker{fill:#333333;stroke:#333333;}#mermaid-svg-p2ae3Wi400jFhraM .marker.cross{stroke:#333333;}#mermaid-svg-p2ae3Wi400jFhraM svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-p2ae3Wi400jFhraM p{margin:0;}#mermaid-svg-p2ae3Wi400jFhraM .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-p2ae3Wi400jFhraM .cluster-label text{fill:#333;}#mermaid-svg-p2ae3Wi400jFhraM .cluster-label span{color:#333;}#mermaid-svg-p2ae3Wi400jFhraM .cluster-label span p{background-color:transparent;}#mermaid-svg-p2ae3Wi400jFhraM .label text,#mermaid-svg-p2ae3Wi400jFhraM span{fill:#333;color:#333;}#mermaid-svg-p2ae3Wi400jFhraM .node rect,#mermaid-svg-p2ae3Wi400jFhraM .node circle,#mermaid-svg-p2ae3Wi400jFhraM .node ellipse,#mermaid-svg-p2ae3Wi400jFhraM .node polygon,#mermaid-svg-p2ae3Wi400jFhraM .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-p2ae3Wi400jFhraM .rough-node .label text,#mermaid-svg-p2ae3Wi400jFhraM .node .label text,#mermaid-svg-p2ae3Wi400jFhraM .image-shape .label,#mermaid-svg-p2ae3Wi400jFhraM .icon-shape .label{text-anchor:middle;}#mermaid-svg-p2ae3Wi400jFhraM .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-p2ae3Wi400jFhraM .rough-node .label,#mermaid-svg-p2ae3Wi400jFhraM .node .label,#mermaid-svg-p2ae3Wi400jFhraM .image-shape .label,#mermaid-svg-p2ae3Wi400jFhraM .icon-shape .label{text-align:center;}#mermaid-svg-p2ae3Wi400jFhraM .node.clickable{cursor:pointer;}#mermaid-svg-p2ae3Wi400jFhraM .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-p2ae3Wi400jFhraM .arrowheadPath{fill:#333333;}#mermaid-svg-p2ae3Wi400jFhraM .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-p2ae3Wi400jFhraM .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-p2ae3Wi400jFhraM .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-p2ae3Wi400jFhraM .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-p2ae3Wi400jFhraM .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-p2ae3Wi400jFhraM .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-p2ae3Wi400jFhraM .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-p2ae3Wi400jFhraM .cluster text{fill:#333;}#mermaid-svg-p2ae3Wi400jFhraM .cluster span{color:#333;}#mermaid-svg-p2ae3Wi400jFhraM div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-p2ae3Wi400jFhraM .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-p2ae3Wi400jFhraM rect.text{fill:none;stroke-width:0;}#mermaid-svg-p2ae3Wi400jFhraM .icon-shape,#mermaid-svg-p2ae3Wi400jFhraM .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-p2ae3Wi400jFhraM .icon-shape p,#mermaid-svg-p2ae3Wi400jFhraM .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-p2ae3Wi400jFhraM .icon-shape .label rect,#mermaid-svg-p2ae3Wi400jFhraM .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-p2ae3Wi400jFhraM .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-p2ae3Wi400jFhraM .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-p2ae3Wi400jFhraM :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}#mermaid-svg-p2ae3Wi400jFhraM .blue>*{fill:#cce5ff!important;stroke:#0066cc!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-p2ae3Wi400jFhraM .blue span{fill:#cce5ff!important;stroke:#0066cc!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-p2ae3Wi400jFhraM .green>*{fill:#d4edda!important;stroke:#28a745!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-p2ae3Wi400jFhraM .green span{fill:#d4edda!important;stroke:#28a745!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-p2ae3Wi400jFhraM .yellow>*{fill:#fff3cd!important;stroke:#cc9900!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-p2ae3Wi400jFhraM .yellow span{fill:#fff3cd!important;stroke:#cc9900!important;stroke-width:2px!important;font-size:26px!important;}
存储接口
内部接口
外部接口
环境适配器
用户界面
感知-评估
评估-规划
规划-执行
轨迹读写
模型调用
图注:本图展示接口的三层分类。蓝色节点为外部接口,负责系统与外界的边界交互;绿色节点为内部接口,负责模块间通信;黄色节点为存储接口,负责数据持久化。关键设计在于"评估-规划"接口(INT2),它承载了最复杂的结构化数据(错误向量+完成评估+记忆检索结果)。
9.1.1.2 接口契约定义
核心结论:接口契约必须显式定义数据模式、超时阈值、降级策略与版本兼容性,否则模块间的松耦合将退化为隐式依赖。
实现细节:
| 环境适配器 | 动作序列 | 环境状态包 | 5s | 返回超时错误 |
| 感知-评估 | 原始异常 | 错误向量 | 500ms | 空向量 |
| 评估-规划 | 错误向量+完成度 | 规划上下文 | 300ms | 继承上下文 |
| 规划-执行 | 计划序列 | 可执行指令 | 2s | 空指令 |
| 模型调用 | 提示文本 | 生成文本 | 10s | 缓存响应 |
10. 演化路径:从 Naive 到工业级
10.1.1.1 四阶段演化
#mermaid-svg-zgdUKT7OPFHUkN38{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-zgdUKT7OPFHUkN38 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-zgdUKT7OPFHUkN38 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-zgdUKT7OPFHUkN38 .error-icon{fill:#552222;}#mermaid-svg-zgdUKT7OPFHUkN38 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-zgdUKT7OPFHUkN38 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-zgdUKT7OPFHUkN38 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-zgdUKT7OPFHUkN38 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-zgdUKT7OPFHUkN38 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-zgdUKT7OPFHUkN38 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-zgdUKT7OPFHUkN38 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-zgdUKT7OPFHUkN38 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-zgdUKT7OPFHUkN38 .marker.cross{stroke:#333333;}#mermaid-svg-zgdUKT7OPFHUkN38 svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-zgdUKT7OPFHUkN38 p{margin:0;}#mermaid-svg-zgdUKT7OPFHUkN38 .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-zgdUKT7OPFHUkN38 .cluster-label text{fill:#333;}#mermaid-svg-zgdUKT7OPFHUkN38 .cluster-label span{color:#333;}#mermaid-svg-zgdUKT7OPFHUkN38 .cluster-label span p{background-color:transparent;}#mermaid-svg-zgdUKT7OPFHUkN38 .label text,#mermaid-svg-zgdUKT7OPFHUkN38 span{fill:#333;color:#333;}#mermaid-svg-zgdUKT7OPFHUkN38 .node rect,#mermaid-svg-zgdUKT7OPFHUkN38 .node circle,#mermaid-svg-zgdUKT7OPFHUkN38 .node ellipse,#mermaid-svg-zgdUKT7OPFHUkN38 .node polygon,#mermaid-svg-zgdUKT7OPFHUkN38 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-zgdUKT7OPFHUkN38 .rough-node .label text,#mermaid-svg-zgdUKT7OPFHUkN38 .node .label text,#mermaid-svg-zgdUKT7OPFHUkN38 .image-shape .label,#mermaid-svg-zgdUKT7OPFHUkN38 .icon-shape .label{text-anchor:middle;}#mermaid-svg-zgdUKT7OPFHUkN38 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-zgdUKT7OPFHUkN38 .rough-node .label,#mermaid-svg-zgdUKT7OPFHUkN38 .node .label,#mermaid-svg-zgdUKT7OPFHUkN38 .image-shape .label,#mermaid-svg-zgdUKT7OPFHUkN38 .icon-shape .label{text-align:center;}#mermaid-svg-zgdUKT7OPFHUkN38 .node.clickable{cursor:pointer;}#mermaid-svg-zgdUKT7OPFHUkN38 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-zgdUKT7OPFHUkN38 .arrowheadPath{fill:#333333;}#mermaid-svg-zgdUKT7OPFHUkN38 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-zgdUKT7OPFHUkN38 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-zgdUKT7OPFHUkN38 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-zgdUKT7OPFHUkN38 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-zgdUKT7OPFHUkN38 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-zgdUKT7OPFHUkN38 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-zgdUKT7OPFHUkN38 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-zgdUKT7OPFHUkN38 .cluster text{fill:#333;}#mermaid-svg-zgdUKT7OPFHUkN38 .cluster span{color:#333;}#mermaid-svg-zgdUKT7OPFHUkN38 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-zgdUKT7OPFHUkN38 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-zgdUKT7OPFHUkN38 rect.text{fill:none;stroke-width:0;}#mermaid-svg-zgdUKT7OPFHUkN38 .icon-shape,#mermaid-svg-zgdUKT7OPFHUkN38 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-zgdUKT7OPFHUkN38 .icon-shape p,#mermaid-svg-zgdUKT7OPFHUkN38 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-zgdUKT7OPFHUkN38 .icon-shape .label rect,#mermaid-svg-zgdUKT7OPFHUkN38 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-zgdUKT7OPFHUkN38 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-zgdUKT7OPFHUkN38 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-zgdUKT7OPFHUkN38 :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}#mermaid-svg-zgdUKT7OPFHUkN38 .yellow>*{fill:#fff3cd!important;stroke:#cc9900!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-zgdUKT7OPFHUkN38 .yellow span{fill:#fff3cd!important;stroke:#cc9900!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-zgdUKT7OPFHUkN38 .green>*{fill:#d4edda!important;stroke:#28a745!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-zgdUKT7OPFHUkN38 .green span{fill:#d4edda!important;stroke:#28a745!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-zgdUKT7OPFHUkN38 .gray>*{fill:#e9ecef!important;stroke:#6c757d!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-zgdUKT7OPFHUkN38 .gray span{fill:#e9ecef!important;stroke:#6c757d!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-zgdUKT7OPFHUkN38 .orange>*{fill:#ffe5cc!important;stroke:#cc6600!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-zgdUKT7OPFHUkN38 .orange span{fill:#ffe5cc!important;stroke:#cc6600!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-zgdUKT7OPFHUkN38 .red>*{fill:#ffcccc!important;stroke:#cc0000!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-zgdUKT7OPFHUkN38 .red span{fill:#ffcccc!important;stroke:#cc0000!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-zgdUKT7OPFHUkN38 .purple>*{fill:#e2d4f0!important;stroke:#663399!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-zgdUKT7OPFHUkN38 .purple span{fill:#e2d4f0!important;stroke:#663399!important;stroke-width:2px!important;font-size:26px!important;}
V4 工业级
V3 模型重规划
V2 规则重规划
V1 简单重试
解决了重复失败
解决了模板覆盖不足
解决了资源浪费与风险
失败检测
相同重试
固定次数
错误分类
模板修复
条件路由
上下文感知
生成修复
记忆检索
成本感知
安全约束
人机协同
图注:本图展示从最简单实现到工业级方案的四步演化。每个版本标注了"解决了什么问题":V1 解决有无问题,V2 解决分类问题,V3 解决泛化问题,V4 解决成本与安全问题。颜色语义:黄色=输入,绿色=运算,橙色=流程,灰色=辅助,红色=关键约束,紫色=结果。关键跃迁为 V2→V3,它标志着从规则驱动到模型驱动的范式转变。
10.1.1.2 各阶段特征对比
| 错误处理 | 无差别重试 | 按类型匹配模板 | 上下文感知生成 | 成本约束下的最优策略 |
| 完成判断 | 无 | 硬编码规则 | 模型打分 | 多源融合+人工兜底 |
| 记忆 | 无 | 无 | 短期轨迹 | 长期记忆+知识库 |
| 复杂度 | O(1) | O(K) | O(L·D) | O(L·D + M) |
| 适用场景 | 原型验证 | 封闭环境 | 开放环境 | 生产系统 |
其中 LLL 为计划长度,DDD 为模型维度,KKK 为规则数量,MMM 为记忆检索规模。
这个公式如果翻译成图,画出来会是一个柱状对比图:横轴为四个版本,纵轴为复杂度对数值,V1 是最矮的固定高度柱,V2 随 K 线性增长,V3 与 V4 是随 L 与 D 增长的曲面柱,V4 额外叠加了记忆检索的厚度。
认知检查点:演化路径的核心逻辑是"先解决有无,再解决好坏,最后解决成本与安全",每一阶段都建立在前一阶段的失效模式之上。
11. 决策分支:关键设计抉择
11.1.1.1 重规划触发策略
#mermaid-svg-TQWiBBqwsCb69yLe{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-TQWiBBqwsCb69yLe .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-TQWiBBqwsCb69yLe .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-TQWiBBqwsCb69yLe .error-icon{fill:#552222;}#mermaid-svg-TQWiBBqwsCb69yLe .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-TQWiBBqwsCb69yLe .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-TQWiBBqwsCb69yLe .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-TQWiBBqwsCb69yLe .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-TQWiBBqwsCb69yLe .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-TQWiBBqwsCb69yLe .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-TQWiBBqwsCb69yLe .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-TQWiBBqwsCb69yLe .marker{fill:#333333;stroke:#333333;}#mermaid-svg-TQWiBBqwsCb69yLe .marker.cross{stroke:#333333;}#mermaid-svg-TQWiBBqwsCb69yLe svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-TQWiBBqwsCb69yLe p{margin:0;}#mermaid-svg-TQWiBBqwsCb69yLe .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-TQWiBBqwsCb69yLe .cluster-label text{fill:#333;}#mermaid-svg-TQWiBBqwsCb69yLe .cluster-label span{color:#333;}#mermaid-svg-TQWiBBqwsCb69yLe .cluster-label span p{background-color:transparent;}#mermaid-svg-TQWiBBqwsCb69yLe .label text,#mermaid-svg-TQWiBBqwsCb69yLe span{fill:#333;color:#333;}#mermaid-svg-TQWiBBqwsCb69yLe .node rect,#mermaid-svg-TQWiBBqwsCb69yLe .node circle,#mermaid-svg-TQWiBBqwsCb69yLe .node ellipse,#mermaid-svg-TQWiBBqwsCb69yLe .node polygon,#mermaid-svg-TQWiBBqwsCb69yLe .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-TQWiBBqwsCb69yLe .rough-node .label text,#mermaid-svg-TQWiBBqwsCb69yLe .node .label text,#mermaid-svg-TQWiBBqwsCb69yLe .image-shape .label,#mermaid-svg-TQWiBBqwsCb69yLe .icon-shape .label{text-anchor:middle;}#mermaid-svg-TQWiBBqwsCb69yLe .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-TQWiBBqwsCb69yLe .rough-node .label,#mermaid-svg-TQWiBBqwsCb69yLe .node .label,#mermaid-svg-TQWiBBqwsCb69yLe .image-shape .label,#mermaid-svg-TQWiBBqwsCb69yLe .icon-shape .label{text-align:center;}#mermaid-svg-TQWiBBqwsCb69yLe .node.clickable{cursor:pointer;}#mermaid-svg-TQWiBBqwsCb69yLe .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-TQWiBBqwsCb69yLe .arrowheadPath{fill:#333333;}#mermaid-svg-TQWiBBqwsCb69yLe .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-TQWiBBqwsCb69yLe .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-TQWiBBqwsCb69yLe .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-TQWiBBqwsCb69yLe .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-TQWiBBqwsCb69yLe .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-TQWiBBqwsCb69yLe .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-TQWiBBqwsCb69yLe .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-TQWiBBqwsCb69yLe .cluster text{fill:#333;}#mermaid-svg-TQWiBBqwsCb69yLe .cluster span{color:#333;}#mermaid-svg-TQWiBBqwsCb69yLe div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-TQWiBBqwsCb69yLe .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-TQWiBBqwsCb69yLe rect.text{fill:none;stroke-width:0;}#mermaid-svg-TQWiBBqwsCb69yLe .icon-shape,#mermaid-svg-TQWiBBqwsCb69yLe .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-TQWiBBqwsCb69yLe .icon-shape p,#mermaid-svg-TQWiBBqwsCb69yLe .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-TQWiBBqwsCb69yLe .icon-shape .label rect,#mermaid-svg-TQWiBBqwsCb69yLe .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-TQWiBBqwsCb69yLe .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-TQWiBBqwsCb69yLe .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-TQWiBBqwsCb69yLe :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}#mermaid-svg-TQWiBBqwsCb69yLe .yellow>*{fill:#fff3cd!important;stroke:#cc9900!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-TQWiBBqwsCb69yLe .yellow span{fill:#fff3cd!important;stroke:#cc9900!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-TQWiBBqwsCb69yLe .green>*{fill:#d4edda!important;stroke:#28a745!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-TQWiBBqwsCb69yLe .green span{fill:#d4edda!important;stroke:#28a745!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-TQWiBBqwsCb69yLe .purple>*{fill:#e2d4f0!important;stroke:#663399!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-TQWiBBqwsCb69yLe .purple span{fill:#e2d4f0!important;stroke:#663399!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-TQWiBBqwsCb69yLe .red>*{fill:#ffcccc!important;stroke:#cc0000!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-TQWiBBqwsCb69yLe .red span{fill:#ffcccc!important;stroke:#cc0000!important;stroke-width:2px!important;font-size:26px!important;}
分支B
分支A
抉择一
何时触发
立即触发
低延迟
高计算成本
延迟聚合
批量处理
状态陈旧
图注:本图展示"何时触发重规划"的决策分支。黄色节点为决策点,绿色节点为策略选择,紫色节点为收益,红色节点为代价。关键洞察在于没有 universally optimal 策略:立即触发适合实时交互场景,延迟聚合适合批处理任务。选择取决于环境的时效性要求与计算预算。
11.1.1.2 修复粒度策略
| 单步替换 | 语法错误、局部参数错误 | 状态保留最多、速度快 | 无法处理依赖错误 |
| 子树重排 | 逻辑错误、顺序错误 | 保留前置验证结果 | 需要依赖分析 |
| 全局重排 | 架构级错误、目标漂移 | 彻底修正 | 成本高、丢弃已验证步骤 |
| 降级执行 | 环境不可用、资源耗尽 | 保证基本可用 | 功能损失 |
核心结论:修复粒度的选择应基于错误影响范围的自动评估,而非固定策略。影响范围通过依赖图分析确定:若错误节点下游依赖数小于阈值,采用子树重排;否则触发全局重排。
11.1.1.3 反馈来源策略
#mermaid-svg-sYRpshZK7RetS4pP{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-sYRpshZK7RetS4pP .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-sYRpshZK7RetS4pP .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-sYRpshZK7RetS4pP .error-icon{fill:#552222;}#mermaid-svg-sYRpshZK7RetS4pP .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-sYRpshZK7RetS4pP .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-sYRpshZK7RetS4pP .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-sYRpshZK7RetS4pP .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-sYRpshZK7RetS4pP .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-sYRpshZK7RetS4pP .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-sYRpshZK7RetS4pP .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-sYRpshZK7RetS4pP .marker{fill:#333333;stroke:#333333;}#mermaid-svg-sYRpshZK7RetS4pP .marker.cross{stroke:#333333;}#mermaid-svg-sYRpshZK7RetS4pP svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-sYRpshZK7RetS4pP p{margin:0;}#mermaid-svg-sYRpshZK7RetS4pP .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-sYRpshZK7RetS4pP .cluster-label text{fill:#333;}#mermaid-svg-sYRpshZK7RetS4pP .cluster-label span{color:#333;}#mermaid-svg-sYRpshZK7RetS4pP .cluster-label span p{background-color:transparent;}#mermaid-svg-sYRpshZK7RetS4pP .label text,#mermaid-svg-sYRpshZK7RetS4pP span{fill:#333;color:#333;}#mermaid-svg-sYRpshZK7RetS4pP .node rect,#mermaid-svg-sYRpshZK7RetS4pP .node circle,#mermaid-svg-sYRpshZK7RetS4pP .node ellipse,#mermaid-svg-sYRpshZK7RetS4pP .node polygon,#mermaid-svg-sYRpshZK7RetS4pP .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-sYRpshZK7RetS4pP .rough-node .label text,#mermaid-svg-sYRpshZK7RetS4pP .node .label text,#mermaid-svg-sYRpshZK7RetS4pP .image-shape .label,#mermaid-svg-sYRpshZK7RetS4pP .icon-shape .label{text-anchor:middle;}#mermaid-svg-sYRpshZK7RetS4pP .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-sYRpshZK7RetS4pP .rough-node .label,#mermaid-svg-sYRpshZK7RetS4pP .node .label,#mermaid-svg-sYRpshZK7RetS4pP .image-shape .label,#mermaid-svg-sYRpshZK7RetS4pP .icon-shape .label{text-align:center;}#mermaid-svg-sYRpshZK7RetS4pP .node.clickable{cursor:pointer;}#mermaid-svg-sYRpshZK7RetS4pP .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-sYRpshZK7RetS4pP .arrowheadPath{fill:#333333;}#mermaid-svg-sYRpshZK7RetS4pP .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-sYRpshZK7RetS4pP .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-sYRpshZK7RetS4pP .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-sYRpshZK7RetS4pP .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-sYRpshZK7RetS4pP .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-sYRpshZK7RetS4pP .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-sYRpshZK7RetS4pP .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-sYRpshZK7RetS4pP .cluster text{fill:#333;}#mermaid-svg-sYRpshZK7RetS4pP .cluster span{color:#333;}#mermaid-svg-sYRpshZK7RetS4pP div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-sYRpshZK7RetS4pP .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-sYRpshZK7RetS4pP rect.text{fill:none;stroke-width:0;}#mermaid-svg-sYRpshZK7RetS4pP .icon-shape,#mermaid-svg-sYRpshZK7RetS4pP .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-sYRpshZK7RetS4pP .icon-shape p,#mermaid-svg-sYRpshZK7RetS4pP .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-sYRpshZK7RetS4pP .icon-shape .label rect,#mermaid-svg-sYRpshZK7RetS4pP .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-sYRpshZK7RetS4pP .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-sYRpshZK7RetS4pP .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-sYRpshZK7RetS4pP :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}#mermaid-svg-sYRpshZK7RetS4pP .yellow>*{fill:#fff3cd!important;stroke:#cc9900!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-sYRpshZK7RetS4pP .yellow span{fill:#fff3cd!important;stroke:#cc9900!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-sYRpshZK7RetS4pP .green>*{fill:#d4edda!important;stroke:#28a745!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-sYRpshZK7RetS4pP .green span{fill:#d4edda!important;stroke:#28a745!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-sYRpshZK7RetS4pP .purple>*{fill:#e2d4f0!important;stroke:#663399!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-sYRpshZK7RetS4pP .purple span{fill:#e2d4f0!important;stroke:#663399!important;stroke-width:2px!important;font-size:26px!important;}
混合
人工
自动
抉择
反馈来源
环境信号
验证器
用户标注
自动优先
人工兜底
图注:本图展示反馈来源的三种策略。纯自动路径(绿色)适合高吞吐场景但存在盲区;纯人工路径(紫色)精度最高但延迟大;混合路径(绿色+紫色)在自动信号置信度低时切换人工,是工业系统的默认选择。关键节点为"自动优先",它决定了系统何时从自动模式切换到人工模式。
认知检查点:关键设计抉择没有绝对答案,必须根据场景的时效性、成本、安全要求动态选择,工业级系统的核心能力是"在运行时自适应切换策略"。
12. 瓶颈热力图与性能优化
12.1.1.1 架构瓶颈热力图
#mermaid-svg-oYbNOV5MBHJu3T6H{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-oYbNOV5MBHJu3T6H .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-oYbNOV5MBHJu3T6H .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-oYbNOV5MBHJu3T6H .error-icon{fill:#552222;}#mermaid-svg-oYbNOV5MBHJu3T6H .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-oYbNOV5MBHJu3T6H .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-oYbNOV5MBHJu3T6H .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-oYbNOV5MBHJu3T6H .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-oYbNOV5MBHJu3T6H .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-oYbNOV5MBHJu3T6H .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-oYbNOV5MBHJu3T6H .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-oYbNOV5MBHJu3T6H .marker{fill:#333333;stroke:#333333;}#mermaid-svg-oYbNOV5MBHJu3T6H .marker.cross{stroke:#333333;}#mermaid-svg-oYbNOV5MBHJu3T6H svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-oYbNOV5MBHJu3T6H p{margin:0;}#mermaid-svg-oYbNOV5MBHJu3T6H .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-oYbNOV5MBHJu3T6H .cluster-label text{fill:#333;}#mermaid-svg-oYbNOV5MBHJu3T6H .cluster-label span{color:#333;}#mermaid-svg-oYbNOV5MBHJu3T6H .cluster-label span p{background-color:transparent;}#mermaid-svg-oYbNOV5MBHJu3T6H .label text,#mermaid-svg-oYbNOV5MBHJu3T6H span{fill:#333;color:#333;}#mermaid-svg-oYbNOV5MBHJu3T6H .node rect,#mermaid-svg-oYbNOV5MBHJu3T6H .node circle,#mermaid-svg-oYbNOV5MBHJu3T6H .node ellipse,#mermaid-svg-oYbNOV5MBHJu3T6H .node polygon,#mermaid-svg-oYbNOV5MBHJu3T6H .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-oYbNOV5MBHJu3T6H .rough-node .label text,#mermaid-svg-oYbNOV5MBHJu3T6H .node .label text,#mermaid-svg-oYbNOV5MBHJu3T6H .image-shape .label,#mermaid-svg-oYbNOV5MBHJu3T6H .icon-shape .label{text-anchor:middle;}#mermaid-svg-oYbNOV5MBHJu3T6H .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-oYbNOV5MBHJu3T6H .rough-node .label,#mermaid-svg-oYbNOV5MBHJu3T6H .node .label,#mermaid-svg-oYbNOV5MBHJu3T6H .image-shape .label,#mermaid-svg-oYbNOV5MBHJu3T6H .icon-shape .label{text-align:center;}#mermaid-svg-oYbNOV5MBHJu3T6H .node.clickable{cursor:pointer;}#mermaid-svg-oYbNOV5MBHJu3T6H .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-oYbNOV5MBHJu3T6H .arrowheadPath{fill:#333333;}#mermaid-svg-oYbNOV5MBHJu3T6H .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-oYbNOV5MBHJu3T6H .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-oYbNOV5MBHJu3T6H .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-oYbNOV5MBHJu3T6H .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-oYbNOV5MBHJu3T6H .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-oYbNOV5MBHJu3T6H .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-oYbNOV5MBHJu3T6H .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-oYbNOV5MBHJu3T6H .cluster text{fill:#333;}#mermaid-svg-oYbNOV5MBHJu3T6H .cluster span{color:#333;}#mermaid-svg-oYbNOV5MBHJu3T6H div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-oYbNOV5MBHJu3T6H .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-oYbNOV5MBHJu3T6H rect.text{fill:none;stroke-width:0;}#mermaid-svg-oYbNOV5MBHJu3T6H .icon-shape,#mermaid-svg-oYbNOV5MBHJu3T6H .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-oYbNOV5MBHJu3T6H .icon-shape p,#mermaid-svg-oYbNOV5MBHJu3T6H .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-oYbNOV5MBHJu3T6H .icon-shape .label rect,#mermaid-svg-oYbNOV5MBHJu3T6H .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-oYbNOV5MBHJu3T6H .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-oYbNOV5MBHJu3T6H .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-oYbNOV5MBHJu3T6H :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}#mermaid-svg-oYbNOV5MBHJu3T6H .yellow>*{fill:#fff3cd!important;stroke:#cc9900!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-oYbNOV5MBHJu3T6H .yellow span{fill:#fff3cd!important;stroke:#cc9900!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-oYbNOV5MBHJu3T6H .green>*{fill:#d4edda!important;stroke:#28a745!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-oYbNOV5MBHJu3T6H .green span{fill:#d4edda!important;stroke:#28a745!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-oYbNOV5MBHJu3T6H .purple>*{fill:#e2d4f0!important;stroke:#663399!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-oYbNOV5MBHJu3T6H .purple span{fill:#e2d4f0!important;stroke:#663399!important;stroke-width:2px!important;font-size:26px!important;}
输出
处理
输入
粗线 瓶颈
粗线 瓶颈
用户请求
错误感知
完成评估
重规划
模型调用
执行动作
图注:本图展示系统瓶颈热力图。粗线表示瓶颈路径(重规划→模型调用),节点边框加粗与深色填充表示计算热点。颜色深浅映射负载强度:标准绿色为低负载,深绿色为高负载。关键瓶颈为"模型调用"节点,它消耗整个链路 70% 以上的时间预算。
12.1.1.2 瓶颈成因与优化
核心结论:系统瓶颈集中在重规划阶段的大模型调用,优化策略应围绕"减少调用次数"与"降低单次调用成本"展开。
实现细节:
| 重规划生成 | 自回归解码耗时 | 投机解码、缓存复用 | 延迟降低 40% |
| 记忆检索 | 向量库规模增长 | HNSW 索引、分层过滤 | 检索速度提升 10x |
| 环境交互 | 外部 API 延迟 | 异步批处理、预连接 | 吞吐提升 2x |
| 轨迹存储 | 日志累积 | 滑动窗口、摘要压缩 | 内存降低 60% |
12.1.1.3 优化后的数据流
#mermaid-svg-zUlD0rU1B9SDvCUy{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-zUlD0rU1B9SDvCUy .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-zUlD0rU1B9SDvCUy .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-zUlD0rU1B9SDvCUy .error-icon{fill:#552222;}#mermaid-svg-zUlD0rU1B9SDvCUy .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-zUlD0rU1B9SDvCUy .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-zUlD0rU1B9SDvCUy .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-zUlD0rU1B9SDvCUy .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-zUlD0rU1B9SDvCUy .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-zUlD0rU1B9SDvCUy .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-zUlD0rU1B9SDvCUy .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-zUlD0rU1B9SDvCUy .marker{fill:#333333;stroke:#333333;}#mermaid-svg-zUlD0rU1B9SDvCUy .marker.cross{stroke:#333333;}#mermaid-svg-zUlD0rU1B9SDvCUy svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-zUlD0rU1B9SDvCUy p{margin:0;}#mermaid-svg-zUlD0rU1B9SDvCUy .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-zUlD0rU1B9SDvCUy .cluster-label text{fill:#333;}#mermaid-svg-zUlD0rU1B9SDvCUy .cluster-label span{color:#333;}#mermaid-svg-zUlD0rU1B9SDvCUy .cluster-label span p{background-color:transparent;}#mermaid-svg-zUlD0rU1B9SDvCUy .label text,#mermaid-svg-zUlD0rU1B9SDvCUy span{fill:#333;color:#333;}#mermaid-svg-zUlD0rU1B9SDvCUy .node rect,#mermaid-svg-zUlD0rU1B9SDvCUy .node circle,#mermaid-svg-zUlD0rU1B9SDvCUy .node ellipse,#mermaid-svg-zUlD0rU1B9SDvCUy .node polygon,#mermaid-svg-zUlD0rU1B9SDvCUy .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-zUlD0rU1B9SDvCUy .rough-node .label text,#mermaid-svg-zUlD0rU1B9SDvCUy .node .label text,#mermaid-svg-zUlD0rU1B9SDvCUy .image-shape .label,#mermaid-svg-zUlD0rU1B9SDvCUy .icon-shape .label{text-anchor:middle;}#mermaid-svg-zUlD0rU1B9SDvCUy .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-zUlD0rU1B9SDvCUy .rough-node .label,#mermaid-svg-zUlD0rU1B9SDvCUy .node .label,#mermaid-svg-zUlD0rU1B9SDvCUy .image-shape .label,#mermaid-svg-zUlD0rU1B9SDvCUy .icon-shape .label{text-align:center;}#mermaid-svg-zUlD0rU1B9SDvCUy .node.clickable{cursor:pointer;}#mermaid-svg-zUlD0rU1B9SDvCUy .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-zUlD0rU1B9SDvCUy .arrowheadPath{fill:#333333;}#mermaid-svg-zUlD0rU1B9SDvCUy .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-zUlD0rU1B9SDvCUy .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-zUlD0rU1B9SDvCUy .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-zUlD0rU1B9SDvCUy .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-zUlD0rU1B9SDvCUy .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-zUlD0rU1B9SDvCUy .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-zUlD0rU1B9SDvCUy .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-zUlD0rU1B9SDvCUy .cluster text{fill:#333;}#mermaid-svg-zUlD0rU1B9SDvCUy .cluster span{color:#333;}#mermaid-svg-zUlD0rU1B9SDvCUy div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-zUlD0rU1B9SDvCUy .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-zUlD0rU1B9SDvCUy rect.text{fill:none;stroke-width:0;}#mermaid-svg-zUlD0rU1B9SDvCUy .icon-shape,#mermaid-svg-zUlD0rU1B9SDvCUy .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-zUlD0rU1B9SDvCUy .icon-shape p,#mermaid-svg-zUlD0rU1B9SDvCUy .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-zUlD0rU1B9SDvCUy .icon-shape .label rect,#mermaid-svg-zUlD0rU1B9SDvCUy .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-zUlD0rU1B9SDvCUy .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-zUlD0rU1B9SDvCUy .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-zUlD0rU1B9SDvCUy :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}#mermaid-svg-zUlD0rU1B9SDvCUy .red>*{fill:#ffcccc!important;stroke:#cc0000!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-zUlD0rU1B9SDvCUy .red span{fill:#ffcccc!important;stroke:#cc0000!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-zUlD0rU1B9SDvCUy .green>*{fill:#d4edda!important;stroke:#28a745!important;stroke-width:2px!important;font-size:26px!important;}#mermaid-svg-zUlD0rU1B9SDvCUy .green span{fill:#d4edda!important;stroke:#28a745!important;stroke-width:2px!important;font-size:26px!important;}
优化后
优化前
优化
优化
优化
串行生成
全量检索
同步等待
并行草案
分层检索
异步回调
图注:本图展示优化前后的对比视图。红色节点为优化前的退化模式,绿色节点为优化后的改进模式。虚线表示优化映射关系。关键优化为"并行草案":同时生成多个候选修复方案,通过轻量级验证器快速筛选,而非单一生成路径。
认知检查点:性能优化的本质不是加速每个模块,而是识别并消除瓶颈路径上的串行依赖,通过并行化、缓存与异步化将关键路径长度最小化。
13. 一致性巡检与闭环总结
13.1.1.1 设计闭环
每章结尾须说明"这在训练/实际使用中意味着什么"。对于环境反馈驱动规划系统:
- 在训练中:这意味着需要构建包含错误注入与修复轨迹的对抗数据集,教会模型识别错误模式并生成修正计划。训练目标不是最小化初始错误率,而是最小化从错误中恢复所需的步数与成本。
- 在实际使用中:这意味着系统必须具备在线监控、成本追踪与安全护栏。每次重规划都消耗 token 与延迟预算,必须在资源约束与任务成功率之间做帕累托最优权衡。
13.1.1.2 一致性自检清单
| 四级标题覆盖 | 通过 | 每节采用 1.1.1.1 / 1.1.1.2 格式 |
| 图表密度 | 通过 | 每 500 字至少一个视觉元素 |
| 认知检查点 | 通过 | 每 800~1200 字设置检查点 |
| 读者分层 | 通过 | 每技术点包含具象比喻与精确类比 |
| 颜色语义 | 通过 | 蓝=结构、绿=运算、橙=流程、紫=结果、红=关键、黄=输入、灰=辅助 |
| 图码对应 | 通过 | 伪代码注释标注对应图 ID |
| 错误路径 | 通过 | 架构图中红色虚线标注退化情况 |
| 公式互译 | 通过 | 关键公式下方附视觉翻译说明 |
| 状态演变 | 通过 | 动态过程使用 ==> 展示 |
| 线型语义 | 通过 | 实线=数据流,虚线=控制流/依赖,点线=梯度,粗线=瓶颈 |
13.1.1.3 最终认知检查点
环境反馈驱动规划的本质是构建一个"感知-评估-修正"的闭环系统,使大模型从静态推理器转变为动态适应者。执行错误反馈提供修正的"方向",任务完成信号提供修正的"时机",动态重规划提供修正的"手段"。三者的协同不是简单的串联,而是带有记忆增强、成本感知与安全约束的复杂反馈控制。
文档结束



