极狐GitLab

Agent 智能体从议题直接产出合并请求,极狐GitLab Duo 开发者任务流实践

极狐GitLab
2026年9月22日
14189
分享:

Agent 智能体从议题直接产出合并请求,极狐GitLab Duo 开发者任务流实践

定义框:开发者任务流(Developer Flow)是极狐GitLab Duo Agent Platform 中的内置任务流,它以 Agent 智能体身份接收议题或讨论中的任务描述,自主完成检索代码、修改文件、运行校验、创建分支与草稿合并请求的全过程,把"议题 → 合并请求"这一段人工搬运工作交给智能体执行。


为什么"议题到合并请求"这段路最贵

一个需求从被写进议题,到变成一个可评审的合并请求,中间真正花在写代码上的时间往往不到一半。剩下的时间花在:找到该改哪几个文件、摸清项目里已有的工具类、对齐提交信息格式、补齐测试、把分支推上去开 MR、再按评审意见改一轮。

这些环节单看都不难,但加在一起,构成了研发流程里最琐碎、最容易被拖延的一段。更麻烦的是它高度依赖"老人经验"——新人接手一个陌生模块时,光是搞清楚测试怎么跑、lint 规则是什么,就要消耗半天。

开发者任务流要解决的,正是这一段。它不试图替代工程师做判断,而是把"查找上下文、落地修改、跑通校验、开好 MR"这些确定性动作接过去。

开发者任务流能做什么

根据官方文档,开发者任务流支持五类动作:

  • 从议题创建草稿合并请求

  • 根据评审反馈迭代已有的合并请求

  • 研究实施方案,并把结论发回讨论串

  • 把过大的合并请求拆成几个更小、更聚焦的合并请求

  • 解决合并冲突

能力层级上,开发者任务流在极狐GitLab 18.3 以测试版引入(当时名为 Issue to MR),18.6 更名为 Developer Flow,18.8 正式发布(GA),18.9 移除了相关功能标志,18.10 起在 JihuLab.com 的基础版可用,按极狐GitLab Credits 计费;18.11 引入了"提及"触发器。Tier 覆盖基础版、专业版与旗舰版,交付方式同时支持 JihuLab.com 与私有化部署。

启用前需要确认三件事:项目中拥有开发者及以上角色;极狐GitLab Duo 服务账号具备创建提交和分支的权限;顶层群组的"允许内置任务流"与"开发者"开关已打开。

落地前,先给智能体准备两份"说明书"

很多团队用不好研发智能体,原因不在模型,而在于智能体不了解你的工程约定。开发者任务流在仓库里工作时,会主动读取两份配置文件作为上下文,这两份文件值得认真写。

第一份是 AGENTS.md,用来声明项目约定:测试命令、代码检查规则、提交格式、推荐的编码模式。

# AGENTS.md

## 项目约定
- 语言与运行时:Go 1.22,模块名 gitlab.cn/acme/order
- 测试命令:make test(等价于 go test ./... -race -cover)
- 代码检查:make lint(golangci-lint run,配置见 .golangci.yml)
- 提交格式:Conventional Commits,例如 feat(order): 支持按状态过滤

## 编码模式
- 所有对外接口必须定义接口类型,便于 mock
- 数据库访问统一走 internal/repo 层,禁止在 handler 中直接写 SQL
- 新增接口必须同时补充单元测试与 integration 测试

第二份是 agent-config.yml,用来配置执行环境。如果项目需要特定工具链(Go、Python、Node.js),在环境里装好,智能体才能在提交前真正跑测试、验证自己的改动,而不是只交出一份"看起来对"的代码。

# agent-config.yml
image: golang:1.22

setup:
  - apt-get update && apt-get install -y make gcc
  - go mod download

test:
  - make lint
  - make test

这两份文件的收益是复利:写得越具体,智能体产出的草稿 MR 越接近可评审状态。

两种触发方式:指派与提及

开发者任务流支持两类触发器事件:指派提及,可在设置中选择启用哪些。

指派:把 Duo Developer 服务账号指派给某个议题,智能体会接手该议题并产出草稿合并请求。适合需求描述已经比较完整的场景。

提及:在议题或合并请求的讨论中直接 @ 智能体,把这条评论变成可操作任务。

@duo-developer-acme 研究为 /orders 端点补充分页能力的实现方案,
沿用 internal/repo 层已有模式,用最有前景的方案创建一个草稿合并请求。

智能体会回复一个指向其会话的链接,也可以在左侧边栏 AI > 会话 中查看进度。这种方式的差别在于:你可以在评论里补充约束条件,智能体的探索范围因此被收窄,产出质量通常高于纯指派。

哪些场景值得先上,哪些先别碰

值得先上:

  • 明确、边界清晰的小需求(新增一个查询参数、补齐一个接口的测试、修一个复现路径清楚的缺陷)

  • 跨仓库的样板工作(统一替换废弃 API、批量补日志埋点)

  • 大 MR 拆分——把一次几百行的改动拆成几个主题明确的合并请求

先别碰:

  • 涉及架构调整、没有既定模式的探索性任务

  • 需要跨系统联调、依赖真实数据的改动

  • 合规上要求"人工逐行确认"的核心链路,仍应保留人工实现、让智能体只做评审辅助

判断标准很简单:你能不能用三句话说清楚验收标准。说不清楚的任务,交给谁都做不好。

三个常见坑

坑一:把智能体当搜索引擎用。 只说"优化一下订单模块",产出的草稿 MR 基本不可用。有效率的任务描述必须包含目标、约束、验收三点。

坑二:没有配置执行环境。 不配 agent-config.yml,智能体无法在提交前跑测试,只能交出未经校验的改动,评审成本反而上升。

坑三:跳过 AGENTS.md,指望模型猜约定。 提交格式、测试命令这类"团队默认"如果不写下来,智能体每次都会重新猜一遍,产出风格不稳定。

常见问题

开发者任务流产出的合并请求能直接合并吗?

不建议。官方定位是产出草稿合并请求,评审仍然由工程师负责。把它当成"先跑通第一版的同事",而不是"替你签字的同事"。

私有化部署能用吗?

可以。开发者任务流的 Offering 同时覆盖 JihuLab.com 与私有化部署,前提是已开启极狐GitLab Duo 并满足服务账号权限与群组开关要求。

费用怎么算?

开发者任务流属于已正式发布的功能,使用会消耗极狐GitLab Credits;基础版需要购买 Credits 后使用。

小结与下一步

真正值得优化的不是"写代码"这一段,而是"从议题到可评审的合并请求"这一段。开发者任务流的价值,是把这段路的确定性部分交给 Agent 智能体,让工程师把注意力集中在方案判断上。

想评估它在你的项目里能跑成什么样,建议先挑三个边界清晰的小需求做试点:写好 AGENTS.mdagent-config.yml,用提及方式触发,观察草稿 MR 的可用率,再决定是否扩大范围。

延伸阅读:开发者任务流官方文档 https://docs.gitlab.cn/docs/jh/user/duo_agent_platform/flows/foundational_flows/developer/ | Duo Agent Platform 总览 https://docs.gitlab.cn/docs/jh/user/duo_agent_platform/

想了解极狐GitLab Duo 在研发全流程中的能力边界,可访问 https://gitlab.cn 预约演示或申请试用。