人工流程痛点 | 具体数据 |
补丁处理规模 | 数千级别/次 |
资深工程师耗时 | 80 小时+/千条补丁 |
冲突检测错误率 | 10%+ |
高危漏洞响应周期 | 14+ 天 |
01

可视化平台:图形化交互界面,提供美观易用的指令输入、结果查看与操作触发。
CLI命令行:类 Shell 终端界面,提供高效灵活的用户指令与配置参数输入,适配自动化脚本及高级用户需求。

后台守护服务:低噪的后台常驻进程,自动化处理任务接收、调度与结果推送。
Agent 管理服务:系统级的 Agent 管理,提供 Agent 个性化与长期记忆能力。
MCP 管理服务:系统级的 MCP 工具管理,提供 MCP 注册、运行、查询与调用服务。
基座大模型:基于 Qwen 等大模型的原生代码理解能力开展补丁分析。
提示词工程:标准化模板设计,无需模型微调即可生成格式规范、字段完整、信息准确的结构化报告。
语法分析器:将代码及补丁提交信息转化为大模型可理解的自然语言。
02
用户以自然语言输入任务,Agent 理解后调用内部 MCP 服务; Agent 完成补丁分析,输出分析报告; 用户审核报告关键内容,确认无误后以自然语言下发补丁回合任务; Agent 调用 MCP 服务完成补丁回合并提交改动,返回 MR 链接。

workflow 规划 Agent:采用语言大模型 + workflow 设计,由大模型完成任务理解与分发,客户端内置高效 workflow 流水线执行任务; 补丁分析 Agent:结合动态提示词与大模型,实现补丁内容精细分析及分析报告输出; 代码整理 Agent:通过模块粒度补丁自动整理、冲突代码智能解决方案,完成补丁合入与 MR 提交。

任务规划方式 | DeepseekV3 | Qwen3 | workflow |
成功次数 | 5 | 6 | 10 |
测试补丁数量 | 单流水线 workflow | 4流水线 workflow | 8流水线 workflow |
50个 | 100分钟 | 30分钟 | 15分钟 |
100个 | 200分钟 | 60分钟 | 30分钟 |
max_workers = clientconfig.get("max_workers") # 配置文件获取并行数with ThreadPoolExecutor(max_workers) as executor: # 运行线程池while idx <= patch_count or futures:# 设置补丁分析函数executor.submit(vllmanalyzerfunc, xxx)# 处理分析函数返回内容if futures: # 控制线程池任务调度done, futures = wait(futures, return_when=FIRST_COMPLETED)try:future.result(timeout=60) # 等待分析完成except Exception as e: # 捕获异常# 异常处理分支handle_exception(e)
灵活性:并发数从配置文件读取,适配不同大模型并发能力; 高效并发:ThreadPoolExecutor 避免线程频繁创建 销毁,降低开销; 动态调度:while 循环 + wait (FIRST_COMPLETED),保持线程池满负荷运行; 健壮性:try...except 捕获单任务异常,防止全局崩溃;
提示词类型 | 纯静态提示词 | 静态+动态提示词 |
分析准确补丁个数 | 32 | 40 |
"""你是一个 AI 辅助补丁分析工具,可以结合提供的工具来帮助回答用户的问题。请根据问题判断是否需要调用工具,如果需要,请选择合适的工具并正确指定参数。工具调用结果返回后,请结合结果逐项分析给出最终回答,分析结果按照要求返回,所有的结果都是有用的,请不要遗漏。如果不需要调用工具,可以直接回答问题。你需要遵守以下规则:1. 分析结果需要完整,不可以遗漏。2. 你给出的最终结果将按照纯 JSON 格式被解析,返回结果请严格按照以下 JSON 格式,不要包含任何格式(例如 Markdown ```json),也不要添加解释。结果输出格式为:{"提交信息": "860874bd1cca5142eb23d123a0aeac7ec9d73d75","模块": "PINCTRL","改动说明": "修复 XXX 配置不支持模块('m')选项的问题,将其修改为内置('y')方式","判断理由": "xxxx","合入策略": "是","提交标题": "PINCTRL: Fix the issue that CONFIGPINCTRLAMD do not support m option","补丁类型": "bugfix"}参数解释:提交信息 —— 补丁信息中对应的补丁编号;模块 —— 补丁修改涉及的文件所属模块,通常在提交标题中会显示;改动说明 —— 补丁信息中对补丁修改点的描述,使用中文生成回答,计算机相关专有名词使用英文表述;判断理由 —— 基于以下几点分析:{judge_rules};合入策略 —— 是 否,根据“判断理由”设置是否需要回合;提交标题 —— commit 的标题,从补丁信息中提取,格式为“模块:修改内容”;补丁类型 —— 根据合入策略分析结果,代码的改动属于哪一类型;"""
应用回合方式 | 直接应用 | 兼容判断+修复后应用 |
成功个数 | 45 | 49 |

03
conda create -y -n mcp-server python=3.10conda activate mcp-serverpip install gitpython fastmcp pandas openai openpyxl cachetools
dnf install openeuler-intelligence-installer -y #yum源安装(可选)git clone https://gitee.com/openeuler/euler-copilot-framework.git #源码安装git clone https://gitee.com/openeuler/mcp-servers.gitcd mcp-servers/patchanalyzermcp/src/
vim assistant.conf#配置仓库信息kernelsrcurl=https://gitee.com/openeuler/kernel.gitkernelsrcbranch=openEuler-25.03kerneldsturl=git@gitee.com:xxxxx/kernel.gitkerneldstbranch=personal/openEuler-25.03kernelprojecturl=https://gitee.com/api/v5/repos/xxxxx/kernel/pullskernelprojecttoken=xxxx#配置语言模型APIapi_key=sk-xxxbase_url=https://dashscope.aliyuncs.com/compatible-mode/v1model_name=qwen3-max-xxx
启动 MCP 服务python3 patch_assistant.py
{"mcpServers": {"patchAnalyse": {"type": "streamable-http","url": "http://0.0.0.0:8100/mcp","disabled": false,"timeout": 3600,"alwaysAllow": []}}}
git clone https://gitee.com/openeuler/euler-copilot-shell.git配置参考:https://gitee.com/openeuler/euler-copilot-shell/blob/dev/docs/%E9%83%A8%E7%BD%B2%20&%20%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C.md#%E4%BA%94%E9%BB%98%E8%AE%A4%E6%99%BA%E8%83%BD%E4%BD%93%E7%9A%84%E4%BD%BF%E7%94%A8
openEuler Inteligence补丁管理智能体工作流程演示
04
智能化简化流程:通过大模型自动化补丁分析(精准识别修复类型、评估关键影响),降低对资深专家的依赖,提升开发者参与效率。 提升合入效率与精准度:自动化分析、冲突检测及标准化 MR 生成,缩短补丁周期,减少人工失误,增强流程可靠性。 交付更稳定内核:快速合入上游关键修复与安全更新,减少内核缺陷引发的系统故障、安全漏洞及停机风险。 支撑技术快速演进:高效引入上游新特性与性能优化,助力产线及时利用内核技术红利(如新硬件支持、云原生增强),加速产品创新。

分析准确率:整体为 75%-93%,可有效还原补丁修改意图,准确筛查剔除非核心改动补丁,辅助开发人员快速定位关键改动。 效率提升:大幅加快补丁分析速度,原需 1 人周的工作量,现 1-2 小时即可完成;同时提供补丁链接与改动描述,降低人力成本,提升分析效率。
05
文章转载自OpenAtom openEuler,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




