技术茶馆公告

🍵 欢迎来到技术茶馆 🍵

这里是一个分享技术、交流学习的地方

技术札记 | 茶馆周刊 | 工具书签 | 作品展示

让我们一起品茗技术,共同成长

Skip to content

构建面向 AI Coding 的研发体系

引言:研发效率的下一场革命

在软件工程领域,我们一直在追求更快的交付速度和更高的代码质量。从敏捷开发到 DevOps,再到如今的云原生,每一次变革都极大地释放了生产力。

然而,在实际的迭代中,我们依然面临着诸多痛点:

  • 需求文档与代码实现总是存在理解偏差
  • 前后端接口对齐耗费大量沟通成本
  • 重复性的 CRUD 代码占据了 60% 的开发时间
  • 手动部署流程容易出错,回滚困难

最近,随着大模型(LLM)能力的爆发,特别是 MCP (Model Context Protocol) 概念的提出,以及各种 AI 编程助手(如 Cursor、TRAE)的成熟,我开始思考:我们是否能构建一个真正由 AI 深度赋能,且具备工业级健壮性的研发体系?

本文将详细阐述我构想的一个双周迭代 AI 辅助研发与自动化部署闭环。这是一个融合了最新 AI 技术与成熟工程实践的前沿方案。


核心理念:AI 辅助 + 契约驱动 + 自动化闭环

这个体系的核心在于将 AI 的能力限制在可控的范围内,让它成为高效的"副驾驶",而不是失控的"司机"。我们通过以下三个关键支柱来实现这一目标:

1. 结构化上下文 (Structured Context via MCP)

利用 MCP 协议,将飞书文档(需求)和 Figma(设计)中的非结构化信息,转化为 AI 可以理解的结构化上下文。

关键价值:

  • AI 不再是"盲人摸象",而是精准理解需求背景
  • 设计稿直接映射为代码,减少人工翻译
  • 需求变更时,AI 能自动识别影响范围

2. 契约优先 (Contract-First via ApiFox)

引入 ApiFox 作为单一事实来源。所有的开发工作必须始于明确的 API 契约,强制前后端对齐,消灭歧义。

关键价值:

  • 前后端基于契约并行开发,效率提升 50%
  • Mock Server 让前端无需等待后端实现
  • 契约测试自动验证实现是否符合约定

3. 全自动化流水线 (Fully Automated DevOps)

任何人工操作都是不可靠的。从代码提交、测试、数据库变更到多端发布,一切皆代码,一切皆自动化

关键价值:

  • 数据库迁移自动化,消除手动执行 SQL 的风险
  • 移动端构建自动化,解决证书签名痛点
  • 基于契约的集成测试作为质量门禁

体系全景:一个会呼吸的研发生态

这个体系分为五个主要阶段,形成完整的 PDCA 循环:


阶段一:规划与定义中心

工作流程

  1. PM 撰写 PRD: 在飞书文档中详细描述需求
  2. 设计师完成 UI: 在 Figma 中设计交互原型
  3. 后端定义契约: 利用 AI 辅助,基于 PRD 在 ApiFox 中草拟 API 接口
  4. 团队评审: 确认契约后"冻结",成为本次迭代的法律依据
  5. 自动生成 Mock: ApiFox 自动启动 Mock Server

关键机制:契约冻结

为什么要冻结契约?

  • 前端可以立即基于 Mock Server 开发,无需等待后端
  • 后端按契约实现,避免接口频繁变更
  • 测试可以提前编写契约测试用例

如何冻结?

  • 在 ApiFox 中标记契约版本为"已确认"
  • 任何变更需要走变更评审流程
  • 迭代内严格控制契约变更

阶段二:AI 辅助开发环境

这是研发的主战场。开发者使用支持 MCP 的 IDE(如 Cursor、TRAE)。

三重 MCP 协同机制

后端开发流程

  1. ApiFox MCP 读取契约 → AI 生成 Controller 骨架
  2. 飞书 MCP 读取业务逻辑 → AI 生成业务代码注释
  3. 自动生成:
    • 入参校验(基于契约的参数定义)
    • 数据模型(DTO/Entity)
    • Sentry 错误监控埋点
  4. 开发者填充: 核心业务逻辑

示例代码:

typescript
// AI 基于 ApiFox 契约自动生成
@Controller('auction')
export class AuctionController {
  @Post('bid')
  @ApiOperation({ summary: '用户出价' })
  async createBid(@Body() dto: CreateBidDto) {
    // Sentry 埋点(AI 自动生成)
    const transaction = Sentry.startTransaction({ name: 'createBid' });
    
    try {
      // 开发者填充业务逻辑
      return await this.auctionService.placeBid(dto);
    } catch (error) {
      Sentry.captureException(error);
      throw error;
    } finally {
      transaction.finish();
    }
  }
}

前端开发流程

  1. Figma MCP 读取设计稿 → AI 生成组件样式
  2. ApiFox MCP 读取 API 定义 → AI 生成网络请求代码
  3. 自动生成:
    • UI 组件(样式 + 结构)
    • 数据请求层(基于契约)
    • 状态管理(loading/error/success)
    • Sentry 埋点
  4. 开发者调整: 交互逻辑和边界情况

示例代码:

tsx
// AI 基于 Figma + ApiFox 自动生成
export const BidPanel: React.FC = () => {
  const [loading, setLoading] = useState(false);
  const { data, error } = useBidHistory(); // AI 生成的 Hook
  
  const handleBid = async (amount: number) => {
    setLoading(true);
    try {
      // AI 基于 ApiFox 契约生成的 API 调用
      await auctionApi.createBid({ lotId: '123', amount });
      toast.success('出价成功');
    } catch (err) {
      Sentry.captureException(err); // AI 自动添加
      toast.error('出价失败');
    } finally {
      setLoading(false);
    }
  };
  
  return (
    <div className="bid-panel"> {/* AI 基于 Figma 生成的样式 */}
      <BidButton onClick={handleBid} loading={loading} />
      <BidHistory data={data} />
    </div>
  );
};

关键创新:监控左移

在 AI 生成代码时,就预置了 Sentry 的监控埋点

  • 传统方式: 开发完成后手动添加监控
  • AI 方式: 生成代码时自动包含错误边界和埋点
  • 价值: 确保监控覆盖率,减少遗漏

阶段三:版本控制与 CI/CD

当代码提交到 GitHub 后,真正的工业级自动化开始运转。我们利用 GitHub Actions 构建了复杂的并行流水线。

后端流水线

yaml
name: Backend CI/CD

on:
  push:
    branches: [main, staging]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - name: 代码质量检查
        run: npm run lint
      
      - name: 单元测试
        run: npm run test
  
  migrate:
    needs: test
    runs-on: ubuntu-latest
    steps:
      - name: 数据库迁移
        run: npx prisma migrate deploy
  
  deploy-staging:
    needs: migrate
    runs-on: ubuntu-latest
    steps:
      - name: 部署到 Staging
        run: |
          aliyun fc deploy --env staging
      
      - name: ApiFox 契约测试
        run: npm run test:contract
  
  deploy-prod:
    needs: deploy-staging
    if: github.ref == 'refs/heads/main'
    runs-on: ubuntu-latest
    steps:
      - name: 部署到生产环境
        run: aliyun fc deploy --env production

移动端流水线

yaml
name: Mobile CI/CD

on:
  push:
    branches: [main]

jobs:
  build-ios:
    runs-on: [self-hosted, macOS] # Mac mini 自托管 Runner
    steps:
      - name: 构建 iOS
        run: |
          cd ios
          fastlane build
      
      - name: 上传 TestFlight
        run: fastlane upload_testflight
  
  build-android:
    runs-on: ubuntu-latest
    steps:
      - name: 构建 Android
        run: ./gradlew assembleRelease
      
      - name: 上传内测渠道
        run: fastlane upload_pgyer

关键技术拆解

1. 数据库迁移自动化

使用 Prisma Migrate:

  • Schema 定义在代码中,版本化管理
  • CI 流程中自动执行迁移
  • 支持回滚和灰度发布
prisma
// schema.prisma
model Auction {
  id        String   @id @default(uuid())
  title     String
  startTime DateTime
  endTime   DateTime
  createdAt DateTime @default(now())
  
  bids Bid[]
}

2. 契约测试作为质量门禁

基于 ApiFox 契约自动生成测试用例:

  • 在 Staging 环境执行
  • 验证实际实现是否符合契约
  • 测试失败则阻止部署

3. 移动端构建专业化

解决的痛点:

  • ❌ GitHub 免费 Runner 性能不足
  • ❌ iOS 必须在 macOS 上构建
  • ❌ 证书管理复杂易出错

解决方案:

  • ✅ Mac mini 自托管 Runner(成本可控)
  • ✅ 使用 Fastlane 自动化签名
  • ✅ 构建速度提升 3-5 倍

阶段四:生产环境部署

后端:阿里云 Serverless

部署在 阿里云函数计算(FC)Serverless 应用引擎(SAE):

优势:

  • 弹性伸缩: 自动应对流量波动
  • 按量付费: 低流量时成本极低
  • 免运维: 无需管理服务器

适用场景:

  • 中小型应用
  • 流量波动大的业务
  • 快速迭代的产品

潜在挑战:

  • 冷启动延迟(首次请求慢)
  • 有状态服务需要额外设计

前端:多端分发

  • 微信小程序: 自动上传体验版
  • iOS: 自动发布到 TestFlight
  • Android: 自动上传到内测渠道

阶段五:可观测性与反馈闭环

发布不是终点。我们在 AI 生成代码时,就预置了 Sentry 的监控埋点。

双层监控体系

技术监控 (Sentry)

  • 目标: 发现和定位技术问题
  • 数据: 错误堆栈、性能指标
  • 受众: 研发团队

业务监控 (Mixpanel/Sensors)

  • 目标: 理解用户行为和产品表现
  • 数据: 用户路径、转化率、留存率
  • 受众: 产品和运营团队

战略闭环:AI 驱动的需求优化

传统模式:

PRD → 开发 → 上线 → 数据分析 → (人工解读) → 新 PRD

AI 赋能模式:

PRD → 开发 → 上线 → 数据分析 → AI 自动洞察 → AI 辅助 PRD → 新 PRD

AI 的作用:

  1. 自动发现异常: 识别数据中的异常模式
  2. 洞察生成: 分析用户行为,提炼关键洞察
  3. 需求建议: 基于数据提出功能优化建议
  4. PRD 草稿: 辅助 PM 编写数据驱动的 PRD

价值:

  • 从"拍脑袋决策"到"数据驱动决策"
  • 缩短反馈周期
  • 持续优化产品

成本与收益分析

总成本估算 (10人团队)

一次性投入:

  • Mac mini: ¥6000
  • 团队培训: ¥5000
  • 合计: ¥11,000

月度成本:

  • IDE 订阅: $200
  • Staging 环境: ¥500
  • 监控工具: $50
  • AI API: $100
  • 合计: 约 ¥2500/月

ROI 分析

  • 开发效率提升: 30-50%
  • Bug 减少: 40%
  • 上线速度: 提升 2 倍
  • 回本周期: 2-3 个月

潜在挑战与应对

技术挑战

挑战应对策略
MCP 生态不成熟渐进式引入,先用成熟的 ApiFox MCP
AI 生成代码质量强制 Code Review + 自动化测试
Serverless 冷启动预热机制 + 保持实例温暖

组织挑战

挑战应对策略
学习曲线陡峭分阶段培训,从简单工具开始
契约冻结执行难建立变更评审机制,迭代内严格控制
跨部门协作定期同步会,ApiFox 作为沟通语言

适用场景

✅ 最适合

  • 中小型研发团队 (5-20人)
  • 多端应用 (小程序 + App + Web)
  • 敏捷/双周迭代
  • 创业公司/创新项目

❌ 不太适合

  • 超大型单体应用
  • 强监管行业 (金融、医疗)
  • 极致性能要求的系统
  • 传统瀑布式开发

总结与展望

这个方案涉及的每一个组件——飞书、Figma、ApiFox、GitHub Actions、Serverless——在业界都已经有成熟的应用。

这个体系的真正价值在于连接。通过 MCP 和高度自动化的流程,我们将这些孤岛连接成了一个有机的整体,让 AI 的能力真正落地到了生产级的软件交付中。

核心价值:

  1. 连接: 将孤岛工具连接成有机整体
  2. 约束: 让 AI 在可控范围内发挥价值
  3. 闭环: 从需求到数据的完整循环

最终目标:

更少的人工琐事,更多的创造性思考,以及一个永远在线、不断进化的数字产研工场。

这也许就是未来研发团队的雏形,也是软件工程的下一个十年。


参考资料