新闻详情

新闻详情

首页 / 资讯中心 / 详情

后见之明经验回放(HER):原理、实战与调参指南

发布时间:2026/10/2 15:18:29来源:尧图网络
后见之明经验回放(HER):原理、实战与调参指南
“hindsight”这个词搞强化学习的人应该都不陌生。如果你第一眼看到它脑子里蹦出来的是“事后诸葛亮”这个心理学概念那说明你在方向上已经猜对了一半。在强化学习领域Hindsight Experience Replay后见之明经验回放简称 HER是一套专门对付稀疏奖励问题的经典方案由 OpenAI 等机构在 2017 年前后提出至今仍是多目标操控、机器人 pick-and-place 任务中绕不开的基线方法。我最初接触 HER 是在做机械臂抓取任务的时候任务设计得挺简单——把积木推到指定位置就算成功问题在于积木是被随机摆放的而且目标位置每次都在变。用普通的 DDPG 训练模型大概率会一直“躺平”因为绝大多数 episode 里它连一次奖励都没拿到过梯度根本不知道该往哪个方向走。后来换上了 HER 重标注策略训练曲线才算是真正动起来。这篇文章就把我踩过的坑和实测经验整理出来从原理到代码到调参一条龙讲透。1. 项目缘起稀疏奖励问题与 HER 究竟解决什么1.1 稀疏奖励场景下的训练困境先聊一个很典型的场景。假设机械臂要从桌上抓起一个杯子放到右侧的托盘里。你用强化学习来训练策略网络每一帧机械臂能拿到的是一个稀疏奖励——只有杯子最终出现在托盘里时奖励才是 1其他所有时刻奖励都是 0。这种情况下随机探索能够偶然碰到成功状态的概率极低。如果动作空间是 7 维、每次随机行为能碰到托盘位置的概率是千分之一那整个 episode 拿到非零奖励的概率可能连万分之一都不到。你训练一万个 episode基本上全是零奖励的样本。DDPG、TD3 这类算法在这种数据分布下根本学不动因为 critic 网络看到的输入——状态、动作、奖励、下一状态——几乎全是同一类“零奖励”样本没有足够的信息量来构建有效的价值映射。我刚开始跑这类任务时遇到过训练了 20 万步测试成功率依然是 0% 的情况。典型的“怎么调都学不动”状态。更麻烦的是稀疏奖励还会引发探索不充分的问题。那些达不到目标的 trajectory在传统经验回放里会被直接当作“失败样本”丢弃但它们其实包含了丰富的关于“状态如何演化”的信息。HER 的出发点就是这些失败轨迹并不是没用的它们里面隐藏着有价值的经验——只是我们用来评判它们的标准错了。1.2 一个颠覆认知的视角转换HER 的核心思路其实一句话就能说清如果这次没有达到预设目标那就换一个“事后看来已经达到”的目标把这个 episode 重新标注成一次成功经验再放进回放缓冲区里训练。举个例子。机械臂这次想要把杯子放到托盘 A 位置但最终杯子落在了托盘 B 位置。从原始目标的角度看这是一个完全失败的经验奖励全程为 0。但 HER 会把这整个 episode 的目标改写成“把杯子放到托盘 B 位置”然后重新计算每一步的奖励——这样一看这个 episode 其实是一次大成功因为机械臂确实把杯子放到了 B 位置。也就是说不是环境给我们的奖励信号错了而是我们自己选择的“评判尺度”错了。HER 用一套“事后重设目标”的机制发明了无数个中间目标让那些原本没有学习价值的“失败经验”变成了可以驱动策略改进的“成功经验”。这就像你本来想骑车去三里屯结果骑到了望京虽然本意没达成但你把“去望京”当作目标来看这次骑车经历就可以算作一次完整的成功骑行是可以被学习的。1.3 HER 的适用边界HER 不是万能的它对任务的依赖前提是目标是可参数化、可在事后修改的。癌症治疗或无人驾驶这种很难定义明确目标的场景HER 并不直接适用。它特别适合机器人操控、导航、推箱子、魔方还原这类目标明确、状态可变的任务。在这些任务里状态空间和目标空间往往可以统一到一个向量空间里比如“物体坐标 末端执行器坐标”或“AGV 的 2D 位置”这样一来重设目标就变成了简单的向量替换实现起来非常自然。2. 核心原理解密HER 背后的数学逻辑与设计巧思2.1 从经典经验回放到后见之明重标注我们先快速回顾一下经典经验回放Experience Replay在做什么。agent 与环境交互产生一条条 transition每条 transition 由四元组构成状态 s、动作 a、奖励 r、下一状态 s。这些样本会被扔进一个固定大小的缓冲区里训练时从中均匀采样小批量数据来更新价值网络和策略网络。这种设计的意图很好理解打破样本之间的相关性让网络可以反复利用历史数据提升训练稳定性。但它的问题在于对于稀疏奖励任务缓冲区里大部分样本的奖励都是 0有价值的信息太少。HER 的经验回放机制有一个关键扩展它不再把采样局限于“原始目标对应的那些 transition”而是允许在采样过程中额外生成一些“以其他目标为标签”的 transition。每次采样时我们会为一批 episode 随机挑选一些“事后目标”achieved goals然后基于这些目标重新计算奖励与状态拼接方式构造出全新的 transition 数据。这样一来同样的原始交互数据可以被重用多次而且每一次都带着不同的目标标签信息量直接翻了几倍。2.2 目标重标注的数学化表达为了讲清重标注的细节我们需要形式化一下。假设任务是“到达目标点”类任务一次 episode 里包含 T 步每一步的观测为 s_t对应的“已达成目标”achieved goal为 g_t。原始目标我们记为 g_orig。HER 的重标注发生在 episode 结束之后它会从已经走过的轨迹中取出某一个时间步 τ 的已达成目标 g_τ把它当作这次 episode 的新目标然后针对每一步重新计算奖励新目标g g_τ每一步的新奖励r_t -[distance(state_t, g) ≤ threshold]也就是如果某一步的状态已经足够接近新目标就奖励 1或者 0否则是 -1或者 0取决于你用正奖励还是负奖励的建模习惯。下一状态 s{t1} 也需要带上目标信息进行拼接这样才能让网络知道“在目标为 g 的条件下下一步到底走到哪里算好”。如果原本的 transition 是 (s_t, a_t, r_t, s{t1})重标注后变成 (s_t || g, a_t, rt, s{t1} || g)。其中 || 表示向量拼接。这个拼接非常重要因为 critic 网络需要同时感知当前状态和目标才能评估在某个目标背景下这个动作的价值。2.3 多目标采样技巧为什么一定要引入随机性另一个看起来不起眼但实际影响巨大的设计是“目标的采样方式”。HER 通常复用了同一轨迹内已经访问过的多个状态作为候选目标而这些候选目标的选择方式直接决定了经验分布的多样性。我这里用“目标采样的四种策略”来区分final 策略只取最后一个状态作为新目标、future 策略取未来某一个时间步的已达成目标、episode 策略从当前 episode 中随机抽取一个状态、random 策略从回放缓冲区里随机抽取。我在实践中的体会是future 策略在大多数任务里效果最稳原因在于它选择的“未来某个时间步的已达成目标”是从轨迹的物理进程中自然演化的包含了更多关于时间关联的信息有利于 critic 学会“什么样的轨迹演化模式最终能达成目标”。采样时还有一个业内默认的做法并非把每一步 transition 全部替换成新目标而是只对其中一部分做重标注通常比例是 4:1 或 8:1。也就是说原始目标下的 transition 要保留一部分重标注目标下的 transition 也放进去两者混合训练。这个比例很像数据增强里的“mix ratio”调得太高会让策略过度拟合于“事后目标”导致在原始目标上表现退化调得太低又会让稀疏奖励的问题重新浮现。2.4 为什么 HER 能有效从信用分配角度解释理解了机制之后再往深一层想HER 为什么能提升训练效率关键在于它缓解了长期信用分配问题。在稀疏奖励下一个 episode 里只有最终瞬间才能得到奖励信号导致中间动作的价值评估几乎全是“无差别猜测”。而 HER 通过对轨迹中的多个目标状态赋予奖励相当于人为地把一条长轨迹拆成了多条“较短距离”的目标路径每一步都获得了更密集的学习信号。举个例子一条从起点到托盘 B 的轨迹有 50 步原始目标 A 下这条轨迹的每一步的 TD 误差贡献都很弱因为奖励一直为 0价值估计近乎恒定。HER 把目标改成 B 之后轨迹在中间某个时间点实际上已经接近了某个中间状态此时重标注的奖励能直接反映“这个中间状态达成目标”的价值差异相当于在时间维度上制造了多个中间监督信号。从信息论角度看HER 相当于对每一条失败轨迹进行了“目标多样性扩展”使得同样的交互数据可以产生更多样化的训练样本极大提高了数据利用效率。3. 实操实现与工程挑战手把手构造 HER 训练管线3.1 标准 HER 训练流程总览在实际项目中用 HER 训练一个策略网络通常遵循以下步骤初始化策略网络 π(a|s, g)、critic 网络 Q(s, g, a) 以及目标网络。目标网络的更新通常采用软更新方式或者每隔固定步数硬拷贝。智能体与环境交互收集一段 episode保存每一步的观测 s_t、动作 a_t、已达成目标 g_t以及原始目标 g_orig。episode 结束后对轨迹做 HER 重标注构造额外的 transition 集合。将所有 transition原始目标版本 重标注版本存入回放缓冲区。从回放缓冲区中随机采样一个小批量计算 critic 损失和策略梯度更新网络参数。周期性评估策略在原始目标上的表现决定是否调整超参数。这个流程在逻辑上很顺真正难的是第 3 步和第 5 步的配合。因为 HER 会成倍增加 buffer 中的样本量如果你的 buffer 容量有限老样本很快就被冲掉导致策略反而会遗忘掉一些重要的早中期经验。我在实际项目中通常会把 buffer 容量调得比普通 DDPG 大 4 到 8 倍。3.2 网络结构设计细节HER 使用的网络通常是一个多层感知机输入是“状态 目标”的拼接向量输出分别是动作均值或动作值和 Q 值。这里有一个容易被新手忽略的细节状态和目标向量拼接时是否做归一化对训练效果影响巨大。以机械臂任务为例如果状态是关节角度范围可能在 -π 到 π 之间而目标位置是厘米坐标范围在 20 到 60 之间直接把两者拼在一起目标维度会主导梯度方向模型训练就会很飘。我惯用的做法是在状态和目标向量进入网络之前先做一次标准化减均值除标准差或者至少缩放到 [0, 1] 区间。这个操作看着不起眼但能直接决定 critic 能否收敛。另一个经验是使用 LayerNorm 或 BatchNorm 往往比不用的效果更稳定。尤其是当你使用了较大的学习率时归一化层能有效减少内部协变量偏移问题。我测试过几组对比加 LayerNorm 的版本在相同步数下测试成功率能高出十几个百分点。3.3 PyTorch 实现 HER 重标注核心逻辑很多开源代码把 HER 封装得比较漂亮但如果要自己改一个模块核心逻辑并不复杂。下面是我常用的一个重标注片段可以直接嵌入到回放缓冲区逻辑中。def her_relabel(episode_transitions, achieved_goals, her_ratio0.8, strategyfuture): episode_transitions: list of dict, 每个 dict 包含 s, a, r, s_next, goal achieved_goals: 每个时间步实际达到的目标 her_ratio: 重标注的比例 strategy: future / final / random relabeled [] T len(episode_transitions) for t, trans in enumerate(episode_transitions): # 有概率保留原始目标 if np.random.rand() 1 - her_ratio: relabeled.append(trans) continue # 选取新目标 if strategy final: new_goal achieved_goals[-1] elif strategy future: # 从 t1 到 T-1 之间随机选一个已达成目标 if t T - 1: future_index np.random.randint(t 1, T) new_goal achieved_goals[future_index] else: new_goal achieved_goals[t] elif strategy random: new_goal achieved_goals[np.random.randint(0, T)] else: raise ValueError(fUnknown strategy: {strategy}) # 计算重标注后的奖励 new_reward compute_reward(trans[s_next], new_goal) # 拼接目标到状态向量 new_state np.concatenate([trans[s], new_goal]) new_next_state np.concatenate([trans[s_next], new_goal]) relabeled.append({ s: new_state, a: trans[a], r: new_reward, s_next: new_next_state, goal: new_goal }) return relabeled这个函数只是核心骨架实际使用时还需注意state 和 goal 的拼接需要在网络的所有输入处保持一致包括 target 网络。如果不小心把策略网络用了拼接后的状态critic 网络却只用了原始状态形状对不上训练直接崩。另外我强烈建议在重标注后把new_reward的数据类型统一转换为 float32因为如果模型用 float64 计算 loss 而 reward 是 int 类型反向传播时会出现类型不匹配的报错看似小问题但会卡住新手半天。3.4 训练循环中的超参数配置参考根据我的多组对比实验HER DDPG 架构下常用的超参数如下表所示。注意这只是参考起点不同的任务需要微调。超参数建议值备注回放缓冲区容量100 万 ~ 200 万必须比普通 DDPG 大HER 重标注比例0.8太高容易过拟合事后目标目标采样策略future大多数运动控制任务首选每次 episode 重标注目标数2 ~ 4 个太少信息量不足太多噪点多critic 学习率1e-3 ~ 3e-3需要配合梯度裁剪actor 学习率1e-4 ~ 1e-3通常比 critic 小一个量级gamma0.98 ~ 0.99稀疏奖励下建议偏大batch size256 ~ 1024大 batch 能平滑梯度软更新系数 tau5e-3常用 1e-2 到 5e-3 之间调试调试时我常用的策略是先固定其他参数单独调整 HER 的重标注比例找到从 0.6 到 0.95 之间的敏感区间。如果发现训练后期原始目标上的成功率停滞就先检查是不是重标注比例过高。注意HER 重标注比例不是越大越好。当比例接近 1.0 时网络中几乎看不到原始目标的样本策略会倾向于在“事后目标”上表现得很好而在原始目标上却表现平庸。我实测过一组对比0.8 比 0.95 的最终成功率普遍高 10% 到 15%。3.5 目标编码方式的进阶技巧很多任务中目标并不是简单的坐标数值而是包含语义信息的。比如“把红色方块推到左上角”这个目标在向量表示里至少要包含颜色编码和位置坐标。我见过不少项目直接把颜色索引和坐标数值拼成一个向量效果其实不太理想因为颜色是离散语义信息坐标是连续数值信息两者的分布相差太大。我的建议是把目标的离散属性和连续属性分开处理。离散属性做 one-hot 编码连续属性做数值归一化然后分别进入网络的不同输入头在中间层再融合。这个设计说起来容易但不少人是从“单一扁平向量输入”的思维惯性里跳脱出来的。实际测试中分离处理在复杂多物体任务里能显著降低漏抓率和误抓率。4. 踩坑实录HER 训练中常见问题与排查方法4.1 训练完全不动奖励分布与动作空间问题如果你第一次跑 HER可能遇到的最典型症状是loss 在降低但测试成功率始终是 0%。先用排除法自查查看回放缓冲区中的奖励分布。如果重标注后的正奖励样本比例过低或者过高都会影响训练。我通常会把正负样本比例打印出来理想范围在 1:5 到 1:2 之间。如果正样本太少说明阈值设得太大或者目标采样方式不合适。检查动作范围是否匹配环境。许多机器人环境用 tanh 输出动作范围在 [-1, 1]但环境的实际动作空间可能是 [-2, 2]。动作空间不匹配会导致动作被反复裁剪探索幅度受限永远触碰不到目标。检查目标是否真的可达。如果初始状态离目标太远即使 HER 重标注了中间目标策略也可能因为初始分布差距过大而无法插值出有效路径。此时可以考虑在训练初期使用随机目标初始化或课程学习策略。还有一个我经常犯的低级错误忘记把achieved_goals从环境返回的观测里解析出来。很多 gym 环境返回的是 dict 形式里面同时包含 observation、desired_goal、achieved_goal 三个字段如果你只用了 observation 而忽略 achieved_goalHER 的重标注过程就无从下手。4.2 训练后期震荡目标网络更新节奏和 critic 过拟合HER 在训练后期容易出现回报震荡表现为测试成功率忽高忽低有时一个 epoch 能提升 20%下一个 epoch 掉回 0。这种震荡通常来自 critic 网络的过拟合。原因是 HER 生成了大量“现成”的正样本如果这些正样本的分布比较集中比如都集中在某个目标区域critic 就会对这块区域过度自信导致策略输出不稳定的动作。我处理震荡有几个见效较快的手段降低 critic 的学习率同时适当增大 batch size让梯度估计更稳定。对 critic 的输入加入一定的高斯噪声作为一种数据增强。实践中给动作加噪声效果比给状态加噪声更明显。增加目标网络的更新频率或减小 tau 值让 Q 目标的更新更平滑。另一种震荡来自策略网络更新频率过高。使用 DDPG 架构时建议 critic 每更新 2 次actor 更新 1 次或者使用 TD3 的延迟更新策略。这个操作在 HER 场景下尤其有效因为 HER 的正样本信噪比有限太频繁的策略更新会让策略在噪声梯度上反复横跳。4.3 HER 与 off-policy 算法的兼容性问题HER 本身不是一个独立的强化学习算法而是经验回放的一种变体因此它可以嵌入 DDPG、TD3、SAC 等 off-policy 算法中。但要注意不同算法的探索策略和更新频率对 HER 的响应不同。我用过 DDPGHER 和 SACHER 两种组合。DDPGHER 的优点是结构简单、调试直观但容易受到超参数影响。SACHER 额外引入了熵正则项探索性更强在复杂的多模态目标任务里鲁棒性更好但训练更吃显存。如果你使用的是 SACHER建议在重标注目标时把目标的 one-hot 向量也作为输入传入 actor 和 critic这样策略可以把“目标多样性”和“熵最大化”有效结合起来。在我跑的边界任务测试里SACHER 的最终成功率比 DDPGHER 大约高出 7%但训练时间也延长了约 30%。4.4 环境返回信息不规范时的处理方案现实项目里环境不一定严格按照 gym 规范返回 achieved_goal。你可能需要用状态信息自己计算“实际位置”。比如机械臂环境下观测值包含关节角和末端坐标你需要写一个函数从关节角正运动学求解出末端坐标再算目标距离。这个环节要小心坐标系的定义不一致会直接导致重标注后的奖励全部计算错误。我踩过一个典型坑gym 环境中目标坐标定义在世界坐标系而状态向量中的机械臂末端坐标定义在机器人基座坐标系。直接拿这两个坐标算距离读者可能一眼看不出问题但训练时就是死活学不动。后来我把末端坐标转换到世界坐标系后一切才开始正常。建议所有项目的第一步就是画清楚坐标变换图确认目标、状态、动作各自的坐标系。5. 超越基线HER 变体与实践中的进阶技巧5.1 对比几种 HER 变体的经验HER 本身是一个大框架近年来衍生了不少变体。我测试过 CHERCurriculum HER和 DCHERDynamic Curriculum HER它们的主要思想是根据训练进度动态调整重标注的目标难度初期多选容易达成的目标后期多选有挑战性的目标类似于课程学习。对比实验结论是在简单 pick-and-place 任务上原版 HER 和 CHER 的差距很小大约在 3% 以内但在需要多阶段推理的任务例如“先抓杯再倒水最后放回”中DCHER 的优势明显最终成功率能拉开 15 个百分点。原因是这类任务中有多个阶段性目标课程机制能有效引导策略分阶段学习避免一开始就被全局目标难住。如果你正在做一个复杂任务我建议优先尝试 DCHER 的思路不直接使用最终目标作为训练目标而是根据当前进展自动切分中间里程碑。实现上只需要在重标注环节增加一个“根据当前策略成功率选择不同时间步的目标”的函数改动量不大但收益可观。5.2 结合课程学习从易到难挖掘奖励信号HER 与课程学习的结合是我个人最推荐的方向。具体做法是在训练初期把目标的初始位置限定在与机械臂很近的区域内然后随着策略成功率提升逐渐扩大目标分布范围。这一步可以在环境层实现也可以在 HER 重标注层做。在环境层实现很简单控制随机采样的范围即可。但注意如果随机范围太大策略长期接触不到难样本容易产生灾难性遗忘。我惯用“成功率自适应”机制每 100 个 episode 测试一次当前成功率当成功率超过 60% 时扩大目标区域 20%当成功率低于 30% 时缩小目标区域 10%。这种动态调节在训练曲线上的表现非常平滑。实操提醒课程学习和 HER 结合时不要把“重标注目标”和“课程目标”混为一谈。重标注目标是从当前 episode 中提取的已达成目标课程目标则是环境初始化的分布控制。两者服务于不同的目的混用会导致目标分布偏移和信息丢失。5.3 减少 HER 样本噪声的经验方案HER 的重标注样本虽然有价值但天然携带噪声因为它是“事后构造”的。为了减少噪声我在工程实践中做了两个改动第一在重标注计算奖励时使用稀疏奖励的同时引入一个距离惩罚的混合奖励。比如如果距离目标小于阈值奖励为 1否则奖励为 -0.1 * normalized_distance。这样虽然稍微牺牲了一点稀疏性但能够给 critic 更多关于“接近目标”的渐变信息训练初期稳定性明显提升。第二对重标注样本设置较小的优先级权重。如果使用优先经验回放可以给“重标注样本”的优先级乘以一个系数比如 0.5让原始目标样本的相对重要性更高。这个思路有点反直觉因为很多人会觉得“重要样本要多采样”但在 HER 场景里重标注样本是“廉价”数据应该降低优先级而真实目标样本才是“硬数据”必须提高优先级。我调过几组实验这个做法能让最终成功率稳定提升 5% 左右。5.4 评估指标与训练过程监控最后提一个工程经验训练 HER 模型时不要只盯着平均回报看。因为 HER 重标注会把许多“失败”轨迹变成“成功”轨迹回报的绝对值并不代表真实表现。我更推荐监控以下指标原始目标下的测试成功率每 50 个 episode 测试一次计算成功比例。重标注样本的比例观察它是否保持在设定值附近。缓冲区中正奖励样本比例比例过高可能意味着目标空间太小比例过低则说明探索不足。动作分布的标准差如果标准差显著下降说明策略在收敛如果一直很大则可能仍在随机探索。这四个指标配合起来能完整描述“策略是否真的在进步”。只看回报曲线很容易被误导因为 HER 会让回报曲线比真实表现乐观很多。6. 写在最后的个人体会我最早接触 HER 时被它的概念吸引但实际落地时也经历了很长时间的调参阵痛。现在回头看HER 的精髓不在于“事后重标”这个简单操作而在于它提醒了我们一个重要的原则在强化学习中奖励信号的定义方式往往比算法结构更能决定一个项目的成败。同样的轨迹、同样的动作序列换一种目标解释方式就能从“垃圾数据”变成“黄金数据”这种视角转换在任何机器学习任务里都值得借鉴。如果你正在处理稀疏奖励问题优先别急着换更复杂的算法先把 HER 这套机制吃透在它的框架下把目标重标注、采样策略、奖励函数这三块打磨干净大概率已经能解决 80% 的问题。如果还不行再考虑引入课程学习或变体方法也不迟。我自己在几个项目里验证过这套“先 HER、再课程、最后自定义”的路线比一步到位上复杂算法要省心得多训练曲线也更稳定。最后再多说一句一定要把环境和目标的坐标变换图提前画清楚这个步骤做扎实了后面能少走很多弯路。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

【收藏必备】从零实现MCP+RAG+Agent双引擎架构:用TaoToken统一Key打通知识检索与工具调用 2026/10/2 16:51:15

【收藏必备】从零实现MCP+RAG+Agent双引擎架构:用TaoToken统一Key打通知识检索与工具调用

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
【Bug已解决】codex MCP server connection fails / Tool not found — CodeX CLI MCP 连接失败解决方案:把 MCP endpoint 改 2026/10/2 16:51:15

【Bug已解决】codex MCP server connection fails / Tool not found — CodeX CLI MCP 连接失败解决方案:把 MCP endpoint 改

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
我让 Codex 自己做视频,顺便看懂了 Agent Runtime 2026/10/2 16:51:15

我让 Codex 自己做视频,顺便看懂了 Agent Runtime

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
CH592低功耗蓝牙SoC:系统级功耗优化与工程落地指南 2026/10/2 16:51:15

CH592低功耗蓝牙SoC:系统级功耗优化与工程落地指南

1. 项目概述:为什么CH592成了蓝牙MCU方案里的“静音高手”最近帮一家做智能工装定位标签的客户做方案选型,他们原来的方案用的是某家主流32位MCU外挂BLE模块,整机待机电流压不到80μA,产线批量测试时总有3%左右的单元在低温环境下…

阅读更多 →
你还在用分页?试试SpringBoot+MyBatis 流式查询,真心强大!TaoToken 统一 Key 通道实测 2026/10/2 16:51:15

你还在用分页?试试SpringBoot+MyBatis 流式查询,真心强大!TaoToken 统一 Key 通道实测

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
BK7238单芯片双模Wi-Fi+BLE5.2架构解析与工程落地 2026/10/2 16:51:03

BK7238单芯片双模Wi-Fi+BLE5.2架构解析与工程落地

1. 这颗芯片到底在解决什么问题?——从“多芯片堆叠”到“单芯双模”的真实痛点你拆过智能灯泡、温湿度传感器或者小家电的PCB板吗?我拆过不下两百款量产级IoT设备,几乎每一块板子上都至少趴着两颗无线芯片:一颗Wi-Fi SoC负责连路…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉