从随机动作块到真实闭环:Diffusion 与 Flow 策略的执行账本

从随机动作块到真实闭环:Diffusion 与 Flow 策略的执行账本

TL;DR

  • 场景:Diffusion 或 Flow 策略输出平滑动作只完成候选轨迹生成;真实闭环还要回答动作数据合同、数值求解时限、Action Chunk 衔接、滚动时域新鲜度、约束裁决和低层跟踪五个独立问题。
  • 结论:把"模型→Policy 方框"展开为五层执行账本:动作数据合同、生成参数化与求解器、训练/推理分账、Receding Horizon 与低层控制解耦、同步/异步延迟账本 + RTC 等异步衔接方案。
  • 产出:动作数据合同 10 字段表 + Diffusion/Flow 参数化对比 + MSE 平均化准确边界 + 同步执行延迟分解 + 异步 Action Chunking 三类账 + 6 种块衔接方案 + 4 种约束与安全选项 + 失败定位表。

版本矩阵

维度 状态 说明
动作数据合同 10 字段 ✅ 已验证 observation_time / action_time / control_mode / frame_id / units / dt·horizon / normalizer_version / valid_mask / embodiment / termination
DDPM 基础 ✅ 已验证 通过逐步加噪与反向去噪学习生成分布;动作策略可预测噪声、A_0、速度或其他目标
Diffusion Policy 核心设计 ✅ 已验证 条件去噪扩散 + Receding Horizon + 视觉条件 + 时间序列扩散 Transformer(CNN+FiLM 与 Transformer-based DDPM 两种实现)
Diffusion Policy 实验结论 ✅ 已验证 4 个机器人操作基准 15 个任务,平均比当时 SOTA +46.9%;论文给出条件但非任意机器人实时性或安全保证
ACT(Action Chunking Transformer) ✅ 已验证 学习动作序列的生成模型;用于缓解误差累积与非平稳示教问题
π0 架构 ✅ 已验证 在预训练视觉语言模型之上使用 Flow Matching 动作架构;在多种机器人数据上训练
Flow Matching 数学 ✅ 已验证 学习随生成时间 τ 变化的向量场 dA(τ)/dτ = v_θ(A(τ), τ, c);通过数值积分得到数据分布样本
Flow Matching 与通用 ODE 求解器 ✅ 已验证 Flow Matching 原始工作描述为对条件概率路径向量场的回归;可使用通用 ODE 求解器
Flow 不等于"一步就能执行",Diffusion 不等于"必然很慢" ✅ 已验证 实际 NFE、蒸馏、求解器阶数、动作维度、条件编码缓存和硬件共同决定延迟
MSE 平均化准确边界 ✅ 已验证 仅在条件分布存在间隔大的多模式(如左绕 / 右绕)时 MSE 才会产生不可执行均值;多峰 ≠ 必须用生成式
Receding Horizon 不等于低层闭环 ✅ 已验证 策略更新较低频;伺服控制器仍需在更高频率计算电流/力矩/速度/位置命令
Real-Time Chunking(RTC) ✅ 已验证 NeurIPS 2025 工作;针对 Diffusion / Flow Action Chunk Policy 推理时延;执行当前块时并行生成下一块;冻结确定会执行的动作前缀,对其余部分 Inpainting;论文称可在不重新训练策略的情况下应用
普通 Action Chunking 块边界问题 ✅ 已验证 RTC 论文指出普通 Action Chunking 仍可能在块边界出现暂停或分布外突跳
同步执行充分条件 ✅ 已验证 T_e2e,p99 + M < B_exec 替代 T_policy < hΔt(前者更接近实际门槛)
约束与安全四种选项 ✅ 已验证 约束投影 / Guidance / 规划器筛选 / 独立安全门禁;前三种能提高可行性但不能替代最后一种
"Diffusion Policy = 某条固定公式" ❌ 不成立 网络可预测噪声 / A_0 / 速度参数化;"Diffusion Policy"是一类条件扩散动作生成
"MSE 一定失败 / 生成式一定更优" ❌ 不成立 模型选择应由条件动作分布、数据覆盖、延迟预算、安全架构决定
"10 条 Seed = 安全" ❌ 不成立 候选可能都属于同一模式;筛选器若无可靠动力学与约束,只是 10 次暴露风险
"Receding Horizon = 电机控制闭环" ❌ 不成立 策略负责"到哪里",控制器负责"每个控制周期怎样稳定到达"
"RTC = 独立安全层" ❌ 不成立 RTC 处理推理与执行衔接;独立安全层负责约束、拒绝和强制停止
"动作块平均能解决跳变" ❌ 不成立 可能混合不同观察和意图;必须先定义承诺前缀、版本和衔接语义

摘要

Diffusion 或 Flow 策略输出平滑动作,只完成候选轨迹生成。真实闭环还需要动作数据合同、数值求解时限、Action Chunk 衔接、滚动时域新鲜度、约束裁决和低层跟踪。本文把这些环节拆成可观测执行账本。

关键词

Diffusion Policy、Flow Matching、Action Chunk、Receding Horizon、RTC

目录

核心结论

Diffusion 或 Flow 策略输出一段平滑动作,只证明生成模型在训练分布附近产生了连续序列。真实机器人还要回答五个彼此独立的问题:这段序列的单位、坐标系和时间戳是否正确;生成参数化与数值求解器是否按时完成;新旧 Action Chunk 是否连续且基于足够新的观察;动作是否满足机器人与环境约束;低层控制器能否稳定跟踪。动作块建模、生成模型、采样/积分器、滚动时域执行和低层控制不能被压成一个"Policy"方框。

H-P01 Diffusion Policy 把视觉运动策略表示为条件去噪扩散过程,并将 Receding Horizon、视觉条件和时间序列网络作为关键设计。H-P02 π0 则在预训练视觉语言模型之上使用 Flow Matching 动作架构,并在多种机器人数据上训练。两者都能建模动作分布,但论文中的任务结果只说明各自实验设置,不构成任意机器人上的实时性或安全保证。

第一层:先定义动作数据合同

设一个动作块为:

A_t=\[a_t,a_{t+1},\\ldots,a_{t+H-1}\]\\in\\mathbb{R}\^{H\\times D}

其中 (H) 是预测步数,(D) 是单步动作维度。这个矩阵本身没有执行语义。(a) 可能是关节位置、关节增量、速度、力矩、末端位姿、夹爪开度或混合控制量;相同数字在不同合同中可能产生完全不同的物理行为。

训练与推理数据至少要固定以下字段:

字段 必须说明的内容 缺失后的典型后果
observation_time 图像、状态和语言条件各自采样时间 模型基于旧画面生成新动作
action_time 示教动作实际生效时间,而非日志写入时间 学到错误的感知---动作相位
control_mode position/delta-position/velocity/torque 等 数值可用但物理语义错误
frame_id base、world、camera、tool 等坐标系 方向或旋转轴错置
units m、mm、rad、degree、N、N·m 尺度灾难
dthorizon 单步周期、块长度、允许抖动 推理块与执行调度不匹配
normalizer_version 每维缩放、裁剪和反归一化版本 离线正常、上线幅值异常
valid_mask Padding、缺测、终止后的无效动作 模型把补零当真实策略
embodiment 机器人、关节顺序、工具、限位版本 跨机体动作映射错误
termination 成功、失败、人工中止、急停 无法学习何时结束或退出

机器人动作数据最危险的问题常不是模型结构,而是"看似相同的张量实际来自不同时间、坐标系或控制模式"。上线前应对每批数据做单位、维度、时间单调性、关节顺序、限位和归一化可逆性检查,并保存转换版本;不能只靠训练 Loss 发现合同错误。

第二层:Diffusion 与 Flow 生成的是什么

Diffusion 动作块

在一种常见 DDPM 参数化中,对真实动作块 (A_0) 加噪:

A_k=\\sqrt{\\bar{\\alpha}_k}A_0+\\sqrt{1-\\bar{\\alpha}_k}\\epsilon, \\quad \\epsilon\\sim\\mathcal{N}(0,I)

网络在条件 (c) 下预测噪声:

\\mathcal{L}=\\mathbb{E}\\left\[\|\\epsilon-\\epsilon_\\theta(A_k,k,c)\|\^2\\right\]

H-P05 DDPM 建立了通过逐步加噪与反向去噪学习生成分布的基本形式。动作策略可以预测噪声,也可以采用 (A_0)、速度参数化或其他目标;"Diffusion Policy"不是某一条固定公式。

推理时从噪声动作块开始,经若干反向步骤得到候选 (\hat{A}_0)。网络结构负责估计去噪方向,调度器和求解器负责把这些方向离散成采样轨迹。步数、时间网格、随机项、Guidance 和数值精度都会改变延迟与输出;不能把"模型前向一次"当作完整策略耗时。

Flow Matching 动作块

Flow Matching 学习随生成时间 (\tau) 变化的向量场:

\\frac{dA(\\tau)}{d\\tau}=v_\\theta(A(\\tau),\\tau,c)

从基分布出发,通过数值积分得到数据分布中的动作块。H-P06 Flow Matching 的原始工作把它描述为对条件概率路径向量场的回归,并可使用通用 ODE 求解器。H-P02 π0 报告使用建立在 VLM 上的 Flow Matching 架构生成机器人动作。

Flow 不等于"一步就能执行",Diffusion 也不等于"必然很慢"。实际 NFE、蒸馏、求解器阶数、动作维度、条件编码缓存和硬件共同决定延迟。工程文档应分别记录模型参数化、积分器、步数与端到端时间。

条件编码也需要时间语义

动作生成网络的条件通常包括相机特征、语言指令、本体状态、上一动作和任务阶段。条件可以通过拼接、FiLM、交叉注意力或独立 Token 注入;这些结构差异本身不保证模型真的使用了每个条件。验收时应分别屏蔽视觉、语言和本体状态,交换时间顺序,并比较动作分布变化。若去掉关节速度后输出几乎不变,模型可能无法处理动态起点;若交换两帧图像仍得到相同动作,它可能只依赖静态外观。

条件缓存也要进入延迟账本。语言编码可在指令不变时复用,视觉与本体状态却通常必须随控制轮次更新。为了缩短延迟而复用旧视觉特征,会把计算优化转化为状态陈旧问题。系统应记录每个条件的采样时间、编码完成时间和被策略消费的时间,使用"最大条件年龄"而不是单一观察时间评价新鲜度。

MSE 平均化的准确边界

常见说法是"回归会把两种动作平均成危险动作,所以必须用 Diffusion"。准确说法应更窄。

在平方损失下,确定性回归器倾向于条件均值。当条件分布存在间隔很大的多个动作模式,例如障碍物可从左或右绕行,均值可能落在障碍物中间;这是多峰分布下的风险。若任务在给定观察下近似单峰、动作模式经过高层决策消歧,或回归目标本来就是连续控制最优值,MSE 并不会必然失败。反过来,生成模型虽能表达多峰,也可能模式坍缩、产生低概率危险样本或耗时过长。

模型选择应由条件动作分布、数据覆盖、延迟预算和安全架构决定,而不是由"生成式一定优于回归式"的口号决定。

第三层:训练与推理流程必须分账

训练流程至少包含:按真实时间切片 Observation 与 Action Chunk;转换到统一坐标和控制模式;应用固定版本归一化;生成有效 Mask;随机采样扩散或 Flow 时间;计算只覆盖有效动作的损失;按机体、任务、速度和接触阶段分桶评估。

推理流程则是:同步传感器与机器人状态;构造带时间戳条件;生成动作块;反归一化与动作适配;执行约束检查;写入动作缓冲;由低层控制器按自身周期跟踪。训练网络从未直接接触的任何变换,都必须进入部署合同和回放测试。

随机 Seed 只产生不同数值候选,不自动构成有意义的策略多样性。候选可能都属于同一模式,也可能差异来自采样噪声而非真实任务歧义。需要测模式覆盖、任务等价类、候选间距离、成功率、危险率和排名稳定性。更不能因为"采样十条再选一条"就声称安全:筛选器若没有可靠动力学与约束,十条只是十次暴露风险。

第四层:Receding Horizon 不是低层闭环

Action Chunking 常预测 (H) 步,但每轮只执行前 (h) 步,然后用新观察重新规划。这样可以减少单步策略调用,又避免整块开环执行。ACT 学习动作序列的生成模型,用于缓解误差累积与非平稳示教问题;Diffusion Policy 也把 Receding Horizon 作为关键组成。H-P03H-P01

但滚动重规划不等于电机控制闭环。策略通常在较低频率上更新动作参考;伺服控制器仍需在更高频率根据编码器、力传感器和动态状态计算电流、力矩、速度或位置命令。策略可以生成"到哪里",控制器负责"每个控制周期怎样稳定到达"。

执行前缀 (h) 的大小是系统参数:过大时观察更新慢、错误持续久;过小时策略调用频繁、容易耗尽延迟预算。它应依据任务动态、接触风险、控制频率、推理延迟分布和动作块质量共同确定,不能从论文示例直接复制。

第五层:同步与异步延迟账本

同步策略

同步执行通常是:停止或保持当前参考,采集观察,等待策略完成,再下发新动作。端到端延迟应拆为:

T_{e2e}=T_{sense}+T_{sync}+T_{pre}+T_{condition}+T_{sample}+T_{adapt}+T_{safety}+T_{transport}

还要记录调度抖动、GPU 排队、首次编译和网络尾延迟。对于"当前块继续执行、下一块必须在缓冲耗尽前到达"的具体设计,一个充分而非通用的条件是:

T_{e2e,p99}+M \< B_{exec}

其中 (B_{exec}) 是已安全排队动作的剩余执行时间,(M) 是时钟、抖动和切换裕度。原初稿中的 (T_{policy}<h\Delta t) 只在特定前缀缓冲定义下近似成立;若系统会暂停、保持最后命令、预测未来状态、并行计算或允许降频,门槛都不同。

异步 Action Chunking

H-P04 Real-Time Chunking(RTC)针对 Diffusion/Flow Action Chunk Policy 的推理时延,在执行当前块时并行生成下一块;它冻结确定会执行的动作前缀,并对其余部分做 Inpainting,且论文称该方法可在不重新训练策略的情况下应用。论文同时指出,普通 Action Chunking 仍可能在块边界出现暂停或分布外的突跳。

异步执行消除了"等模型算完才动"的停顿,却增加三类账:下一块使用的观察已经多旧;当前块中哪些动作不可再改;模型完成时机器人真实状态与预测起点差多少。RTC 是一种处理这些矛盾的方法,不是唯一方法,也不能替代独立安全层。

动作块衔接不是简单平均

新旧块的接缝可以采用多种工程方案:

  1. 硬切换:仅在位置、速度、加速度和接触模式差异均低于阈值时使用;
  2. 重叠融合:对重叠区加权,但接触动作或绕障模式不能盲目平均,左绕与右绕的均值可能不可行;
  3. 状态条件化:下一块显式以当前关节、末端速度、夹爪和接触状态为起点;
  4. Warm Start/Inpainting:保留将执行前缀,只生成可修改后缀;
  5. 末端约束:要求块首尾满足连续性、速度或动力学边界;
  6. 低层限幅:控制器施加速度、加速度、Jerk 和力矩变化限制,但它不能修复高层错误路线。

评价不能只看动作曲线是否光滑。还要测接缝位置/速度/加速度跳变、接触模式切换、跟踪误差、块边界失败率、缓冲欠载次数和观察年龄。

约束与安全:四种选项不能混称

约束投影把生成动作映射回关节限位、速度范围或简单凸集合;投影后的轨迹可能离数据分布很远,也未必避碰。

Guidance在采样或积分时加入目标与代价梯度;它依赖可微、尺度正确且足够可信的代价。

规划器筛选生成多个候选后用碰撞、动力学或任务代价排序;质量受候选覆盖和评估模型限制。

独立安全门禁在策略之外拥有否决权,检查状态新鲜度、关节与工作区、碰撞、力/力矩、速度、网络与看门狗,并可触发 Hold、撤退或急停。前三种能提高可行性,但都不能自动替代最后一种,因为生成模型、投影器和规划器可能共享同一错误假设。

明确标注的执行伪代码

以下仅是架构伪代码,未针对任何机器人验证:

text 复制代码
while system_state == RUNNING:
    obs = synchronized_snapshot()
    if stale(obs) or invalid(obs):
        enter_hold("state_invalid")
        continue

    proposal = policy.generate_chunk(obs, deadline)
    action = action_adapter.denormalize_and_map(proposal)

    verdict = safety_gate.check(action, obs, robot_limits)
    if not verdict.accepted:
        enter_hold(verdict.reason)
        continue

    prefix = stitch_with_active_buffer(action, current_state)
    executor.enqueue(prefix)

    feedback = monitor.read()
    if deadline_miss(feedback) or no_progress(feedback):
        enter_recovery(feedback.reason)

真实实现还需要线程安全、时钟同步、队列上限、取消语义、控制器接口和硬件急停,不应把这段伪代码直接部署。

失败定位表

现象 优先检查 不应先做的事
动作方向整体相反 坐标系、关节顺序、Delta 定义 增加采样步数
每个块内部平滑但边界突跳 观察年龄、起点状态、缓存与 Stitch 只调低层滤波
推理偶发停顿 p99 分阶段延迟、GPU 排队、缓冲余量 只看平均 FPS
多 Seed 都撞同一障碍 数据模式覆盖、条件是否区分、筛选器 继续增加 Seed 数
离线回放正常、真机幅值过大 归一化版本、单位、控制模式、时钟 重新训练全部模型
安全投影后轨迹抖动 投影不连续、约束冲突、距训练分布过远 假定"合法即自然"
接触后持续用力 力反馈、终止条件、块长度、低层力控 只依赖视觉策略
长延迟时还能动但任务失败 异步状态陈旧、冻结前缀过长、预测起点漂移 把"无停顿"当实时成功

结语

Diffusion 与 Flow 为机器人策略提供了表达多峰动作分布和长动作块的工具,但它们只解决"如何生成候选动作"的一部分。动作是否可执行,取决于数据合同;是否按时,取决于求解器和尾延迟;是否连续,取决于滚动执行与块衔接;是否安全,取决于独立约束与监控;是否稳定,最终还取决于低层控制。

正确的工程路径不是看到平滑轨迹就宣布闭环完成,而是建立完整账本:动作张量的物理语义、训练与推理转换、采样 NFE、同步或异步调度、缓冲余量、观察年龄、接缝指标、安全否决和控制跟踪。只有这些合同同时成立,随机动作块才真正变成机器人可以按时、安全、连续执行的动作。

FAQ

Flow Matching 就没有去噪步骤吗?

它通常通过学习向量场并数值积分生成样本;仍可能有多步求解,但不应机械套用 Diffusion 的参数化描述。

Action Chunk 直接平均能解决跳变吗?

可能暂时变平滑,却会混合不同观察和意图;必须先定义承诺前缀、版本和衔接语义。

RTC 能替代 Safety Gate 吗?

不能。RTC 处理推理与执行衔接,独立安全层负责约束、拒绝和强制停止。


错误速查卡

症状 根因 定位 修复
动作方向整体相反 坐标系 / 关节顺序 / Delta 定义错置;动作数据合同第一层缺失 核对 frame_id / control_mode / embodiment 字段;检查归一化是否对齐轴 冻结动作数据合同 10 字段;上线前做单位、维度、时间单调性、关节顺序、限位、归一化可逆性检查
离线正常、真机幅值过大 归一化版本 / 单位 / 控制模式 / 时钟错位 检查 normalizer_versionaction_time;对比离线和在线的每维缩放 归一化固定为版本化工件;切换版本必须重测;保存转换版本链
每个块内部平滑但边界突跳 观察年龄过大;新块起点未基于当前状态;缓存与 Stitch 不一致 检查 stale(obs) / 最大条件年龄 / 块衔接策略 显式定义承诺前缀 + 版本 + 衔接语义;用状态条件化或 Warm Start
推理偶发停顿 p99 分阶段延迟 / GPU 排队 / 缓冲余量不足 拆分 T_e2e = T_sense + T_sync + T_pre + T_condition + T_sample + T_adapt + T_safety + T_transport 用 T_e2e,p99 + M < B_exec 替代 T_policy < hΔt;按数据面调优
多 Seed 都撞同一障碍 数据模式覆盖不足 / 条件未区分 / 筛选器单一 检查数据多模态覆盖、候选间距离、模式覆盖指标 增加模式覆盖、任务等价类、候选间距离、成功率、危险率、排名稳定性测试
安全投影后轨迹抖动 投影不连续 / 约束冲突 / 距训练分布过远 检查投影后分布与训练集分布的 KL / 距离 约束投影 + Guidance + 规划器筛选组合;不要假定"合法即自然"
接触后持续用力 力反馈缺失 / 终止条件不当 / 块长度过大 / 低层力控未启用 检查 termination 字段与低层力控接口 启用低层力控;合理设置块长度与终止条件;不要只依赖视觉策略
长延迟时无停顿但任务失败 异步 Action Chunking 状态陈旧 / 冻结前缀过长 / 预测起点漂移 记录观察年龄、冻结前缀、模型完成时真实状态 用 RTC 等异步方案但不要替代独立安全层;监控最大条件年龄
"Diffusion Policy"被当某条固定公式 动作策略可预测噪声 / A_0 / 速度参数化 文档中是否只描述了 DDPM 噪声预测 工程文档分别记录模型参数化 / 积分器 / 步数 / 端到端时间
误把"生成式 = 一定优于回归式" 多峰 ≠ 必须用生成式;MSE 边界被误读 条件动作分布是单峰还是多峰;数据是否覆盖多模式 按条件动作分布、数据覆盖、延迟预算、安全架构决定;不要凭口号选型
误把"10 条 Seed = 安全" 候选可能都属于同一模式 测模式覆盖、任务等价类、候选间距离、危险率 筛选器若无可靠动力学与约束,10 条只是 10 次暴露风险
误把 Receding Horizon 当电机控制闭环 策略负责"到哪里",控制器负责"每个控制周期怎样稳定到达" 策略频率 vs 控制器频率;编码器 / 力传感反馈是否进入控制器 短前缀重规划 + 高频反馈各自关闭不同环路;显式划分两环责任
误把 RTC 当 Safety Gate RTC 处理推理与执行衔接;独立安全层负责约束、拒绝、强制停止 系统是否把 RTC 之外的安全检查独立布置 保留独立安全门禁;RTC 不替代 Safety Gate
块衔接直接平均 接触 / 绕障模式被平均后可能不可行 检查接缝位置 / 速度 / 加速度跳变、接触模式切换 显式选择 6 种衔接方案之一(硬切换 / 重叠融合 / 状态条件化 / Warm Start / 末端约束 / 低层限幅)
伪代码被直接部署 标注的"未针对任何机器人验证"被忽略 真实实现是否补齐线程安全、时钟同步、队列上限、取消语义、控制器接口、硬件急停 补齐生产化要素;不能直接部署工程示例伪代码
论文示例 hΔt 被原样复制 同步执行充分条件被简化 任务动态 / 接触风险 / 控制频率 / 推理延迟分布 / 动作块质量是否独立评估 重新评估 h 大小;用 T_e2e,p99 + M < B_exec 校准
valid_mask 缺失导致模型学错 Padding / 缺测 / 终止后的无效动作被当成真实策略 检查有效 Mask 是否在训练时正确应用 加入 valid_mask 字段;损失只覆盖有效动作
embodiment 字段漂移 跨机体动作映射错误;关节顺序、工具、限位版本未冻结 检查 embodiment 字段是否随数据集更新 Embodiment 作为版本化工件;切换 embodiment 必重训 / 重测
Flow Matching 误套用 Diffusion 公式 训练目标和数值路径不能混写 文档是否清晰描述向量场 + 数值积分路径 Flow Matching = 向量场 + 数值积分;Diffusion = 噪声 + 去噪;分别记账
同步执行时仍出现块边界突跳 Action Chunking 块边界分布外 + 推理未按时 普通 Action Chunking 在块边界可能暂停 / 分布外突跳 用 RTC 异步衔接;监控缓冲余量与观察年龄;保留独立安全层

作者:武子康的个人博客

相关推荐
fl1768311 小时前
电力场景配网耐张线夹绝缘保护套安装状态检测数据集VOC+YOLO格式2375张2类别
人工智能·yolo·机器学习
网易云信1 小时前
销售为什么是企业 AI 落地的"最佳突破口"?
人工智能·后端·agent
用户8181870627461 小时前
第14章 行为治理与访问控制
人工智能
忘路之远近i2 小时前
受够阿里云自带终端后,我用 Cursor + grill-me 做了个运维面板
服务器·开发语言·人工智能·python·阿里云·云计算
朱涛的自习室2 小时前
Munk AI 桌面端「预告」
android·前端·人工智能
www_comsci2 小时前
【语言、教育类主题EI会议|Call For Paper】第二届人工智能与计算社会科学国际研讨会
人工智能·语言模型
祝威廉2 小时前
四条语句跑完机器学习:让模型成为一个 SQL 函数
人工智能·sql·机器学习
散修-小胖子2 小时前
Agent原理 & 实现(快速上手)
ai·agent
superz丶2 小时前
Claude Code / Codex 已经有 Harness,项目里还需要自己搭吗?
人工智能