[{"data":1,"prerenderedAt":251},["ShallowReactive",2],{"\u002Fen\u002Fblogs\u002F20260929ubmc-ruantonghuafang":3,"content-doc-\u002Fzh\u002Fblogs\u002F20260929ubmc-ruantonghuafang":4,"surround-\u002Fzh\u002Fblogs\u002F20260929ubmc-ruantonghuafang":244},null,{"id":5,"title":6,"author":7,"body":11,"category":234,"company":3,"coverImage":79,"date":235,"description":236,"extension":237,"location":3,"logo":3,"logoDark":3,"meta":238,"navigation":239,"path":240,"seo":241,"stem":242,"version":3,"__hash__":243},"content\u002Fzh\u002Fblogs\u002F20260929UBMC-ruantonghuafang.md","基于 openUBMC 构建 Agent 驱动的 BMC 研发工作流",[8],{"name":9,"description":10},"李庆华","软通华方BMC研发工程师。openUBMC社区开发者，探索Agent与BMC 研发场景融合，致力于提升BMC研发效率和工程交付质量。",{"type":12,"value":13,"toc":211},"minimark",[14,19,23,26,29,32,55,58,61,65,68,73,81,84,88,93,96,99,103,106,109,113,116,119,122,125,129,132,138,141,143,147,150,157,160,166,169,175,178,184,187,189,193],[15,16,18],"h2",{"id":17},"_01-应用背景","01 应用背景",[20,21,22],"p",{},"智能 Agent 正从单纯的代码生成工具，逐步演进为工程任务协同载体。但在 BMC 固件研发场景下，真正的瓶颈并非 Agent 能否生成代码或调用工具，而是难以打通需求分析、源码实现、测试构建、固件部署与功能验证等研发环节——任务目标、阶段进度、验证证据和交付结果散落在会话日志、终端输出与本地文件中，缺少统一管理与持续追溯机制。",[20,24,25],{},"传统 BMC 研发中，工程师需要在源码、构建环境和目标设备之间反复切换，手动核对结果并衔接后续步骤。引入 Agent 后，分析、编码和工具调用可以连续推进，但任务跨越多个阶段或会话中断时，仍需要重新梳理已完成的工作、确认当前进度，增加了重复检查和人工衔接的开销。",[20,27,28],{},"同时，BMC 调试与问题定位还存在极强的跨层分析壁垒：——同一个报错，可能横跨硬件拓扑、驱动、框架、基础服务、产品配置、北向接口等多个维度。要得出可靠结论，不仅依赖源码静态分析，还需要结合真实硬件设备的状态做交叉验证。",[20,30,31],{},"针对这种复杂的跨层工程协同分析的诉求，如果仅依靠 Agent 零散调用工具，会面临以下几个挑战：",[33,34,35,43,49],"ul",{},[36,37,38,42],"li",{},[39,40,41],"strong",{},"状态不持久："," 长流程任务缺少统一状态管理，工程上下文无法持续保留；",[36,44,45,48],{},[39,46,47],{},"证据易失效："," 设备状态动态变化，难以客观判定任务是否完成；",[36,50,51,54],{},[39,52,53],{},"写操作结果不明确："," 固件刷写、热补丁等操作易超时，无法确认设备侧真实结果，盲目重试会叠加变更，进一步扩大故障影响范围。",[20,56,57],{},"因此，BMC 研发工程师需要的不只是 Agent 调用单点工具能力增强，而是一套完整工程工作流：任务状态可保存、中断可续跑、写操作可对账，最终以 BMC 设备实际运行状态作为任务验收标准。",[59,60],"hr",{},[15,62,64],{"id":63},"_02-基于-openubmc-构建-agent-驱动的-bmc-研发工作流","02 基于 openUBMC 构建 Agent 驱动的 BMC 研发工作流",[20,66,67],{},"针对上述痛点，软通华方依托 openUBMC 的资源模型、组件化开发和设备管理能力，构建了 openUBMC Agent Workflow。该工作流面向BMC全研发场景，工程师定义任务目标、执行范围与验收条件后，宿主 Agent 结合领域技能（Skill）与 Target Runtime，自主推进分析、修复、构建、升级和实机验证全流程。",[69,70,72],"h3",{"id":71},"_1-总体架构与执行分工","1. 总体架构与执行分工",[20,74,75],{},[76,77],"img",{"alt":78,"src":79,"title":80},"alt text","\u002Fcategory\u002Fblog\u002F20260929UBMC-boke\u002F%E5%9B%BE1.png","图1：openUBMC Agent Workflow 全链路执行与职责分工",[20,82,83],{},"宿主 Agent 负责规划、分析和工程判断，按领域 Skill 调用开发构建工具与设备能力。Target Runtime 基于MCP协议统一管控任务进度、目标连接、资源调度、变更记录与验收结果。开发和构建的结果以阶段回执进入任务，作为后续交付与验证的依据。",[69,85,87],{"id":86},"_2-核心能力","2. 核心能力",[89,90,92],"h4",{"id":91},"_21-依托-openubmc-工程体系衔接源码开发与设备验证","2.1 依托 openUBMC 工程体系，衔接源码开发与设备验证",[20,94,95],{},"openUBMC 的 MDS 模型定义、MDB\u002FD-Bus 资源对象和北向接口映射，为需求分析、异常定位和功能验证提供统一参照。结合组件源码、依赖关系与构建工具链，Agent 可以确定代码修改范围、选择测试与构建方式，并核对待部署的固件制品。",[20,97,98],{},"领域 Skill 将沉淀的工程经验封装成标准化的诊断、开发、构建、升级和验证流程。Agent 既能从故障描述启动任务，也能承接已有修改或构建制品；依据实时状态动态选择后续动作，保证源码改动、交付固件制品与设备侧业务结果三者可追溯、可对应。",[89,100,102],{"id":101},"_22-长流程断点续跑支持多任务智能并发推进","2.2 长流程断点续跑，支持多任务智能并发推进",[20,104,105],{},"面对固件编译、设备重启这类耗时环节，工作流支持后台持续运行，完整留存运行日志、任务状态与输出制品，发生中断后可接续执行。设备断连重启恢复后，系统自动完成重连、版本校验与业务复核，无需工程师全程盯守。",[20,107,108],{},"方案具备两层并发能力：同一任务内部，源码解析、日志检索、日志分析这类无依赖动作可以并行执行；多任务场景下，故障修复、代码开发、设备验收可错峰开展。系统结合任务依赖关系与硬件资源做统一调度，同一设备上的变更操作串行执行，多设备任务高效并发，有效提升整体效率。",[89,110,112],{"id":111},"_23-可信执行闭环完善任务恢复与验收保障体系","2.3 可信执行闭环，完善任务恢复与验收保障体系",[20,114,115],{},"通过任务档案、变更日志、证据账本一套机制，构建可信执行底座，实现异常可恢复、变更可追溯、验收有依据。",[20,117,118],{},"任务档案（Case）保存目标、阶段结果和核验证据，执行现场（TargetRun）管理当前目标的连接与能力。会话或连接中断后，Agent 读取历史任务进度、核验设备当前状态，在满足条件时恢复任务执行。",[20,120,121],{},"变更日志（Mutation Journal）记录已发起操作及其核验结果。针对固件升级、文件替换等高风险动作，优先采集设备真实状态，再判定继续执行、调整方案或是发起重试，规避将超时简单等同于失败所引发的误操作。",[20,123,124],{},"证据账本（Evidence Ledger）记录设备变更前后的状态；任务验收（Closeout）关联固件制品标识、验收指标与业务运行结果。构建完成、升级指令下发仅属于阶段节点；只有设备实测结果达到预设标准，任务才算真正闭环，保障每一次研发交付可信可控。",[69,126,128],{"id":127},"_3-典型场景-raid-控制器信息缺失的修复交付","3. 典型场景 RAID 控制器信息缺失的修复交付",[20,130,131],{},"以某项目现场故障为例：BMC 可识别服务器 RAID 卡，但管理界面无法展示控制器信息。日志显示libsml_lsi.so加载失败，控制器注册返回错误码 4357；经核验定位为适配库缺失，核对固件基线后锁定修复范围。",[20,133,134],{},[76,135],{"alt":78,"src":136,"title":137},"\u002Fcategory\u002Fblog\u002F20260929UBMC-boke\u002F%E5%9B%BE2.png","图2：人工组织与 Workflow 自主推进对比",[20,139,140],{},"传统人工模式下，分析、构建、升级、验证、交付全流程都需要工程师介入确认，反复切换各类工具，碎片化操作带来大量重复工作量。借助 openUBMC Agent Workflow，整个修复流程实现自动化闭环：系统自动完成依赖与打包配置修正、测试构建、固件升级及设备恢复，并自动校验适配库加载、控制器注册、资源对象与北向接口状态。常规流程交由 Agent 自主流转，工程师仅聚焦关键决策与复杂异常；同时可以利用构建、设备重启的等待时段并行处理其他工作，削减人工盯守、工具切换带来的无效开销，提升故障修复交付效率。",[59,142],{},[15,144,146],{"id":145},"_03-客户价值","03 客户价值",[20,148,149],{},"openUBMC Agent Workflow 重构 BMC 研发任务执行模式：实现分析工作前置、工程阶段自动衔接，降低研发人员在工具切换、上下文重建、流程盯守上的人力消耗。",[151,152,153],"blockquote",{},[69,154,156],{"id":155},"高效跨层研判精准收敛故障范围","高效跨层研判，精准收敛故障范围",[20,158,159],{},"工作流以统一任务目标串联全部分析材料，聚合领域知识、源码、接口与设备侧证据，把原本串行开展的分析环节改为并行协同。依托多源信息交叉校验，快速收拢问题边界、定位根因，减少反复检索取证，提升复杂跨层故障的研判效率与准确度。",[151,161,162],{},[69,163,165],{"id":164},"释放人力成本聚焦高价值研发","释放人力成本，聚焦高价值研发",[20,167,168],{},"构建打包、固件升级、设备重连、循环核验等重复性工程动作实现自动化。工程师仅需定义任务目标，把控交付结果与异常风险，不必持续值守流程；人力从机械操作中释放，更多投入部件适配、资源调优、业务迭代等高价值工作。",[151,170,171],{},[69,172,174],{"id":173},"多任务并行调度提升交付效率","多任务并行调度，提升交付效率",[20,176,177],{},"通过智能任务调度，充分利用编译、重启等长耗时环节的空闲窗口，并行推进其他研发任务。在硬件资源约束下最大化利用研发时间，改善人工串行作业、流程空等问题，提高单位时间可交付的任务总量。",[151,179,180],{},[69,181,183],{"id":182},"沉淀工程资产实现能力迭代复用","沉淀工程资产，实现能力迭代复用",[20,185,186],{},"把场景化排查逻辑、标准化构建流程、验收规范等固化为可复用的领域 Skill，打破工程师个人经验壁垒。同类研发任务可以直接复用成熟执行路径；团队还可以基于任务运行数据做量化复盘，持续打磨优化研发流程，实现工程能力体系化迭代。",[59,188],{},[15,190,192],{"id":191},"欢迎关注openubmc","欢迎关注openUBMC",[33,194,195,204],{},[36,196,197,198],{},"社区官网：",[199,200,201],"a",{"href":201,"rel":202},"https:\u002F\u002Fwww.openubmc.cn",[203],"nofollow",[36,205,206,207],{},"代码仓地址：",[199,208,209],{"href":209,"rel":210},"https:\u002F\u002Fatomgit.com\u002FopenUBMC",[203],{"title":212,"searchDepth":213,"depth":213,"links":214},"",4,[215,217,227,233],{"id":17,"depth":216,"text":18},2,{"id":63,"depth":216,"text":64,"children":218},[219,221,226],{"id":71,"depth":220,"text":72},3,{"id":86,"depth":220,"text":87,"children":222},[223,224,225],{"id":91,"depth":213,"text":92},{"id":101,"depth":213,"text":102},{"id":111,"depth":213,"text":112},{"id":127,"depth":220,"text":128},{"id":145,"depth":216,"text":146,"children":228},[229,230,231,232],{"id":155,"depth":220,"text":156},{"id":164,"depth":220,"text":165},{"id":173,"depth":220,"text":174},{"id":182,"depth":220,"text":183},{"id":191,"depth":216,"text":192},"essentials","2026\u002F09\u002F29","软通华方依托 openUBMC 的资源模型、组件化开发和设备管理能力，构建了 openUBMC Agent Workflow。","md",{},true,"\u002Fzh\u002Fblogs\u002F20260929ubmc-ruantonghuafang",{"title":6,"description":236},"zh\u002Fblogs\u002F20260929UBMC-ruantonghuafang","2Lk1ESZ9BT7hjArCYEE3Vr0hKXuof-jJ_aQLBzpEGTs",[245,248],{"path":246,"title":247},"\u002Fzh\u002Fblogs\u002F20260903ubmc-baiao","从故障诊断到 RAS Offload：百敖 openUBMC 的 Intel 平台适配实践",{"path":249,"title":250},"\u002Fzh\u002Fblogs\u002F2026ubmc-changsha","开源BMC筑基AI算力——openUBMC 走进长沙高校",1793275600657]