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

别再给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.

相关推荐
热点推荐
这样的汉奸,应该开除国籍

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

燕梳楼频道
2026-10-19 12:30:38
男子花3500找了一个小姐,又觉得不过瘾,让小姐再喊个闺蜜过来“一起玩”

男子花3500找了一个小姐,又觉得不过瘾,让小姐再喊个闺蜜过来“一起玩”

张晓磊
2026-10-18 11:58:47
电动汽车为什么都不保值?直到我刷到一个网友的分享,瞬间顿悟

电动汽车为什么都不保值?直到我刷到一个网友的分享,瞬间顿悟

夜深爱杂谈
2026-10-19 20:44:49
99%成年人该懂的人性潜规则:不要免费给任何人建议——你的掏心掏肺,可能只是多管闲事

99%成年人该懂的人性潜规则:不要免费给任何人建议——你的掏心掏肺,可能只是多管闲事

清风拂心
2026-10-07 07:30:07
律师向国务院递交立法建议:交公粮应视同社保缴费,提高农民退休金待遇刻不容缓

律师向国务院递交立法建议:交公粮应视同社保缴费,提高农民退休金待遇刻不容缓

互联网大观
2026-10-18 15:36:40
妻子生日买一万六手机五千四羽绒服,丈夫嫌大手大脚,她回怼丈夫没本事挣大钱

妻子生日买一万六手机五千四羽绒服,丈夫嫌大手大脚,她回怼丈夫没本事挣大钱

观世记
2026-10-19 16:27:44
海湾杯2连胜!十人U16国足2-1阿曼 袁博涵造2球 刘凯源破门+染红

海湾杯2连胜!十人U16国足2-1阿曼 袁博涵造2球 刘凯源破门+染红

我爱英超
2026-10-20 03:16:08
特斯拉这台被夸上天的飞行汽车,座舱后面塞了两个“定时炸弹”

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

不掉线电波
2026-10-18 22:54:55
央行出利好了,防踩踏……

央行出利好了,防踩踏……

资本时差
2026-10-19 18:08:31
39岁真人秀女星自曝:亲过她、舔过她,还和主持人抽过大麻

39岁真人秀女星自曝:亲过她、舔过她,还和主持人抽过大麻

热搜摘要官
2026-10-19 00:01:41
我国对盾构机实施出口管制,来得及时,印度盾构机,牛吹早了

我国对盾构机实施出口管制,来得及时,印度盾构机,牛吹早了

王新喜
2026-10-19 21:19:29
李在明宣布迁都,44个中央机关限时搬出首尔,南下世宗避开三八线

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

牛锅巴小钒
2026-10-19 06:39:28
最尴尬的“新片”,刘德华主演《白衣逆行者》

最尴尬的“新片”,刘德华主演《白衣逆行者》

胡影
2026-10-17 14:18:08
本土剧男演员挺沈伯洋,叫嚣不怕被抵制但压根没有大陆市场

本土剧男演员挺沈伯洋,叫嚣不怕被抵制但压根没有大陆市场

郭茂辰海峡传真
2026-10-19 23:20:10
iPhone Duo仅支持eSIM竟成用户“痛点” 出国用需要先一个删号?

iPhone Duo仅支持eSIM竟成用户“痛点” 出国用需要先一个删号?

天极网
2026-10-19 16:48:48
上海105:92北控!3个没想到:2国手对飙+残阵仍赢球,体现1优势

上海105:92北控!3个没想到:2国手对飙+残阵仍赢球,体现1优势

董说体育
2026-10-19 21:41:05
连线亲历法国暴力骚乱的中国公民:购物受影响,秩序正在恢复

连线亲历法国暴力骚乱的中国公民:购物受影响,秩序正在恢复

南方都市报
2026-10-19 21:50:07
演员张佳宁连续两月被拍到挺孕肚现身,本人及工作室均未正面回应;此前表示结婚会公开,受父母婚姻影响称坚决不会离婚,未来生两个孩子

演员张佳宁连续两月被拍到挺孕肚现身,本人及工作室均未正面回应;此前表示结婚会公开,受父母婚姻影响称坚决不会离婚,未来生两个孩子

台州交通广播
2026-10-17 12:49:57
约会时刺激女人荷尔蒙的两招,尤其第二个是王牌,她根本挡不住

约会时刺激女人荷尔蒙的两招,尤其第二个是王牌,她根本挡不住

风起见你
2026-10-20 07:06:01
唏嘘,郎平再赴上海看望汤淼,19年没断过,周苏红也有情有义!

唏嘘,郎平再赴上海看望汤淼,19年没断过,周苏红也有情有义!

体坛侃侃球
2026-10-19 09:50:17
2026-10-20 07:43:00
灰度测试中
灰度测试中
生活正在重构,目前还在灰度测试阶段,暂不全量发布。
179文章数 90关注度
往期回顾 全部

科技要闻

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

头条要闻

特朗普狠批泽连斯基"不想结束战争" 泽连斯基强硬回怼

头条要闻

特朗普狠批泽连斯基"不想结束战争" 泽连斯基强硬回怼

体育要闻

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

娱乐要闻

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

财经要闻

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

汽车要闻

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

态度原创

旅游
本地
房产
家居
公开课

旅游要闻

西藏山南——“文旅+”业态多点开花

本地新闻

因新荣记出圈,这座浙东小城才是吃货天堂

房产要闻

最新房价:海口,三亚齐跌!

家居要闻

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

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版