网易首页 > 网易号 > 正文 申请入驻

别再给AI报分支名了,它现在自己去Git里查

0
分享至

以前我每次派活给编码智能体,都得先自己搞清楚当前发布到了哪一步,再把分支名写进提示词:从 develop/1.65.0 拉一个 feature 分支,改完往 develop/1.65.0 提 MR。明天同一个版本可能已经进了 alpha,再过一阵又到了 beta,分支名就得跟着换。


问题在于,发布阶段这件事从来没进过 Git、CI 和 Jira。它活在人的脑子里,活在我手动维护的一张 Confluence 表格里。我把它变成可计算的东西,先给自己做了个门户,再给智能体做成一个 MCP 工具。

先说清楚背景。这套 Git Flow 里,每个版本有一条自己的分支链:develop/1.65.0 → alpha/1.65.0 → beta/1.65.0 → prod/1.65.0。同时会有好几个版本在跑,一个在开发、一个在测试、一个在 beta、一个在生产。老版本上的修复,必须往新版本里带。

分支存在,不等于阶段到了

最直觉的算法是"找最新的那个已存在分支",这条路走不通。新版本立项时,所有阶段的分支是一次性建好的,prod/1.65.0 从第一天就存在,哪怕这个版本才刚开始开发。

得换一个信号:按流程,版本是靠哪个动作往前推的。在这套流程里,这个动作是往对应阶段分支合并了一个 MR。目标分支按 阶段/版本 命名,MR 关联一个 Jira 任务。如果 alpha/1.65.0 上合过匹配的 MR,说明版本到了 alpha;如果之后 beta/1.65.0 上也出现了,那就是到了 beta。

工具的做法是:找出标题、分支名或描述里带 Jira key 的已合并 MR,把目标分支和版本、阶段顺序对上,取有证据的最靠后那个阶段。以 1.65.0 为例,develop 有证据、alpha 有证据、beta 和 prod 没有,结果就是当前阶段 alpha,基准分支 alpha/1.65.0。

这不是 Git 的通用属性,是我们对"发布状态"的定义。它成立的前提是流程事先约定好了。团队推进阶段的方式不一样,需要的证据就不一样。

智能体那边:一个回答"从哪开始"的 MCP

我不想让智能体从本地检出里猜发布状态,不想让它随手挑默认分支,也不想把每个项目的怪癖塞进提示词里让它背。它需要一个工具,回答一个具体问题:这个 Jira 任务从哪开始干,MR 往哪提。

这个工具是我写的 MCP 服务,叫 Delivery Manager。名字容易误导,它不替代真正的交付经理。人还是负责规划发布、在 Jira 里设 Fix Version。MCP 接的是一个已经排好期的任务,在既有发布流程里算出该怎么处理。

给它项目、版本和任务 key,它去查 GitLab,判定当前阶段,返回干活用的参数:fixVersion、currentStage、baseBranch、baseBranchExists、featureBranch,以及 mergeRequest 的 targetBranch。智能体不需要理解 1.65.0 今天为什么在 alpha,它拿到的是核实过的基准分支和 MR 目标分支。

我给智能体定的规则很硬:不许自己选基准发布分支,唯一来源是发布 MCP。以下情况一律不开工——任务没有 Fix Version;当前阶段判定不出来;需要的发布分支不存在;GitLab 不可用;任务不在"To Do"状态,也就是还不算准备好可以实施。

最后一条真触发过一次,场景很接地气:我自己忘了把任务挪到正确状态,活就停了。这不是工具出错,是它拒绝为了开始写代码而绕过流程。

算法不是从 MCP 开始的

在 MCP 之前,我有一张 Confluence 表格:行是版本号,列是阶段和操作。版本往前走,我就填个日期,把一个格子的绿色填充去掉,再涂另一个。它的准确性取决于我,而 GitLab 早就把我手动抄的每个动作都记下来了。

我是 Android 开发者,没写过 Web 门户。我在 ChatGPT 里聊了这个想法,拿到一段实现提示词,丢给编码智能体,gitlab-panel 门户就这么起来了。它从 GitLab 数据里拼出图景:一张版本为行、阶段为列的矩阵。

矩阵显示两个方向的变更流。横向是同一个版本在阶段间流动;纵向是门户去校验"老版本的修复必须到达新版本"这条规则——它比较相邻版本的分支,找出老版本有、新版本没有的提交,合并提交会被过滤掉。这条规则以前只是团队的一项义务。

从矩阵里的一个箭头,门户还能发起一次"pour",也就是我们说的在阶段分支之间或版本之间搬运变更。我确认源、目标和变更内容,门户用已有的 Jira 任务或建一个子任务,把它移到 CodeReview,这一步失败就停;然后从源分支建一个临时 feature 分支,往目标提 MR。Squash 是故意关掉的,这样提交历史以后还能用来核对提交是怎么在版本间移动的。门户还会在流水线成功后尝试开启合并,但这不保证,有些步骤可能要人看一眼。

门户不判断某个版本该不该进下一个阶段。测试报就绪,交付经理规划后续并创建 pour 任务。自动化的是决策之后的动作。

两套实现,没有共享库

门户和 Delivery Manager 是两个独立项目,代码库分开。我没让 MCP 依赖一个跑着的门户。

需要 MCP 的时候,我让做门户的智能体讲清楚阶段判定算法在源码里的确切位置:文件、方法、逻辑。我把这份说明交给另一个做 MCP 的智能体,它把领域思路搬了过去。于是现在有两套实现,依赖同一套流程和同一份 GitLab 历史,但两者之间没有自动的代码同步。阶段顺序是另一个妥协:MCP 里从项目的发布分支和已知阶段名推出来,再固定在空间设置里;门户里则有单独的界面来管。

它可能错在哪

这套计算建立在三个假设上。

  • 阶段是最远的那个已确认跃迁。往 beta/ 合了一个 MR,就意味着版本到了 beta。算法不会从任务名去反推业务逻辑。
  • 版本只往前走。我的模型里没有从 beta 回退到 alpha,所以最靠后的已确认阶段就是当前阶段。团队如果会正式回退阶段,这个算法不够用。
  • 没有确认 MR 时,取第一个已存在的阶段。这是新建版本的正常状态:分支都在,还没发生过搬运。这是有意设的兜底,不是被证明过的跃迁。

工程上的限制也有:两套实现意味着改一条规则得手动在两边移植。阶段检查没有并进之前那个 jira:check 的 CI 脚本,现在由别的工具来做。我也没统计过省了多少小时,所以不会报百分比。

变化本身不用数字也好描述。以前我要记住发布阶段、更新表格、向人或智能体解释分支、在 GitLab 里跑一串动作。现在状态来自历史,门户显示不一致的地方,智能体去问 MCP,而不是来问我。

我会复用的几条

  • 挑出 Git 里那个能当作阶段证据的事件。对我来说是带任务 key 的 MR 合进了 阶段/版本。如果分支是提前建好的,分支存在就不是证据。
  • 明确说清还没有证据时怎么办,以及哪些移动算法不建模,比如回退。
  • 给智能体一个回答"从哪到哪"的工具,而不是把分支名写进提示词。
  • 把停止条件列出来。工具没法给出有依据的答案时,正确动作是停下,不是猜。
  • 推进阶段的决定留在人手里,自动化决策之后的动作。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
60美元的透明底座,让SNES卡带在电脑上复活

60美元的透明底座,让SNES卡带在电脑上复活

我是一个养虾人
2026-10-19 00:10:04
本田也开窍了!全新SUV颜值大增,4.6秒破百+双叉臂,这回能成?

本田也开窍了!全新SUV颜值大增,4.6秒破百+双叉臂,这回能成?

沙雕小琳琳
2026-10-19 05:20:57
梅艳芳骨灰被找到案情逆转!爆料大佬认了「误信AI」 家属心痛发声

梅艳芳骨灰被找到案情逆转!爆料大佬认了「误信AI」 家属心痛发声

ETtoday星光云
2026-10-19 10:31:08
李在明宣布迁都,44个中央机关限时搬出首尔,南下世宗避开三八线

李在明宣布迁都,44个中央机关限时搬出首尔,南下世宗避开三八线

牛锅巴小钒
2026-10-19 06:39:28
UFC冠军张伟丽发布妆后视频,一改硬核形象,变身甜妹

UFC冠军张伟丽发布妆后视频,一改硬核形象,变身甜妹

扬子晚报
2026-10-19 16:03:40
嫁到乌克兰的华人感慨:别听媒体吹牛,乌克兰相当于我国三线城市

嫁到乌克兰的华人感慨:别听媒体吹牛,乌克兰相当于我国三线城市

北海史记
2026-10-15 08:23:54
全场掌声!乌外长说出一句金句:我们从无牌可打,到别把牌打出去

全场掌声!乌外长说出一句金句:我们从无牌可打,到别把牌打出去

经纬戎韬
2026-10-19 06:45:41
忍了18个月,究竟是什么让泽连斯基决定公开对抗特朗普?

忍了18个月,究竟是什么让泽连斯基决定公开对抗特朗普?

澎湃新闻
2026-10-19 15:28:34
这样的汉奸,应该开除国籍

这样的汉奸,应该开除国籍

燕梳楼频道
2026-10-19 12:30:38
1分未得,狂丢20球!6连败,沦为五大联赛最惨球队,2次换帅仍无解

1分未得,狂丢20球!6连败,沦为五大联赛最惨球队,2次换帅仍无解

万花筒体育球球
2026-10-20 01:25:13
千元羽绒服遇冷,399元冲锋衣走红,年轻人也进入会过日子的时代

千元羽绒服遇冷,399元冲锋衣走红,年轻人也进入会过日子的时代

李砍柴
2026-10-18 23:59:35
华为摆平尊界刹车事件,又杀入换电赛道!

华为摆平尊界刹车事件,又杀入换电赛道!

一文热点捕手
2026-10-20 00:12:23
特朗普再次施压,俄罗斯态度急转180度,要全力保泽连斯基

特朗普再次施压,俄罗斯态度急转180度,要全力保泽连斯基

青山夜谈
2026-10-18 18:42:05
笑不活!老外买的中国纪念品,不理解但尊重

笑不活!老外买的中国纪念品,不理解但尊重

另子维爱读史
2026-10-19 21:05:28
特斯拉这台被夸上天的飞行汽车,座舱后面塞了两个“定时炸弹”

特斯拉这台被夸上天的飞行汽车,座舱后面塞了两个“定时炸弹”

不掉线电波
2026-10-18 22:54:55
一辆十年车龄的奔驰迈巴赫S400拍卖,20万元被人拿下

一辆十年车龄的奔驰迈巴赫S400拍卖,20万元被人拿下

沙雕小琳琳
2026-10-19 18:08:32
iPhone Duo电池4,883 mAh曝光

iPhone Duo电池4,883 mAh曝光

报错免疫体
2026-10-19 00:01:36
身披旭日旗的中国留学生已被遣返,将被开除!“涉事学生出生于南京,且身为历史专业在读学生,其行为与动机也令莫大历史系师生感到震惊”

身披旭日旗的中国留学生已被遣返,将被开除!“涉事学生出生于南京,且身为历史专业在读学生,其行为与动机也令莫大历史系师生感到震惊”

都市快报橙柿互动
2026-10-20 01:01:26
7轮全胜成徒劳?名记曝曼城铁定将扣分降级 5月曾独家爆料瓜帅离任

7轮全胜成徒劳?名记曝曼城铁定将扣分降级 5月曾独家爆料瓜帅离任

风过乡
2026-10-19 22:42:30
炸裂!日本妻子拍AV挽救婚姻,瞒夫出道老公崩溃,如今丈夫成粉丝

炸裂!日本妻子拍AV挽救婚姻,瞒夫出道老公崩溃,如今丈夫成粉丝

悠悠说世界
2026-08-17 13:48:27
2026-10-20 01:55:00
灰度测试中
灰度测试中
生活正在重构,目前还在灰度测试阶段,暂不全量发布。
238文章数 90关注度
往期回顾 全部

科技要闻

王晟:近千亿资金涌入后 具身智能开始退烧

头条要闻

中国驻菲大使:菲反华势力送5口棺材时有没有显示尊重

头条要闻

中国驻菲大使:菲反华势力送5口棺材时有没有显示尊重

体育要闻

从NBA退役10年后,他真去警局上班了

娱乐要闻

奚梦瑶回应重返维密:还是很开心的

财经要闻

黄奇帆之子往事:从广微系到魏桥的跳跃

汽车要闻

不知道二代海鸥多好玩? 上赛道跑两圈 很过瘾的

态度原创

健康
教育
游戏
家居
亲子

看着很健康的人,怎么会突然猝死?

教育要闻

1359 个市级指标藏在哪里?初中三年铺路地图

《龙之信条2:黑暗觉者》评测:天若有情天亦老"/> 主站 商城 论坛 自运营 登录 注册 简体中文 简体中文 English 《龙之信条2:黑暗觉...

家居要闻

2026建博会(广州) 公装联探展交流活动

亲子要闻

怎么给孩子做性启蒙才不尴尬,有哪些优质绘本值得推荐?

无障碍浏览 进入关怀版