基于 openUBMC 构建 Agent 驱动的 BMC 研发工作流
2026/10/09
一、应用背景
BMC 固件研发涵盖源码开发、构建部署、设备验证全链路,任务进度与验证证据分散零散、缺乏统一追溯机制。引入智能 Agent 虽可推进编码与工具调用,但任务跨阶段、会话中断仍需人工重复梳理衔接;同时 BMC 故障属于典型跨层问题,依赖多维度交叉核验,零散的工具调用无法形成可信闭环。因此,亟需一套支持断点续跑、操作可对账、以设备真实状态为验收标准的标准化研发工作流。
二、解决方案
软通华方依托 openUBMC 资源模型、组件化开发与设备管理能力,构建了 openUBMC Agent Workflow。该工作流由四层协同:
- 宿主 Agent 负责规划与工程判断;
- 领域工作流通过 Skill 选择诊断、开发、构建、部署或验证路线;
- Target Runtime 基于 MCP 管理任务进度、目标连接、资源调度、变更记录与验收结果;
- 工程环境提供源码/构建能力与真实设备现场。
工程师定义目标与验收条件后,各层协同自主推进分析、修复、构建、升级与实机验证。

核心能力一:工程对象贯通:基于 MDS 模型、MDB/D-Bus 资源对象与北向接口映射,结合源码依赖与构建工具链,保证源码改动、固件制品与设备业务结果三者可追溯。
核心能力二:长流程断点续跑与多任务并发:编译、重启等耗时环节后台运行,中断后可续接;同一任务内无依赖动作并行执行,多任务错峰开展,系统按依赖与资源统一调度。
核心能力三:可信执行闭环:任务档案(Case)保存目标与阶段结果;变更日志(Mutation Journal)记录写操作并核验设备真实状态,避免超时误判;证据账本(Evidence Ledger)管理变更前后证据;任务验收(Closeout)以设备实测结果为准,达标才算闭环。
三、典型场景示例:RAID 控制器信息缺失修复
某项目 RAID 卡可识别但控制器信息不显示,日志显示 libsml_lsi.so 加载失败、错误码 4357,定位为适配库缺失。基于 openUBMC Agent Workflow 自动完成依赖修正、测试构建、固件升级及设备恢复,并校验适配库加载与接口状态,研发人员仅需处理核心决策与复杂异常,大幅削减机械值守与重复操作,显著提升故障修复与版本交付效率。

四、客户价值
- 高效跨层研判:统一任务目标串联领域知识、源码、接口与设备证据,并行分析快速收敛故障范围。
- 释放人力成本:构建、升级、重连、核验等重复动作自动化,工程师专注高价值研发。
- 多任务并行调度:利用编译、重启等待窗口并行推进其他任务,提升单位时间交付量。
- 沉淀工程资产:排查逻辑、构建流程、验收规范固化为领域 Skill,同类任务直接复用,持续优化流程。
【版权声明】Copyright © 2026 openUBMC Community。本文由openUBMC社区首发,欢迎遵照CC-BY-SA 4.0协议规定转载。转载时敬请在正文注明并保留原文链接和作者信息。
【免责声明】本文仅代表作者本人观点,与本网站无关。本网站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。本文仅供读者参考,由此产生的所有法律责任均由读者本人承担。


