Skip to content

GStack 实战指南 | 第2期 - 产品与架构:用 CEO 与技术总监视角锁定项目边界

💡 俗话说,写代码只占开发的 20%,剩下 80% 的时间在弄清楚"到底该写什么"以及"写错了怎么重构"。GStack 提供的第一道防线,就是在写代码前把这两个痛点锁死。


为什么要让 AI 扮演 CEO?

在全栈独自开发的场景下,极易陷入 严重的范围蔓延(Scope Creep)。比如,你最初只想做个任务大屏,结果写着写着,就开始加黑夜模式切换、加高级动画库、甚至折腾一个极其复杂的自定义日历组件……一周过去了,核心业务都还没跑通。

Garry Tan 加入 /plan-ceo-review(还有它的姊妹指令 /office-hours)的作用,就在于 给你一棒子,让你回到正确的轨道上。


/plan-ceo-review 深度解析

它在幕后做了什么?

当你输入 /plan-ceo-review 时,GStack 会给 Claude 注入一段特殊的系统提示词,将它转变为一个"严肃的 CEO"。这个角色有明确的行为准则:

▪️ 不能讨好你:不会说"这个想法很棒",只会评估可行性 ▪️ MVP 优先:所有建议都围绕最小可行产品展开 ▪️ 资源意识:时刻考虑你的开发时间和技术栈复杂度 ▪️ 商业价值导向:每个功能都必须回答"为什么用户需要这个"

实战演示:一步步走通 CEO 评审

假设你正在开发一个个人博客系统,想加一些"酷炫"的功能:

bash
/plan-ceo-review
我想在文章页面加上这些功能:
1. Web3 钱包打赏(MetaMask 集成)
2. 实时评论系统(WebSocket)
3. 文章阅读进度条
4. AI 自动生成文章摘要

Claude(CEO 模式)的典型回复:

markdown
## CEO 评审意见

### ❌ 拒绝:Web3 钱包打赏
**理由**:你的站点月活用户不足 200。引入 `ethers.js`(gzip 后 120KB)
会使打包体积增大 40%,且 Web3 钱包用户在国内渗透率极低。
**替代方案**:放一张赞赏码图片,零成本,转化率更高。

### ❌ 搁置:实时评论系统
**理由**:WebSocket 长连接需要额外的服务器成本和运维复杂度。
当前阶段应验证"是否有人看你的文章",而不是"评论体验好不好"。
**替代方案**:接入 Giscus(基于 GitHub Discussions),零运维成本。

### ✅ 通过:阅读进度条
**理由**:实现成本极低(纯 CSS + 少量 JS),能有效提升用户
阅读体验和页面停留时间。

### ⚠️ 通过(有条件):AI 文章摘要
**理由**:对 SEO 有实际价值,但不应在客户端实时调用 API。
**条件**:摘要必须在文章发布时生成并缓存,不允许每次访问都调 API。

关键洞察:CEO 模式不是简单地说"不",它会给出 具体的替代方案量化的理由(比如包体积增大 40%)。这比你自己拍脑袋决策要靠谱得多。

/office-hours 的补充用法

如果你对 CEO 的评审结果不服气,或者想进一步讨论,可以用 /office-hours

bash
/office-hours
关于 Web3 打赏被拒绝的问题——如果我的目标用户群就是区块链开发者呢?
我的博客主要写 Solidity 教程。

→ 此时 CEO 会重新评估,可能因为目标用户群的变化而调整结论。这不是"翻案",而是在新信息下的理性决策。


/plan-eng-review 深度解析

为什么必须在写代码前做架构审查?

无数"屎山"诞生的根源是给 AI 下达模糊的指令,比如"给这页加上权限管理"。一旦涉及状态提升、数据穿透,它就开始胡乱引入文件和全局变量。

/plan-eng-review 让 Claude 变为经验丰富的 Tech Lead(技术总监)。它的核心原则是:只做设计,不写实现。

实战演示:产出架构方案

紧接前面的 CEO 评审结果——假设阅读进度条和 AI 摘要都通过了:

bash
/plan-eng-review
根据 CEO 评审通过的需求,请规划以下两个功能的技术方案:
1. 文章阅读进度条
2. AI 文章摘要(发布时生成并缓存)
当前技术栈:Next.js 14 + Tailwind CSS + Supabase

Claude(Tech Lead 模式)的典型输出:

markdown
## 技术架构方案

### 功能一:阅读进度条

**组件层级**
    ArticlePage
    ├── ReadingProgressBar    ← 新增(fixed 定位在顶部)
    ├── ArticleHeader
    ├── ArticleContent       ← 需要 ref 获取滚动高度
    └── ArticleFooter

**状态设计**
- 使用 `useEffect` + `scroll` 事件监听
- 计算公式:progress = scrollTop / (scrollHeight - clientHeight) × 100
- ⚠️ 必须使用 `throttle`(建议 16ms 节流)防止高频触发重渲染

**CSS 要点**
- 使用 `transform: scaleX()` 而非 `width` 动画(GPU 加速,不触发 reflow)
- `position: fixed; top: 0; z-index: 50;`
- ⚠️ 检查与现有 NavBar 的 z-index 层级关系,避免遮挡

### 功能二:AI 文章摘要

**数据流**
    文章发布 → API Route → OpenAI API → 写入 Supabase

**数据库变更**
    ALTER TABLE articles ADD COLUMN summary TEXT;
    ALTER TABLE articles ADD COLUMN summary_generated_at TIMESTAMPTZ;

**接口定义**
    POST /api/articles/[id]/generate-summary
    Request:  { articleId: string }
    Response: { summary: string, generatedAt: string }

**防护措施**
- ⚠️ 该接口必须鉴权(仅管理员可调用),防止被滥用消耗 API 额度
- ⚠️ 加入幂等校验:如果 summary_generated_at 在 24h 内,拒绝重复生成
- ⚠️ OpenAI 调用需设置 timeout(建议 30s),失败时返回 null 而非报错

关键洞察:Tech Lead 不只是画组件树。它会标注 ⚠️ 警告来提醒你容易踩的坑——z-index 冲突、接口鉴权遗漏、性能陷阱。这些都是真实开发中最容易忽略的细节。


两个角色的协作流程

完整的 GStack 前期评审流程是一个漏斗模型:

             ┌─────────────────────┐
             │   你的原始需求列表    │   ← 10 个想法
             └──────────┬──────────┘

             ┌─────────────────────┐
             │  /plan-ceo-review   │   ← 砍到 3 个
             │  CEO 产品评审        │
             └──────────┬──────────┘

             ┌─────────────────────┐
             │  /plan-eng-review   │   ← 细化为可执行方案
             │  Tech Lead 架构评审  │
             └──────────┬──────────┘

             ┌─────────────────────┐
             │  开始写代码!         │   ← 每一行代码都有依据
             └─────────────────────┘

这个漏斗的价值在于:你的每一行代码都有出处。 CEO 说了要做什么,Tech Lead 说了怎么做,你只需要填充具体实现。当 AI 后续帮你编码时,它也能参照这份架构文档,大幅降低"跑偏"的概率。


实战技巧

技巧一:评审文档要存档

CEO 和 Tech Lead 的评审结果不要只看一眼就关掉。建议在项目中创建一个 docs/ 目录:

docs/
├── ceo-review-v1.md       # CEO 评审记录
├── eng-review-v1.md       # 架构方案
└── ceo-review-v2.md       # 需求变更后的二次评审

技巧二:迭代式评审

不要一次性把所有功能都丢给 CEO 评审。正确的做法是:

  1. 第一轮:核心业务功能(登录、主页、核心交互)
  2. 第二轮:增强功能(搜索、筛选、个性化)
  3. 第三轮:锦上添花(动画、主题切换、分享)

每一轮都走 CEO → Tech Lead → 编码 → /review 的完整闭环。

技巧三:引用上下文

在调用 /plan-eng-review 时,务必提到 CEO 评审的结论:

bash
/plan-eng-review
根据刚才 CEO 评审的结论(阅读进度条通过,Web3 打赏被拒绝),
请为通过的功能做技术架构规划。

这样 Tech Lead 不会去规划已经被砍掉的功能,避免浪费 Token。


小结

▪️ /plan-ceo-review 解决的是 "做什么" 的问题——用商业思维砍需求 ▪️ /plan-eng-review 解决的是 "怎么做" 的问题——用工程纪律定架构 ▪️ 两者配合使用,就像给你的 AI 开发流程上了一道双保险 ▪️ 评审文档要存档、要迭代、要引用,它是后续编码和审查的基石

在下一篇文章中,我们将进入 GStack 开发流中最残酷的审计阶段:/review 对抗性代码审查。


好了,本期的内容到这里就结束了,如果你觉得对你有帮助的话,欢迎点赞、在看、转发,我们下期见!Bye~


📝 作者:NIHoa | 系列:GStack实战指南系列 | 更新日期:2025-04-14