设想这样一个周末:你带着全家自驾去海边,导航规划出一条 3 小时的路线。可出发半小时,前方突然封路;一小时后,油表又亮起黄灯。此时真正靠谱的司机,不会死盯着出发前那张路线图,而是快速打量眼前的选择——绕小路能不能回到原路?要不要先加油?甚至可以问一句:要不要换个目的地?这套“边开边改路”的能力,正是 Agentic AI 里极其关键的一环:计划调整。本文就借这场自驾之旅展开:智能体(Agent)像司机,行动计划像路线图,执行反馈像实时路况。我们将一路看清——何时该发现路线失灵、如何分辨问题出在哪儿、绕行与换目的地谁更划算,以及如何让下一次出行更聪明。读完你会真正理解:一份好计划不是一成不变的剧本,而是懂得随现实起舞的“活导航”。

岗位关联

掌握“计划调整”,让智能体从照本宣科走向随机应变,是客服、运维、机器人等 Agentic AI 应用稳定落地的核心能力,也是 LLM 应用工程师进阶系统设计的必修课。

目录
  1. 可视化演示
  2. 计划调整概述
  3. 失败检测机制
  4. 反馈信号处理
  5. 调整策略分类
  6. 约束感知调整
  7. 多Agent协调
  8. 评估与学习优化
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

展示Agentic AI中计划调整的动态重规划触发机制、局部修补与全局重规划策略对比,以及状态树回溯执行路径。

本节配有交互动效(进入视口后自动加载,约 3KB)。

重规划触发机制 执行失败、环境变化、目标修改三类条件触发动态重规划 触发=f(fail,env,goal) Agent感知偏差后立即启动重规划流程

计划调整概述

出发前,你在手机地图里规划好了一条去海边的路线:全程 3 小时,中途停留两次。可一旦上了高速,真实的道路状况就和纸面路线脱节了——地图上的那条“绿线”只是一个静态愿景。真正让你顺利到达的,是那个不断根据实时路况改写路线的导航软件。在 Agentic AI 里,这份“不断改写的导航路线”就是计划调整(plan adjustment)。

计划调整是指智能体在计划执行过程中,基于环境状态与执行反馈,对既有行动计划进行局部或全局的修改。它与计划生成互为补充:生成解决“从 0 到 1”的方案产出,调整解决“从 1 到 N”的应变。一个只有生成、没有调整的智能体,就像坚持走原路线却遇见封路也不肯转弯的司机,迟早被困在半路。

计划调整的高频触发源有三类:一是环境动态性,用户目标、外部状态在毫秒级变化;二是模型不完善,规划时假设“网络稳定、工具可用”,执行时却发现接口超时;三是执行层噪声,动作明明发出,结果却出现偏差。调整的时机通常是偏差超过阈值、新信息到达,或者资源预算预警。它的核心价值在于显著提升任务成功率、降低无效资源消耗、增强系统鲁棒性。为了量化“计划与现实的差距”,我们引入偏差度量:

就像导航不会只在终点才提醒你“路线到期”,智能体在每个执行步都会算一次“实际 vs 预期”的差距。这差距不是洪水猛兽,而是穿越变化世界时仪表盘上最重要的指针。

Δt=∥s^t−st∥2\displaystyle \Delta_t = \left\| \hat{s}_t - s_t \right\|_2
通俗说明:Δ_t 表示第 t 步“计划预期”与“实际状态”之间的总差距。差距越大,说明计划越需要调整。
  1. 预期状态 ŝ_t计划在第 t 步设定的期望状态,例如到达某节点时应当已消耗资源 5 单位;它代表导航地图上“此刻你本该在的位置”。
    s^t\hat{s}_t
  2. 实际状态 s_t执行反馈中采集到的真实状态,代表“此刻你实际所在的位置”。
    sts_t
  3. 欧几里得范数 ‖·‖₂把多维差距折叠成一个标量距离,衡量“预期与实际的总体偏差大小”。
    ∥s^t−st∥2\left\| \hat{s}_t - s_t \right\|_2
  4. 偏差量 Δ_t量化结果。Δ_t 越大,说明计划与现实脱节越严重,越应进入调整流程。
    Δt\Delta_t

失败检测机制

导航系统里住着一个永不下班的“路况雷达”。每一次刷新,它都在对比“预期到达时间”和“实际位置”:偏移 1 公里?正常,可能是驾驶风格差异。可一旦“前方拥堵 3 公里”的红色警报响起,它会立刻把路线染成红色,并弹出换路建议。这个雷达做的事,就是失败检测。

失败检测是计划调整的前置环节,回答“计划是否需要调整”这个关键问题。核心做法是期望状态对照(expectation–actual comparison):把执行过程中的实际反馈与计划中的预期状态逐项对齐,一旦累计偏差超过设定阈值,就触发告警。检测要同时压制两个错误:漏检(真失败了却没发现)和误检(一点噪声就大动作)。前者让 Agent 在错误路线上越走越远,后者让系统在无谓的重规划中空耗算力。

一个直接的工程问题是:单步偏差波动太大,瞬时抖动会造成误报。于是实践中常用滑动窗口把最近若干步的偏差取平均,让短时噪声被中和,只有持续偏离才触发告警。检测到异常后,系统还会对信号分类——是可恢复偏差、不可恢复失败,还是致命冲突,不同类别对应不同的策略初选:

优秀的驾驶员不会因为一次轻微颠簸就猛打方向盘,导航也不会因为某时刻路况波动就反复换路。滑动窗口,就是那个让检测机制“沉稳不慌”的阻尼器。

Δˉw=1w∑i = t−w+1tΔi\displaystyle \bar{\Delta}_w = \frac{1}{w} \sum_{i \,=\, t-w+1}^{t} \Delta_i
通俗说明:把最近 w 步的偏差取平均。就像看路况要参考过去十分钟的平均车速,而不是某一秒的急刹车。
  1. 窗口大小 w参与平均的连续步数。w 越大越平滑但反应越迟钝,w 越小越灵敏但易受噪声干扰。
    ww
  2. 窗口内偏差累加把从 t-w+1 到 t 这 w 步的单步偏差全部加起来,得到窗口内偏差总量。
    ∑i = t−w+1tΔi\sum_{i \,=\, t-w+1}^{t} \Delta_i
  3. 除以步数 1/w得到单步平均偏差,与单个 Δ_i 同量纲,方便和阈值直接比较。
    1w\frac{1}{w}
  4. 窗口平均偏差 W̄_w当它超过阈值 θ 时触发调整;当它回落时说明异常正在消退,可暂缓调整。
    Δˉw\bar{\Delta}_w

反馈信号处理

开车时,你的感官同时收到无数信号:导航提示、邻车喇叭、油表指针、后座孩子的吵闹。盲目响应每一个信号的人上不了路;聪明的司机会先分辨:这些信号分别意味着什么?哪个最紧急?动作的顺序如何?这就是反馈信号处理的日常。

智能体同样面临多源反馈——环境感知、工具 API 返回、用户新指令、内部状态自检。反馈信号处理的任务有三层:融合(把异构信息统一成结构化证据)、归因(判断偏差到底来自计划、执行还是环境)、排序(决定先处理谁)。归因是最关键的环节:把“开错路”归因成“计划错”,和归因成“方向盘失灵”,后续动作完全不同——前者要重规划,后者要换工具。

工程上常用朴素贝叶斯做归因:维护每个候选原因 c 对每个观测 f 的条件概率,把多个观测的似然连乘,选出后验最大的原因作为偏差根因。排序则依据影响度与紧迫度:影响目标达成度越大的反馈,越优先进入调整决策:

归因能力让智能体像老司机一样“对症下药”:听见异响,先判断是胎压还是引擎,再决定靠边检查还是继续开。反馈处理的质量,直接决定后续调整的成败。

e^=arg⁡max⁡c∈C∏f∈FP(f∣c)\displaystyle \hat{e} = \arg\max_{c \in \mathcal{C}} \prod_{f \in \mathcal{F}} P(f \mid c)
通俗说明:在候选原因里,找出“最能解释所有已知异常信号”的那一个。像侦探从线索里锁定最可能的嫌疑人。
  1. 候选原因集合 C计划缺陷、执行失败、环境变化等,是待选的“嫌疑人名单”。
    c∈Cc \in \mathcal{C}
  2. 观测反馈集合 F当前收集到的全部异常信号,是“证人证词”。
    f∈Ff \in \mathcal{F}
  3. 条件概率连乘假设信号相互独立,把每个信号在原因 c 下出现的概率相乘,得到总解释力。
    ∏f∈FP(f∣c)\prod_{f \in \mathcal{F}} P(f \mid c)
  4. 取最大 argmax解释力最大的原因就是归因结果——“最像凶手的嫌疑人”。
    e^\hat{e}

调整策略分类

前方封路后,导航给出的“策略”其实不止一种:绕小路十分钟回到原路,这是局部修复;干脆换一个目的地,这是全局重规划;把车速降下来稳住油量,这是参数微调;先绕去加油站再去景点,换换顺序,这是任务重排。聪明的导航会先挑成本最低的试。

这是计划调整的核心决策点。四类策略各有适用场景:局部修复(local repair)只替换失败子任务或受影响片段,保留整体结构,成本最低;全局重规划(global replanning)推倒关键部分重新生成,用于计划根基被动摇的场景;参数微调(parameter tuning)改变资源分配、超时上限等数值;任务重排(task reordering)调整任务次序以回避冲突或满足新约束。四者不是互斥的,常组合使用。

选择策略的准则是成本比较。调整成本包含三部分:计算开销(重新生成方案要多少算力和时间)、执行代价(新方案的运行开销)、风险(新方案引入的失败可能性)。一个小偏差却触发全局重规划,就像为躲一颗小石子重装整个路线图,得不偿失:

导航的“聪明”就体现在分级决策:能绕小路就绝不换目的地。策略分类与成本权衡,让 Agent 在不浪费资源的前提下,把变化消化在最小影响半径里。

C(a)=w1Tcalc(a)+w2Texec(a)+w3R(a)\displaystyle C(a) = w_1 T_{\text{calc}}(a) + w_2 T_{\text{exec}}(a) + w_3 R(a)
通俗说明:每个候选调整动作 a 的成本,是“算得快不快、跑得贵不贵、风险高不高”三者的加权和,权重由业务目标决定。
  1. 候选调整动作 a局部修复、全局重规划、参数微调、任务重排中的某一个方案。
    aa
  2. 计算开销 T_calc(a)方案生成所需的计算资源,类比导航重新计算路线的耗时。
    Tcalc(a)T_{\text{calc}}(a)
  3. 执行代价 T_exec(a)方案落地后的运行开销,类比绕行额外消耗的油和时间。
    Texec(a)T_{\text{exec}}(a)
  4. 风险项 R(a)方案失败的可能性及其影响,类比绕小路可能再遇堵车的不确定性。
    R(a)R(a)
  5. 权重加权按场景调整三项的重要性。时间紧迫时 w₂ 大,安全至上时 w₃ 大。
    w1Tcalc(a)+w2Texec(a)+w3R(a)w_1 T_{\text{calc}}(a) + w_2 T_{\text{exec}}(a) + w_3 R(a)

约束感知调整

导航给你推荐绕行方案前,会悄悄检查三件事:油箱还够不够跑这段弯路?绕行会不会超过孩子午睡必须到家的时间?过路费会不会超预算?任何一条不过关,方案就会被丢弃。这就是约束感知——不是自由发挥,而是在边界内求解。

计划调整的约束主要有四类:资源预算(内存、算力、token 上限)、时间窗口(任务的 deadline 与最早开始时间)、依赖关系(任务之间的偏序,调整不能打破前驱-后继)、安全边界(禁止执行的危险动作集)。违反任一约束的方案,哪怕看起来更优,也是不可行的。

形式上,约束感知调整是一个约束优化问题:在满足全部约束的前提下,最小化完工时间或最大化收益。工程实现中常用“约束检查器 + 方案生成器”分离:先生成候选方案,再逐条检查约束,不满足则剪枝或降级。这比把约束硬编码进规划器更容易维护与扩展:

约束不是限制,而是安全网。它保证调整方案“既快又稳”——快在目标函数,稳在各种边界。没有约束的调整,就像不看油表只管猛踩油门的导航,迟早把车撂在路上。

min⁡p′∈PT(p′)s.t.∀r∈R:  Ur(p′)≤Br\displaystyle \min_{p' \in \mathcal{P}} T(p') \quad \text{s.t.} \quad \forall r \in \mathcal{R}:\; U_r(p') \leq B_r
通俗说明:在候选方案里挑完工时间最短的,前提是它用到的每类资源都不超过预算。就像“最省时的路线必须不超油量”。
  1. 候选方案空间 P所有可选的调整后计划,即导航还没过滤掉的路线集合。
    p′∈Pp' \in \mathcal{P}
  2. 目标函数 min T(p')目标是让新方案的预计完工时间最短。
    min⁡p′∈PT(p′)\min_{p' \in \mathcal{P}} T(p')
  3. 约束限定 s.t.后面的条件必须成立,方案才算可行。
    s.t.\text{s.t.}
  4. 资源用量不超预算方案 p' 对每种资源 r 的占用量不能超过预算 B_r。
    ∀r∈R:  Ur(p′)≤Br\forall r \in \mathcal{R}:\; U_r(p') \leq B_r

多Agent协调

一家人开两辆车自驾,头车发现前方封路要绕道。可它不能自顾自拐弯——第二辆车还在按原路牌走呢!它必须通过对讲机同步:“我改走 B 线,你在下个出口跟上。”车队调整计划,永远牵一发动全身。

在多 Agent 系统中,单个 Agent 的计划调整会改变共享资源的使用,从而影响其他 Agent。协调的第一步是冲突检测:判断两个 Agent 的新旧方案是否争用同一资源,比如同一块 GPU、同一段仓储通道。一旦冲突,就进入协商机制——按优先级、成本或投票决定谁让步。

角色切换是协调中的常见手段:主 Agent 负责整体计划,从 Agent 执行子任务;主 Agent 失效时,从 Agent 升级接管并同步调整方案。同步调整要求各 Agent 在一致的版本上重规划,避免“你说 A 计划、我说 B 计划”的分裂状态。一致性协议保证了调整后的计划仍是一个整体:

车队出行的核心默契是“变道前打灯”。多 Agent 领域的冲突检测与协商,就是智能体的转向灯——让每一次计划调整都被队友看见、被系统接纳,而不是让整个车队乱成一团。

conflict(a,b)=∣Ra∩Rb∣>0\displaystyle \text{conflict}(a,b) = \left| \mathcal{R}_a \cap \mathcal{R}_b \right| > 0
通俗说明:两个 Agent 各自要用的资源集合若有交集,就说明它们“撞车了”,需要协商。就像两辆车同时要走同一条窄桥。
  1. Agent a 的资源集合 R_a方案 a 运行时要占用的全部资源,如设备、带宽、时间段。
    Ra\mathcal{R}_a
  2. 交集 R_a ∩ R_b两个方案共同需要的资源,是“撞车点”。
    Ra∩Rb\mathcal{R}_a \cap \mathcal{R}_b
  3. 基数 |·|交集里资源的数量,表示冲突的规模。
    ∣Ra∩Rb∣\left| \mathcal{R}_a \cap \mathcal{R}_b \right|
  4. 冲突成立条件 > 0只要交集非空,就触发协商与协调流程。
    >0> 0

评估与学习优化

旅行结束后,副驾总会复盘:“刚才要是早点听导航换路,能省半小时。”老司机的经验,正是从一次次“调整后效果”里积攒出来的。下次再遇到封路,他几乎不用想就知道选哪条绕行线。这份复盘能力,就是评估与学习优化。

计划调整的闭环最后一步是评估与学习。评估要回答“这次调整值不值”:对比调整前后,任务成功率、耗时、资源消耗的变化;若新方案反而变差,就启用回滚机制,回退到调整前的状态或上一个检查点。之后,把“什么场景 × 什么策略 → 什么效果”的样本沉淀进经验库,供下次复用。

更进一步,可以用强化学习把评估信号转化为策略改进:把状态-动作的价值 Q 值反复更新,使智能体在面对相似偏差时直接选择高 Q 值的调整动作,减少反复试错。经验沉淀与策略学习的结合,让智能体越调越准、越调越快,鲁棒性随时间增长:

真正的高手不是从不走错路,而是每次走错后都让“下一次更好”。评估与学习优化,把一次性的应急调整,变成可持续进化的驾驭能力——这,就是 Agentic AI 计划调整的灵魂。

Q(s,a)←Q(s,a)+η(r+γmax⁡a′Q(s′,a′)−Q(s,a))\displaystyle Q(s,a) \leftarrow Q(s,a) + \eta \Big( r + \gamma \max_{a'} Q(s',a') - Q(s,a) \Big)
通俗说明:每次调整后,用一个“即时回报 + 未来收益预估”来修正之前对“这个状态该用这个动作”的价值判断,越修正越贴近真实好坏。
  1. 状态动作价值 Q(s,a)在状态 s 下选择调整动作 a 的期望价值,是经验库的数值化形式。
    Q(s,a)Q(s,a)
  2. 学习率 η每次修正的步幅。η 大则学得快但易震荡,η 小则稳定但收敛慢。
    η\eta
  3. 即时奖励 r这次调整立刻得到的回报,如省下的时间或挽回的成功。
    rr
  4. 未来价值折现对下一状态最好动作的价值打折扣后加入总估计,体现“长远眼光”。
    γmax⁡a′Q(s′,a′)\gamma \max_{a'} Q(s',a')
  5. 误差修正回填目标值与当前估计之差乘以学习率,回填到原 Q 值上。
    Q(s,a)+η(r+γmax⁡a′Q(s′,a′)−Q(s,a))Q(s,a) + \eta \Big( r + \gamma \max_{a'} Q(s',a') - Q(s,a) \Big)

AI 应用场景

智能客服的对话流程调整

阶段:执行阶段 / 自主规划

解决的问题:传统客服机器人死板地按脚本推进,用户一句“我要退单”就打破流程,只能尴尬转人工。基于计划调整的客服 Agent 一旦检测到用户意图与当前对话计划的偏差,会先归因(用户新需求而非系统故障),再选择局部修复:插入退单处理子流程,同时做参数微调(把语气切换为安抚模式);若偏差过大,则全局重规划对话目标。

具体案例:某电商 Agent 正在回答“物流到哪了”,用户突然追问“怎么退货”。Agent 检测到原计划(查物流→播报状态)不再满足当前需求,立即切换子计划(校验订单→推送退货流程→发送退货运单),全程无需人工介入,解决率提升约 35%。

自动化运维流水线的任务重排

阶段:资源调度与执行

解决的问题:CI/CD 或模型训练流水线中,某个步骤失败或资源不足时,传统做法是整条 pipeline 重跑,浪费大量算力。计划调整 Agent 会检测失败、归因(网络抖动 vs 代码错误),选择局部修复(重试)或任务重排(先把不依赖失败任务的步骤提上来执行)。

具体案例:某训练平台凌晨批量跑 200 个实验,GPU 配额中途告急。调度 Agent 将依赖 GPU 的任务重排到低峰期,把 CPU 预处理任务提前执行,并配合参数微调(降低 batch size 节省显存),整批实验按期完成,资源浪费减少 40%。

仓储机器人的路径重规划

阶段:运动规划与执行

解决的问题:多台仓储机器人共享通道,一台机器人遇到障碍物绕行后,可能与另一台的路径产生新冲突。协调机制中的冲突检测与同步调整,让多台机器人像车队一样协同改道,而不是各自为政地频繁急停。

具体案例:某智能仓库中,A 机器人发现货架前有临时堆货,原路径失效。它发起局部绕行方案,系统检测到该方案占用 B 机器人的待行通道,经优先级协商后 B 机器人微调等待时序,双方在 2 秒内完成同步调整,拣选效率保持稳定。

Python 演示

python68 行
# 计划调整仿真: 模拟 Agent 执行任务计划并动态调整import random  class Task:    def __init__(self, name, cost, deadline, deps=None):        self.name = name        self.cost = cost        self.deadline = deadline        self.deps = deps if deps is not None else []        self.done = False        self.failed = False  class PlanExecutor:    def __init__(self, tasks):        self.tasks = tasks        self.time = 0        self.adjust_count = 0     def ready(self):        return [t for t in self.tasks                if not t.done and not t.failed                and all(d.done for d in t.deps)]     def execute(self, task, failure_rate=0.2):        if random.random() < failure_rate:            task.failed = True            return False        self.time += task.cost        if self.time > task.deadline:            return False        task.done = True        return True     def adjust(self, task):        self.adjust_count += 1        if task.failed:            task.failed = False            return "local_repair"        if self.time > task.deadline:            task.failed = True            for t in self.tasks:                if not t.done and t is not task:                    t.failed = True            return "global_replan"        return "param_tuning"     def run(self):        guard = 0        while guard < 50 and any(not t.done and not t.failed for t in self.tasks):            guard += 1            todo = self.ready()            if not todo:                break            task = todo[0]            if not self.execute(task):                action = self.adjust(task)                print("调整: %s -> %s" % (task.name, action))  if __name__ == "__main__":    t1 = Task("开会", 3, 5)    t2 = Task("写报告", 5, 10, deps=[t1])    t3 = Task("提交文档", 2, 12, deps=[t2])    ex = PlanExecutor([t1, t2, t3])    ex.run()    print("执行完成, 调整次数:", ex.adjust_count)
目的:仿真一个三类任务的日常工作流,随机注入环境扰动,演示 Agent 如何按“局部修复 → 全局重规划”的梯度完成计划调整。
  1. if not t.done and not t.failed只调度未完成且未失败的任务,自动过滤已被放弃的步骤
  2. all(d.done for d in t.deps)检查前置依赖是否全部完成,确保不破坏任务偏序
  3. if random.random() < failure_rate:用随机数模拟环境扰动,制造“计划与现实脱节”的瞬间
  4. self.time += task.cost推进模拟时钟,累计调度器的实际资源消耗
  5. if self.time > task.deadline:时间窗口约束检测:超时即视为执行偏差
  6. if task.failed:任务失败时选择局部修复:原地重试,保留整体计划结构
  7. task.failed = True标记任务失败,不再参与后续调度
  8. for t in self.tasks:全局重规划时舍弃其余低优任务,避免无效继续执行
  9. guard < 50给执行循环加护栏,防止“修复-失败-再修复”的死循环

常见误区

误区我以为计划调整就是把原来的计划全部删掉,重新生成一个全新的。反正有一堆生成计划的接口,重来一次最省事,还能显得系统很智能。

正解计划调整的精髓是“分层响应”:能局部修复就绝不动全局。好比导航遇封路先试绕小路,而不是直接让你换个城市旅行。全局重规划成本高、风险大,只有在局部修复无法满足约束时才启用。工程上应按“参数微调 → 局部修复 → 任务重排 → 全局重规划”的梯度依次尝试。

为何常见:很多人把“计划”看成一次性的产物,觉得“错了就重来”最简单,却忽略了高频重规划会带来算力浪费与执行振荡。

误区我觉得偏差检测阈值设得越低越好,任何风吹草动都应该立刻触发调整,这样才能保证计划永远最新、永远最优。

正解过度灵敏会导致“计划抖动”(thrashing):一点点噪声就让 Agent 反复重规划,系统永远在执行新计划,却从未真正前进。滑动窗口与阈值滞后,就是为了让检测“沉稳”。好比导航不会因为某段路况 5 秒刷新一次就不断换路,那样反而永远到不了终点。

为何常见:直观上“反应快 = 更好”,却忽略了改变路线本身也有成本;真实世界充满瞬时噪声,过滤噪声才是检测的第一课。

误区只要新方案能避开当前的坑,就赶紧切换,至于绕多走几公里、多花多少 token、多冒多少风险,无所谓。

正解调整本身有计算开销、执行代价和风险三重成本。若绕行方案只省 5 分钟却多烧 50 元油、还增加 20% 抛锚风险,理性选择是维持原计划。每次调整前应做成本比较,必要时把“不调整继续走”也作为一个候选方案参与评估。

为何常见:人的直觉容易“就事论事”:只盯着眼前的障碍,忘了总行程的代价与风险;模型不确定性越大,越要对调整方案的实际收益打折扣。

误区我以为规划做完就结束了,执行时出了问题才需要重新规划;计划调整只是打补丁,显得很不优雅,最好不用。

正解在 Agentic AI 中,规划不是一个时间点,而是“执行 → 观测 → 评估 → 调整”的持续闭环。计划是活文档,每次反馈都是对它的修订输入。把调整看作规划的自然延续,系统架构上才会为“可调整性”预留接口、回滚点与评估机制。

为何常见:传统软件思维把“计划”类比为需求文档——写完就冻结;而 Agent 面对的是动态世界,静态思维必然导致系统僵化。

面试题

Q1. Agent 在执行计划时发现某个任务依赖的资源不足,最优先的调整策略应该是?

单选题 · easy

  • A.立即全局重规划整个任务
  • B.尝试局部修复并替换该任务← 正确答案
  • C.忽略资源不足继续执行
  • D.终止全部任务等待人工介入

答案:B。计划调整遵循“成本优先”的梯度原则。局部修复只替换失败子任务,成本最低,应最先尝试;全局重规划要留到局部方案无法满足约束时兜底,忽略资源或直接终止都不是智能体的应有行为。

Q2. 计划偏差检测中,滑动窗口均值的主要作用是?

单选题 · easy

  • A.平滑噪声避免偶发抖动误触← 正确答案
  • B.放大瞬时扰动使检测更灵敏
  • C.加速规划算法的迭代收敛
  • D.降低状态向量的冗余维度

答案:A。滑动窗口把最近 w 步偏差取平均,让单步瞬时抖动被中和,避免“一颠簸就调整”的抖动现象(thrashing)。它是检测稳定性设计的关键,与收敛速度、维度无关。

Q3. 以下哪些属于合适的计划调整触发时机?

多选题 · mid

  • A.每个时间步都强制重新规划
  • B.偏差超过预设安全阈值← 正确答案
  • C.新信息使原方案不再最优← 正确答案
  • D.资源预算即将耗尽告急← 正确答案

答案:BCD。偏差超阈值、新信息到达、资源预警都是正文所述的典型触发时机。而“每个时间步都强制重规划”属于过度调整,会带来巨大的计算浪费与执行振荡,应当避免。

Q4. 多 Agent 场景下,两个 Agent 需要同时使用同一块 GPU,这直接触发的是?

单选题 · mid

  • A.参数微调
  • B.全局重规划
  • C.冲突检测与协商← 正确答案
  • D.回滚机制

答案:C。两个 Agent 的资源集合出现交集,即冲突检测条件 |R_a ∩ R_b| > 0 成立。此时应进入协商机制决定谁让步、如何错峰,而不是直接重规划或回滚。

Q5. 在约束感知调整的公式 min T(p') s.t. …… 中,"s.t." 表达的含义是?

单选题 · mid

  • A.表达目标函数的最大值
  • B.表达约束条件的限定含义← 正确答案
  • C.是资源预算的另一个别名
  • D.表示状态转移的概率分布

答案:B。s.t. 是 subject to 的缩写,意为“在……的约束条件下”。它把后面的资源、时间等条件设为方案的硬性门槛,不满足约束的方案即使目标函数再优也不可行。

Q6. 关于调整成本度量,下列说法正确的有?

多选题 · hard

  • A.计算量和执行代价风险都要计入← 正确答案
  • B.只需比较新旧计划的步骤数
  • C.局部修复的成本通常低于重规划← 正确答案
  • D.调整成本与运行阶段毫无关联

答案:AC。调整成本 C(a) = w₁·计算开销 + w₂·执行代价 + w₃·风险,三者缺一不可,故 A 对 B 错。局部修复只动局部结构,通常比推倒重来便宜,C 对。调整成本与当前所处阶段、剩余资源密切相关,D 错。

Q7. 以下哪项是“局部修复(local repair)”的典型做法?

单选题 · easy

  • A.替换失败子任务不动整体结构← 正确答案
  • B.删除整个计划并重新从头生成
  • C.调大检测阈值以避免触发调整
  • D.把问题直接抛给用户来处理

答案:A。局部修复的特点是“外科手术式”:只替换或降级失败子树,保留整体计划骨架。删除重来是全局重规划,调阈值是规避检测,抛给用户则是放弃自主性。

Q8. 反馈信号处理中“错误归因”的核心目标是?

单选题 · mid

  • A.把失败责任归给开发团队
  • B.生成更多日志供事后审计
  • C.判断失败来自计划执行或环境← 正确答案
  • D.提高当前任务的执行优先级

答案:C。归因是用朴素贝叶斯等方法,从多源反馈中推断偏差最可能来自计划缺陷、执行失败还是环境变化。归因结果决定后续动作方向——是重规划、换工具还是等待环境恢复。

Q9. 下列哪些措施能够提升计划调整的鲁棒性?

多选题 · hard

  • A.沉淀历史调整经验供后续复用← 正确答案
  • B.设置回滚点使失败时可回退← 正确答案
  • C.关闭所有传感器以避免噪声干扰
  • D.用学习算法优化触发阈值← 正确答案

答案:ABD。经验沉淀让相似问题直接复用旧策略,回滚机制给调整失败兜底,学习算法让触发阈值随环境自适应,三者都能增强鲁棒性。关闭传感器是自废武功,只会让系统失去感知能力。

Q10. 偏差 Δ_t 超过阈值 θ 但整体呈下降趋势时,最合理的策略是?

单选题 · hard

  • A.立即触发全局重规划换新方案
  • B.继续监测确认趋势后再做调整← 正确答案
  • C.忽略所有偏差继续盲目执行
  • D.回滚到计划起点重新开始执行

答案:B。偏差虽超阈值但已回落,说明可能是瞬时扰动或异常正在自愈。贸然重规划会造成振荡与浪费;正确做法是继续用窗口监测,确认趋势稳定后再决策。“直接忽略”和“回滚起点”则各自走向两个极端。