Back/harness engineering

腾讯团队 AI Native 研发实践:OpenSpec + CodeBuddy 全链路方案

Updated 2026-04-13
3 min read
692 words

腾讯团队 AI Native 研发实践

从"AI 辅助编码"到"0 人工 Coding"的完整方法论


核心洞察

腾讯团队在 2025-2026 年的实践中发现:把 AI 当打字员用,天花板很低;把 AI 当施工队用,才有真正的效率革命

传统 AI 辅助编码的四大痛点:

痛点 表现 根因
人机协作无标准 效果取决于个人提示词功力 没有统一的 AI 交互规范
流程断点 工程师在文档和 IDE 之间人肉搬运 设计工具和编码工具数据隔离
上下文缺失 AI 不认识项目,可能重复造轮子 AI 无法主动读取项目代码库
文档脱节 方案写进 Wiki 就再没更新 文档和代码不在同一个版本控制系统

OpenSpec:机器和人都能理解的"研发契约"

核心理念

把开发比作盖房子:

  • 旧做法:你像个包工头,跑到砖厂喊"来100块砖",AI 不知道你要盖什么
  • OpenSpec 做法:和 AI 一起把建筑图纸画清楚,AI 施工队按图纸全自动施工

目标态:人做什么,AI 做什么?

阶段 AI 负责 人负责
需求分析 提炼需求、发现遗漏、结构化输出 优先级判断,审批需求边界
方案设计 生成技术方案、架构图、接口定义 技术选型拍板,安全审查
代码开发 多文件编码、补充注释和单测 评审关键代码,控制合并门禁
测试验证 生成测试脚本、执行回归测试 审核高风险场景,最终放行决策
发布上线 校验实现与需求一致性 审批发布窗口,处理事故升级

人的核心角色只有三个:决策、审批、把关。


三步核心工作流

Step 1: /opsx:propose — 先想清楚,再动手

/opsx:propose 帮我生成一个关于 [新增用户权限控制模块] 的变更

AI 在 openspec/changes/[变更名]/ 目录生成:

文件 作用
proposal.md 需求背景与目标("为什么做"和"做什么")
design.md 技术方案与架构决策("怎么做")
tasks.md 带复选框的实施清单(AI 的"施工单")
specs/ 规范增量(本次变更的"差异记录")

原则:严禁直接让 AI 写大段业务代码,必须先生成规划文档。

Step 2: /opsx:apply — 让 AI 按图施工

/opsx:apply [变更名称]

AI 会:

  • 读取 tasks.md 清单
  • 结合 design.mdproposal.md 完整上下文
  • 跨文件批量生成/修改代码
  • 每完成一项自动在 tasks.md 里打钩 ✓

开发者此时只需要做一件事:Code Review。

Step 3: /opsx:archive — 让规范活起来

/opsx:archive [变更名称]

系统自动将规范增量合并到 openspec/specs 主目录。

意义:项目文档永远和代码保持同步。没有"僵尸 Wiki"。


三大武器库:让 AI "懂"你的项目

1. 知识库(核心记忆 + 辅助记忆)

通道一:OpenSpec specs/(核心记忆)

  • AI 执行 /opsx:apply 时自动读取
  • 每次 /opsx:archive 后自动更新
  • 始终与代码保持同步

通道二:MCP 外部知识(辅助记忆)

  • 通过 MCP 连接 Knot 知识库平台
  • 存放业务术语表、架构决策历史、踩坑记录等
知识类别 内容 来源
业务知识 产品功能说明、核心业务流程 iWiki
架构知识 系统架构图、模块依赖、技术选型 iWiki + Git
项目规范 目录结构约定、数据模型定义、接口契约 OpenSpec specs/
历史决策 技术选型原因、已知限制 iWiki + OpenSpec

2. MCP:AI 的工具连接层

MCP 工具 连接目标 AI 获得的能力
TCS Component 前端组件库 查询组件使用规则,确保风格统一
TAPD MCP 需求平台 直接查询原始需求/Bug 单
iWiki MCP 文档平台 直接检索设计文档、架构文档
极光流水线 MCP 部署平台 触发构建、查看部署状态

效果:信息零损耗传递,消除"复制粘贴"式跨工具搬运。

3. Skills:AI 的专业技能包

团队沉淀的标准化操作流程(SOP),封装成 AI 可复用的"技能包"。

示例:openspec-installer Skill

把新人入职环境搭建的 8 步压缩成一句话:

请执行 curl -fsSL http://...(安装指令)

AI 自动完成:检测 OS → 安装 Node.js → 安装 OpenSpec CLI → 生成项目结构 → 配置 MCP → 批量安装 Skills → 搭建知识库目录


关键设计模式

Bridge Rule:解决"链路断裂"问题

问题openspec/config.yaml 中配置的 rules,AI 不知道要去读。

解法:在安装时自动生成 Bridge Rule 文件到 .codebuddy/rules/,像"指路牌"告诉 AI:

"当你执行 OpenSpec 操作时,先去读 openspec/config.yaml 中的 rules。"

原则:只做"指路",保持 config.yaml 作为 single source of truth。

Token 交互:在 SKILL.md 指令层完成

问题:MCP 需要 PAT Token,bash 脚本的 read -p 在 CodeBuddy 非 TTY 环境会挂起。

解法:把 Token 交互写在 SKILL.md 的 SOP 里,让 AI 在对话中完成获取,再用 Python 脚本写入配置。

安全防护:自动将 .mcp.json 加入 .gitignore,防止凭证泄漏。

三级降级策略

场景:openspec-installer 自身版本检查需要访问工蜂仓库。

1. 优先:通过工蜂 MCP 服务查询 version.json(需 Token)
2. 降级:如果在仓库目录内,直接读取本地 version.json
3. 兜底:静默跳过版本检查,不阻塞安装

原则:辅助功能的失败不应该阻塞核心功能。


团队协同规矩

原子化变更原则

规则 说明
一次变更解决一个需求 每次 Change 只对应一个明确的业务需求或 Bug
tasks.md 控制在 15 项以内 避免 AI 因上下文过长产生遗忘或幻觉
小步快跑 确保人工 Code Review 在可控范围内

"规范即文档"原则

openspec/specs/ 目录就是永远与代码保持一致的"活体文档",替代传统的沉睡 Wiki。

要求:禁止绕过 OpenSpec 直接手写大量核心业务逻辑,否则会破坏"规范与代码"的同步性。

MR 审查双重视角

审查维度 内容 对照文件
代码逻辑 AI 生成的代码是否遵守约束条件 design.md
架构合规 技术方案是否符合团队底线 proposal.md
需求覆盖 所有规范中定义的行为是否已实现 specs/

认知升级:AI 不是来替代程序员的

AI 是来重新定义"程序员"这个角色的。

  • 以前:核心价值是"能写代码"
  • 现在:核心价值是"能指挥 AI 写出正确的代码"

这像极了软件工程发展史上的跃迁:

  • 从机器码到汇编:不再关心寄存器
  • 从汇编到高级语言:不再关心内存地址
  • 从写代码到 AI Native:不再关心具体代码实现,而是关心需求定义和架构决策

指令速查表

指令 阶段 说明
/opsx:explore 探索 与 AI 讨论需求,沉淀文档,不写代码
/opsx:propose 规划 一键生成全套规划文档
/opsx:apply 编码 严格按 tasks.md 清单自动编码
/opsx:archive 归档 合并规范增量到主干,清空草稿
/opsx:new 准备 创建空脚手架(扩展版)
/opsx:continue 步进 逐文件生成,逐步审查(扩展版)
/opsx:ff 快进 一次性补全所有规划(扩展版)
/opsx:verify 审计 AI 代码审计,比对 design.md(扩展版)

项目目录结构

项目根目录/
└── openspec/
    ├── config.yaml              ← 项目配置(技术栈、规范风格、业务背景)
    ├── specs/                   ← 归档区:系统功能的"活文档"
    │   └── [功能名称]/
    │       └── spec.md
    └── changes/                 ← 工作区:进行中的变更提案
        └── [任务名称]/
            ├── proposal.md      ← 为什么做、做什么
            ├── design.md        ← 怎么做
            ├── tasks.md         ← AI 的施工清单
            └── specs/           ← 变更增量

Sources

Linked from