任务拆分太碎无法落地?详解垂直切片(Vertical Slices)的正确打开方式
在敏捷开发的流水线上,最容易让架构师和开发者产生分歧的环节就是任务拆分。传统的做法是“横向切饼”:前端切一刀,后端切一刀,数据库再切一刀。结果是 Issue 列表里躺着一堆“创建 API 路由”、“设计表结构”,直到项目最后一天,你都看不到一个真正能跑的功能。
Matt Pocock 在 Agent Skills 中推崇的 to-issues 技能,其核心灵魂就是 Vertical Slices(垂直切片)。它强制 AI 放弃那种低效的“技术分层”拆分法,转而交付一个个“端到端”的业务价值。
💡 报错现象总结:开发者在使用 AI 自动拆分 Issue 时,常发现生成的任务之间存在强耦合,导致某个子任务无法独立测试或交付。这种“任务碎块化”现象本质上是缺乏垂直切片逻辑。此外,若 PRD 描述不够原子化,
to-issues可能会生成描述过于笼统的 Issue,导致开发者在执行时依然需要反复向架构师确认细节。
为什么“技术分层拆分”是独立开发者的自杀行为?
如果你是一个人在战斗,或者带领一个小团队,按技术栈拆分任务会极大地拉长反馈周期。当你写完“数据库表结构”时,你并没有完成任何可交付的东西;只有当你写完配套的 API 和 UI 逻辑,这个功能才算“活着”。
to-issues 的技术剖析核心点在于:它通过 Prompt 约束 AI,要求每一个 Issue 必须是一个独立的可分发单元(Independently-grabbable units)。
| 拆分范式 | 表现形式 | 最终结果 | 架构师评价 |
|---|---|---|---|
| 横向分层 (Horizontal) | 任务 A:写 SQL;任务 B:写 Controller | 必须 A+B 全部完成才能看到效果 | 高延迟,难以追踪业务进展 |
| 垂直切片 (Vertical) | 任务 A:用户能看到并修改头像 (含 DB/API/UI) | 每一个任务完成后都是一个可工作的增量 | 低延迟,极速反馈,工程感极强 |
源码追溯:to-issues 如何强行“端到端”?
在 skills 的逻辑实现中,to-issues 在解析 PRD 时会启动一个依赖拓扑扫描。它不仅仅是把文本行拆开,而是试图寻找业务逻辑上的最小闭环。
如果你的 PRD 写得像一团乱麻,to-issues 会因为无法提取垂直切片而产生“理解偏差”。
// to-issues 内部逻辑设想:
// 搜索 PRD 中的 "User Goal",而不是搜索 "Tech Stack"
const slices = prd.match(/As a (.*), I want to (.*), so that (.*)/g);
// 每一个 Slice 都会被封装为一个包含全栈逻辑的 Issue
slices.forEach(slice => createVerticalIssue(slice));
这种架构逻辑确保了每一个产生的 Issue 都是一个“功能切片”,开发者领走任务后,不需要再去跨 5 个 Issue 找背景资料,所有的上下文都在这一个切片里。
手动修正“任务耦合”的痛苦
很多开发者在发现 AI 拆分不合理后,会尝试手动去 GitHub 面板上合并或拆分 Issue。这种“手工修正”非常折磨人:
- 文案同步地狱:你改了 Issue A 的范围,发现原本关联在 Issue B 里的技术细节也要跟着手动迁移。
- 标签与里程碑失效:手动操作极易漏掉 Labels 或 Milestone 关联,导致自动化看板(Board)直接失灵。
- 上下文断裂:AI 之前基于旧切片生成的代码建议,在手动重组 Issue 后彻底作废,你不得不重新喂 AI 上下文。
这种“任务重构”的体力活,往往比写代码本身还要累,而且极易引入逻辑死角。
让任务自己“垂直”起来
真正的架构高手,在定义需求的那一刻就开始考虑切片了。
为了帮你彻底掌握这种高效的任务拆分艺术,我已经在 GitCode 独家发布了 《垂直切片开发实战手册:Agent Skills 任务拆分调优指南》。这份手册提供了 5 个经典的垂直切片模板,并附带了一套针对 to-issues 的优化 Prompt 参数,确保 AI 拆出来的每一个任务都能直接“上手即干”。访问 GitCode,领取这份实战手册,让你的 Issue 列表从此井然有序。
[领取 GitCode《垂直切片开发实战手册》,让你的任务拆分真正具备生产力。]
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0152- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
LongCat-Video-Avatar-1.5最新开源LongCat-Video-Avatar 1.5 版本,这是一款经过升级的开源框架,专注于音频驱动人物视频生成的极致实证优化与生产级就绪能力。该版本在 LongCat-Video 基础模型之上构建,可生成高度稳定的商用级虚拟人视频,支持音频-文本转视频(AT2V)、音频-文本-图像转视频(ATI2V)以及视频续播等原生任务,并能无缝兼容单流与多流音频输入。00
auto-devAutoDev 是一个 AI 驱动的辅助编程插件。AutoDev 支持一键生成测试、代码、提交信息等,还能够与您的需求管理系统(例如Jira、Trello、Github Issue 等)直接对接。 在IDE 中,您只需简单点击,AutoDev 会根据您的需求自动为您生成代码。Kotlin03
Intern-S2-PreviewIntern-S2-Preview,这是一款高效的350亿参数科学多模态基础模型。除了常规的参数与数据规模扩展外,Intern-S2-Preview探索了任务扩展:通过提升科学任务的难度、多样性与覆盖范围,进一步释放模型能力。Python00
skillhubopenJiuwen 生态的 Skill 托管与分发开源方案,支持自建与可选 ClawHub 兼容。Python0112